diff --git a/CHANGELOG.md b/CHANGELOG.md index c01a1cd2482..ed6f539f046 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Release v1.50.2 (2024-01-23) +=== + +### Service Client Updates +* `service/inspector2`: Updates service API, documentation, and paginators + Release v1.50.1 (2024-01-22) === diff --git a/aws/version.go b/aws/version.go index 9a8d8c581c8..cbe86762b72 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.50.1" +const SDKVersion = "1.50.2" diff --git a/models/apis/inspector2/2020-06-08/api-2.json b/models/apis/inspector2/2020-06-08/api-2.json index 2ce4d450396..adc13b478b7 100644 --- a/models/apis/inspector2/2020-06-08/api-2.json +++ b/models/apis/inspector2/2020-06-08/api-2.json @@ -161,6 +161,22 @@ ], "idempotent":true }, + "CreateCisScanConfiguration":{ + "name":"CreateCisScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/cis/scan-configuration/create", + "responseCode":200 + }, + "input":{"shape":"CreateCisScanConfigurationRequest"}, + "output":{"shape":"CreateCisScanConfigurationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, "CreateFilter":{ "name":"CreateFilter", "http":{ @@ -214,6 +230,23 @@ ], "idempotent":true }, + "DeleteCisScanConfiguration":{ + "name":"DeleteCisScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/cis/scan-configuration/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteCisScanConfigurationRequest"}, + "output":{"shape":"DeleteCisScanConfigurationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, "DeleteFilter":{ "name":"DeleteFilter", "http":{ @@ -333,6 +366,38 @@ {"shape":"InternalServerException"} ] }, + "GetCisScanReport":{ + "name":"GetCisScanReport", + "http":{ + "method":"POST", + "requestUri":"/cis/scan/report/get", + "responseCode":200 + }, + "input":{"shape":"GetCisScanReportRequest"}, + "output":{"shape":"GetCisScanReportResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "GetCisScanResultDetails":{ + "name":"GetCisScanResultDetails", + "http":{ + "method":"POST", + "requestUri":"/cis/scan-result/details/get", + "responseCode":200 + }, + "input":{"shape":"GetCisScanResultDetailsRequest"}, + "output":{"shape":"GetCisScanResultDetailsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, "GetConfiguration":{ "name":"GetConfiguration", "http":{ @@ -466,6 +531,70 @@ {"shape":"InternalServerException"} ] }, + "ListCisScanConfigurations":{ + "name":"ListCisScanConfigurations", + "http":{ + "method":"POST", + "requestUri":"/cis/scan-configuration/list", + "responseCode":200 + }, + "input":{"shape":"ListCisScanConfigurationsRequest"}, + "output":{"shape":"ListCisScanConfigurationsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "ListCisScanResultsAggregatedByChecks":{ + "name":"ListCisScanResultsAggregatedByChecks", + "http":{ + "method":"POST", + "requestUri":"/cis/scan-result/check/list", + "responseCode":200 + }, + "input":{"shape":"ListCisScanResultsAggregatedByChecksRequest"}, + "output":{"shape":"ListCisScanResultsAggregatedByChecksResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "ListCisScanResultsAggregatedByTargetResource":{ + "name":"ListCisScanResultsAggregatedByTargetResource", + "http":{ + "method":"POST", + "requestUri":"/cis/scan-result/resource/list", + "responseCode":200 + }, + "input":{"shape":"ListCisScanResultsAggregatedByTargetResourceRequest"}, + "output":{"shape":"ListCisScanResultsAggregatedByTargetResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "ListCisScans":{ + "name":"ListCisScans", + "http":{ + "method":"POST", + "requestUri":"/cis/scan/list", + "responseCode":200 + }, + "input":{"shape":"ListCisScansRequest"}, + "output":{"shape":"ListCisScansResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, "ListCoverage":{ "name":"ListCoverage", "http":{ @@ -640,6 +769,78 @@ {"shape":"InternalServerException"} ] }, + "SendCisSessionHealth":{ + "name":"SendCisSessionHealth", + "http":{ + "method":"PUT", + "requestUri":"/cissession/health/send", + "responseCode":200 + }, + "input":{"shape":"SendCisSessionHealthRequest"}, + "output":{"shape":"SendCisSessionHealthResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "SendCisSessionTelemetry":{ + "name":"SendCisSessionTelemetry", + "http":{ + "method":"PUT", + "requestUri":"/cissession/telemetry/send", + "responseCode":200 + }, + "input":{"shape":"SendCisSessionTelemetryRequest"}, + "output":{"shape":"SendCisSessionTelemetryResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "StartCisSession":{ + "name":"StartCisSession", + "http":{ + "method":"PUT", + "requestUri":"/cissession/start", + "responseCode":200 + }, + "input":{"shape":"StartCisSessionRequest"}, + "output":{"shape":"StartCisSessionResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, + "StopCisSession":{ + "name":"StopCisSession", + "http":{ + "method":"PUT", + "requestUri":"/cissession/stop", + "responseCode":200 + }, + "input":{"shape":"StopCisSessionRequest"}, + "output":{"shape":"StopCisSessionResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "idempotent":true + }, "TagResource":{ "name":"TagResource", "http":{ @@ -674,6 +875,23 @@ {"shape":"InternalServerException"} ] }, + "UpdateCisScanConfiguration":{ + "name":"UpdateCisScanConfiguration", + "http":{ + "method":"POST", + "requestUri":"/cis/scan-configuration/update", + "responseCode":200 + }, + "input":{"shape":"UpdateCisScanConfigurationRequest"}, + "output":{"shape":"UpdateCisScanConfigurationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, "UpdateConfiguration":{ "name":"UpdateConfiguration", "http":{ @@ -822,6 +1040,12 @@ "min":12, "pattern":"^\\d{12}$" }, + "AccountIdFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":10, + "min":1 + }, "AccountIdSet":{ "type":"list", "member":{"shape":"AccountId"}, @@ -1170,79 +1394,607 @@ "accountIds":{"shape":"BatchGetFreeTrialInfoRequestAccountIdsList"} } }, - "BatchGetFreeTrialInfoRequestAccountIdsList":{ + "BatchGetFreeTrialInfoRequestAccountIdsList":{ + "type":"list", + "member":{"shape":"MeteringAccountId"}, + "max":100, + "min":1 + }, + "BatchGetFreeTrialInfoResponse":{ + "type":"structure", + "required":[ + "accounts", + "failedAccounts" + ], + "members":{ + "accounts":{"shape":"FreeTrialAccountInfoList"}, + "failedAccounts":{"shape":"FreeTrialInfoErrorList"} + } + }, + "BatchGetMemberEc2DeepInspectionStatusRequest":{ + "type":"structure", + "members":{ + "accountIds":{"shape":"AccountIdSet"} + } + }, + "BatchGetMemberEc2DeepInspectionStatusResponse":{ + "type":"structure", + "members":{ + "accountIds":{"shape":"MemberAccountEc2DeepInspectionStatusStateList"}, + "failedAccountIds":{"shape":"FailedMemberAccountEc2DeepInspectionStatusStateList"} + } + }, + "BatchUpdateMemberEc2DeepInspectionStatusRequest":{ + "type":"structure", + "required":["accountIds"], + "members":{ + "accountIds":{"shape":"MemberAccountEc2DeepInspectionStatusList"} + } + }, + "BatchUpdateMemberEc2DeepInspectionStatusResponse":{ + "type":"structure", + "members":{ + "accountIds":{"shape":"MemberAccountEc2DeepInspectionStatusStateList"}, + "failedAccountIds":{"shape":"FailedMemberAccountEc2DeepInspectionStatusStateList"} + } + }, + "BenchmarkProfile":{ + "type":"string", + "max":128, + "min":0 + }, + "BenchmarkVersion":{ + "type":"string", + "max":8, + "min":0 + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "CancelFindingsReportRequest":{ + "type":"structure", + "required":["reportId"], + "members":{ + "reportId":{"shape":"ReportId"} + } + }, + "CancelFindingsReportResponse":{ + "type":"structure", + "required":["reportId"], + "members":{ + "reportId":{"shape":"ReportId"} + } + }, + "CancelSbomExportRequest":{ + "type":"structure", + "required":["reportId"], + "members":{ + "reportId":{"shape":"ReportId"} + } + }, + "CancelSbomExportResponse":{ + "type":"structure", + "members":{ + "reportId":{"shape":"ReportId"} + } + }, + "CheckCount":{ + "type":"integer", + "max":65536, + "min":0 + }, + "CheckIdFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":10, + "min":1 + }, + "CisAccountIdList":{ + "type":"list", + "member":{"shape":"AccountId"}, + "max":10000, + "min":1 + }, + "CisCheckAggregation":{ + "type":"structure", + "required":["scanArn"], + "members":{ + "accountId":{"shape":"AccountId"}, + "checkDescription":{"shape":"String"}, + "checkId":{"shape":"String"}, + "level":{"shape":"CisSecurityLevel"}, + "platform":{"shape":"String"}, + "scanArn":{"shape":"CisScanArn"}, + "statusCounts":{"shape":"StatusCounts"}, + "title":{"shape":"String"} + } + }, + "CisCheckAggregationList":{ + "type":"list", + "member":{"shape":"CisCheckAggregation"}, + "max":1000, + "min":1 + }, + "CisDateFilter":{ + "type":"structure", + "members":{ + "earliestScanStartTime":{"shape":"Timestamp"}, + "latestScanStartTime":{"shape":"Timestamp"} + } + }, + "CisFindingArn":{ + "type":"string", + "pattern":"^arn:aws(-gov|-cn)?:inspector2:[-.a-z0-9]{0,20}:\\d{12}:owner/\\d{12}/cis-finding/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + }, + "CisFindingArnFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":10, + "min":1 + }, + "CisFindingStatus":{ + "type":"string", + "enum":[ + "PASSED", + "FAILED", + "SKIPPED" + ] + }, + "CisFindingStatusComparison":{ + "type":"string", + "enum":["EQUALS"] + }, + "CisFindingStatusFilter":{ + "type":"structure", + "required":[ + "comparison", + "value" + ], + "members":{ + "comparison":{"shape":"CisFindingStatusComparison"}, + "value":{"shape":"CisFindingStatus"} + } + }, + "CisFindingStatusFilterList":{ + "type":"list", + "member":{"shape":"CisFindingStatusFilter"}, + "max":10, + "min":1 + }, + "CisNumberFilter":{ + "type":"structure", + "members":{ + "lowerInclusive":{"shape":"Integer"}, + "upperInclusive":{"shape":"Integer"} + } + }, + "CisNumberFilterList":{ + "type":"list", + "member":{"shape":"CisNumberFilter"}, + "max":10, + "min":1 + }, + "CisOwnerId":{ + "type":"string", + "pattern":"^\\d{12}|o-[a-z0-9]{10,32}$" + }, + "CisReportStatus":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "FAILED", + "IN_PROGRESS" + ] + }, + "CisResultStatus":{ + "type":"string", + "enum":[ + "PASSED", + "FAILED", + "SKIPPED" + ] + }, + "CisResultStatusComparison":{ + "type":"string", + "enum":["EQUALS"] + }, + "CisResultStatusFilter":{ + "type":"structure", + "required":[ + "comparison", + "value" + ], + "members":{ + "comparison":{"shape":"CisResultStatusComparison"}, + "value":{"shape":"CisResultStatus"} + } + }, + "CisResultStatusFilterList":{ + "type":"list", + "member":{"shape":"CisResultStatusFilter"}, + "max":10, + "min":1 + }, + "CisRuleDetails":{ + "type":"blob", + "max":1000, + "min":0 + }, + "CisRuleStatus":{ + "type":"string", + "enum":[ + "FAILED", + "PASSED", + "NOT_EVALUATED", + "INFORMATIONAL", + "UNKNOWN", + "NOT_APPLICABLE", + "ERROR" + ] + }, + "CisScan":{ + "type":"structure", + "required":[ + "scanArn", + "scanConfigurationArn" + ], + "members":{ + "failedChecks":{"shape":"Integer"}, + "scanArn":{"shape":"CisScanArn"}, + "scanConfigurationArn":{"shape":"CisScanConfigurationArn"}, + "scanDate":{"shape":"Timestamp"}, + "scanName":{"shape":"CisScanName"}, + "scheduledBy":{"shape":"String"}, + "securityLevel":{"shape":"CisSecurityLevel"}, + "status":{"shape":"CisScanStatus"}, + "targets":{"shape":"CisTargets"}, + "totalChecks":{"shape":"Integer"} + } + }, + "CisScanArn":{ + "type":"string", + "pattern":"^arn:aws(-us-gov|-cn)?:inspector2:[-.a-z0-9]{0,20}:\\d{12}:owner/(\\d{12}|o-[a-z0-9]{10,32})/cis-scan/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + }, + "CisScanArnFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":10, + "min":1 + }, + "CisScanConfiguration":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "ownerId":{"shape":"CisOwnerId"}, + "scanConfigurationArn":{"shape":"CisScanConfigurationArn"}, + "scanName":{"shape":"CisScanName"}, + "schedule":{"shape":"Schedule"}, + "securityLevel":{"shape":"CisSecurityLevel"}, + "tags":{"shape":"CisTagMap"}, + "targets":{"shape":"CisTargets"} + } + }, + "CisScanConfigurationArn":{ + "type":"string", + "pattern":"^arn:aws(-us-gov|-cn)?:inspector2:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:owner/(o-[a-z0-9]+|[0-9]{12})/cis-configuration/[0-9a-fA-F-]+$" + }, + "CisScanConfigurationArnFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":10, + "min":1 + }, + "CisScanConfigurationList":{ + "type":"list", + "member":{"shape":"CisScanConfiguration"}, + "max":100, + "min":0 + }, + "CisScanConfigurationsSortBy":{ + "type":"string", + "enum":[ + "SCAN_NAME", + "SCAN_CONFIGURATION_ARN" + ] + }, + "CisScanDateFilterList":{ + "type":"list", + "member":{"shape":"CisDateFilter"}, + "max":1, + "min":1 + }, + "CisScanList":{ + "type":"list", + "member":{"shape":"CisScan"}, + "max":50, + "min":0 + }, + "CisScanName":{ + "type":"string", + "max":128, + "min":1 + }, + "CisScanNameFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":10, + "min":1 + }, + "CisScanResultDetails":{ + "type":"structure", + "required":["scanArn"], + "members":{ + "accountId":{"shape":"AccountId"}, + "checkDescription":{"shape":"String"}, + "checkId":{"shape":"String"}, + "findingArn":{"shape":"CisFindingArn"}, + "level":{"shape":"CisSecurityLevel"}, + "platform":{"shape":"String"}, + "remediation":{"shape":"String"}, + "scanArn":{"shape":"CisScanArn"}, + "status":{"shape":"CisFindingStatus"}, + "statusReason":{"shape":"String"}, + "targetResourceId":{"shape":"ResourceId"}, + "title":{"shape":"String"} + } + }, + "CisScanResultDetailsFilterCriteria":{ + "type":"structure", + "members":{ + "checkIdFilters":{"shape":"CheckIdFilterList"}, + "findingArnFilters":{"shape":"CisFindingArnFilterList"}, + "findingStatusFilters":{"shape":"CisFindingStatusFilterList"}, + "securityLevelFilters":{"shape":"CisSecurityLevelFilterList"}, + "titleFilters":{"shape":"TitleFilterList"} + } + }, + "CisScanResultDetailsList":{ + "type":"list", + "member":{"shape":"CisScanResultDetails"}, + "max":1000, + "min":1 + }, + "CisScanResultDetailsSortBy":{ + "type":"string", + "enum":[ + "CHECK_ID", + "STATUS" + ] + }, + "CisScanResultsAggregatedByChecksFilterCriteria":{ + "type":"structure", + "members":{ + "accountIdFilters":{"shape":"OneAccountIdFilterList"}, + "checkIdFilters":{"shape":"CheckIdFilterList"}, + "failedResourcesFilters":{"shape":"CisNumberFilterList"}, + "platformFilters":{"shape":"PlatformFilterList"}, + "securityLevelFilters":{"shape":"CisSecurityLevelFilterList"}, + "titleFilters":{"shape":"TitleFilterList"} + } + }, + "CisScanResultsAggregatedByChecksSortBy":{ + "type":"string", + "enum":[ + "CHECK_ID", + "TITLE", + "PLATFORM", + "FAILED_COUNTS", + "SECURITY_LEVEL" + ] + }, + "CisScanResultsAggregatedByTargetResourceFilterCriteria":{ + "type":"structure", + "members":{ + "accountIdFilters":{"shape":"AccountIdFilterList"}, + "checkIdFilters":{"shape":"CheckIdFilterList"}, + "failedChecksFilters":{"shape":"CisNumberFilterList"}, + "platformFilters":{"shape":"PlatformFilterList"}, + "statusFilters":{"shape":"CisResultStatusFilterList"}, + "targetResourceIdFilters":{"shape":"ResourceIdFilterList"}, + "targetResourceTagFilters":{"shape":"ResourceTagFilterList"}, + "targetStatusFilters":{"shape":"TargetStatusFilterList"}, + "targetStatusReasonFilters":{"shape":"TargetStatusReasonFilterList"} + } + }, + "CisScanResultsAggregatedByTargetResourceSortBy":{ + "type":"string", + "enum":[ + "RESOURCE_ID", + "FAILED_COUNTS", + "ACCOUNT_ID", + "PLATFORM", + "TARGET_STATUS", + "TARGET_STATUS_REASON" + ] + }, + "CisScanResultsMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "CisScanStatus":{ + "type":"string", + "enum":[ + "FAILED", + "COMPLETED", + "CANCELLED", + "IN_PROGRESS" + ] + }, + "CisScanStatusComparison":{ + "type":"string", + "enum":["EQUALS"] + }, + "CisScanStatusFilter":{ + "type":"structure", + "required":[ + "comparison", + "value" + ], + "members":{ + "comparison":{"shape":"CisScanStatusComparison"}, + "value":{"shape":"CisScanStatus"} + } + }, + "CisScanStatusFilterList":{ + "type":"list", + "member":{"shape":"CisScanStatusFilter"}, + "max":10, + "min":1 + }, + "CisScheduledByFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":10, + "min":1 + }, + "CisSecurityLevel":{ + "type":"string", + "enum":[ + "LEVEL_1", + "LEVEL_2" + ] + }, + "CisSecurityLevelComparison":{ + "type":"string", + "enum":["EQUALS"] + }, + "CisSecurityLevelFilter":{ + "type":"structure", + "required":[ + "comparison", + "value" + ], + "members":{ + "comparison":{"shape":"CisSecurityLevelComparison"}, + "value":{"shape":"CisSecurityLevel"} + } + }, + "CisSecurityLevelFilterList":{ "type":"list", - "member":{"shape":"MeteringAccountId"}, - "max":100, + "member":{"shape":"CisSecurityLevelFilter"}, + "max":10, "min":1 }, - "BatchGetFreeTrialInfoResponse":{ + "CisSessionMessage":{ "type":"structure", "required":[ - "accounts", - "failedAccounts" + "cisRuleDetails", + "ruleId", + "status" ], "members":{ - "accounts":{"shape":"FreeTrialAccountInfoList"}, - "failedAccounts":{"shape":"FreeTrialInfoErrorList"} + "cisRuleDetails":{"shape":"CisRuleDetails"}, + "ruleId":{"shape":"RuleId"}, + "status":{"shape":"CisRuleStatus"} } }, - "BatchGetMemberEc2DeepInspectionStatusRequest":{ - "type":"structure", - "members":{ - "accountIds":{"shape":"AccountIdSet"} - } + "CisSessionMessages":{ + "type":"list", + "member":{"shape":"CisSessionMessage"}, + "max":50, + "min":1 }, - "BatchGetMemberEc2DeepInspectionStatusResponse":{ - "type":"structure", - "members":{ - "accountIds":{"shape":"MemberAccountEc2DeepInspectionStatusStateList"}, - "failedAccountIds":{"shape":"FailedMemberAccountEc2DeepInspectionStatusStateList"} - } + "CisSortOrder":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] }, - "BatchUpdateMemberEc2DeepInspectionStatusRequest":{ - "type":"structure", - "required":["accountIds"], - "members":{ - "accountIds":{"shape":"MemberAccountEc2DeepInspectionStatusList"} - } + "CisStringComparison":{ + "type":"string", + "enum":[ + "EQUALS", + "PREFIX", + "NOT_EQUALS" + ] }, - "BatchUpdateMemberEc2DeepInspectionStatusResponse":{ + "CisStringFilter":{ "type":"structure", + "required":[ + "comparison", + "value" + ], "members":{ - "accountIds":{"shape":"MemberAccountEc2DeepInspectionStatusStateList"}, - "failedAccountIds":{"shape":"FailedMemberAccountEc2DeepInspectionStatusStateList"} + "comparison":{"shape":"CisStringComparison"}, + "value":{"shape":"String"} } }, - "Boolean":{ - "type":"boolean", - "box":true + "CisTagMap":{ + "type":"map", + "key":{"shape":"MapKey"}, + "value":{"shape":"MapValue"} }, - "CancelFindingsReportRequest":{ + "CisTargetResourceAggregation":{ "type":"structure", - "required":["reportId"], + "required":["scanArn"], "members":{ - "reportId":{"shape":"ReportId"} + "accountId":{"shape":"AccountId"}, + "platform":{"shape":"String"}, + "scanArn":{"shape":"CisScanArn"}, + "statusCounts":{"shape":"StatusCounts"}, + "targetResourceId":{"shape":"ResourceId"}, + "targetResourceTags":{"shape":"TargetResourceTags"}, + "targetStatus":{"shape":"CisTargetStatus"}, + "targetStatusReason":{"shape":"CisTargetStatusReason"} } }, - "CancelFindingsReportResponse":{ + "CisTargetResourceAggregationList":{ + "type":"list", + "member":{"shape":"CisTargetResourceAggregation"}, + "max":1000, + "min":1 + }, + "CisTargetStatus":{ + "type":"string", + "enum":[ + "TIMED_OUT", + "CANCELLED", + "COMPLETED" + ] + }, + "CisTargetStatusComparison":{ + "type":"string", + "enum":["EQUALS"] + }, + "CisTargetStatusFilter":{ "type":"structure", - "required":["reportId"], + "required":[ + "comparison", + "value" + ], "members":{ - "reportId":{"shape":"ReportId"} + "comparison":{"shape":"CisTargetStatusComparison"}, + "value":{"shape":"CisTargetStatus"} } }, - "CancelSbomExportRequest":{ + "CisTargetStatusReason":{ + "type":"string", + "enum":[ + "SCAN_IN_PROGRESS", + "UNSUPPORTED_OS", + "SSM_UNMANAGED" + ] + }, + "CisTargetStatusReasonFilter":{ "type":"structure", - "required":["reportId"], + "required":[ + "comparison", + "value" + ], "members":{ - "reportId":{"shape":"ReportId"} + "comparison":{"shape":"CisTargetStatusComparison"}, + "value":{"shape":"CisTargetStatusReason"} } }, - "CancelSbomExportResponse":{ + "CisTargets":{ "type":"structure", "members":{ - "reportId":{"shape":"ReportId"} + "accountIds":{"shape":"CisAccountIdList"}, + "targetResourceTags":{"shape":"TargetResourceTags"} } }, "CisaAction":{ @@ -1362,6 +2114,14 @@ }, "Component":{"type":"string"}, "ComponentType":{"type":"string"}, + "ComputePlatform":{ + "type":"structure", + "members":{ + "product":{"shape":"Product"}, + "vendor":{"shape":"Vendor"}, + "version":{"shape":"PlatformVersion"} + } + }, "ConflictException":{ "type":"structure", "required":[ @@ -1506,6 +2266,39 @@ "type":"list", "member":{"shape":"CoveredResource"} }, + "CreateCisScanConfigurationRequest":{ + "type":"structure", + "required":[ + "scanName", + "schedule", + "securityLevel", + "targets" + ], + "members":{ + "scanName":{"shape":"CisScanName"}, + "schedule":{"shape":"Schedule"}, + "securityLevel":{"shape":"CisSecurityLevel"}, + "tags":{"shape":"CisTagMap"}, + "targets":{"shape":"CreateCisTargets"} + } + }, + "CreateCisScanConfigurationResponse":{ + "type":"structure", + "members":{ + "scanConfigurationArn":{"shape":"CisScanConfigurationArn"} + } + }, + "CreateCisTargets":{ + "type":"structure", + "required":[ + "accountIds", + "targetResourceTags" + ], + "members":{ + "accountIds":{"shape":"TargetAccountList"}, + "targetResourceTags":{"shape":"TargetResourceTags"} + } + }, "CreateFilterRequest":{ "type":"structure", "required":[ @@ -1659,6 +2452,13 @@ "member":{"shape":"Cwe"}, "min":0 }, + "DailySchedule":{ + "type":"structure", + "required":["startTime"], + "members":{ + "startTime":{"shape":"Time"} + } + }, "DateFilter":{ "type":"structure", "members":{ @@ -1673,6 +2473,24 @@ "min":1 }, "DateTimeTimestamp":{"type":"timestamp"}, + "Day":{ + "type":"string", + "enum":[ + "SUN", + "MON", + "TUE", + "WED", + "THU", + "FRI", + "SAT" + ] + }, + "DaysList":{ + "type":"list", + "member":{"shape":"Day"}, + "max":7, + "min":1 + }, "DelegatedAdmin":{ "type":"structure", "members":{ @@ -1700,6 +2518,20 @@ "DISABLE_IN_PROGRESS" ] }, + "DeleteCisScanConfigurationRequest":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "scanConfigurationArn":{"shape":"CisScanConfigurationArn"} + } + }, + "DeleteCisScanConfigurationResponse":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "scanConfigurationArn":{"shape":"CisScanConfigurationArn"} + } + }, "DeleteFilterRequest":{ "type":"structure", "required":["arn"], @@ -2445,6 +3277,52 @@ "type":"string", "pattern":"^[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" }, + "GetCisScanReportRequest":{ + "type":"structure", + "required":["scanArn"], + "members":{ + "scanArn":{"shape":"CisScanArn"}, + "targetAccounts":{"shape":"ReportTargetAccounts"} + } + }, + "GetCisScanReportResponse":{ + "type":"structure", + "members":{ + "status":{"shape":"CisReportStatus"}, + "url":{"shape":"String"} + } + }, + "GetCisScanResultDetailsMaxResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "GetCisScanResultDetailsRequest":{ + "type":"structure", + "required":[ + "accountId", + "scanArn", + "targetResourceId" + ], + "members":{ + "accountId":{"shape":"AccountId"}, + "filterCriteria":{"shape":"CisScanResultDetailsFilterCriteria"}, + "maxResults":{"shape":"GetCisScanResultDetailsMaxResults"}, + "nextToken":{"shape":"NextToken"}, + "scanArn":{"shape":"CisScanArn"}, + "sortBy":{"shape":"CisScanResultDetailsSortBy"}, + "sortOrder":{"shape":"CisSortOrder"}, + "targetResourceId":{"shape":"ResourceId"} + } + }, + "GetCisScanResultDetailsResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "scanResultDetails":{"shape":"CisScanResultDetailsList"} + } + }, "GetConfigurationRequest":{ "type":"structure", "members":{ @@ -2700,87 +3578,211 @@ "ALL" ] }, - "LambdaLayerAggregation":{ + "LambdaLayerAggregation":{ + "type":"structure", + "members":{ + "functionNames":{"shape":"StringFilterList"}, + "layerArns":{"shape":"StringFilterList"}, + "resourceIds":{"shape":"StringFilterList"}, + "sortBy":{"shape":"LambdaLayerSortBy"}, + "sortOrder":{"shape":"SortOrder"} + } + }, + "LambdaLayerAggregationResponse":{ + "type":"structure", + "required":[ + "accountId", + "functionName", + "layerArn", + "resourceId" + ], + "members":{ + "accountId":{"shape":"AccountId"}, + "functionName":{"shape":"NonEmptyString"}, + "layerArn":{"shape":"NonEmptyString"}, + "resourceId":{"shape":"NonEmptyString"}, + "severityCounts":{"shape":"SeverityCounts"} + } + }, + "LambdaLayerArn":{ + "type":"string", + "pattern":"^arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+$" + }, + "LambdaLayerList":{ + "type":"list", + "member":{"shape":"String"}, + "max":5, + "min":0 + }, + "LambdaLayerSortBy":{ + "type":"string", + "enum":[ + "CRITICAL", + "HIGH", + "ALL" + ] + }, + "LambdaVpcConfig":{ + "type":"structure", + "members":{ + "securityGroupIds":{"shape":"SecurityGroupIdList"}, + "subnetIds":{"shape":"SubnetIdList"}, + "vpcId":{"shape":"VpcId"} + } + }, + "LastSeen":{"type":"timestamp"}, + "LayerList":{ + "type":"list", + "member":{"shape":"LambdaLayerArn"}, + "max":5, + "min":1 + }, + "ListAccountPermissionsMaxResults":{ + "type":"integer", + "box":true, + "max":1024, + "min":1 + }, + "ListAccountPermissionsRequest":{ + "type":"structure", + "members":{ + "maxResults":{"shape":"ListAccountPermissionsMaxResults"}, + "nextToken":{"shape":"NextToken"}, + "service":{"shape":"Service"} + } + }, + "ListAccountPermissionsResponse":{ + "type":"structure", + "required":["permissions"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "permissions":{"shape":"Permissions"} + } + }, + "ListCisScanConfigurationsFilterCriteria":{ + "type":"structure", + "members":{ + "scanConfigurationArnFilters":{"shape":"CisScanConfigurationArnFilterList"}, + "scanNameFilters":{"shape":"CisScanNameFilterList"}, + "targetResourceTagFilters":{"shape":"ResourceTagFilterList"} + } + }, + "ListCisScanConfigurationsMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListCisScanConfigurationsRequest":{ + "type":"structure", + "members":{ + "filterCriteria":{"shape":"ListCisScanConfigurationsFilterCriteria"}, + "maxResults":{"shape":"ListCisScanConfigurationsMaxResults"}, + "nextToken":{"shape":"NextToken"}, + "sortBy":{"shape":"CisScanConfigurationsSortBy"}, + "sortOrder":{"shape":"CisSortOrder"} + } + }, + "ListCisScanConfigurationsResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "scanConfigurations":{"shape":"CisScanConfigurationList"} + } + }, + "ListCisScanResultsAggregatedByChecksRequest":{ "type":"structure", + "required":["scanArn"], "members":{ - "functionNames":{"shape":"StringFilterList"}, - "layerArns":{"shape":"StringFilterList"}, - "resourceIds":{"shape":"StringFilterList"}, - "sortBy":{"shape":"LambdaLayerSortBy"}, - "sortOrder":{"shape":"SortOrder"} + "filterCriteria":{"shape":"CisScanResultsAggregatedByChecksFilterCriteria"}, + "maxResults":{"shape":"CisScanResultsMaxResults"}, + "nextToken":{"shape":"NextToken"}, + "scanArn":{"shape":"CisScanArn"}, + "sortBy":{"shape":"CisScanResultsAggregatedByChecksSortBy"}, + "sortOrder":{"shape":"CisSortOrder"} } }, - "LambdaLayerAggregationResponse":{ + "ListCisScanResultsAggregatedByChecksResponse":{ "type":"structure", - "required":[ - "accountId", - "functionName", - "layerArn", - "resourceId" - ], "members":{ - "accountId":{"shape":"AccountId"}, - "functionName":{"shape":"NonEmptyString"}, - "layerArn":{"shape":"NonEmptyString"}, - "resourceId":{"shape":"NonEmptyString"}, - "severityCounts":{"shape":"SeverityCounts"} + "checkAggregations":{"shape":"CisCheckAggregationList"}, + "nextToken":{"shape":"NextToken"} } }, - "LambdaLayerArn":{ - "type":"string", - "pattern":"^arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+$" + "ListCisScanResultsAggregatedByTargetResourceRequest":{ + "type":"structure", + "required":["scanArn"], + "members":{ + "filterCriteria":{"shape":"CisScanResultsAggregatedByTargetResourceFilterCriteria"}, + "maxResults":{"shape":"CisScanResultsMaxResults"}, + "nextToken":{"shape":"NextToken"}, + "scanArn":{"shape":"CisScanArn"}, + "sortBy":{"shape":"CisScanResultsAggregatedByTargetResourceSortBy"}, + "sortOrder":{"shape":"CisSortOrder"} + } }, - "LambdaLayerList":{ - "type":"list", - "member":{"shape":"String"}, - "max":5, - "min":0 + "ListCisScanResultsAggregatedByTargetResourceResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "targetResourceAggregations":{"shape":"CisTargetResourceAggregationList"} + } }, - "LambdaLayerSortBy":{ + "ListCisScansDetailLevel":{ "type":"string", "enum":[ - "CRITICAL", - "HIGH", - "ALL" + "ORGANIZATION", + "MEMBER" ] }, - "LambdaVpcConfig":{ + "ListCisScansFilterCriteria":{ "type":"structure", "members":{ - "securityGroupIds":{"shape":"SecurityGroupIdList"}, - "subnetIds":{"shape":"SubnetIdList"}, - "vpcId":{"shape":"VpcId"} + "failedChecksFilters":{"shape":"CisNumberFilterList"}, + "scanArnFilters":{"shape":"CisScanArnFilterList"}, + "scanAtFilters":{"shape":"CisScanDateFilterList"}, + "scanConfigurationArnFilters":{"shape":"CisScanConfigurationArnFilterList"}, + "scanNameFilters":{"shape":"CisScanNameFilterList"}, + "scanStatusFilters":{"shape":"CisScanStatusFilterList"}, + "scheduledByFilters":{"shape":"CisScheduledByFilterList"}, + "targetAccountIdFilters":{"shape":"AccountIdFilterList"}, + "targetResourceIdFilters":{"shape":"ResourceIdFilterList"}, + "targetResourceTagFilters":{"shape":"ResourceTagFilterList"} } }, - "LastSeen":{"type":"timestamp"}, - "LayerList":{ - "type":"list", - "member":{"shape":"LambdaLayerArn"}, - "max":5, - "min":1 - }, - "ListAccountPermissionsMaxResults":{ + "ListCisScansMaxResults":{ "type":"integer", "box":true, - "max":1024, + "max":100, "min":1 }, - "ListAccountPermissionsRequest":{ + "ListCisScansRequest":{ "type":"structure", "members":{ - "maxResults":{"shape":"ListAccountPermissionsMaxResults"}, + "detailLevel":{"shape":"ListCisScansDetailLevel"}, + "filterCriteria":{"shape":"ListCisScansFilterCriteria"}, + "maxResults":{"shape":"ListCisScansMaxResults"}, "nextToken":{"shape":"NextToken"}, - "service":{"shape":"Service"} + "sortBy":{"shape":"ListCisScansSortBy"}, + "sortOrder":{"shape":"CisSortOrder"} } }, - "ListAccountPermissionsResponse":{ + "ListCisScansResponse":{ "type":"structure", - "required":["permissions"], "members":{ "nextToken":{"shape":"NextToken"}, - "permissions":{"shape":"Permissions"} + "scans":{"shape":"CisScanList"} } }, + "ListCisScansSortBy":{ + "type":"string", + "enum":[ + "STATUS", + "SCHEDULED_BY", + "SCAN_START_DATE", + "FAILED_CHECKS" + ] + }, "ListCoverageMaxResults":{ "type":"integer", "box":true, @@ -3064,6 +4066,17 @@ "type":"double", "min":0 }, + "MonthlySchedule":{ + "type":"structure", + "required":[ + "day", + "startTime" + ], + "members":{ + "day":{"shape":"Day"}, + "startTime":{"shape":"Time"} + } + }, "NetworkPath":{ "type":"structure", "members":{ @@ -3116,6 +4129,17 @@ "max":10, "min":1 }, + "OneAccountIdFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":1, + "min":1 + }, + "OneTimeSchedule":{ + "type":"structure", + "members":{ + } + }, "Operation":{ "type":"string", "enum":[ @@ -3277,6 +4301,17 @@ "max":1024, "min":1 }, + "PlatformFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":10, + "min":1 + }, + "PlatformVersion":{ + "type":"string", + "max":8, + "min":0 + }, "Port":{ "type":"integer", "box":true, @@ -3307,6 +4342,16 @@ "max":10, "min":1 }, + "Product":{ + "type":"string", + "max":32, + "min":0 + }, + "Reason":{ + "type":"string", + "max":1024, + "min":0 + }, "Recommendation":{ "type":"structure", "members":{ @@ -3364,6 +4409,12 @@ "type":"string", "pattern":"\\b[a-f0-9]{8}\\b-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-\\b[a-f0-9]{12}\\b" }, + "ReportTargetAccounts":{ + "type":"list", + "member":{"shape":"AccountId"}, + "max":1, + "min":0 + }, "ReportingErrorCode":{ "type":"string", "enum":[ @@ -3460,6 +4511,12 @@ "min":10, "pattern":"(^arn:.*:ecr:.*:\\d{12}:repository\\/(?:[a-z0-9]+(?:[._-][a-z0-9]+)*\\/)*[a-z0-9]+(?:[._-][a-z0-9]+)*(\\/sha256:[a-z0-9]{64})?$)|(^i-([a-z0-9]{8}|[a-z0-9]{17}|\\\\*)$|(^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$))" }, + "ResourceIdFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":10, + "min":1 + }, "ResourceList":{ "type":"list", "member":{"shape":"Resource"}, @@ -3573,6 +4630,12 @@ "max":1024, "min":1 }, + "ResourceTagFilterList":{ + "type":"list", + "member":{"shape":"TagFilter"}, + "max":10, + "min":1 + }, "ResourceType":{ "type":"string", "enum":[ @@ -3586,6 +4649,11 @@ "type":"integer", "box":true }, + "RuleId":{ + "type":"string", + "max":500, + "min":1 + }, "Runtime":{ "type":"string", "enum":[ @@ -3668,6 +4736,16 @@ "CODE" ] }, + "Schedule":{ + "type":"structure", + "members":{ + "daily":{"shape":"DailySchedule"}, + "monthly":{"shape":"MonthlySchedule"}, + "oneTime":{"shape":"OneTimeSchedule"}, + "weekly":{"shape":"WeeklySchedule"} + }, + "union":true + }, "SearchVulnerabilitiesFilterCriteria":{ "type":"structure", "required":["vulnerabilityIds"], @@ -3701,6 +4779,40 @@ "max":5, "min":0 }, + "SendCisSessionHealthRequest":{ + "type":"structure", + "required":[ + "scanJobId", + "sessionToken" + ], + "members":{ + "scanJobId":{"shape":"UUID"}, + "sessionToken":{"shape":"UUID"} + } + }, + "SendCisSessionHealthResponse":{ + "type":"structure", + "members":{ + } + }, + "SendCisSessionTelemetryRequest":{ + "type":"structure", + "required":[ + "messages", + "scanJobId", + "sessionToken" + ], + "members":{ + "messages":{"shape":"CisSessionMessages"}, + "scanJobId":{"shape":"UUID"}, + "sessionToken":{"shape":"UUID"} + } + }, + "SendCisSessionTelemetryResponse":{ + "type":"structure", + "members":{ + } + }, "Service":{ "type":"string", "enum":[ @@ -3791,6 +4903,29 @@ "min":71, "pattern":"^sha256:[a-z0-9]{64}$" }, + "StartCisSessionMessage":{ + "type":"structure", + "required":["sessionToken"], + "members":{ + "sessionToken":{"shape":"UUID"} + } + }, + "StartCisSessionRequest":{ + "type":"structure", + "required":[ + "message", + "scanJobId" + ], + "members":{ + "message":{"shape":"StartCisSessionMessage"}, + "scanJobId":{"shape":"UUID"} + } + }, + "StartCisSessionResponse":{ + "type":"structure", + "members":{ + } + }, "State":{ "type":"structure", "required":[ @@ -3815,6 +4950,14 @@ "SUSPENDED" ] }, + "StatusCounts":{ + "type":"structure", + "members":{ + "failed":{"shape":"Integer"}, + "passed":{"shape":"Integer"}, + "skipped":{"shape":"Integer"} + } + }, "Step":{ "type":"structure", "required":[ @@ -3832,6 +4975,61 @@ "max":30, "min":1 }, + "StopCisMessageProgress":{ + "type":"structure", + "members":{ + "errorChecks":{"shape":"CheckCount"}, + "failedChecks":{"shape":"CheckCount"}, + "informationalChecks":{"shape":"CheckCount"}, + "notApplicableChecks":{"shape":"CheckCount"}, + "notEvaluatedChecks":{"shape":"CheckCount"}, + "successfulChecks":{"shape":"CheckCount"}, + "totalChecks":{"shape":"CheckCount"}, + "unknownChecks":{"shape":"CheckCount"} + } + }, + "StopCisSessionMessage":{ + "type":"structure", + "required":[ + "progress", + "status" + ], + "members":{ + "benchmarkProfile":{"shape":"BenchmarkProfile"}, + "benchmarkVersion":{"shape":"BenchmarkVersion"}, + "computePlatform":{"shape":"ComputePlatform"}, + "progress":{"shape":"StopCisMessageProgress"}, + "reason":{"shape":"Reason"}, + "status":{"shape":"StopCisSessionStatus"} + } + }, + "StopCisSessionRequest":{ + "type":"structure", + "required":[ + "message", + "scanJobId", + "sessionToken" + ], + "members":{ + "message":{"shape":"StopCisSessionMessage"}, + "scanJobId":{"shape":"UUID"}, + "sessionToken":{"shape":"UUID"} + } + }, + "StopCisSessionResponse":{ + "type":"structure", + "members":{ + } + }, + "StopCisSessionStatus":{ + "type":"string", + "enum":[ + "SUCCESS", + "FAILED", + "INTERRUPTED", + "UNSUPPORTED_OS" + ] + }, "String":{"type":"string"}, "StringComparison":{ "type":"string", @@ -3900,6 +5098,23 @@ "max":5, "min":1 }, + "TagComparison":{ + "type":"string", + "enum":["EQUALS"] + }, + "TagFilter":{ + "type":"structure", + "required":[ + "comparison", + "key", + "value" + ], + "members":{ + "comparison":{"shape":"TagComparison"}, + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"NonEmptyString"} + } + }, "TagKey":{ "type":"string", "max":128, @@ -3941,11 +5156,46 @@ "members":{ } }, + "TagValueList":{ + "type":"list", + "member":{"shape":"String"}, + "max":5, + "min":1 + }, "Target":{ "type":"string", "max":50, "min":0 }, + "TargetAccount":{ + "type":"string", + "pattern":"^\\d{12}|ALL_ACCOUNTS|SELF$" + }, + "TargetAccountList":{ + "type":"list", + "member":{"shape":"TargetAccount"}, + "max":10000, + "min":1 + }, + "TargetResourceTags":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"TagValueList"}, + "max":5, + "min":1 + }, + "TargetStatusFilterList":{ + "type":"list", + "member":{"shape":"CisTargetStatusFilter"}, + "max":10, + "min":1 + }, + "TargetStatusReasonFilterList":{ + "type":"list", + "member":{"shape":"CisTargetStatusReasonFilter"}, + "max":10, + "min":1 + }, "Targets":{ "type":"list", "member":{"shape":"Target"}, @@ -3969,7 +5219,27 @@ "exception":true, "retryable":{"throttling":true} }, + "Time":{ + "type":"structure", + "required":[ + "timeOfDay", + "timezone" + ], + "members":{ + "timeOfDay":{"shape":"TimeOfDay"}, + "timezone":{"shape":"Timezone"} + } + }, + "TimeOfDay":{ + "type":"string", + "pattern":"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$" + }, "Timestamp":{"type":"timestamp"}, + "Timezone":{ + "type":"string", + "max":50, + "min":1 + }, "TitleAggregation":{ "type":"structure", "members":{ @@ -3991,6 +5261,12 @@ "vulnerabilityId":{"shape":"String"} } }, + "TitleFilterList":{ + "type":"list", + "member":{"shape":"CisStringFilter"}, + "max":10, + "min":1 + }, "TitleSortBy":{ "type":"string", "enum":[ @@ -4017,6 +5293,10 @@ "member":{"shape":"Ttp"}, "min":0 }, + "UUID":{ + "type":"string", + "pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -4041,6 +5321,31 @@ "members":{ } }, + "UpdateCisScanConfigurationRequest":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "scanConfigurationArn":{"shape":"CisScanConfigurationArn"}, + "scanName":{"shape":"CisScanName"}, + "schedule":{"shape":"Schedule"}, + "securityLevel":{"shape":"CisSecurityLevel"}, + "targets":{"shape":"UpdateCisTargets"} + } + }, + "UpdateCisScanConfigurationResponse":{ + "type":"structure", + "required":["scanConfigurationArn"], + "members":{ + "scanConfigurationArn":{"shape":"CisScanConfigurationArn"} + } + }, + "UpdateCisTargets":{ + "type":"structure", + "members":{ + "accountIds":{"shape":"TargetAccountList"}, + "targetResourceTags":{"shape":"TargetResourceTags"} + } + }, "UpdateConfigurationRequest":{ "type":"structure", "required":["ecrConfiguration"], @@ -4220,6 +5525,11 @@ "OTHER" ] }, + "Vendor":{ + "type":"string", + "max":16, + "min":0 + }, "VendorCreatedAt":{"type":"timestamp"}, "VendorSeverity":{ "type":"string", @@ -4330,6 +5640,17 @@ "type":"string", "max":1024, "min":1 + }, + "WeeklySchedule":{ + "type":"structure", + "required":[ + "days", + "startTime" + ], + "members":{ + "days":{"shape":"DaysList"}, + "startTime":{"shape":"Time"} + } } } } diff --git a/models/apis/inspector2/2020-06-08/docs-2.json b/models/apis/inspector2/2020-06-08/docs-2.json index c7e85f8263b..d48b2741ef3 100644 --- a/models/apis/inspector2/2020-06-08/docs-2.json +++ b/models/apis/inspector2/2020-06-08/docs-2.json @@ -11,9 +11,11 @@ "BatchUpdateMemberEc2DeepInspectionStatus": "
Activates or deactivates Amazon Inspector deep inspection for the provided member accounts in your organization. You must be the delegated administrator of an organization in Amazon Inspector to use this API.
", "CancelFindingsReport": "Cancels the given findings report.
", "CancelSbomExport": "Cancels a software bill of materials (SBOM) report.
", + "CreateCisScanConfiguration": "Creates a CIS scan configuration.
", "CreateFilter": "Creates a filter resource using specified filter criteria. When the filter action is set to SUPPRESS
this action creates a suppression rule.
Creates a finding report. By default only ACTIVE
findings are returned in the report. To see SUPRESSED
or CLOSED
findings you must specify a value for the findingStatus
filter criteria.
Creates a software bill of materials (SBOM) report.
", + "DeleteCisScanConfiguration": "Deletes a CIS scan configuration.
", "DeleteFilter": "Deletes a filter resource.
", "DescribeOrganizationConfiguration": "Describe Amazon Inspector configuration settings for an Amazon Web Services organization.
", "Disable": "Disables Amazon Inspector scans for one or more Amazon Web Services accounts. Disabling all scan types in an account disables the Amazon Inspector service.
", @@ -21,6 +23,8 @@ "DisassociateMember": "Disassociates a member account from an Amazon Inspector delegated administrator.
", "Enable": "Enables Amazon Inspector scans for one or more Amazon Web Services accounts.
", "EnableDelegatedAdminAccount": "Enables the Amazon Inspector delegated administrator for your Organizations organization.
", + "GetCisScanReport": "Retrieves a CIS scan report.
", + "GetCisScanResultDetails": "Retrieves CIS scan result details.
", "GetConfiguration": "Retrieves setting configurations for Inspector scans.
", "GetDelegatedAdminAccount": "Retrieves information about the Amazon Inspector delegated administrator for your organization.
", "GetEc2DeepInspectionConfiguration": "Retrieves the activation status of Amazon Inspector deep inspection and custom paths associated with your account.
", @@ -29,6 +33,10 @@ "GetMember": "Gets member information for your organization.
", "GetSbomExport": "Gets details of a software bill of materials (SBOM) report.
", "ListAccountPermissions": "Lists the permissions an account has to configure Amazon Inspector.
", + "ListCisScanConfigurations": "Lists CIS scan configurations.
", + "ListCisScanResultsAggregatedByChecks": "Lists scan results aggregated by checks.
", + "ListCisScanResultsAggregatedByTargetResource": "Lists scan results aggregated by a target resource.
", + "ListCisScans": "Returns a CIS scan list.
", "ListCoverage": "Lists coverage details for you environment.
", "ListCoverageStatistics": "Lists Amazon Inspector coverage statistics for your environment.
", "ListDelegatedAdminAccounts": "Lists information about the Amazon Inspector delegated administrator of your organization.
", @@ -40,8 +48,13 @@ "ListUsageTotals": "Lists the Amazon Inspector usage totals over the last 30 days.
", "ResetEncryptionKey": "Resets an encryption key. After the key is reset your resources will be encrypted by an Amazon Web Services owned key.
", "SearchVulnerabilities": "Lists Amazon Inspector coverage details for a specific vulnerability.
", + "SendCisSessionHealth": "Sends a CIS session health. This API is used by the Amazon Inspector SSM plugin to communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin calls this API to start a CIS scan session for the scan ID supplied by the service.
", + "SendCisSessionTelemetry": "Sends a CIS session telemetry. This API is used by the Amazon Inspector SSM plugin to communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin calls this API to start a CIS scan session for the scan ID supplied by the service.
", + "StartCisSession": "Starts a CIS session. This API is used by the Amazon Inspector SSM plugin to communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin calls this API to start a CIS scan session for the scan ID supplied by the service.
", + "StopCisSession": "Stops a CIS session. This API is used by the Amazon Inspector SSM plugin to communicate with the Amazon Inspector service. The Amazon Inspector SSM plugin calls this API to start a CIS scan session for the scan ID supplied by the service.
", "TagResource": "Adds tags to a resource.
", "UntagResource": "Removes tags from a resource.
", + "UpdateCisScanConfiguration": "Updates a CIS scan configuration.
", "UpdateConfiguration": "Updates setting configurations for your Amazon Inspector account. When you use this API as an Amazon Inspector delegated administrator this updates the setting for all accounts you manage. Member accounts in an organization cannot update this setting.
", "UpdateEc2DeepInspectionConfiguration": "Activates, deactivates Amazon Inspector deep inspection, or updates custom paths for your account.
", "UpdateEncryptionKey": "Updates an encryption key. A ResourceNotFoundException
means that an AWS owned key is being used for encryption.
The Amazon Web Services account ID of the member account to be associated.
", "AssociateMemberResponse$accountId": "The Amazon Web Services account ID of the successfully associated member account.
", "AwsEcrContainerAggregationResponse$accountId": "The Amazon Web Services account ID of the account that owns the container.
", + "CisAccountIdList$member": null, + "CisCheckAggregation$accountId": "The account ID for the CIS check.
", + "CisScanResultDetails$accountId": "The CIS scan result details' account ID.
", + "CisTargetResourceAggregation$accountId": "The account ID for the CIS target resource.
", "CoveredResource$accountId": "The Amazon Web Services account ID of the covered resource.
", "DelegatedAdmin$accountId": "The Amazon Web Services account ID of the Amazon Inspector delegated administrator for your organization.
", "DelegatedAdminAccount$accountId": "The Amazon Web Services account ID of the Amazon Inspector delegated administrator for your organization.
", @@ -97,6 +114,7 @@ "FailedMemberAccountEc2DeepInspectionStatusState$accountId": "The unique identifier for the Amazon Web Services account of the organization member that failed to activate Amazon Inspector deep inspection.
", "Finding$awsAccountId": "The Amazon Web Services account ID associated with the finding.
", "FindingTypeAggregationResponse$accountId": "The ID of the Amazon Web Services account associated with the findings.
", + "GetCisScanResultDetailsRequest$accountId": "The account ID.
", "GetMemberRequest$accountId": "The Amazon Web Services account ID of the member account to retrieve information on.
", "ImageLayerAggregationResponse$accountId": "The ID of the Amazon Web Services account that owns the container image hosting the layer image.
", "LambdaFunctionAggregationResponse$accountId": "The ID of the AWS account that owns the AWS Lambda function.
", @@ -106,10 +124,18 @@ "MemberAccountEc2DeepInspectionStatus$accountId": "The unique identifier for the Amazon Web Services account of the organization member.
", "MemberAccountEc2DeepInspectionStatusState$accountId": "The unique identifier for the Amazon Web Services account of the organization member
", "PackageAggregationResponse$accountId": "The ID of the Amazon Web Services account associated with the findings.
", + "ReportTargetAccounts$member": null, "RepositoryAggregationResponse$accountId": "The ID of the Amazon Web Services account associated with the findings.
", "TitleAggregationResponse$accountId": "The ID of the Amazon Web Services account associated with the findings.
" } }, + "AccountIdFilterList": { + "base": null, + "refs": { + "CisScanResultsAggregatedByTargetResourceFilterCriteria$accountIdFilters": "The criteria's account ID filters.
", + "ListCisScansFilterCriteria$targetAccountIdFilters": "The list of target account ID filters.
" + } + }, "AccountIdSet": { "base": null, "refs": { @@ -374,6 +400,18 @@ "refs": { } }, + "BenchmarkProfile": { + "base": null, + "refs": { + "StopCisSessionMessage$benchmarkProfile": "The message benchmark profile.
" + } + }, + "BenchmarkVersion": { + "base": null, + "refs": { + "StopCisSessionMessage$benchmarkVersion": "The message benchmark version.
" + } + }, "Boolean": { "base": null, "refs": { @@ -407,6 +445,460 @@ "refs": { } }, + "CheckCount": { + "base": null, + "refs": { + "StopCisMessageProgress$errorChecks": "The progress' error checks.
", + "StopCisMessageProgress$failedChecks": "The progress' failed checks.
", + "StopCisMessageProgress$informationalChecks": "The progress' informational checks.
", + "StopCisMessageProgress$notApplicableChecks": "The progress' not applicable checks.
", + "StopCisMessageProgress$notEvaluatedChecks": "The progress' not evaluated checks.
", + "StopCisMessageProgress$successfulChecks": "The progress' successful checks.
", + "StopCisMessageProgress$totalChecks": "The progress' total checks.
", + "StopCisMessageProgress$unknownChecks": "The progress' unknown checks.
" + } + }, + "CheckIdFilterList": { + "base": null, + "refs": { + "CisScanResultDetailsFilterCriteria$checkIdFilters": "The criteria's check ID filters.
", + "CisScanResultsAggregatedByChecksFilterCriteria$checkIdFilters": "The criteria's check ID filters.
", + "CisScanResultsAggregatedByTargetResourceFilterCriteria$checkIdFilters": "The criteria's check ID filters.
" + } + }, + "CisAccountIdList": { + "base": null, + "refs": { + "CisTargets$accountIds": "The CIS target account ids.
" + } + }, + "CisCheckAggregation": { + "base": "A CIS check.
", + "refs": { + "CisCheckAggregationList$member": null + } + }, + "CisCheckAggregationList": { + "base": null, + "refs": { + "ListCisScanResultsAggregatedByChecksResponse$checkAggregations": "The check aggregations.
" + } + }, + "CisDateFilter": { + "base": "The CIS date filter.
", + "refs": { + "CisScanDateFilterList$member": null + } + }, + "CisFindingArn": { + "base": null, + "refs": { + "CisScanResultDetails$findingArn": "The CIS scan result details' finding ARN.
" + } + }, + "CisFindingArnFilterList": { + "base": null, + "refs": { + "CisScanResultDetailsFilterCriteria$findingArnFilters": "The criteria's finding ARN filters.
" + } + }, + "CisFindingStatus": { + "base": null, + "refs": { + "CisFindingStatusFilter$value": "The value of the CIS finding status filter.
", + "CisScanResultDetails$status": "The CIS scan result details' status.
" + } + }, + "CisFindingStatusComparison": { + "base": null, + "refs": { + "CisFindingStatusFilter$comparison": "The comparison value of the CIS finding status filter.
" + } + }, + "CisFindingStatusFilter": { + "base": "The CIS finding status filter.
", + "refs": { + "CisFindingStatusFilterList$member": null + } + }, + "CisFindingStatusFilterList": { + "base": null, + "refs": { + "CisScanResultDetailsFilterCriteria$findingStatusFilters": "The criteria's finding status filters.
" + } + }, + "CisNumberFilter": { + "base": "The CIS number filter.
", + "refs": { + "CisNumberFilterList$member": null + } + }, + "CisNumberFilterList": { + "base": null, + "refs": { + "CisScanResultsAggregatedByChecksFilterCriteria$failedResourcesFilters": "The criteria's failed resources filters.
", + "CisScanResultsAggregatedByTargetResourceFilterCriteria$failedChecksFilters": "The criteria's failed checks filters.
", + "ListCisScansFilterCriteria$failedChecksFilters": "The list of failed checks filters.
" + } + }, + "CisOwnerId": { + "base": null, + "refs": { + "CisScanConfiguration$ownerId": "The CIS scan configuration's owner ID.
" + } + }, + "CisReportStatus": { + "base": null, + "refs": { + "GetCisScanReportResponse$status": "The status.
" + } + }, + "CisResultStatus": { + "base": null, + "refs": { + "CisResultStatusFilter$value": "The value of the CIS result status filter.
" + } + }, + "CisResultStatusComparison": { + "base": null, + "refs": { + "CisResultStatusFilter$comparison": "The comparison value of the CIS result status filter.
" + } + }, + "CisResultStatusFilter": { + "base": "The CIS result status filter.
", + "refs": { + "CisResultStatusFilterList$member": null + } + }, + "CisResultStatusFilterList": { + "base": null, + "refs": { + "CisScanResultsAggregatedByTargetResourceFilterCriteria$statusFilters": "The criteria's status filter.
" + } + }, + "CisRuleDetails": { + "base": null, + "refs": { + "CisSessionMessage$cisRuleDetails": "The CIS rule details for the CIS session message.
" + } + }, + "CisRuleStatus": { + "base": null, + "refs": { + "CisSessionMessage$status": "The status of the CIS session message.
" + } + }, + "CisScan": { + "base": "The CIS scan.
", + "refs": { + "CisScanList$member": null + } + }, + "CisScanArn": { + "base": null, + "refs": { + "CisCheckAggregation$scanArn": "The scan ARN for the CIS check scan ARN.
", + "CisScan$scanArn": "The CIS scan's ARN.
", + "CisScanResultDetails$scanArn": "The CIS scan result details' scan ARN.
", + "CisTargetResourceAggregation$scanArn": "The scan ARN for the CIS target resource.
", + "GetCisScanReportRequest$scanArn": "The scan ARN.
", + "GetCisScanResultDetailsRequest$scanArn": "The scan ARN.
", + "ListCisScanResultsAggregatedByChecksRequest$scanArn": "The scan ARN.
", + "ListCisScanResultsAggregatedByTargetResourceRequest$scanArn": "The scan ARN.
" + } + }, + "CisScanArnFilterList": { + "base": null, + "refs": { + "ListCisScansFilterCriteria$scanArnFilters": "The list of scan ARN filters.
" + } + }, + "CisScanConfiguration": { + "base": "The CIS scan configuration.
", + "refs": { + "CisScanConfigurationList$member": null + } + }, + "CisScanConfigurationArn": { + "base": null, + "refs": { + "CisScan$scanConfigurationArn": "The CIS scan's configuration ARN.
", + "CisScanConfiguration$scanConfigurationArn": "The CIS scan configuration's scan configuration ARN.
", + "CreateCisScanConfigurationResponse$scanConfigurationArn": "The scan configuration ARN for the CIS scan configuration.
", + "DeleteCisScanConfigurationRequest$scanConfigurationArn": "The ARN of the CIS scan configuration.
", + "DeleteCisScanConfigurationResponse$scanConfigurationArn": "The ARN of the CIS scan configuration.
", + "UpdateCisScanConfigurationRequest$scanConfigurationArn": "The CIS scan configuration ARN.
", + "UpdateCisScanConfigurationResponse$scanConfigurationArn": "The CIS scan configuration ARN.
" + } + }, + "CisScanConfigurationArnFilterList": { + "base": null, + "refs": { + "ListCisScanConfigurationsFilterCriteria$scanConfigurationArnFilters": "The list of scan configuration ARN filters.
", + "ListCisScansFilterCriteria$scanConfigurationArnFilters": "The list of scan configuration ARN filters.
" + } + }, + "CisScanConfigurationList": { + "base": null, + "refs": { + "ListCisScanConfigurationsResponse$scanConfigurations": "The CIS scan configuration scan configurations.
" + } + }, + "CisScanConfigurationsSortBy": { + "base": null, + "refs": { + "ListCisScanConfigurationsRequest$sortBy": "The CIS scan configuration sort by order.
" + } + }, + "CisScanDateFilterList": { + "base": null, + "refs": { + "ListCisScansFilterCriteria$scanAtFilters": "The list of scan at filters.
" + } + }, + "CisScanList": { + "base": null, + "refs": { + "ListCisScansResponse$scans": "The CIS scans.
" + } + }, + "CisScanName": { + "base": null, + "refs": { + "CisScan$scanName": "The the name of the scan configuration that's associated with this scan.
", + "CisScanConfiguration$scanName": "The name of the CIS scan configuration.
", + "CreateCisScanConfigurationRequest$scanName": "The scan name for the CIS scan configuration.
", + "UpdateCisScanConfigurationRequest$scanName": "The scan name for the CIS scan configuration.
" + } + }, + "CisScanNameFilterList": { + "base": null, + "refs": { + "ListCisScanConfigurationsFilterCriteria$scanNameFilters": "The list of scan name filters.
", + "ListCisScansFilterCriteria$scanNameFilters": "The list of scan name filters.
" + } + }, + "CisScanResultDetails": { + "base": "The CIS scan result details.
", + "refs": { + "CisScanResultDetailsList$member": null + } + }, + "CisScanResultDetailsFilterCriteria": { + "base": "The CIS scan result details filter criteria.
", + "refs": { + "GetCisScanResultDetailsRequest$filterCriteria": "The filter criteria.
" + } + }, + "CisScanResultDetailsList": { + "base": null, + "refs": { + "GetCisScanResultDetailsResponse$scanResultDetails": "The scan result details.
" + } + }, + "CisScanResultDetailsSortBy": { + "base": null, + "refs": { + "GetCisScanResultDetailsRequest$sortBy": "The sort by order.
" + } + }, + "CisScanResultsAggregatedByChecksFilterCriteria": { + "base": "The scan results aggregated by checks filter criteria.
", + "refs": { + "ListCisScanResultsAggregatedByChecksRequest$filterCriteria": "The filter criteria.
" + } + }, + "CisScanResultsAggregatedByChecksSortBy": { + "base": null, + "refs": { + "ListCisScanResultsAggregatedByChecksRequest$sortBy": "The sort by order.
" + } + }, + "CisScanResultsAggregatedByTargetResourceFilterCriteria": { + "base": "The scan results aggregated by target resource filter criteria.
", + "refs": { + "ListCisScanResultsAggregatedByTargetResourceRequest$filterCriteria": "The filter criteria.
" + } + }, + "CisScanResultsAggregatedByTargetResourceSortBy": { + "base": null, + "refs": { + "ListCisScanResultsAggregatedByTargetResourceRequest$sortBy": "The sort by order.
" + } + }, + "CisScanResultsMaxResults": { + "base": null, + "refs": { + "ListCisScanResultsAggregatedByChecksRequest$maxResults": "The maximum number of scan results aggregated by checks to be returned in a single page of results.
", + "ListCisScanResultsAggregatedByTargetResourceRequest$maxResults": "The maximum number of scan results aggregated by a target resource to be returned in a single page of results.
" + } + }, + "CisScanStatus": { + "base": null, + "refs": { + "CisScan$status": "The CIS scan's status.
", + "CisScanStatusFilter$value": "The filter value.
" + } + }, + "CisScanStatusComparison": { + "base": null, + "refs": { + "CisScanStatusFilter$comparison": "The filter comparison value.
" + } + }, + "CisScanStatusFilter": { + "base": "The CIS scan status filter.
", + "refs": { + "CisScanStatusFilterList$member": null + } + }, + "CisScanStatusFilterList": { + "base": null, + "refs": { + "ListCisScansFilterCriteria$scanStatusFilters": "The list of scan status filters.
" + } + }, + "CisScheduledByFilterList": { + "base": null, + "refs": { + "ListCisScansFilterCriteria$scheduledByFilters": "The list of scheduled by filters.
" + } + }, + "CisSecurityLevel": { + "base": null, + "refs": { + "CisCheckAggregation$level": "The CIS check level.
", + "CisScan$securityLevel": "The security level for the CIS scan. Security level refers to the Benchmark levels that CIS assigns to a profile.
", + "CisScanConfiguration$securityLevel": "The CIS scan configuration's security level.
", + "CisScanResultDetails$level": "The CIS scan result details' level.
", + "CisSecurityLevelFilter$value": "The CIS security filter value.
", + "CreateCisScanConfigurationRequest$securityLevel": "The security level for the CIS scan configuration. Security level refers to the Benchmark levels that CIS assigns to a profile.
", + "UpdateCisScanConfigurationRequest$securityLevel": "The security level for the CIS scan configuration. Security level refers to the Benchmark levels that CIS assigns to a profile.
" + } + }, + "CisSecurityLevelComparison": { + "base": null, + "refs": { + "CisSecurityLevelFilter$comparison": "The CIS security filter comparison value.
" + } + }, + "CisSecurityLevelFilter": { + "base": "The CIS security level filter. Security level refers to the Benchmark levels that CIS assigns to a profile.
", + "refs": { + "CisSecurityLevelFilterList$member": null + } + }, + "CisSecurityLevelFilterList": { + "base": null, + "refs": { + "CisScanResultDetailsFilterCriteria$securityLevelFilters": "The criteria's security level filters. . Security level refers to the Benchmark levels that CIS assigns to a profile.
", + "CisScanResultsAggregatedByChecksFilterCriteria$securityLevelFilters": "The criteria's security level filters.
" + } + }, + "CisSessionMessage": { + "base": "The CIS session message.
", + "refs": { + "CisSessionMessages$member": null + } + }, + "CisSessionMessages": { + "base": null, + "refs": { + "SendCisSessionTelemetryRequest$messages": "The CIS session telemetry messages.
" + } + }, + "CisSortOrder": { + "base": null, + "refs": { + "GetCisScanResultDetailsRequest$sortOrder": "The sort order.
", + "ListCisScanConfigurationsRequest$sortOrder": "The CIS scan configuration sort order order.
", + "ListCisScanResultsAggregatedByChecksRequest$sortOrder": "The sort order.
", + "ListCisScanResultsAggregatedByTargetResourceRequest$sortOrder": "The sort order.
", + "ListCisScansRequest$sortOrder": "The CIS scans sort order.
" + } + }, + "CisStringComparison": { + "base": null, + "refs": { + "CisStringFilter$comparison": "The comparison value of the CIS string filter.
" + } + }, + "CisStringFilter": { + "base": "The CIS string filter.
", + "refs": { + "AccountIdFilterList$member": null, + "CheckIdFilterList$member": null, + "CisFindingArnFilterList$member": null, + "CisScanArnFilterList$member": null, + "CisScanConfigurationArnFilterList$member": null, + "CisScanNameFilterList$member": null, + "CisScheduledByFilterList$member": null, + "OneAccountIdFilterList$member": null, + "PlatformFilterList$member": null, + "ResourceIdFilterList$member": null, + "TitleFilterList$member": null + } + }, + "CisTagMap": { + "base": null, + "refs": { + "CisScanConfiguration$tags": "The CIS scan configuration's tags.
", + "CreateCisScanConfigurationRequest$tags": "The tags for the CIS scan configuration.
" + } + }, + "CisTargetResourceAggregation": { + "base": "The CIS target resource aggregation.
", + "refs": { + "CisTargetResourceAggregationList$member": null + } + }, + "CisTargetResourceAggregationList": { + "base": null, + "refs": { + "ListCisScanResultsAggregatedByTargetResourceResponse$targetResourceAggregations": "The resource aggregations.
" + } + }, + "CisTargetStatus": { + "base": null, + "refs": { + "CisTargetResourceAggregation$targetStatus": "The status of the target resource.
", + "CisTargetStatusFilter$value": "The value of the CIS target status filter.
" + } + }, + "CisTargetStatusComparison": { + "base": null, + "refs": { + "CisTargetStatusFilter$comparison": "The comparison value of the CIS target status filter.
", + "CisTargetStatusReasonFilter$comparison": "The comparison value of the CIS target status reason filter.
" + } + }, + "CisTargetStatusFilter": { + "base": "The CIS target status filter.
", + "refs": { + "TargetStatusFilterList$member": null + } + }, + "CisTargetStatusReason": { + "base": null, + "refs": { + "CisTargetResourceAggregation$targetStatusReason": "The reason for the target resource.
", + "CisTargetStatusReasonFilter$value": "The value of the CIS target status reason filter.
" + } + }, + "CisTargetStatusReasonFilter": { + "base": "The CIS target status reason filter.
", + "refs": { + "TargetStatusReasonFilterList$member": null + } + }, + "CisTargets": { + "base": "The CIS targets.
", + "refs": { + "CisScan$targets": "The CIS scan's targets.
", + "CisScanConfiguration$targets": "The CIS scan configuration's targets.
" + } + }, "CisaAction": { "base": null, "refs": { @@ -511,6 +1003,12 @@ "Step$componentType": "The component type.
" } }, + "ComputePlatform": { + "base": "A compute platform.
", + "refs": { + "StopCisSessionMessage$computePlatform": "The message compute platform.
" + } + }, "ConflictException": { "base": "A conflict occurred.
", "refs": { @@ -593,7 +1091,7 @@ "CoverageFilterCriteria$lambdaFunctionName": "Returns coverage statistics for AWS Lambda functions filtered by function names.
", "CoverageFilterCriteria$lambdaFunctionRuntime": "Returns coverage statistics for AWS Lambda functions filtered by runtime.
", "CoverageFilterCriteria$resourceId": "An array of Amazon Web Services resource IDs to return coverage statistics for.
", - "CoverageFilterCriteria$resourceType": "An array of Amazon Web Services resource types to return coverage statistics for. The values can be AWS_EC2_INSTANCE
, AWS_LAMBDA_FUNCTION
or AWS_ECR_REPOSITORY
.
An array of Amazon Web Services resource types to return coverage statistics for. The values can be AWS_EC2_INSTANCE
, AWS_LAMBDA_FUNCTION
, AWS_ECR_CONTAINER_IMAGE
, AWS_ECR_REPOSITORY
or AWS_ACCOUNT
.
The scan status code to filter on. Valid values are: ValidationException
, InternalServerException
, ResourceNotFoundException
, BadRequestException
, and ThrottlingException
.
The scan status reason to filter on.
", "CoverageFilterCriteria$scanType": "An array of Amazon Inspector scan types to return coverage statistics for.
" @@ -614,7 +1112,23 @@ "CoveredResources": { "base": null, "refs": { - "ListCoverageResponse$coveredResources": "An object that contains details on the covered resources in your environment.
" + "ListCoverageResponse$coveredResources": "An object that contains details on the covered resources in your environment.
" + } + }, + "CreateCisScanConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateCisScanConfigurationResponse": { + "base": null, + "refs": { + } + }, + "CreateCisTargets": { + "base": "Creates CIS targets.
", + "refs": { + "CreateCisScanConfigurationRequest$targets": "The targets for the CIS scan configuration.
" } }, "CreateFilterRequest": { @@ -738,6 +1252,12 @@ "Vulnerability$cwes": "The Common Weakness Enumeration (CWE) associated with the vulnerability.
" } }, + "DailySchedule": { + "base": "A daily schedule.
", + "refs": { + "Schedule$daily": "The schedule's daily.
" + } + }, "DateFilter": { "base": "Contains details on the time range used to filter findings.
", "refs": { @@ -775,6 +1295,19 @@ "PackageVulnerabilityDetails$vendorUpdatedAt": "The date and time the vendor last updated this vulnerability in their database.
" } }, + "Day": { + "base": null, + "refs": { + "DaysList$member": null, + "MonthlySchedule$day": "The monthly schedule's day.
" + } + }, + "DaysList": { + "base": null, + "refs": { + "WeeklySchedule$days": "The weekly schedule's days.
" + } + }, "DelegatedAdmin": { "base": "Details of the Amazon Inspector delegated administrator for your organization.
", "refs": { @@ -799,6 +1332,16 @@ "DelegatedAdminAccount$status": "The status of the Amazon Inspector delegated administrator.
" } }, + "DeleteCisScanConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteCisScanConfigurationResponse": { + "base": null, + "refs": { + } + }, "DeleteFilterRequest": { "base": null, "refs": { @@ -1381,6 +1924,32 @@ "AwsLambdaFunctionDetails$functionName": "The name of the AWS Lambda function.
" } }, + "GetCisScanReportRequest": { + "base": null, + "refs": { + } + }, + "GetCisScanReportResponse": { + "base": null, + "refs": { + } + }, + "GetCisScanResultDetailsMaxResults": { + "base": null, + "refs": { + "GetCisScanResultDetailsRequest$maxResults": "The maximum number of CIS scan result details to be returned in a single page of results.
" + } + }, + "GetCisScanResultDetailsRequest": { + "base": null, + "refs": { + } + }, + "GetCisScanResultDetailsResponse": { + "base": null, + "refs": { + } + }, "GetConfigurationRequest": { "base": null, "refs": { @@ -1497,12 +2066,19 @@ "Integer": { "base": null, "refs": { + "CisNumberFilter$lowerInclusive": "The CIS number filter's lower inclusive.
", + "CisNumberFilter$upperInclusive": "The CIS number filter's upper inclusive.
", + "CisScan$failedChecks": "The CIS scan's failed checks.
", + "CisScan$totalChecks": "The CIS scan's total checks.
", "CodeFilePath$endLine": "The line number of the last line of code that a vulnerability was found in.
", "CodeFilePath$startLine": "The line number of the first line of code that a vulnerability was found in.
", "CodeLine$lineNumber": "The line number that a section of code is located at.
", "CodeSnippetResult$endLine": "The line number of the last line of a code snippet.
", "CodeSnippetResult$startLine": "The line number of the first line of a code snippet.
", "InternalServerException$retryAfterSeconds": "The number of seconds to wait before retrying the request.
", + "StatusCounts$failed": "The number of checks that failed.
", + "StatusCounts$passed": "The number of checks that passed.
", + "StatusCounts$skipped": "The number of checks that were skipped.
", "ThrottlingException$retryAfterSeconds": "The number of seconds to wait before retrying the request.
" } }, @@ -1633,6 +2209,82 @@ "refs": { } }, + "ListCisScanConfigurationsFilterCriteria": { + "base": "A list of CIS scan configurations filter criteria.
", + "refs": { + "ListCisScanConfigurationsRequest$filterCriteria": "The CIS scan configuration filter criteria.
" + } + }, + "ListCisScanConfigurationsMaxResults": { + "base": null, + "refs": { + "ListCisScanConfigurationsRequest$maxResults": "The maximum number of CIS scan configurations to be returned in a single page of results.
" + } + }, + "ListCisScanConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "ListCisScanConfigurationsResponse": { + "base": null, + "refs": { + } + }, + "ListCisScanResultsAggregatedByChecksRequest": { + "base": null, + "refs": { + } + }, + "ListCisScanResultsAggregatedByChecksResponse": { + "base": null, + "refs": { + } + }, + "ListCisScanResultsAggregatedByTargetResourceRequest": { + "base": null, + "refs": { + } + }, + "ListCisScanResultsAggregatedByTargetResourceResponse": { + "base": null, + "refs": { + } + }, + "ListCisScansDetailLevel": { + "base": null, + "refs": { + "ListCisScansRequest$detailLevel": "The detail applied to the CIS scan.
" + } + }, + "ListCisScansFilterCriteria": { + "base": "A list of CIS scans filter criteria.
", + "refs": { + "ListCisScansRequest$filterCriteria": "The CIS scan filter criteria.
" + } + }, + "ListCisScansMaxResults": { + "base": null, + "refs": { + "ListCisScansRequest$maxResults": "The maximum number of results to be returned.
" + } + }, + "ListCisScansRequest": { + "base": null, + "refs": { + } + }, + "ListCisScansResponse": { + "base": null, + "refs": { + } + }, + "ListCisScansSortBy": { + "base": null, + "refs": { + "ListCisScansRequest$sortBy": "The CIS scans sort by order.
" + } + }, "ListCoverageMaxResults": { "base": null, "refs": { @@ -1808,6 +2460,7 @@ "MapKey": { "base": null, "refs": { + "CisTagMap$key": null, "MapFilter$key": "The tag key used in the filter.
", "TagMap$key": null } @@ -1815,6 +2468,7 @@ "MapValue": { "base": null, "refs": { + "CisTagMap$value": null, "MapFilter$value": "The tag value used in the filter.
", "TagMap$value": null } @@ -1872,6 +2526,12 @@ "Usage$estimatedMonthlyCost": "The estimated monthly cost of Amazon Inspector.
" } }, + "MonthlySchedule": { + "base": "A monthly schedule.
", + "refs": { + "Schedule$monthly": "The schedule's monthly.
" + } + }, "NetworkPath": { "base": "Information on the network path associated with a finding.
", "refs": { @@ -1893,8 +2553,18 @@ "NextToken": { "base": null, "refs": { + "GetCisScanResultDetailsRequest$nextToken": "The pagination token from a previous request that's used to retrieve the next page of results.
", + "GetCisScanResultDetailsResponse$nextToken": "The pagination token from a previous request that's used to retrieve the next page of results.
", "ListAccountPermissionsRequest$nextToken": "A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. If your response returns more than the maxResults
maximum value it will also return a nextToken
value. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.
A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken
value returned from the previous request to continue listing results after the first page.
The pagination token from a previous request that's used to retrieve the next page of results.
", + "ListCisScanConfigurationsResponse$nextToken": "The pagination token from a previous request that's used to retrieve the next page of results.
", + "ListCisScanResultsAggregatedByChecksRequest$nextToken": "The pagination token from a previous request that's used to retrieve the next page of results.
", + "ListCisScanResultsAggregatedByChecksResponse$nextToken": "The pagination token from a previous request that's used to retrieve the next page of results.
", + "ListCisScanResultsAggregatedByTargetResourceRequest$nextToken": "The pagination token from a previous request that's used to retrieve the next page of results.
", + "ListCisScanResultsAggregatedByTargetResourceResponse$nextToken": "The pagination token from a previous request that's used to retrieve the next page of results.
", + "ListCisScansRequest$nextToken": "The pagination token from a previous request that's used to retrieve the next page of results.
", + "ListCisScansResponse$nextToken": "The pagination token from a previous request that's used to retrieve the next page of results.
", "ListCoverageRequest$nextToken": "A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. If your response returns more than the maxResults
maximum value it will also return a nextToken
value. For subsequent calls, use the nextToken
value returned from the previous request to continue listing results after the first page.
A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken
value returned from the previous request to continue listing results after the first page.
A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken
value returned from the previous request to continue listing results after the first page.
The filter's value.
", "State$errorMessage": "The error message received when the account failed to enable Amazon Inspector.
", "StringList$member": null, + "TagFilter$key": "The tag filter key.
", + "TagFilter$value": "The tag filter value.
", + "TargetResourceTags$key": null, "TitleAggregationResponse$title": "The title that the findings were aggregated on.
", "UpdateEc2DeepInspectionConfigurationResponse$errorMessage": "An error message explaining why new Amazon Inspector deep inspection custom paths could not be added.
", "Vulnerability$id": "The ID for the specific vulnerability.
" @@ -2003,6 +2676,18 @@ "FilterCriteria$inspectorScore": "The Amazon Inspector score to filter on.
" } }, + "OneAccountIdFilterList": { + "base": null, + "refs": { + "CisScanResultsAggregatedByChecksFilterCriteria$accountIdFilters": "The criteria's account ID filters.
" + } + }, + "OneTimeSchedule": { + "base": "A one time schedule.
", + "refs": { + "Schedule$oneTime": "The schedule's one time.
" + } + }, "Operation": { "base": null, "refs": { @@ -2130,6 +2815,19 @@ "AwsEcrContainerImageDetails$platform": "The platform of the Amazon ECR container image.
" } }, + "PlatformFilterList": { + "base": null, + "refs": { + "CisScanResultsAggregatedByChecksFilterCriteria$platformFilters": "The criteria's platform filters.
", + "CisScanResultsAggregatedByTargetResourceFilterCriteria$platformFilters": "The criteria's platform filters.
" + } + }, + "PlatformVersion": { + "base": null, + "refs": { + "ComputePlatform$version": "The compute platform version.
" + } + }, "Port": { "base": null, "refs": { @@ -2157,6 +2855,18 @@ "FilterCriteria$portRange": "Details on the port ranges used to filter findings.
" } }, + "Product": { + "base": null, + "refs": { + "ComputePlatform$product": "The compute platform product.
" + } + }, + "Reason": { + "base": null, + "refs": { + "StopCisSessionMessage$reason": "The reason for the message.
" + } + }, "Recommendation": { "base": "Details about the recommended course of action to remediate the finding.
", "refs": { @@ -2215,6 +2925,12 @@ "GetSbomExportResponse$reportId": "The report ID of the software bill of materials (SBOM) report.
" } }, + "ReportTargetAccounts": { + "base": null, + "refs": { + "GetCisScanReportRequest$targetAccounts": "The target accounts.
" + } + }, "ReportingErrorCode": { "base": null, "refs": { @@ -2272,7 +2988,17 @@ "ResourceId": { "base": null, "refs": { - "CoveredResource$resourceId": "The ID of the covered resource.
" + "CisScanResultDetails$targetResourceId": "The CIS scan result details' target resource ID.
", + "CisTargetResourceAggregation$targetResourceId": "The ID of the target resource.
", + "CoveredResource$resourceId": "The ID of the covered resource.
", + "GetCisScanResultDetailsRequest$targetResourceId": "The target resource ID.
" + } + }, + "ResourceIdFilterList": { + "base": null, + "refs": { + "CisScanResultsAggregatedByTargetResourceFilterCriteria$targetResourceIdFilters": "The criteria's target resource ID filters.
", + "ListCisScansFilterCriteria$targetResourceIdFilters": "The list of target resource ID filters.
" } }, "ResourceList": { @@ -2360,6 +3086,14 @@ "ResourceStringFilter$value": "The filter's value.
" } }, + "ResourceTagFilterList": { + "base": null, + "refs": { + "CisScanResultsAggregatedByTargetResourceFilterCriteria$targetResourceTagFilters": "The criteria's target resource tag filters.
", + "ListCisScanConfigurationsFilterCriteria$targetResourceTagFilters": "The list of target resource tag filters.
", + "ListCisScansFilterCriteria$targetResourceTagFilters": "The list of target resource tag filters.
" + } + }, "ResourceType": { "base": null, "refs": { @@ -2375,6 +3109,12 @@ "FindingDetail$riskScore": "The risk score of the vulnerability.
" } }, + "RuleId": { + "base": null, + "refs": { + "CisSessionMessage$ruleId": "The rule ID for the CIS session message.
" + } + }, "Runtime": { "base": null, "refs": { @@ -2416,6 +3156,14 @@ "UpdateEncryptionKeyRequest$scanType": "The scan type for the encryption key.
" } }, + "Schedule": { + "base": "A schedule.
", + "refs": { + "CisScanConfiguration$schedule": "The CIS scan configuration's schedule.
", + "CreateCisScanConfigurationRequest$schedule": "The schedule for the CIS scan configuration.
", + "UpdateCisScanConfigurationRequest$schedule": "The schedule for the CIS scan configuration.
" + } + }, "SearchVulnerabilitiesFilterCriteria": { "base": "Details on the criteria used to define the filter for a vulnerability search.
", "refs": { @@ -2444,6 +3192,26 @@ "LambdaVpcConfig$securityGroupIds": "The VPC security groups and subnets that are attached to an AWS Lambda function. For more information, see VPC Settings.
" } }, + "SendCisSessionHealthRequest": { + "base": null, + "refs": { + } + }, + "SendCisSessionHealthResponse": { + "base": null, + "refs": { + } + }, + "SendCisSessionTelemetryRequest": { + "base": null, + "refs": { + } + }, + "SendCisSessionTelemetryResponse": { + "base": null, + "refs": { + } + }, "Service": { "base": null, "refs": { @@ -2513,6 +3281,22 @@ "VulnerablePackage$sourceLayerHash": "The source layer hash of the vulnerable package.
" } }, + "StartCisSessionMessage": { + "base": "The start CIS session message.
", + "refs": { + "StartCisSessionRequest$message": "The start CIS session message.
" + } + }, + "StartCisSessionRequest": { + "base": null, + "refs": { + } + }, + "StartCisSessionResponse": { + "base": null, + "refs": { + } + }, "State": { "base": "An object that described the state of Amazon Inspector scans for an account.
", "refs": { @@ -2536,6 +3320,13 @@ "State$status": "The status of Amazon Inspector for the account.
" } }, + "StatusCounts": { + "base": "The status counts.
", + "refs": { + "CisCheckAggregation$statusCounts": "The CIS check status counts.
", + "CisTargetResourceAggregation$statusCounts": "The target resource status counts.
" + } + }, "Step": { "base": "Details about the step associated with a finding.
", "refs": { @@ -2548,6 +3339,34 @@ "NetworkPath$steps": "The details on the steps in the network path.
" } }, + "StopCisMessageProgress": { + "base": "The stop CIS message progress.
", + "refs": { + "StopCisSessionMessage$progress": "The progress of the message.
" + } + }, + "StopCisSessionMessage": { + "base": "The stop CIS session message.
", + "refs": { + "StopCisSessionRequest$message": "The stop CIS session message.
" + } + }, + "StopCisSessionRequest": { + "base": null, + "refs": { + } + }, + "StopCisSessionResponse": { + "base": null, + "refs": { + } + }, + "StopCisSessionStatus": { + "base": null, + "refs": { + "StopCisSessionMessage$status": "The status of the message.
" + } + }, "String": { "base": null, "refs": { @@ -2557,6 +3376,19 @@ "AwsEcrContainerAggregationResponse$repository": "The container repository.
", "AwsEcrContainerImageDetails$author": "The image author of the Amazon ECR container image.
", "BadRequestException$message": null, + "CisCheckAggregation$checkDescription": "The description for the CIS check.
", + "CisCheckAggregation$checkId": "The check ID for the CIS check.
", + "CisCheckAggregation$platform": "The CIS check platform.
", + "CisCheckAggregation$title": "The CIS check title.
", + "CisScan$scheduledBy": "The account or organization that schedules the CIS scan.
", + "CisScanResultDetails$checkDescription": "The account ID that's associated with the CIS scan result details.
", + "CisScanResultDetails$checkId": "The CIS scan result details' check ID.
", + "CisScanResultDetails$platform": "The CIS scan result details' platform.
", + "CisScanResultDetails$remediation": "The CIS scan result details' remediation.
", + "CisScanResultDetails$statusReason": "The CIS scan result details' status reason.
", + "CisScanResultDetails$title": "The CIS scan result details' title.
", + "CisStringFilter$value": "The value of the CIS string filter.
", + "CisTargetResourceAggregation$platform": "The platform for the CIS target resource.
", "ConflictException$message": null, "ConflictException$resourceId": "The ID of the conflicting resource.
", "ConflictException$resourceType": "The type of the conflicting resource.
", @@ -2567,6 +3399,7 @@ "Ec2InstanceAggregationResponse$operatingSystem": "The operating system of the Amazon EC2 instance.
", "EcrRepositoryMetadata$name": "The name of the Amazon ECR repository.
", "FreeTrialInfoError$message": "The error message returned.
", + "GetCisScanReportResponse$url": "The URL where the CIS scan report PDF can be downloaded.
", "InternalServerException$message": null, "LambdaFunctionAggregationResponse$functionName": "The AWS Lambda function names included in the aggregation results.
", "LambdaFunctionAggregationResponse$runtime": "The runtimes included in the aggregation results.
", @@ -2576,6 +3409,7 @@ "ServiceQuotaExceededException$message": null, "ServiceQuotaExceededException$resourceId": "The ID of the resource that exceeds a service quota.
", "TagList$member": null, + "TagValueList$member": null, "ThrottlingException$message": null, "TitleAggregationResponse$vulnerabilityId": "The vulnerability ID of the finding.
", "ValidationException$message": null, @@ -2709,6 +3543,18 @@ "CodeSnippetResult$suggestedFixes": "Details of a suggested code fix.
" } }, + "TagComparison": { + "base": null, + "refs": { + "TagFilter$comparison": "The tag filter comparison value.
" + } + }, + "TagFilter": { + "base": "The tag filter.
", + "refs": { + "ResourceTagFilterList$member": null + } + }, "TagKey": { "base": null, "refs": { @@ -2751,12 +3597,52 @@ "refs": { } }, + "TagValueList": { + "base": null, + "refs": { + "TargetResourceTags$value": null + } + }, "Target": { "base": null, "refs": { "Targets$member": null } }, + "TargetAccount": { + "base": null, + "refs": { + "TargetAccountList$member": null + } + }, + "TargetAccountList": { + "base": null, + "refs": { + "CreateCisTargets$accountIds": "The CIS target account ids.
", + "UpdateCisTargets$accountIds": "The target account ids.
" + } + }, + "TargetResourceTags": { + "base": null, + "refs": { + "CisTargetResourceAggregation$targetResourceTags": "The tag for the target resource.
", + "CisTargets$targetResourceTags": "The CIS target resource tags.
", + "CreateCisTargets$targetResourceTags": "The CIS target resource tags.
", + "UpdateCisTargets$targetResourceTags": "The target resource tags.
" + } + }, + "TargetStatusFilterList": { + "base": null, + "refs": { + "CisScanResultsAggregatedByTargetResourceFilterCriteria$targetStatusFilters": "The criteria's target status filters.
" + } + }, + "TargetStatusReasonFilterList": { + "base": null, + "refs": { + "CisScanResultsAggregatedByTargetResourceFilterCriteria$targetStatusReasonFilters": "The criteria's target status reason filters.
" + } + }, "Targets": { "base": null, "refs": { @@ -2768,16 +3654,39 @@ "refs": { } }, + "Time": { + "base": "The time.
", + "refs": { + "DailySchedule$startTime": "The schedule start time.
", + "MonthlySchedule$startTime": "The monthly schedule's start time.
", + "WeeklySchedule$startTime": "The weekly schedule's start time.
" + } + }, + "TimeOfDay": { + "base": null, + "refs": { + "Time$timeOfDay": "The time of day in 24-hour format (00:00).
" + } + }, "Timestamp": { "base": null, "refs": { "AwsLambdaFunctionDetails$lastModifiedAt": "The date and time that a user last updated the configuration, in ISO 8601 format
", + "CisDateFilter$earliestScanStartTime": "The CIS date filter's earliest scan start time.
", + "CisDateFilter$latestScanStartTime": "The CIS date filter's latest scan start time.
", + "CisScan$scanDate": "The CIS scan's date.
", "DateFilter$endInclusive": "A timestamp representing the end of the time period filtered on.
", "DateFilter$startInclusive": "A timestamp representing the start of the time period filtered on.
", "FreeTrialInfo$end": "The date and time that the Amazon Inspector free trail ends for a given account.
", "FreeTrialInfo$start": "The date and time that the Amazon Inspector free trail started for a given account.
" } }, + "Timezone": { + "base": null, + "refs": { + "Time$timezone": "The timezone.
" + } + }, "TitleAggregation": { "base": "The details that define an aggregation based on finding title.
", "refs": { @@ -2790,6 +3699,13 @@ "AggregationResponse$titleAggregation": "An object that contains details about an aggregation response based on finding title.
" } }, + "TitleFilterList": { + "base": null, + "refs": { + "CisScanResultDetailsFilterCriteria$titleFilters": "The criteria's title filters.
", + "CisScanResultsAggregatedByChecksFilterCriteria$titleFilters": "The criteria's title filters.
" + } + }, "TitleSortBy": { "base": null, "refs": { @@ -2821,6 +3737,19 @@ "FindingDetail$ttps": "The MITRE adversary tactics, techniques, or procedures (TTPs) associated with the vulnerability.
" } }, + "UUID": { + "base": null, + "refs": { + "SendCisSessionHealthRequest$scanJobId": "A unique identifier for the scan job.
", + "SendCisSessionHealthRequest$sessionToken": "The unique token that identifies the CIS session.
", + "SendCisSessionTelemetryRequest$scanJobId": "A unique identifier for the scan job.
", + "SendCisSessionTelemetryRequest$sessionToken": "The unique token that identifies the CIS session.
", + "StartCisSessionMessage$sessionToken": "The unique token that identifies the CIS session.
", + "StartCisSessionRequest$scanJobId": "A unique identifier for the scan job.
", + "StopCisSessionRequest$scanJobId": "A unique identifier for the scan job.
", + "StopCisSessionRequest$sessionToken": "The unique token that identifies the CIS session.
" + } + }, "UntagResourceRequest": { "base": null, "refs": { @@ -2831,6 +3760,22 @@ "refs": { } }, + "UpdateCisScanConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateCisScanConfigurationResponse": { + "base": null, + "refs": { + } + }, + "UpdateCisTargets": { + "base": "Updates CIS targets.
", + "refs": { + "UpdateCisScanConfigurationRequest$targets": "The targets for the CIS scan configuration.
" + } + }, "UpdateConfigurationRequest": { "base": null, "refs": { @@ -2962,6 +3907,12 @@ "ValidationException$reason": "The reason for the validation failure.
" } }, + "Vendor": { + "base": null, + "refs": { + "ComputePlatform$vendor": "The compute platform vendor.
" + } + }, "VendorCreatedAt": { "base": null, "refs": { @@ -3077,6 +4028,12 @@ "refs": { "VulnerablePackage$remediation": "The code to run in your environment to update packages with a fix available.
" } + }, + "WeeklySchedule": { + "base": "A weekly schedule.
", + "refs": { + "Schedule$weekly": "The schedule's weekly.
" + } } } } diff --git a/models/apis/inspector2/2020-06-08/endpoint-rule-set-1.json b/models/apis/inspector2/2020-06-08/endpoint-rule-set-1.json index a8d6cdbbc6f..1d9d6c07b56 100644 --- a/models/apis/inspector2/2020-06-08/endpoint-rule-set-1.json +++ b/models/apis/inspector2/2020-06-08/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/inspector2/2020-06-08/paginators-1.json b/models/apis/inspector2/2020-06-08/paginators-1.json index f6aaa6d4d0a..f3abea9ff99 100644 --- a/models/apis/inspector2/2020-06-08/paginators-1.json +++ b/models/apis/inspector2/2020-06-08/paginators-1.json @@ -1,11 +1,41 @@ { "pagination": { + "GetCisScanResultDetails": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "scanResultDetails" + }, "ListAccountPermissions": { "input_token": "nextToken", "output_token": "nextToken", "limit_key": "maxResults", "result_key": "permissions" }, + "ListCisScanConfigurations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "scanConfigurations" + }, + "ListCisScanResultsAggregatedByChecks": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "checkAggregations" + }, + "ListCisScanResultsAggregatedByTargetResource": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "targetResourceAggregations" + }, + "ListCisScans": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "scans" + }, "ListCoverage": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/service/inspector2/api.go b/service/inspector2/api.go index aeb92dd4691..053046cd253 100644 --- a/service/inspector2/api.go +++ b/service/inspector2/api.go @@ -846,6 +846,96 @@ func (c *Inspector2) CancelSbomExportWithContext(ctx aws.Context, input *CancelS return out, req.Send() } +const opCreateCisScanConfiguration = "CreateCisScanConfiguration" + +// CreateCisScanConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateCisScanConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCisScanConfiguration for more information on using the CreateCisScanConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateCisScanConfigurationRequest method. +// req, resp := client.CreateCisScanConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CreateCisScanConfiguration +func (c *Inspector2) CreateCisScanConfigurationRequest(input *CreateCisScanConfigurationInput) (req *request.Request, output *CreateCisScanConfigurationOutput) { + op := &request.Operation{ + Name: opCreateCisScanConfiguration, + HTTPMethod: "POST", + HTTPPath: "/cis/scan-configuration/create", + } + + if input == nil { + input = &CreateCisScanConfigurationInput{} + } + + output = &CreateCisScanConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCisScanConfiguration API operation for Inspector2. +// +// Creates a CIS scan configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation CreateCisScanConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/CreateCisScanConfiguration +func (c *Inspector2) CreateCisScanConfiguration(input *CreateCisScanConfigurationInput) (*CreateCisScanConfigurationOutput, error) { + req, out := c.CreateCisScanConfigurationRequest(input) + return out, req.Send() +} + +// CreateCisScanConfigurationWithContext is the same as CreateCisScanConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCisScanConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) CreateCisScanConfigurationWithContext(ctx aws.Context, input *CreateCisScanConfigurationInput, opts ...request.Option) (*CreateCisScanConfigurationOutput, error) { + req, out := c.CreateCisScanConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateFilter = "CreateFilter" // CreateFilterRequest generates a "aws/request.Request" representing the @@ -1135,6 +1225,100 @@ func (c *Inspector2) CreateSbomExportWithContext(ctx aws.Context, input *CreateS return out, req.Send() } +const opDeleteCisScanConfiguration = "DeleteCisScanConfiguration" + +// DeleteCisScanConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCisScanConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteCisScanConfiguration for more information on using the DeleteCisScanConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteCisScanConfigurationRequest method. +// req, resp := client.DeleteCisScanConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DeleteCisScanConfiguration +func (c *Inspector2) DeleteCisScanConfigurationRequest(input *DeleteCisScanConfigurationInput) (req *request.Request, output *DeleteCisScanConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteCisScanConfiguration, + HTTPMethod: "POST", + HTTPPath: "/cis/scan-configuration/delete", + } + + if input == nil { + input = &DeleteCisScanConfigurationInput{} + } + + output = &DeleteCisScanConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCisScanConfiguration API operation for Inspector2. +// +// Deletes a CIS scan configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation DeleteCisScanConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The operation tried to access an invalid resource. Make sure the resource +// is specified correctly. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/DeleteCisScanConfiguration +func (c *Inspector2) DeleteCisScanConfiguration(input *DeleteCisScanConfigurationInput) (*DeleteCisScanConfigurationOutput, error) { + req, out := c.DeleteCisScanConfigurationRequest(input) + return out, req.Send() +} + +// DeleteCisScanConfigurationWithContext is the same as DeleteCisScanConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCisScanConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) DeleteCisScanConfigurationWithContext(ctx aws.Context, input *DeleteCisScanConfigurationInput, opts ...request.Option) (*DeleteCisScanConfigurationOutput, error) { + req, out := c.DeleteCisScanConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteFilter = "DeleteFilter" // DeleteFilterRequest generates a "aws/request.Request" representing the @@ -1794,63 +1978,66 @@ func (c *Inspector2) EnableDelegatedAdminAccountWithContext(ctx aws.Context, inp return out, req.Send() } -const opGetConfiguration = "GetConfiguration" +const opGetCisScanReport = "GetCisScanReport" -// GetConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the GetConfiguration operation. The "output" return +// GetCisScanReportRequest generates a "aws/request.Request" representing the +// client's request for the GetCisScanReport operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetConfiguration for more information on using the GetConfiguration +// See GetCisScanReport for more information on using the GetCisScanReport // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetConfigurationRequest method. -// req, resp := client.GetConfigurationRequest(params) +// // Example sending a request using the GetCisScanReportRequest method. +// req, resp := client.GetCisScanReportRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetConfiguration -func (c *Inspector2) GetConfigurationRequest(input *GetConfigurationInput) (req *request.Request, output *GetConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetCisScanReport +func (c *Inspector2) GetCisScanReportRequest(input *GetCisScanReportInput) (req *request.Request, output *GetCisScanReportOutput) { op := &request.Operation{ - Name: opGetConfiguration, + Name: opGetCisScanReport, HTTPMethod: "POST", - HTTPPath: "/configuration/get", + HTTPPath: "/cis/scan/report/get", } if input == nil { - input = &GetConfigurationInput{} + input = &GetCisScanReportInput{} } - output = &GetConfigurationOutput{} + output = &GetCisScanReportOutput{} req = c.newRequest(op, input, output) return } -// GetConfiguration API operation for Inspector2. +// GetCisScanReport API operation for Inspector2. // -// Retrieves setting configurations for Inspector scans. +// Retrieves a CIS scan report. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation GetConfiguration for usage and error information. +// API operation GetCisScanReport for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// The operation tried to access an invalid resource. Make sure the resource -// is specified correctly. +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. // // - ThrottlingException // The limit on the number of requests per second was exceeded. @@ -1859,80 +2046,85 @@ func (c *Inspector2) GetConfigurationRequest(input *GetConfigurationInput) (req // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetConfiguration -func (c *Inspector2) GetConfiguration(input *GetConfigurationInput) (*GetConfigurationOutput, error) { - req, out := c.GetConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetCisScanReport +func (c *Inspector2) GetCisScanReport(input *GetCisScanReportInput) (*GetCisScanReportOutput, error) { + req, out := c.GetCisScanReportRequest(input) return out, req.Send() } -// GetConfigurationWithContext is the same as GetConfiguration with the addition of +// GetCisScanReportWithContext is the same as GetCisScanReport with the addition of // the ability to pass a context and additional request options. // -// See GetConfiguration for details on how to use this API operation. +// See GetCisScanReport for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) GetConfigurationWithContext(ctx aws.Context, input *GetConfigurationInput, opts ...request.Option) (*GetConfigurationOutput, error) { - req, out := c.GetConfigurationRequest(input) +func (c *Inspector2) GetCisScanReportWithContext(ctx aws.Context, input *GetCisScanReportInput, opts ...request.Option) (*GetCisScanReportOutput, error) { + req, out := c.GetCisScanReportRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetDelegatedAdminAccount = "GetDelegatedAdminAccount" +const opGetCisScanResultDetails = "GetCisScanResultDetails" -// GetDelegatedAdminAccountRequest generates a "aws/request.Request" representing the -// client's request for the GetDelegatedAdminAccount operation. The "output" return +// GetCisScanResultDetailsRequest generates a "aws/request.Request" representing the +// client's request for the GetCisScanResultDetails operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetDelegatedAdminAccount for more information on using the GetDelegatedAdminAccount +// See GetCisScanResultDetails for more information on using the GetCisScanResultDetails // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetDelegatedAdminAccountRequest method. -// req, resp := client.GetDelegatedAdminAccountRequest(params) +// // Example sending a request using the GetCisScanResultDetailsRequest method. +// req, resp := client.GetCisScanResultDetailsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetDelegatedAdminAccount -func (c *Inspector2) GetDelegatedAdminAccountRequest(input *GetDelegatedAdminAccountInput) (req *request.Request, output *GetDelegatedAdminAccountOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetCisScanResultDetails +func (c *Inspector2) GetCisScanResultDetailsRequest(input *GetCisScanResultDetailsInput) (req *request.Request, output *GetCisScanResultDetailsOutput) { op := &request.Operation{ - Name: opGetDelegatedAdminAccount, + Name: opGetCisScanResultDetails, HTTPMethod: "POST", - HTTPPath: "/delegatedadminaccounts/get", + HTTPPath: "/cis/scan-result/details/get", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &GetDelegatedAdminAccountInput{} + input = &GetCisScanResultDetailsInput{} } - output = &GetDelegatedAdminAccountOutput{} + output = &GetCisScanResultDetailsOutput{} req = c.newRequest(op, input, output) return } -// GetDelegatedAdminAccount API operation for Inspector2. +// GetCisScanResultDetails API operation for Inspector2. // -// Retrieves information about the Amazon Inspector delegated administrator -// for your organization. +// Retrieves CIS scan result details. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation GetDelegatedAdminAccount for usage and error information. +// API operation GetCisScanResultDetails for usage and error information. // // Returned Error Types: // @@ -1943,10 +2135,6 @@ func (c *Inspector2) GetDelegatedAdminAccountRequest(input *GetDelegatedAdminAcc // The request has failed validation due to missing required fields or having // invalid inputs. // -// - ResourceNotFoundException -// The operation tried to access an invalid resource. Make sure the resource -// is specified correctly. -// // - ThrottlingException // The limit on the number of requests per second was exceeded. // @@ -1954,53 +2142,286 @@ func (c *Inspector2) GetDelegatedAdminAccountRequest(input *GetDelegatedAdminAcc // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetDelegatedAdminAccount -func (c *Inspector2) GetDelegatedAdminAccount(input *GetDelegatedAdminAccountInput) (*GetDelegatedAdminAccountOutput, error) { - req, out := c.GetDelegatedAdminAccountRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetCisScanResultDetails +func (c *Inspector2) GetCisScanResultDetails(input *GetCisScanResultDetailsInput) (*GetCisScanResultDetailsOutput, error) { + req, out := c.GetCisScanResultDetailsRequest(input) return out, req.Send() } -// GetDelegatedAdminAccountWithContext is the same as GetDelegatedAdminAccount with the addition of +// GetCisScanResultDetailsWithContext is the same as GetCisScanResultDetails with the addition of // the ability to pass a context and additional request options. // -// See GetDelegatedAdminAccount for details on how to use this API operation. +// See GetCisScanResultDetails for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) GetDelegatedAdminAccountWithContext(ctx aws.Context, input *GetDelegatedAdminAccountInput, opts ...request.Option) (*GetDelegatedAdminAccountOutput, error) { - req, out := c.GetDelegatedAdminAccountRequest(input) +func (c *Inspector2) GetCisScanResultDetailsWithContext(ctx aws.Context, input *GetCisScanResultDetailsInput, opts ...request.Option) (*GetCisScanResultDetailsOutput, error) { + req, out := c.GetCisScanResultDetailsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetEc2DeepInspectionConfiguration = "GetEc2DeepInspectionConfiguration" +// GetCisScanResultDetailsPages iterates over the pages of a GetCisScanResultDetails operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetCisScanResultDetails method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetCisScanResultDetails operation. +// pageNum := 0 +// err := client.GetCisScanResultDetailsPages(params, +// func(page *inspector2.GetCisScanResultDetailsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Inspector2) GetCisScanResultDetailsPages(input *GetCisScanResultDetailsInput, fn func(*GetCisScanResultDetailsOutput, bool) bool) error { + return c.GetCisScanResultDetailsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// GetEc2DeepInspectionConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the GetEc2DeepInspectionConfiguration operation. The "output" return +// GetCisScanResultDetailsPagesWithContext same as GetCisScanResultDetailsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) GetCisScanResultDetailsPagesWithContext(ctx aws.Context, input *GetCisScanResultDetailsInput, fn func(*GetCisScanResultDetailsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetCisScanResultDetailsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetCisScanResultDetailsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetCisScanResultDetailsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetConfiguration = "GetConfiguration" + +// GetConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetConfiguration operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetEc2DeepInspectionConfiguration for more information on using the GetEc2DeepInspectionConfiguration +// See GetConfiguration for more information on using the GetConfiguration // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetEc2DeepInspectionConfigurationRequest method. -// req, resp := client.GetEc2DeepInspectionConfigurationRequest(params) +// // Example sending a request using the GetConfigurationRequest method. +// req, resp := client.GetConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetEc2DeepInspectionConfiguration +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetConfiguration +func (c *Inspector2) GetConfigurationRequest(input *GetConfigurationInput) (req *request.Request, output *GetConfigurationOutput) { + op := &request.Operation{ + Name: opGetConfiguration, + HTTPMethod: "POST", + HTTPPath: "/configuration/get", + } + + if input == nil { + input = &GetConfigurationInput{} + } + + output = &GetConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetConfiguration API operation for Inspector2. +// +// Retrieves setting configurations for Inspector scans. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation GetConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The operation tried to access an invalid resource. Make sure the resource +// is specified correctly. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetConfiguration +func (c *Inspector2) GetConfiguration(input *GetConfigurationInput) (*GetConfigurationOutput, error) { + req, out := c.GetConfigurationRequest(input) + return out, req.Send() +} + +// GetConfigurationWithContext is the same as GetConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See GetConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) GetConfigurationWithContext(ctx aws.Context, input *GetConfigurationInput, opts ...request.Option) (*GetConfigurationOutput, error) { + req, out := c.GetConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDelegatedAdminAccount = "GetDelegatedAdminAccount" + +// GetDelegatedAdminAccountRequest generates a "aws/request.Request" representing the +// client's request for the GetDelegatedAdminAccount operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDelegatedAdminAccount for more information on using the GetDelegatedAdminAccount +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetDelegatedAdminAccountRequest method. +// req, resp := client.GetDelegatedAdminAccountRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetDelegatedAdminAccount +func (c *Inspector2) GetDelegatedAdminAccountRequest(input *GetDelegatedAdminAccountInput) (req *request.Request, output *GetDelegatedAdminAccountOutput) { + op := &request.Operation{ + Name: opGetDelegatedAdminAccount, + HTTPMethod: "POST", + HTTPPath: "/delegatedadminaccounts/get", + } + + if input == nil { + input = &GetDelegatedAdminAccountInput{} + } + + output = &GetDelegatedAdminAccountOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDelegatedAdminAccount API operation for Inspector2. +// +// Retrieves information about the Amazon Inspector delegated administrator +// for your organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation GetDelegatedAdminAccount for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - ResourceNotFoundException +// The operation tried to access an invalid resource. Make sure the resource +// is specified correctly. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetDelegatedAdminAccount +func (c *Inspector2) GetDelegatedAdminAccount(input *GetDelegatedAdminAccountInput) (*GetDelegatedAdminAccountOutput, error) { + req, out := c.GetDelegatedAdminAccountRequest(input) + return out, req.Send() +} + +// GetDelegatedAdminAccountWithContext is the same as GetDelegatedAdminAccount with the addition of +// the ability to pass a context and additional request options. +// +// See GetDelegatedAdminAccount for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) GetDelegatedAdminAccountWithContext(ctx aws.Context, input *GetDelegatedAdminAccountInput, opts ...request.Option) (*GetDelegatedAdminAccountOutput, error) { + req, out := c.GetDelegatedAdminAccountRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetEc2DeepInspectionConfiguration = "GetEc2DeepInspectionConfiguration" + +// GetEc2DeepInspectionConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetEc2DeepInspectionConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetEc2DeepInspectionConfiguration for more information on using the GetEc2DeepInspectionConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetEc2DeepInspectionConfigurationRequest method. +// req, resp := client.GetEc2DeepInspectionConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/GetEc2DeepInspectionConfiguration func (c *Inspector2) GetEc2DeepInspectionConfigurationRequest(input *GetEc2DeepInspectionConfigurationInput) (req *request.Request, output *GetEc2DeepInspectionConfigurationOutput) { op := &request.Operation{ Name: opGetEc2DeepInspectionConfiguration, @@ -2590,36 +3011,36 @@ func (c *Inspector2) ListAccountPermissionsPagesWithContext(ctx aws.Context, inp return p.Err() } -const opListCoverage = "ListCoverage" +const opListCisScanConfigurations = "ListCisScanConfigurations" -// ListCoverageRequest generates a "aws/request.Request" representing the -// client's request for the ListCoverage operation. The "output" return +// ListCisScanConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListCisScanConfigurations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListCoverage for more information on using the ListCoverage +// See ListCisScanConfigurations for more information on using the ListCisScanConfigurations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListCoverageRequest method. -// req, resp := client.ListCoverageRequest(params) +// // Example sending a request using the ListCisScanConfigurationsRequest method. +// req, resp := client.ListCisScanConfigurationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverage -func (c *Inspector2) ListCoverageRequest(input *ListCoverageInput) (req *request.Request, output *ListCoverageOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScanConfigurations +func (c *Inspector2) ListCisScanConfigurationsRequest(input *ListCisScanConfigurationsInput) (req *request.Request, output *ListCisScanConfigurationsOutput) { op := &request.Operation{ - Name: opListCoverage, + Name: opListCisScanConfigurations, HTTPMethod: "POST", - HTTPPath: "/coverage/list", + HTTPPath: "/cis/scan-configuration/list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2629,27 +3050,30 @@ func (c *Inspector2) ListCoverageRequest(input *ListCoverageInput) (req *request } if input == nil { - input = &ListCoverageInput{} + input = &ListCisScanConfigurationsInput{} } - output = &ListCoverageOutput{} + output = &ListCisScanConfigurationsOutput{} req = c.newRequest(op, input, output) return } -// ListCoverage API operation for Inspector2. +// ListCisScanConfigurations API operation for Inspector2. // -// Lists coverage details for you environment. +// Lists CIS scan configurations. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation ListCoverage for usage and error information. +// API operation ListCisScanConfigurations for usage and error information. // // Returned Error Types: // +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// // - ValidationException // The request has failed validation due to missing required fields or having // invalid inputs. @@ -2661,64 +3085,64 @@ func (c *Inspector2) ListCoverageRequest(input *ListCoverageInput) (req *request // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverage -func (c *Inspector2) ListCoverage(input *ListCoverageInput) (*ListCoverageOutput, error) { - req, out := c.ListCoverageRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScanConfigurations +func (c *Inspector2) ListCisScanConfigurations(input *ListCisScanConfigurationsInput) (*ListCisScanConfigurationsOutput, error) { + req, out := c.ListCisScanConfigurationsRequest(input) return out, req.Send() } -// ListCoverageWithContext is the same as ListCoverage with the addition of +// ListCisScanConfigurationsWithContext is the same as ListCisScanConfigurations with the addition of // the ability to pass a context and additional request options. // -// See ListCoverage for details on how to use this API operation. +// See ListCisScanConfigurations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListCoverageWithContext(ctx aws.Context, input *ListCoverageInput, opts ...request.Option) (*ListCoverageOutput, error) { - req, out := c.ListCoverageRequest(input) +func (c *Inspector2) ListCisScanConfigurationsWithContext(ctx aws.Context, input *ListCisScanConfigurationsInput, opts ...request.Option) (*ListCisScanConfigurationsOutput, error) { + req, out := c.ListCisScanConfigurationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListCoveragePages iterates over the pages of a ListCoverage operation, +// ListCisScanConfigurationsPages iterates over the pages of a ListCisScanConfigurations operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListCoverage method for more information on how to use this operation. +// See ListCisScanConfigurations method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListCoverage operation. +// // Example iterating over at most 3 pages of a ListCisScanConfigurations operation. // pageNum := 0 -// err := client.ListCoveragePages(params, -// func(page *inspector2.ListCoverageOutput, lastPage bool) bool { +// err := client.ListCisScanConfigurationsPages(params, +// func(page *inspector2.ListCisScanConfigurationsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Inspector2) ListCoveragePages(input *ListCoverageInput, fn func(*ListCoverageOutput, bool) bool) error { - return c.ListCoveragePagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Inspector2) ListCisScanConfigurationsPages(input *ListCisScanConfigurationsInput, fn func(*ListCisScanConfigurationsOutput, bool) bool) error { + return c.ListCisScanConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListCoveragePagesWithContext same as ListCoveragePages except +// ListCisScanConfigurationsPagesWithContext same as ListCisScanConfigurationsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListCoveragePagesWithContext(ctx aws.Context, input *ListCoverageInput, fn func(*ListCoverageOutput, bool) bool, opts ...request.Option) error { +func (c *Inspector2) ListCisScanConfigurationsPagesWithContext(ctx aws.Context, input *ListCisScanConfigurationsInput, fn func(*ListCisScanConfigurationsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListCoverageInput + var inCpy *ListCisScanConfigurationsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListCoverageRequest(inCpy) + req, _ := c.ListCisScanConfigurationsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2726,7 +3150,7 @@ func (c *Inspector2) ListCoveragePagesWithContext(ctx aws.Context, input *ListCo } for p.Next() { - if !fn(p.Page().(*ListCoverageOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCisScanConfigurationsOutput), !p.HasNextPage()) { break } } @@ -2734,66 +3158,69 @@ func (c *Inspector2) ListCoveragePagesWithContext(ctx aws.Context, input *ListCo return p.Err() } -const opListCoverageStatistics = "ListCoverageStatistics" +const opListCisScanResultsAggregatedByChecks = "ListCisScanResultsAggregatedByChecks" -// ListCoverageStatisticsRequest generates a "aws/request.Request" representing the -// client's request for the ListCoverageStatistics operation. The "output" return +// ListCisScanResultsAggregatedByChecksRequest generates a "aws/request.Request" representing the +// client's request for the ListCisScanResultsAggregatedByChecks operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListCoverageStatistics for more information on using the ListCoverageStatistics +// See ListCisScanResultsAggregatedByChecks for more information on using the ListCisScanResultsAggregatedByChecks // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListCoverageStatisticsRequest method. -// req, resp := client.ListCoverageStatisticsRequest(params) +// // Example sending a request using the ListCisScanResultsAggregatedByChecksRequest method. +// req, resp := client.ListCisScanResultsAggregatedByChecksRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverageStatistics -func (c *Inspector2) ListCoverageStatisticsRequest(input *ListCoverageStatisticsInput) (req *request.Request, output *ListCoverageStatisticsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScanResultsAggregatedByChecks +func (c *Inspector2) ListCisScanResultsAggregatedByChecksRequest(input *ListCisScanResultsAggregatedByChecksInput) (req *request.Request, output *ListCisScanResultsAggregatedByChecksOutput) { op := &request.Operation{ - Name: opListCoverageStatistics, + Name: opListCisScanResultsAggregatedByChecks, HTTPMethod: "POST", - HTTPPath: "/coverage/statistics/list", + HTTPPath: "/cis/scan-result/check/list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, - LimitToken: "", + LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { - input = &ListCoverageStatisticsInput{} + input = &ListCisScanResultsAggregatedByChecksInput{} } - output = &ListCoverageStatisticsOutput{} + output = &ListCisScanResultsAggregatedByChecksOutput{} req = c.newRequest(op, input, output) return } -// ListCoverageStatistics API operation for Inspector2. +// ListCisScanResultsAggregatedByChecks API operation for Inspector2. // -// Lists Amazon Inspector coverage statistics for your environment. +// Lists scan results aggregated by checks. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation ListCoverageStatistics for usage and error information. +// API operation ListCisScanResultsAggregatedByChecks for usage and error information. // // Returned Error Types: // +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// // - ValidationException // The request has failed validation due to missing required fields or having // invalid inputs. @@ -2805,64 +3232,64 @@ func (c *Inspector2) ListCoverageStatisticsRequest(input *ListCoverageStatistics // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverageStatistics -func (c *Inspector2) ListCoverageStatistics(input *ListCoverageStatisticsInput) (*ListCoverageStatisticsOutput, error) { - req, out := c.ListCoverageStatisticsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScanResultsAggregatedByChecks +func (c *Inspector2) ListCisScanResultsAggregatedByChecks(input *ListCisScanResultsAggregatedByChecksInput) (*ListCisScanResultsAggregatedByChecksOutput, error) { + req, out := c.ListCisScanResultsAggregatedByChecksRequest(input) return out, req.Send() } -// ListCoverageStatisticsWithContext is the same as ListCoverageStatistics with the addition of +// ListCisScanResultsAggregatedByChecksWithContext is the same as ListCisScanResultsAggregatedByChecks with the addition of // the ability to pass a context and additional request options. // -// See ListCoverageStatistics for details on how to use this API operation. +// See ListCisScanResultsAggregatedByChecks for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListCoverageStatisticsWithContext(ctx aws.Context, input *ListCoverageStatisticsInput, opts ...request.Option) (*ListCoverageStatisticsOutput, error) { - req, out := c.ListCoverageStatisticsRequest(input) +func (c *Inspector2) ListCisScanResultsAggregatedByChecksWithContext(ctx aws.Context, input *ListCisScanResultsAggregatedByChecksInput, opts ...request.Option) (*ListCisScanResultsAggregatedByChecksOutput, error) { + req, out := c.ListCisScanResultsAggregatedByChecksRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListCoverageStatisticsPages iterates over the pages of a ListCoverageStatistics operation, +// ListCisScanResultsAggregatedByChecksPages iterates over the pages of a ListCisScanResultsAggregatedByChecks operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListCoverageStatistics method for more information on how to use this operation. +// See ListCisScanResultsAggregatedByChecks method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListCoverageStatistics operation. +// // Example iterating over at most 3 pages of a ListCisScanResultsAggregatedByChecks operation. // pageNum := 0 -// err := client.ListCoverageStatisticsPages(params, -// func(page *inspector2.ListCoverageStatisticsOutput, lastPage bool) bool { +// err := client.ListCisScanResultsAggregatedByChecksPages(params, +// func(page *inspector2.ListCisScanResultsAggregatedByChecksOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Inspector2) ListCoverageStatisticsPages(input *ListCoverageStatisticsInput, fn func(*ListCoverageStatisticsOutput, bool) bool) error { - return c.ListCoverageStatisticsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Inspector2) ListCisScanResultsAggregatedByChecksPages(input *ListCisScanResultsAggregatedByChecksInput, fn func(*ListCisScanResultsAggregatedByChecksOutput, bool) bool) error { + return c.ListCisScanResultsAggregatedByChecksPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListCoverageStatisticsPagesWithContext same as ListCoverageStatisticsPages except +// ListCisScanResultsAggregatedByChecksPagesWithContext same as ListCisScanResultsAggregatedByChecksPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListCoverageStatisticsPagesWithContext(ctx aws.Context, input *ListCoverageStatisticsInput, fn func(*ListCoverageStatisticsOutput, bool) bool, opts ...request.Option) error { +func (c *Inspector2) ListCisScanResultsAggregatedByChecksPagesWithContext(ctx aws.Context, input *ListCisScanResultsAggregatedByChecksInput, fn func(*ListCisScanResultsAggregatedByChecksOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListCoverageStatisticsInput + var inCpy *ListCisScanResultsAggregatedByChecksInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListCoverageStatisticsRequest(inCpy) + req, _ := c.ListCisScanResultsAggregatedByChecksRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2870,7 +3297,7 @@ func (c *Inspector2) ListCoverageStatisticsPagesWithContext(ctx aws.Context, inp } for p.Next() { - if !fn(p.Page().(*ListCoverageStatisticsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCisScanResultsAggregatedByChecksOutput), !p.HasNextPage()) { break } } @@ -2878,36 +3305,36 @@ func (c *Inspector2) ListCoverageStatisticsPagesWithContext(ctx aws.Context, inp return p.Err() } -const opListDelegatedAdminAccounts = "ListDelegatedAdminAccounts" +const opListCisScanResultsAggregatedByTargetResource = "ListCisScanResultsAggregatedByTargetResource" -// ListDelegatedAdminAccountsRequest generates a "aws/request.Request" representing the -// client's request for the ListDelegatedAdminAccounts operation. The "output" return +// ListCisScanResultsAggregatedByTargetResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListCisScanResultsAggregatedByTargetResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDelegatedAdminAccounts for more information on using the ListDelegatedAdminAccounts +// See ListCisScanResultsAggregatedByTargetResource for more information on using the ListCisScanResultsAggregatedByTargetResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListDelegatedAdminAccountsRequest method. -// req, resp := client.ListDelegatedAdminAccountsRequest(params) +// // Example sending a request using the ListCisScanResultsAggregatedByTargetResourceRequest method. +// req, resp := client.ListCisScanResultsAggregatedByTargetResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListDelegatedAdminAccounts -func (c *Inspector2) ListDelegatedAdminAccountsRequest(input *ListDelegatedAdminAccountsInput) (req *request.Request, output *ListDelegatedAdminAccountsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScanResultsAggregatedByTargetResource +func (c *Inspector2) ListCisScanResultsAggregatedByTargetResourceRequest(input *ListCisScanResultsAggregatedByTargetResourceInput) (req *request.Request, output *ListCisScanResultsAggregatedByTargetResourceOutput) { op := &request.Operation{ - Name: opListDelegatedAdminAccounts, + Name: opListCisScanResultsAggregatedByTargetResource, HTTPMethod: "POST", - HTTPPath: "/delegatedadminaccounts/list", + HTTPPath: "/cis/scan-result/resource/list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2917,35 +3344,34 @@ func (c *Inspector2) ListDelegatedAdminAccountsRequest(input *ListDelegatedAdmin } if input == nil { - input = &ListDelegatedAdminAccountsInput{} + input = &ListCisScanResultsAggregatedByTargetResourceInput{} } - output = &ListDelegatedAdminAccountsOutput{} + output = &ListCisScanResultsAggregatedByTargetResourceOutput{} req = c.newRequest(op, input, output) return } -// ListDelegatedAdminAccounts API operation for Inspector2. +// ListCisScanResultsAggregatedByTargetResource API operation for Inspector2. // -// Lists information about the Amazon Inspector delegated administrator of your -// organization. +// Lists scan results aggregated by a target resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation ListDelegatedAdminAccounts for usage and error information. +// API operation ListCisScanResultsAggregatedByTargetResource for usage and error information. // // Returned Error Types: // +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// // - ValidationException // The request has failed validation due to missing required fields or having // invalid inputs. // -// - AccessDeniedException -// You do not have sufficient access to perform this action. -// // - ThrottlingException // The limit on the number of requests per second was exceeded. // @@ -2953,64 +3379,64 @@ func (c *Inspector2) ListDelegatedAdminAccountsRequest(input *ListDelegatedAdmin // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListDelegatedAdminAccounts -func (c *Inspector2) ListDelegatedAdminAccounts(input *ListDelegatedAdminAccountsInput) (*ListDelegatedAdminAccountsOutput, error) { - req, out := c.ListDelegatedAdminAccountsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScanResultsAggregatedByTargetResource +func (c *Inspector2) ListCisScanResultsAggregatedByTargetResource(input *ListCisScanResultsAggregatedByTargetResourceInput) (*ListCisScanResultsAggregatedByTargetResourceOutput, error) { + req, out := c.ListCisScanResultsAggregatedByTargetResourceRequest(input) return out, req.Send() } -// ListDelegatedAdminAccountsWithContext is the same as ListDelegatedAdminAccounts with the addition of +// ListCisScanResultsAggregatedByTargetResourceWithContext is the same as ListCisScanResultsAggregatedByTargetResource with the addition of // the ability to pass a context and additional request options. // -// See ListDelegatedAdminAccounts for details on how to use this API operation. +// See ListCisScanResultsAggregatedByTargetResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListDelegatedAdminAccountsWithContext(ctx aws.Context, input *ListDelegatedAdminAccountsInput, opts ...request.Option) (*ListDelegatedAdminAccountsOutput, error) { - req, out := c.ListDelegatedAdminAccountsRequest(input) +func (c *Inspector2) ListCisScanResultsAggregatedByTargetResourceWithContext(ctx aws.Context, input *ListCisScanResultsAggregatedByTargetResourceInput, opts ...request.Option) (*ListCisScanResultsAggregatedByTargetResourceOutput, error) { + req, out := c.ListCisScanResultsAggregatedByTargetResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListDelegatedAdminAccountsPages iterates over the pages of a ListDelegatedAdminAccounts operation, +// ListCisScanResultsAggregatedByTargetResourcePages iterates over the pages of a ListCisScanResultsAggregatedByTargetResource operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListDelegatedAdminAccounts method for more information on how to use this operation. +// See ListCisScanResultsAggregatedByTargetResource method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListDelegatedAdminAccounts operation. +// // Example iterating over at most 3 pages of a ListCisScanResultsAggregatedByTargetResource operation. // pageNum := 0 -// err := client.ListDelegatedAdminAccountsPages(params, -// func(page *inspector2.ListDelegatedAdminAccountsOutput, lastPage bool) bool { +// err := client.ListCisScanResultsAggregatedByTargetResourcePages(params, +// func(page *inspector2.ListCisScanResultsAggregatedByTargetResourceOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Inspector2) ListDelegatedAdminAccountsPages(input *ListDelegatedAdminAccountsInput, fn func(*ListDelegatedAdminAccountsOutput, bool) bool) error { - return c.ListDelegatedAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Inspector2) ListCisScanResultsAggregatedByTargetResourcePages(input *ListCisScanResultsAggregatedByTargetResourceInput, fn func(*ListCisScanResultsAggregatedByTargetResourceOutput, bool) bool) error { + return c.ListCisScanResultsAggregatedByTargetResourcePagesWithContext(aws.BackgroundContext(), input, fn) } -// ListDelegatedAdminAccountsPagesWithContext same as ListDelegatedAdminAccountsPages except +// ListCisScanResultsAggregatedByTargetResourcePagesWithContext same as ListCisScanResultsAggregatedByTargetResourcePages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListDelegatedAdminAccountsPagesWithContext(ctx aws.Context, input *ListDelegatedAdminAccountsInput, fn func(*ListDelegatedAdminAccountsOutput, bool) bool, opts ...request.Option) error { +func (c *Inspector2) ListCisScanResultsAggregatedByTargetResourcePagesWithContext(ctx aws.Context, input *ListCisScanResultsAggregatedByTargetResourceInput, fn func(*ListCisScanResultsAggregatedByTargetResourceOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListDelegatedAdminAccountsInput + var inCpy *ListCisScanResultsAggregatedByTargetResourceInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListDelegatedAdminAccountsRequest(inCpy) + req, _ := c.ListCisScanResultsAggregatedByTargetResourceRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3018,7 +3444,7 @@ func (c *Inspector2) ListDelegatedAdminAccountsPagesWithContext(ctx aws.Context, } for p.Next() { - if !fn(p.Page().(*ListDelegatedAdminAccountsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCisScanResultsAggregatedByTargetResourceOutput), !p.HasNextPage()) { break } } @@ -3026,36 +3452,36 @@ func (c *Inspector2) ListDelegatedAdminAccountsPagesWithContext(ctx aws.Context, return p.Err() } -const opListFilters = "ListFilters" +const opListCisScans = "ListCisScans" -// ListFiltersRequest generates a "aws/request.Request" representing the -// client's request for the ListFilters operation. The "output" return +// ListCisScansRequest generates a "aws/request.Request" representing the +// client's request for the ListCisScans operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListFilters for more information on using the ListFilters +// See ListCisScans for more information on using the ListCisScans // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListFiltersRequest method. -// req, resp := client.ListFiltersRequest(params) +// // Example sending a request using the ListCisScansRequest method. +// req, resp := client.ListCisScansRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFilters -func (c *Inspector2) ListFiltersRequest(input *ListFiltersInput) (req *request.Request, output *ListFiltersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScans +func (c *Inspector2) ListCisScansRequest(input *ListCisScansInput) (req *request.Request, output *ListCisScansOutput) { op := &request.Operation{ - Name: opListFilters, + Name: opListCisScans, HTTPMethod: "POST", - HTTPPath: "/filters/list", + HTTPPath: "/cis/scan/list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -3065,34 +3491,34 @@ func (c *Inspector2) ListFiltersRequest(input *ListFiltersInput) (req *request.R } if input == nil { - input = &ListFiltersInput{} + input = &ListCisScansInput{} } - output = &ListFiltersOutput{} + output = &ListCisScansOutput{} req = c.newRequest(op, input, output) return } -// ListFilters API operation for Inspector2. +// ListCisScans API operation for Inspector2. // -// Lists the filters associated with your account. +// Returns a CIS scan list. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation ListFilters for usage and error information. +// API operation ListCisScans for usage and error information. // // Returned Error Types: // +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// // - ValidationException // The request has failed validation due to missing required fields or having // invalid inputs. // -// - AccessDeniedException -// You do not have sufficient access to perform this action. -// // - ThrottlingException // The limit on the number of requests per second was exceeded. // @@ -3100,64 +3526,64 @@ func (c *Inspector2) ListFiltersRequest(input *ListFiltersInput) (req *request.R // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFilters -func (c *Inspector2) ListFilters(input *ListFiltersInput) (*ListFiltersOutput, error) { - req, out := c.ListFiltersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCisScans +func (c *Inspector2) ListCisScans(input *ListCisScansInput) (*ListCisScansOutput, error) { + req, out := c.ListCisScansRequest(input) return out, req.Send() } -// ListFiltersWithContext is the same as ListFilters with the addition of +// ListCisScansWithContext is the same as ListCisScans with the addition of // the ability to pass a context and additional request options. // -// See ListFilters for details on how to use this API operation. +// See ListCisScans for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListFiltersWithContext(ctx aws.Context, input *ListFiltersInput, opts ...request.Option) (*ListFiltersOutput, error) { - req, out := c.ListFiltersRequest(input) +func (c *Inspector2) ListCisScansWithContext(ctx aws.Context, input *ListCisScansInput, opts ...request.Option) (*ListCisScansOutput, error) { + req, out := c.ListCisScansRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListFiltersPages iterates over the pages of a ListFilters operation, +// ListCisScansPages iterates over the pages of a ListCisScans operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListFilters method for more information on how to use this operation. +// See ListCisScans method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListFilters operation. +// // Example iterating over at most 3 pages of a ListCisScans operation. // pageNum := 0 -// err := client.ListFiltersPages(params, -// func(page *inspector2.ListFiltersOutput, lastPage bool) bool { +// err := client.ListCisScansPages(params, +// func(page *inspector2.ListCisScansOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Inspector2) ListFiltersPages(input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool) error { - return c.ListFiltersPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Inspector2) ListCisScansPages(input *ListCisScansInput, fn func(*ListCisScansOutput, bool) bool) error { + return c.ListCisScansPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListFiltersPagesWithContext same as ListFiltersPages except +// ListCisScansPagesWithContext same as ListCisScansPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListFiltersPagesWithContext(ctx aws.Context, input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool, opts ...request.Option) error { +func (c *Inspector2) ListCisScansPagesWithContext(ctx aws.Context, input *ListCisScansInput, fn func(*ListCisScansOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListFiltersInput + var inCpy *ListCisScansInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListFiltersRequest(inCpy) + req, _ := c.ListCisScansRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3165,7 +3591,7 @@ func (c *Inspector2) ListFiltersPagesWithContext(ctx aws.Context, input *ListFil } for p.Next() { - if !fn(p.Page().(*ListFiltersOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCisScansOutput), !p.HasNextPage()) { break } } @@ -3173,36 +3599,36 @@ func (c *Inspector2) ListFiltersPagesWithContext(ctx aws.Context, input *ListFil return p.Err() } -const opListFindingAggregations = "ListFindingAggregations" +const opListCoverage = "ListCoverage" -// ListFindingAggregationsRequest generates a "aws/request.Request" representing the -// client's request for the ListFindingAggregations operation. The "output" return +// ListCoverageRequest generates a "aws/request.Request" representing the +// client's request for the ListCoverage operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListFindingAggregations for more information on using the ListFindingAggregations +// See ListCoverage for more information on using the ListCoverage // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListFindingAggregationsRequest method. -// req, resp := client.ListFindingAggregationsRequest(params) +// // Example sending a request using the ListCoverageRequest method. +// req, resp := client.ListCoverageRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindingAggregations -func (c *Inspector2) ListFindingAggregationsRequest(input *ListFindingAggregationsInput) (req *request.Request, output *ListFindingAggregationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverage +func (c *Inspector2) ListCoverageRequest(input *ListCoverageInput) (req *request.Request, output *ListCoverageOutput) { op := &request.Operation{ - Name: opListFindingAggregations, + Name: opListCoverage, HTTPMethod: "POST", - HTTPPath: "/findings/aggregation/list", + HTTPPath: "/coverage/list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -3212,24 +3638,24 @@ func (c *Inspector2) ListFindingAggregationsRequest(input *ListFindingAggregatio } if input == nil { - input = &ListFindingAggregationsInput{} + input = &ListCoverageInput{} } - output = &ListFindingAggregationsOutput{} + output = &ListCoverageOutput{} req = c.newRequest(op, input, output) return } -// ListFindingAggregations API operation for Inspector2. +// ListCoverage API operation for Inspector2. // -// Lists aggregated finding data for your environment based on specific criteria. +// Lists coverage details for you environment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation ListFindingAggregations for usage and error information. +// API operation ListCoverage for usage and error information. // // Returned Error Types: // @@ -3244,64 +3670,64 @@ func (c *Inspector2) ListFindingAggregationsRequest(input *ListFindingAggregatio // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindingAggregations -func (c *Inspector2) ListFindingAggregations(input *ListFindingAggregationsInput) (*ListFindingAggregationsOutput, error) { - req, out := c.ListFindingAggregationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverage +func (c *Inspector2) ListCoverage(input *ListCoverageInput) (*ListCoverageOutput, error) { + req, out := c.ListCoverageRequest(input) return out, req.Send() } -// ListFindingAggregationsWithContext is the same as ListFindingAggregations with the addition of +// ListCoverageWithContext is the same as ListCoverage with the addition of // the ability to pass a context and additional request options. // -// See ListFindingAggregations for details on how to use this API operation. +// See ListCoverage for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListFindingAggregationsWithContext(ctx aws.Context, input *ListFindingAggregationsInput, opts ...request.Option) (*ListFindingAggregationsOutput, error) { - req, out := c.ListFindingAggregationsRequest(input) +func (c *Inspector2) ListCoverageWithContext(ctx aws.Context, input *ListCoverageInput, opts ...request.Option) (*ListCoverageOutput, error) { + req, out := c.ListCoverageRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListFindingAggregationsPages iterates over the pages of a ListFindingAggregations operation, +// ListCoveragePages iterates over the pages of a ListCoverage operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListFindingAggregations method for more information on how to use this operation. +// See ListCoverage method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListFindingAggregations operation. +// // Example iterating over at most 3 pages of a ListCoverage operation. // pageNum := 0 -// err := client.ListFindingAggregationsPages(params, -// func(page *inspector2.ListFindingAggregationsOutput, lastPage bool) bool { +// err := client.ListCoveragePages(params, +// func(page *inspector2.ListCoverageOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Inspector2) ListFindingAggregationsPages(input *ListFindingAggregationsInput, fn func(*ListFindingAggregationsOutput, bool) bool) error { - return c.ListFindingAggregationsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Inspector2) ListCoveragePages(input *ListCoverageInput, fn func(*ListCoverageOutput, bool) bool) error { + return c.ListCoveragePagesWithContext(aws.BackgroundContext(), input, fn) } -// ListFindingAggregationsPagesWithContext same as ListFindingAggregationsPages except +// ListCoveragePagesWithContext same as ListCoveragePages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListFindingAggregationsPagesWithContext(ctx aws.Context, input *ListFindingAggregationsInput, fn func(*ListFindingAggregationsOutput, bool) bool, opts ...request.Option) error { +func (c *Inspector2) ListCoveragePagesWithContext(ctx aws.Context, input *ListCoverageInput, fn func(*ListCoverageOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListFindingAggregationsInput + var inCpy *ListCoverageInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListFindingAggregationsRequest(inCpy) + req, _ := c.ListCoverageRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3309,7 +3735,7 @@ func (c *Inspector2) ListFindingAggregationsPagesWithContext(ctx aws.Context, in } for p.Next() { - if !fn(p.Page().(*ListFindingAggregationsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCoverageOutput), !p.HasNextPage()) { break } } @@ -3317,63 +3743,63 @@ func (c *Inspector2) ListFindingAggregationsPagesWithContext(ctx aws.Context, in return p.Err() } -const opListFindings = "ListFindings" +const opListCoverageStatistics = "ListCoverageStatistics" -// ListFindingsRequest generates a "aws/request.Request" representing the -// client's request for the ListFindings operation. The "output" return +// ListCoverageStatisticsRequest generates a "aws/request.Request" representing the +// client's request for the ListCoverageStatistics operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListFindings for more information on using the ListFindings +// See ListCoverageStatistics for more information on using the ListCoverageStatistics // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListFindingsRequest method. -// req, resp := client.ListFindingsRequest(params) +// // Example sending a request using the ListCoverageStatisticsRequest method. +// req, resp := client.ListCoverageStatisticsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindings -func (c *Inspector2) ListFindingsRequest(input *ListFindingsInput) (req *request.Request, output *ListFindingsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverageStatistics +func (c *Inspector2) ListCoverageStatisticsRequest(input *ListCoverageStatisticsInput) (req *request.Request, output *ListCoverageStatisticsOutput) { op := &request.Operation{ - Name: opListFindings, + Name: opListCoverageStatistics, HTTPMethod: "POST", - HTTPPath: "/findings/list", + HTTPPath: "/coverage/statistics/list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", + LimitToken: "", TruncationToken: "", }, } if input == nil { - input = &ListFindingsInput{} + input = &ListCoverageStatisticsInput{} } - output = &ListFindingsOutput{} + output = &ListCoverageStatisticsOutput{} req = c.newRequest(op, input, output) return } -// ListFindings API operation for Inspector2. +// ListCoverageStatistics API operation for Inspector2. // -// Lists findings for your environment. +// Lists Amazon Inspector coverage statistics for your environment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation ListFindings for usage and error information. +// API operation ListCoverageStatistics for usage and error information. // // Returned Error Types: // @@ -3388,64 +3814,64 @@ func (c *Inspector2) ListFindingsRequest(input *ListFindingsInput) (req *request // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindings -func (c *Inspector2) ListFindings(input *ListFindingsInput) (*ListFindingsOutput, error) { - req, out := c.ListFindingsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListCoverageStatistics +func (c *Inspector2) ListCoverageStatistics(input *ListCoverageStatisticsInput) (*ListCoverageStatisticsOutput, error) { + req, out := c.ListCoverageStatisticsRequest(input) return out, req.Send() } -// ListFindingsWithContext is the same as ListFindings with the addition of +// ListCoverageStatisticsWithContext is the same as ListCoverageStatistics with the addition of // the ability to pass a context and additional request options. // -// See ListFindings for details on how to use this API operation. +// See ListCoverageStatistics for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListFindingsWithContext(ctx aws.Context, input *ListFindingsInput, opts ...request.Option) (*ListFindingsOutput, error) { - req, out := c.ListFindingsRequest(input) +func (c *Inspector2) ListCoverageStatisticsWithContext(ctx aws.Context, input *ListCoverageStatisticsInput, opts ...request.Option) (*ListCoverageStatisticsOutput, error) { + req, out := c.ListCoverageStatisticsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListFindingsPages iterates over the pages of a ListFindings operation, +// ListCoverageStatisticsPages iterates over the pages of a ListCoverageStatistics operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListFindings method for more information on how to use this operation. +// See ListCoverageStatistics method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListFindings operation. +// // Example iterating over at most 3 pages of a ListCoverageStatistics operation. // pageNum := 0 -// err := client.ListFindingsPages(params, -// func(page *inspector2.ListFindingsOutput, lastPage bool) bool { +// err := client.ListCoverageStatisticsPages(params, +// func(page *inspector2.ListCoverageStatisticsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Inspector2) ListFindingsPages(input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool) error { - return c.ListFindingsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Inspector2) ListCoverageStatisticsPages(input *ListCoverageStatisticsInput, fn func(*ListCoverageStatisticsOutput, bool) bool) error { + return c.ListCoverageStatisticsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListFindingsPagesWithContext same as ListFindingsPages except +// ListCoverageStatisticsPagesWithContext same as ListCoverageStatisticsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListFindingsPagesWithContext(ctx aws.Context, input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool, opts ...request.Option) error { +func (c *Inspector2) ListCoverageStatisticsPagesWithContext(ctx aws.Context, input *ListCoverageStatisticsInput, fn func(*ListCoverageStatisticsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListFindingsInput + var inCpy *ListCoverageStatisticsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListFindingsRequest(inCpy) + req, _ := c.ListCoverageStatisticsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3453,7 +3879,7 @@ func (c *Inspector2) ListFindingsPagesWithContext(ctx aws.Context, input *ListFi } for p.Next() { - if !fn(p.Page().(*ListFindingsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCoverageStatisticsOutput), !p.HasNextPage()) { break } } @@ -3461,36 +3887,36 @@ func (c *Inspector2) ListFindingsPagesWithContext(ctx aws.Context, input *ListFi return p.Err() } -const opListMembers = "ListMembers" +const opListDelegatedAdminAccounts = "ListDelegatedAdminAccounts" -// ListMembersRequest generates a "aws/request.Request" representing the -// client's request for the ListMembers operation. The "output" return +// ListDelegatedAdminAccountsRequest generates a "aws/request.Request" representing the +// client's request for the ListDelegatedAdminAccounts operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListMembers for more information on using the ListMembers +// See ListDelegatedAdminAccounts for more information on using the ListDelegatedAdminAccounts // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListMembersRequest method. -// req, resp := client.ListMembersRequest(params) +// // Example sending a request using the ListDelegatedAdminAccountsRequest method. +// req, resp := client.ListDelegatedAdminAccountsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListMembers -func (c *Inspector2) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListDelegatedAdminAccounts +func (c *Inspector2) ListDelegatedAdminAccountsRequest(input *ListDelegatedAdminAccountsInput) (req *request.Request, output *ListDelegatedAdminAccountsOutput) { op := &request.Operation{ - Name: opListMembers, + Name: opListDelegatedAdminAccounts, HTTPMethod: "POST", - HTTPPath: "/members/list", + HTTPPath: "/delegatedadminaccounts/list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -3500,25 +3926,25 @@ func (c *Inspector2) ListMembersRequest(input *ListMembersInput) (req *request.R } if input == nil { - input = &ListMembersInput{} + input = &ListDelegatedAdminAccountsInput{} } - output = &ListMembersOutput{} + output = &ListDelegatedAdminAccountsOutput{} req = c.newRequest(op, input, output) return } -// ListMembers API operation for Inspector2. +// ListDelegatedAdminAccounts API operation for Inspector2. // -// List members associated with the Amazon Inspector delegated administrator -// for your organization. +// Lists information about the Amazon Inspector delegated administrator of your +// organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation ListMembers for usage and error information. +// API operation ListDelegatedAdminAccounts for usage and error information. // // Returned Error Types: // @@ -3536,64 +3962,64 @@ func (c *Inspector2) ListMembersRequest(input *ListMembersInput) (req *request.R // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListMembers -func (c *Inspector2) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) { - req, out := c.ListMembersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListDelegatedAdminAccounts +func (c *Inspector2) ListDelegatedAdminAccounts(input *ListDelegatedAdminAccountsInput) (*ListDelegatedAdminAccountsOutput, error) { + req, out := c.ListDelegatedAdminAccountsRequest(input) return out, req.Send() } -// ListMembersWithContext is the same as ListMembers with the addition of +// ListDelegatedAdminAccountsWithContext is the same as ListDelegatedAdminAccounts with the addition of // the ability to pass a context and additional request options. // -// See ListMembers for details on how to use this API operation. +// See ListDelegatedAdminAccounts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) { - req, out := c.ListMembersRequest(input) +func (c *Inspector2) ListDelegatedAdminAccountsWithContext(ctx aws.Context, input *ListDelegatedAdminAccountsInput, opts ...request.Option) (*ListDelegatedAdminAccountsOutput, error) { + req, out := c.ListDelegatedAdminAccountsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListMembersPages iterates over the pages of a ListMembers operation, +// ListDelegatedAdminAccountsPages iterates over the pages of a ListDelegatedAdminAccounts operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListMembers method for more information on how to use this operation. +// See ListDelegatedAdminAccounts method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListMembers operation. +// // Example iterating over at most 3 pages of a ListDelegatedAdminAccounts operation. // pageNum := 0 -// err := client.ListMembersPages(params, -// func(page *inspector2.ListMembersOutput, lastPage bool) bool { +// err := client.ListDelegatedAdminAccountsPages(params, +// func(page *inspector2.ListDelegatedAdminAccountsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Inspector2) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error { - return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Inspector2) ListDelegatedAdminAccountsPages(input *ListDelegatedAdminAccountsInput, fn func(*ListDelegatedAdminAccountsOutput, bool) bool) error { + return c.ListDelegatedAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListMembersPagesWithContext same as ListMembersPages except +// ListDelegatedAdminAccountsPagesWithContext same as ListDelegatedAdminAccountsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error { +func (c *Inspector2) ListDelegatedAdminAccountsPagesWithContext(ctx aws.Context, input *ListDelegatedAdminAccountsInput, fn func(*ListDelegatedAdminAccountsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListMembersInput + var inCpy *ListDelegatedAdminAccountsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListMembersRequest(inCpy) + req, _ := c.ListDelegatedAdminAccountsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3601,7 +4027,7 @@ func (c *Inspector2) ListMembersPagesWithContext(ctx aws.Context, input *ListMem } for p.Next() { - if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListDelegatedAdminAccountsOutput), !p.HasNextPage()) { break } } @@ -3609,57 +4035,63 @@ func (c *Inspector2) ListMembersPagesWithContext(ctx aws.Context, input *ListMem return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListFilters = "ListFilters" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListFiltersRequest generates a "aws/request.Request" representing the +// client's request for the ListFilters operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See ListFilters for more information on using the ListFilters // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListFiltersRequest method. +// req, resp := client.ListFiltersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListTagsForResource -func (c *Inspector2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFilters +func (c *Inspector2) ListFiltersRequest(input *ListFiltersInput) (req *request.Request, output *ListFiltersOutput) { op := &request.Operation{ - Name: opListTagsForResource, - HTTPMethod: "GET", - HTTPPath: "/tags/{resourceArn}", + Name: opListFilters, + HTTPMethod: "POST", + HTTPPath: "/filters/list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListFiltersInput{} } - output = &ListTagsForResourceOutput{} + output = &ListFiltersOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Inspector2. +// ListFilters API operation for Inspector2. // -// Lists all tags attached to a given resource. +// Lists the filters associated with your account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation ListTagsForResource for usage and error information. +// API operation ListFilters for usage and error information. // // Returned Error Types: // @@ -3667,9 +4099,8 @@ func (c *Inspector2) ListTagsForResourceRequest(input *ListTagsForResourceInput) // The request has failed validation due to missing required fields or having // invalid inputs. // -// - ResourceNotFoundException -// The operation tried to access an invalid resource. Make sure the resource -// is specified correctly. +// - AccessDeniedException +// You do not have sufficient access to perform this action. // // - ThrottlingException // The limit on the number of requests per second was exceeded. @@ -3678,58 +4109,109 @@ func (c *Inspector2) ListTagsForResourceRequest(input *ListTagsForResourceInput) // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListTagsForResource -func (c *Inspector2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFilters +func (c *Inspector2) ListFilters(input *ListFiltersInput) (*ListFiltersOutput, error) { + req, out := c.ListFiltersRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListFiltersWithContext is the same as ListFilters with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See ListFilters for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *Inspector2) ListFiltersWithContext(ctx aws.Context, input *ListFiltersInput, opts ...request.Option) (*ListFiltersOutput, error) { + req, out := c.ListFiltersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListUsageTotals = "ListUsageTotals" +// ListFiltersPages iterates over the pages of a ListFilters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFilters method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFilters operation. +// pageNum := 0 +// err := client.ListFiltersPages(params, +// func(page *inspector2.ListFiltersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Inspector2) ListFiltersPages(input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool) error { + return c.ListFiltersPagesWithContext(aws.BackgroundContext(), input, fn) +} -// ListUsageTotalsRequest generates a "aws/request.Request" representing the -// client's request for the ListUsageTotals operation. The "output" return +// ListFiltersPagesWithContext same as ListFiltersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) ListFiltersPagesWithContext(ctx aws.Context, input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFiltersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFiltersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFiltersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListFindingAggregations = "ListFindingAggregations" + +// ListFindingAggregationsRequest generates a "aws/request.Request" representing the +// client's request for the ListFindingAggregations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListUsageTotals for more information on using the ListUsageTotals +// See ListFindingAggregations for more information on using the ListFindingAggregations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListUsageTotalsRequest method. -// req, resp := client.ListUsageTotalsRequest(params) +// // Example sending a request using the ListFindingAggregationsRequest method. +// req, resp := client.ListFindingAggregationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListUsageTotals -func (c *Inspector2) ListUsageTotalsRequest(input *ListUsageTotalsInput) (req *request.Request, output *ListUsageTotalsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindingAggregations +func (c *Inspector2) ListFindingAggregationsRequest(input *ListFindingAggregationsInput) (req *request.Request, output *ListFindingAggregationsOutput) { op := &request.Operation{ - Name: opListUsageTotals, + Name: opListFindingAggregations, HTTPMethod: "POST", - HTTPPath: "/usage/list", + HTTPPath: "/findings/aggregation/list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -3739,24 +4221,24 @@ func (c *Inspector2) ListUsageTotalsRequest(input *ListUsageTotalsInput) (req *r } if input == nil { - input = &ListUsageTotalsInput{} + input = &ListFindingAggregationsInput{} } - output = &ListUsageTotalsOutput{} + output = &ListFindingAggregationsOutput{} req = c.newRequest(op, input, output) return } -// ListUsageTotals API operation for Inspector2. +// ListFindingAggregations API operation for Inspector2. // -// Lists the Amazon Inspector usage totals over the last 30 days. +// Lists aggregated finding data for your environment based on specific criteria. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation ListUsageTotals for usage and error information. +// API operation ListFindingAggregations for usage and error information. // // Returned Error Types: // @@ -3764,9 +4246,6 @@ func (c *Inspector2) ListUsageTotalsRequest(input *ListUsageTotalsInput) (req *r // The request has failed validation due to missing required fields or having // invalid inputs. // -// - AccessDeniedException -// You do not have sufficient access to perform this action. -// // - ThrottlingException // The limit on the number of requests per second was exceeded. // @@ -3774,64 +4253,64 @@ func (c *Inspector2) ListUsageTotalsRequest(input *ListUsageTotalsInput) (req *r // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListUsageTotals -func (c *Inspector2) ListUsageTotals(input *ListUsageTotalsInput) (*ListUsageTotalsOutput, error) { - req, out := c.ListUsageTotalsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindingAggregations +func (c *Inspector2) ListFindingAggregations(input *ListFindingAggregationsInput) (*ListFindingAggregationsOutput, error) { + req, out := c.ListFindingAggregationsRequest(input) return out, req.Send() } -// ListUsageTotalsWithContext is the same as ListUsageTotals with the addition of +// ListFindingAggregationsWithContext is the same as ListFindingAggregations with the addition of // the ability to pass a context and additional request options. // -// See ListUsageTotals for details on how to use this API operation. +// See ListFindingAggregations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListUsageTotalsWithContext(ctx aws.Context, input *ListUsageTotalsInput, opts ...request.Option) (*ListUsageTotalsOutput, error) { - req, out := c.ListUsageTotalsRequest(input) +func (c *Inspector2) ListFindingAggregationsWithContext(ctx aws.Context, input *ListFindingAggregationsInput, opts ...request.Option) (*ListFindingAggregationsOutput, error) { + req, out := c.ListFindingAggregationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListUsageTotalsPages iterates over the pages of a ListUsageTotals operation, +// ListFindingAggregationsPages iterates over the pages of a ListFindingAggregations operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListUsageTotals method for more information on how to use this operation. +// See ListFindingAggregations method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListUsageTotals operation. +// // Example iterating over at most 3 pages of a ListFindingAggregations operation. // pageNum := 0 -// err := client.ListUsageTotalsPages(params, -// func(page *inspector2.ListUsageTotalsOutput, lastPage bool) bool { +// err := client.ListFindingAggregationsPages(params, +// func(page *inspector2.ListFindingAggregationsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Inspector2) ListUsageTotalsPages(input *ListUsageTotalsInput, fn func(*ListUsageTotalsOutput, bool) bool) error { - return c.ListUsageTotalsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Inspector2) ListFindingAggregationsPages(input *ListFindingAggregationsInput, fn func(*ListFindingAggregationsOutput, bool) bool) error { + return c.ListFindingAggregationsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListUsageTotalsPagesWithContext same as ListUsageTotalsPages except +// ListFindingAggregationsPagesWithContext same as ListFindingAggregationsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ListUsageTotalsPagesWithContext(ctx aws.Context, input *ListUsageTotalsInput, fn func(*ListUsageTotalsOutput, bool) bool, opts ...request.Option) error { +func (c *Inspector2) ListFindingAggregationsPagesWithContext(ctx aws.Context, input *ListFindingAggregationsInput, fn func(*ListFindingAggregationsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListUsageTotalsInput + var inCpy *ListFindingAggregationsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListUsageTotalsRequest(inCpy) + req, _ := c.ListFindingAggregationsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3839,7 +4318,7 @@ func (c *Inspector2) ListUsageTotalsPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListUsageTotalsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListFindingAggregationsOutput), !p.HasNextPage()) { break } } @@ -3847,59 +4326,63 @@ func (c *Inspector2) ListUsageTotalsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opResetEncryptionKey = "ResetEncryptionKey" +const opListFindings = "ListFindings" -// ResetEncryptionKeyRequest generates a "aws/request.Request" representing the -// client's request for the ResetEncryptionKey operation. The "output" return +// ListFindingsRequest generates a "aws/request.Request" representing the +// client's request for the ListFindings operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ResetEncryptionKey for more information on using the ResetEncryptionKey +// See ListFindings for more information on using the ListFindings // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ResetEncryptionKeyRequest method. -// req, resp := client.ResetEncryptionKeyRequest(params) +// // Example sending a request using the ListFindingsRequest method. +// req, resp := client.ListFindingsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ResetEncryptionKey -func (c *Inspector2) ResetEncryptionKeyRequest(input *ResetEncryptionKeyInput) (req *request.Request, output *ResetEncryptionKeyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindings +func (c *Inspector2) ListFindingsRequest(input *ListFindingsInput) (req *request.Request, output *ListFindingsOutput) { op := &request.Operation{ - Name: opResetEncryptionKey, - HTTPMethod: "PUT", - HTTPPath: "/encryptionkey/reset", + Name: opListFindings, + HTTPMethod: "POST", + HTTPPath: "/findings/list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &ResetEncryptionKeyInput{} + input = &ListFindingsInput{} } - output = &ResetEncryptionKeyOutput{} + output = &ListFindingsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// ResetEncryptionKey API operation for Inspector2. +// ListFindings API operation for Inspector2. // -// Resets an encryption key. After the key is reset your resources will be encrypted -// by an Amazon Web Services owned key. +// Lists findings for your environment. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation ResetEncryptionKey for usage and error information. +// API operation ListFindings for usage and error information. // // Returned Error Types: // @@ -3907,99 +4390,144 @@ func (c *Inspector2) ResetEncryptionKeyRequest(input *ResetEncryptionKeyInput) ( // The request has failed validation due to missing required fields or having // invalid inputs. // -// - AccessDeniedException -// You do not have sufficient access to perform this action. -// // - ThrottlingException // The limit on the number of requests per second was exceeded. // -// - ResourceNotFoundException -// The operation tried to access an invalid resource. Make sure the resource -// is specified correctly. -// // - InternalServerException // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ResetEncryptionKey -func (c *Inspector2) ResetEncryptionKey(input *ResetEncryptionKeyInput) (*ResetEncryptionKeyOutput, error) { - req, out := c.ResetEncryptionKeyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListFindings +func (c *Inspector2) ListFindings(input *ListFindingsInput) (*ListFindingsOutput, error) { + req, out := c.ListFindingsRequest(input) return out, req.Send() } -// ResetEncryptionKeyWithContext is the same as ResetEncryptionKey with the addition of +// ListFindingsWithContext is the same as ListFindings with the addition of // the ability to pass a context and additional request options. // -// See ResetEncryptionKey for details on how to use this API operation. +// See ListFindings for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) ResetEncryptionKeyWithContext(ctx aws.Context, input *ResetEncryptionKeyInput, opts ...request.Option) (*ResetEncryptionKeyOutput, error) { - req, out := c.ResetEncryptionKeyRequest(input) +func (c *Inspector2) ListFindingsWithContext(ctx aws.Context, input *ListFindingsInput, opts ...request.Option) (*ListFindingsOutput, error) { + req, out := c.ListFindingsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSearchVulnerabilities = "SearchVulnerabilities" +// ListFindingsPages iterates over the pages of a ListFindings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFindings method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFindings operation. +// pageNum := 0 +// err := client.ListFindingsPages(params, +// func(page *inspector2.ListFindingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Inspector2) ListFindingsPages(input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool) error { + return c.ListFindingsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// SearchVulnerabilitiesRequest generates a "aws/request.Request" representing the -// client's request for the SearchVulnerabilities operation. The "output" return +// ListFindingsPagesWithContext same as ListFindingsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) ListFindingsPagesWithContext(ctx aws.Context, input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFindingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFindingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFindingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListMembers = "ListMembers" + +// ListMembersRequest generates a "aws/request.Request" representing the +// client's request for the ListMembers operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SearchVulnerabilities for more information on using the SearchVulnerabilities +// See ListMembers for more information on using the ListMembers // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the SearchVulnerabilitiesRequest method. -// req, resp := client.SearchVulnerabilitiesRequest(params) +// // Example sending a request using the ListMembersRequest method. +// req, resp := client.ListMembersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SearchVulnerabilities -func (c *Inspector2) SearchVulnerabilitiesRequest(input *SearchVulnerabilitiesInput) (req *request.Request, output *SearchVulnerabilitiesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListMembers +func (c *Inspector2) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) { op := &request.Operation{ - Name: opSearchVulnerabilities, + Name: opListMembers, HTTPMethod: "POST", - HTTPPath: "/vulnerabilities/search", + HTTPPath: "/members/list", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, - LimitToken: "", + LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { - input = &SearchVulnerabilitiesInput{} + input = &ListMembersInput{} } - output = &SearchVulnerabilitiesOutput{} + output = &ListMembersOutput{} req = c.newRequest(op, input, output) return } -// SearchVulnerabilities API operation for Inspector2. +// ListMembers API operation for Inspector2. // -// Lists Amazon Inspector coverage details for a specific vulnerability. +// List members associated with the Amazon Inspector delegated administrator +// for your organization. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation SearchVulnerabilities for usage and error information. +// API operation ListMembers for usage and error information. // // Returned Error Types: // @@ -4017,64 +4545,64 @@ func (c *Inspector2) SearchVulnerabilitiesRequest(input *SearchVulnerabilitiesIn // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SearchVulnerabilities -func (c *Inspector2) SearchVulnerabilities(input *SearchVulnerabilitiesInput) (*SearchVulnerabilitiesOutput, error) { - req, out := c.SearchVulnerabilitiesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListMembers +func (c *Inspector2) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) { + req, out := c.ListMembersRequest(input) return out, req.Send() } -// SearchVulnerabilitiesWithContext is the same as SearchVulnerabilities with the addition of +// ListMembersWithContext is the same as ListMembers with the addition of // the ability to pass a context and additional request options. // -// See SearchVulnerabilities for details on how to use this API operation. +// See ListMembers for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) SearchVulnerabilitiesWithContext(ctx aws.Context, input *SearchVulnerabilitiesInput, opts ...request.Option) (*SearchVulnerabilitiesOutput, error) { - req, out := c.SearchVulnerabilitiesRequest(input) +func (c *Inspector2) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) { + req, out := c.ListMembersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// SearchVulnerabilitiesPages iterates over the pages of a SearchVulnerabilities operation, +// ListMembersPages iterates over the pages of a ListMembers operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See SearchVulnerabilities method for more information on how to use this operation. +// See ListMembers method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a SearchVulnerabilities operation. +// // Example iterating over at most 3 pages of a ListMembers operation. // pageNum := 0 -// err := client.SearchVulnerabilitiesPages(params, -// func(page *inspector2.SearchVulnerabilitiesOutput, lastPage bool) bool { +// err := client.ListMembersPages(params, +// func(page *inspector2.ListMembersOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Inspector2) SearchVulnerabilitiesPages(input *SearchVulnerabilitiesInput, fn func(*SearchVulnerabilitiesOutput, bool) bool) error { - return c.SearchVulnerabilitiesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Inspector2) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error { + return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn) } -// SearchVulnerabilitiesPagesWithContext same as SearchVulnerabilitiesPages except +// ListMembersPagesWithContext same as ListMembersPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) SearchVulnerabilitiesPagesWithContext(ctx aws.Context, input *SearchVulnerabilitiesInput, fn func(*SearchVulnerabilitiesOutput, bool) bool, opts ...request.Option) error { +func (c *Inspector2) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *SearchVulnerabilitiesInput + var inCpy *ListMembersInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.SearchVulnerabilitiesRequest(inCpy) + req, _ := c.ListMembersRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4082,7 +4610,7 @@ func (c *Inspector2) SearchVulnerabilitiesPagesWithContext(ctx aws.Context, inpu } for p.Next() { - if !fn(p.Page().(*SearchVulnerabilitiesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) { break } } @@ -4090,64 +4618,60 @@ func (c *Inspector2) SearchVulnerabilitiesPagesWithContext(ctx aws.Context, inpu return p.Err() } -const opTagResource = "TagResource" +const opListTagsForResource = "ListTagsForResource" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See ListTagsForResource for more information on using the ListTagsForResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/TagResource -func (c *Inspector2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListTagsForResource +func (c *Inspector2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opTagResource, - HTTPMethod: "POST", + Name: opListTagsForResource, + HTTPMethod: "GET", HTTPPath: "/tags/{resourceArn}", } if input == nil { - input = &TagResourceInput{} + input = &ListTagsForResourceInput{} } - output = &TagResourceOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for Inspector2. +// ListTagsForResource API operation for Inspector2. // -// Adds tags to a resource. +// Lists all tags attached to a given resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation TagResource for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Types: // -// - BadRequestException -// One or more tags submitted as part of the request is not valid. -// // - ValidationException // The request has failed validation due to missing required fields or having // invalid inputs. @@ -4163,80 +4687,85 @@ func (c *Inspector2) TagResourceRequest(input *TagResourceInput) (req *request.R // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/TagResource -func (c *Inspector2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListTagsForResource +func (c *Inspector2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See ListTagsForResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *Inspector2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opListUsageTotals = "ListUsageTotals" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// ListUsageTotalsRequest generates a "aws/request.Request" representing the +// client's request for the ListUsageTotals operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See ListUsageTotals for more information on using the ListUsageTotals // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the ListUsageTotalsRequest method. +// req, resp := client.ListUsageTotalsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UntagResource -func (c *Inspector2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListUsageTotals +func (c *Inspector2) ListUsageTotalsRequest(input *ListUsageTotalsInput) (req *request.Request, output *ListUsageTotalsOutput) { op := &request.Operation{ - Name: opUntagResource, - HTTPMethod: "DELETE", - HTTPPath: "/tags/{resourceArn}", + Name: opListUsageTotals, + HTTPMethod: "POST", + HTTPPath: "/usage/list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &UntagResourceInput{} + input = &ListUsageTotalsInput{} } - output = &UntagResourceOutput{} + output = &ListUsageTotalsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for Inspector2. +// ListUsageTotals API operation for Inspector2. // -// Removes tags from a resource. +// Lists the Amazon Inspector usage totals over the last 30 days. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation UntagResource for usage and error information. +// API operation ListUsageTotals for usage and error information. // // Returned Error Types: // @@ -4244,9 +4773,8 @@ func (c *Inspector2) UntagResourceRequest(input *UntagResourceInput) (req *reque // The request has failed validation due to missing required fields or having // invalid inputs. // -// - ResourceNotFoundException -// The operation tried to access an invalid resource. Make sure the resource -// is specified correctly. +// - AccessDeniedException +// You do not have sufficient access to perform this action. // // - ThrottlingException // The limit on the number of requests per second was exceeded. @@ -4255,83 +4783,132 @@ func (c *Inspector2) UntagResourceRequest(input *UntagResourceInput) (req *reque // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UntagResource -func (c *Inspector2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ListUsageTotals +func (c *Inspector2) ListUsageTotals(input *ListUsageTotalsInput) (*ListUsageTotalsOutput, error) { + req, out := c.ListUsageTotalsRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// ListUsageTotalsWithContext is the same as ListUsageTotals with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See ListUsageTotals for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *Inspector2) ListUsageTotalsWithContext(ctx aws.Context, input *ListUsageTotalsInput, opts ...request.Option) (*ListUsageTotalsOutput, error) { + req, out := c.ListUsageTotalsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateConfiguration = "UpdateConfiguration" - -// UpdateConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateConfiguration operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. +// ListUsageTotalsPages iterates over the pages of a ListUsageTotals operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListUsageTotals method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListUsageTotals operation. +// pageNum := 0 +// err := client.ListUsageTotalsPages(params, +// func(page *inspector2.ListUsageTotalsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Inspector2) ListUsageTotalsPages(input *ListUsageTotalsInput, fn func(*ListUsageTotalsOutput, bool) bool) error { + return c.ListUsageTotalsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListUsageTotalsPagesWithContext same as ListUsageTotalsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) ListUsageTotalsPagesWithContext(ctx aws.Context, input *ListUsageTotalsInput, fn func(*ListUsageTotalsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListUsageTotalsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListUsageTotalsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListUsageTotalsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opResetEncryptionKey = "ResetEncryptionKey" + +// ResetEncryptionKeyRequest generates a "aws/request.Request" representing the +// client's request for the ResetEncryptionKey operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateConfiguration for more information on using the UpdateConfiguration +// See ResetEncryptionKey for more information on using the ResetEncryptionKey // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateConfigurationRequest method. -// req, resp := client.UpdateConfigurationRequest(params) +// // Example sending a request using the ResetEncryptionKeyRequest method. +// req, resp := client.ResetEncryptionKeyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateConfiguration -func (c *Inspector2) UpdateConfigurationRequest(input *UpdateConfigurationInput) (req *request.Request, output *UpdateConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ResetEncryptionKey +func (c *Inspector2) ResetEncryptionKeyRequest(input *ResetEncryptionKeyInput) (req *request.Request, output *ResetEncryptionKeyOutput) { op := &request.Operation{ - Name: opUpdateConfiguration, - HTTPMethod: "POST", - HTTPPath: "/configuration/update", + Name: opResetEncryptionKey, + HTTPMethod: "PUT", + HTTPPath: "/encryptionkey/reset", } if input == nil { - input = &UpdateConfigurationInput{} + input = &ResetEncryptionKeyInput{} } - output = &UpdateConfigurationOutput{} + output = &ResetEncryptionKeyOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateConfiguration API operation for Inspector2. +// ResetEncryptionKey API operation for Inspector2. // -// Updates setting configurations for your Amazon Inspector account. When you -// use this API as an Amazon Inspector delegated administrator this updates -// the setting for all accounts you manage. Member accounts in an organization -// cannot update this setting. +// Resets an encryption key. After the key is reset your resources will be encrypted +// by an Amazon Web Services owned key. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation UpdateConfiguration for usage and error information. +// API operation ResetEncryptionKey for usage and error information. // // Returned Error Types: // @@ -4345,84 +4922,93 @@ func (c *Inspector2) UpdateConfigurationRequest(input *UpdateConfigurationInput) // - ThrottlingException // The limit on the number of requests per second was exceeded. // +// - ResourceNotFoundException +// The operation tried to access an invalid resource. Make sure the resource +// is specified correctly. +// // - InternalServerException // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateConfiguration -func (c *Inspector2) UpdateConfiguration(input *UpdateConfigurationInput) (*UpdateConfigurationOutput, error) { - req, out := c.UpdateConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/ResetEncryptionKey +func (c *Inspector2) ResetEncryptionKey(input *ResetEncryptionKeyInput) (*ResetEncryptionKeyOutput, error) { + req, out := c.ResetEncryptionKeyRequest(input) return out, req.Send() } -// UpdateConfigurationWithContext is the same as UpdateConfiguration with the addition of +// ResetEncryptionKeyWithContext is the same as ResetEncryptionKey with the addition of // the ability to pass a context and additional request options. // -// See UpdateConfiguration for details on how to use this API operation. +// See ResetEncryptionKey for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) UpdateConfigurationWithContext(ctx aws.Context, input *UpdateConfigurationInput, opts ...request.Option) (*UpdateConfigurationOutput, error) { - req, out := c.UpdateConfigurationRequest(input) +func (c *Inspector2) ResetEncryptionKeyWithContext(ctx aws.Context, input *ResetEncryptionKeyInput, opts ...request.Option) (*ResetEncryptionKeyOutput, error) { + req, out := c.ResetEncryptionKeyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateEc2DeepInspectionConfiguration = "UpdateEc2DeepInspectionConfiguration" +const opSearchVulnerabilities = "SearchVulnerabilities" -// UpdateEc2DeepInspectionConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateEc2DeepInspectionConfiguration operation. The "output" return +// SearchVulnerabilitiesRequest generates a "aws/request.Request" representing the +// client's request for the SearchVulnerabilities operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateEc2DeepInspectionConfiguration for more information on using the UpdateEc2DeepInspectionConfiguration +// See SearchVulnerabilities for more information on using the SearchVulnerabilities // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateEc2DeepInspectionConfigurationRequest method. -// req, resp := client.UpdateEc2DeepInspectionConfigurationRequest(params) +// // Example sending a request using the SearchVulnerabilitiesRequest method. +// req, resp := client.SearchVulnerabilitiesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateEc2DeepInspectionConfiguration -func (c *Inspector2) UpdateEc2DeepInspectionConfigurationRequest(input *UpdateEc2DeepInspectionConfigurationInput) (req *request.Request, output *UpdateEc2DeepInspectionConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SearchVulnerabilities +func (c *Inspector2) SearchVulnerabilitiesRequest(input *SearchVulnerabilitiesInput) (req *request.Request, output *SearchVulnerabilitiesOutput) { op := &request.Operation{ - Name: opUpdateEc2DeepInspectionConfiguration, + Name: opSearchVulnerabilities, HTTPMethod: "POST", - HTTPPath: "/ec2deepinspectionconfiguration/update", + HTTPPath: "/vulnerabilities/search", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &UpdateEc2DeepInspectionConfigurationInput{} + input = &SearchVulnerabilitiesInput{} } - output = &UpdateEc2DeepInspectionConfigurationOutput{} + output = &SearchVulnerabilitiesOutput{} req = c.newRequest(op, input, output) return } -// UpdateEc2DeepInspectionConfiguration API operation for Inspector2. +// SearchVulnerabilities API operation for Inspector2. // -// Activates, deactivates Amazon Inspector deep inspection, or updates custom -// paths for your account. +// Lists Amazon Inspector coverage details for a specific vulnerability. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation UpdateEc2DeepInspectionConfiguration for usage and error information. +// API operation SearchVulnerabilities for usage and error information. // // Returned Error Types: // @@ -4440,84 +5026,140 @@ func (c *Inspector2) UpdateEc2DeepInspectionConfigurationRequest(input *UpdateEc // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateEc2DeepInspectionConfiguration -func (c *Inspector2) UpdateEc2DeepInspectionConfiguration(input *UpdateEc2DeepInspectionConfigurationInput) (*UpdateEc2DeepInspectionConfigurationOutput, error) { - req, out := c.UpdateEc2DeepInspectionConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SearchVulnerabilities +func (c *Inspector2) SearchVulnerabilities(input *SearchVulnerabilitiesInput) (*SearchVulnerabilitiesOutput, error) { + req, out := c.SearchVulnerabilitiesRequest(input) return out, req.Send() } -// UpdateEc2DeepInspectionConfigurationWithContext is the same as UpdateEc2DeepInspectionConfiguration with the addition of +// SearchVulnerabilitiesWithContext is the same as SearchVulnerabilities with the addition of // the ability to pass a context and additional request options. // -// See UpdateEc2DeepInspectionConfiguration for details on how to use this API operation. +// See SearchVulnerabilities for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) UpdateEc2DeepInspectionConfigurationWithContext(ctx aws.Context, input *UpdateEc2DeepInspectionConfigurationInput, opts ...request.Option) (*UpdateEc2DeepInspectionConfigurationOutput, error) { - req, out := c.UpdateEc2DeepInspectionConfigurationRequest(input) +func (c *Inspector2) SearchVulnerabilitiesWithContext(ctx aws.Context, input *SearchVulnerabilitiesInput, opts ...request.Option) (*SearchVulnerabilitiesOutput, error) { + req, out := c.SearchVulnerabilitiesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateEncryptionKey = "UpdateEncryptionKey" +// SearchVulnerabilitiesPages iterates over the pages of a SearchVulnerabilities operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchVulnerabilities method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a SearchVulnerabilities operation. +// pageNum := 0 +// err := client.SearchVulnerabilitiesPages(params, +// func(page *inspector2.SearchVulnerabilitiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Inspector2) SearchVulnerabilitiesPages(input *SearchVulnerabilitiesInput, fn func(*SearchVulnerabilitiesOutput, bool) bool) error { + return c.SearchVulnerabilitiesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateEncryptionKeyRequest generates a "aws/request.Request" representing the -// client's request for the UpdateEncryptionKey operation. The "output" return +// SearchVulnerabilitiesPagesWithContext same as SearchVulnerabilitiesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) SearchVulnerabilitiesPagesWithContext(ctx aws.Context, input *SearchVulnerabilitiesInput, fn func(*SearchVulnerabilitiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchVulnerabilitiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchVulnerabilitiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchVulnerabilitiesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opSendCisSessionHealth = "SendCisSessionHealth" + +// SendCisSessionHealthRequest generates a "aws/request.Request" representing the +// client's request for the SendCisSessionHealth operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateEncryptionKey for more information on using the UpdateEncryptionKey +// See SendCisSessionHealth for more information on using the SendCisSessionHealth // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateEncryptionKeyRequest method. -// req, resp := client.UpdateEncryptionKeyRequest(params) +// // Example sending a request using the SendCisSessionHealthRequest method. +// req, resp := client.SendCisSessionHealthRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateEncryptionKey -func (c *Inspector2) UpdateEncryptionKeyRequest(input *UpdateEncryptionKeyInput) (req *request.Request, output *UpdateEncryptionKeyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SendCisSessionHealth +func (c *Inspector2) SendCisSessionHealthRequest(input *SendCisSessionHealthInput) (req *request.Request, output *SendCisSessionHealthOutput) { op := &request.Operation{ - Name: opUpdateEncryptionKey, + Name: opSendCisSessionHealth, HTTPMethod: "PUT", - HTTPPath: "/encryptionkey/update", + HTTPPath: "/cissession/health/send", } if input == nil { - input = &UpdateEncryptionKeyInput{} + input = &SendCisSessionHealthInput{} } - output = &UpdateEncryptionKeyOutput{} + output = &SendCisSessionHealthOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateEncryptionKey API operation for Inspector2. +// SendCisSessionHealth API operation for Inspector2. // -// Updates an encryption key. A ResourceNotFoundException means that an AWS -// owned key is being used for encryption. +// Sends a CIS session health. This API is used by the Amazon Inspector SSM +// plugin to communicate with the Amazon Inspector service. The Amazon Inspector +// SSM plugin calls this API to start a CIS scan session for the scan ID supplied +// by the service. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation UpdateEncryptionKey for usage and error information. +// API operation SendCisSessionHealth for usage and error information. // // Returned Error Types: // +// - ConflictException +// A conflict occurred. +// // - ValidationException // The request has failed validation due to missing required fields or having // invalid inputs. @@ -4528,91 +5170,93 @@ func (c *Inspector2) UpdateEncryptionKeyRequest(input *UpdateEncryptionKeyInput) // - ThrottlingException // The limit on the number of requests per second was exceeded. // -// - ResourceNotFoundException -// The operation tried to access an invalid resource. Make sure the resource -// is specified correctly. -// // - InternalServerException // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateEncryptionKey -func (c *Inspector2) UpdateEncryptionKey(input *UpdateEncryptionKeyInput) (*UpdateEncryptionKeyOutput, error) { - req, out := c.UpdateEncryptionKeyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SendCisSessionHealth +func (c *Inspector2) SendCisSessionHealth(input *SendCisSessionHealthInput) (*SendCisSessionHealthOutput, error) { + req, out := c.SendCisSessionHealthRequest(input) return out, req.Send() } -// UpdateEncryptionKeyWithContext is the same as UpdateEncryptionKey with the addition of +// SendCisSessionHealthWithContext is the same as SendCisSessionHealth with the addition of // the ability to pass a context and additional request options. // -// See UpdateEncryptionKey for details on how to use this API operation. +// See SendCisSessionHealth for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) UpdateEncryptionKeyWithContext(ctx aws.Context, input *UpdateEncryptionKeyInput, opts ...request.Option) (*UpdateEncryptionKeyOutput, error) { - req, out := c.UpdateEncryptionKeyRequest(input) +func (c *Inspector2) SendCisSessionHealthWithContext(ctx aws.Context, input *SendCisSessionHealthInput, opts ...request.Option) (*SendCisSessionHealthOutput, error) { + req, out := c.SendCisSessionHealthRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateFilter = "UpdateFilter" +const opSendCisSessionTelemetry = "SendCisSessionTelemetry" -// UpdateFilterRequest generates a "aws/request.Request" representing the -// client's request for the UpdateFilter operation. The "output" return +// SendCisSessionTelemetryRequest generates a "aws/request.Request" representing the +// client's request for the SendCisSessionTelemetry operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateFilter for more information on using the UpdateFilter +// See SendCisSessionTelemetry for more information on using the SendCisSessionTelemetry // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateFilterRequest method. -// req, resp := client.UpdateFilterRequest(params) +// // Example sending a request using the SendCisSessionTelemetryRequest method. +// req, resp := client.SendCisSessionTelemetryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateFilter -func (c *Inspector2) UpdateFilterRequest(input *UpdateFilterInput) (req *request.Request, output *UpdateFilterOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SendCisSessionTelemetry +func (c *Inspector2) SendCisSessionTelemetryRequest(input *SendCisSessionTelemetryInput) (req *request.Request, output *SendCisSessionTelemetryOutput) { op := &request.Operation{ - Name: opUpdateFilter, - HTTPMethod: "POST", - HTTPPath: "/filters/update", + Name: opSendCisSessionTelemetry, + HTTPMethod: "PUT", + HTTPPath: "/cissession/telemetry/send", } if input == nil { - input = &UpdateFilterInput{} + input = &SendCisSessionTelemetryInput{} } - output = &UpdateFilterOutput{} + output = &SendCisSessionTelemetryOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateFilter API operation for Inspector2. +// SendCisSessionTelemetry API operation for Inspector2. // -// Specifies the action that is to be applied to the findings that match the -// filter. +// Sends a CIS session telemetry. This API is used by the Amazon Inspector SSM +// plugin to communicate with the Amazon Inspector service. The Amazon Inspector +// SSM plugin calls this API to start a CIS scan session for the scan ID supplied +// by the service. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation UpdateFilter for usage and error information. +// API operation SendCisSessionTelemetry for usage and error information. // // Returned Error Types: // +// - ConflictException +// A conflict occurred. +// // - ValidationException // The request has failed validation due to missing required fields or having // invalid inputs. @@ -4620,10 +5264,6 @@ func (c *Inspector2) UpdateFilterRequest(input *UpdateFilterInput) (req *request // - AccessDeniedException // You do not have sufficient access to perform this action. // -// - ResourceNotFoundException -// The operation tried to access an invalid resource. Make sure the resource -// is specified correctly. -// // - ThrottlingException // The limit on the number of requests per second was exceeded. // @@ -4631,84 +5271,89 @@ func (c *Inspector2) UpdateFilterRequest(input *UpdateFilterInput) (req *request // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateFilter -func (c *Inspector2) UpdateFilter(input *UpdateFilterInput) (*UpdateFilterOutput, error) { - req, out := c.UpdateFilterRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/SendCisSessionTelemetry +func (c *Inspector2) SendCisSessionTelemetry(input *SendCisSessionTelemetryInput) (*SendCisSessionTelemetryOutput, error) { + req, out := c.SendCisSessionTelemetryRequest(input) return out, req.Send() } -// UpdateFilterWithContext is the same as UpdateFilter with the addition of +// SendCisSessionTelemetryWithContext is the same as SendCisSessionTelemetry with the addition of // the ability to pass a context and additional request options. // -// See UpdateFilter for details on how to use this API operation. +// See SendCisSessionTelemetry for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) UpdateFilterWithContext(ctx aws.Context, input *UpdateFilterInput, opts ...request.Option) (*UpdateFilterOutput, error) { - req, out := c.UpdateFilterRequest(input) +func (c *Inspector2) SendCisSessionTelemetryWithContext(ctx aws.Context, input *SendCisSessionTelemetryInput, opts ...request.Option) (*SendCisSessionTelemetryOutput, error) { + req, out := c.SendCisSessionTelemetryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateOrgEc2DeepInspectionConfiguration = "UpdateOrgEc2DeepInspectionConfiguration" +const opStartCisSession = "StartCisSession" -// UpdateOrgEc2DeepInspectionConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateOrgEc2DeepInspectionConfiguration operation. The "output" return +// StartCisSessionRequest generates a "aws/request.Request" representing the +// client's request for the StartCisSession operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateOrgEc2DeepInspectionConfiguration for more information on using the UpdateOrgEc2DeepInspectionConfiguration +// See StartCisSession for more information on using the StartCisSession // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateOrgEc2DeepInspectionConfigurationRequest method. -// req, resp := client.UpdateOrgEc2DeepInspectionConfigurationRequest(params) +// // Example sending a request using the StartCisSessionRequest method. +// req, resp := client.StartCisSessionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrgEc2DeepInspectionConfiguration -func (c *Inspector2) UpdateOrgEc2DeepInspectionConfigurationRequest(input *UpdateOrgEc2DeepInspectionConfigurationInput) (req *request.Request, output *UpdateOrgEc2DeepInspectionConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/StartCisSession +func (c *Inspector2) StartCisSessionRequest(input *StartCisSessionInput) (req *request.Request, output *StartCisSessionOutput) { op := &request.Operation{ - Name: opUpdateOrgEc2DeepInspectionConfiguration, - HTTPMethod: "POST", - HTTPPath: "/ec2deepinspectionconfiguration/org/update", + Name: opStartCisSession, + HTTPMethod: "PUT", + HTTPPath: "/cissession/start", } if input == nil { - input = &UpdateOrgEc2DeepInspectionConfigurationInput{} + input = &StartCisSessionInput{} } - output = &UpdateOrgEc2DeepInspectionConfigurationOutput{} + output = &StartCisSessionOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateOrgEc2DeepInspectionConfiguration API operation for Inspector2. +// StartCisSession API operation for Inspector2. // -// Updates the Amazon Inspector deep inspection custom paths for your organization. -// You must be an Amazon Inspector delegated administrator to use this API. +// Starts a CIS session. This API is used by the Amazon Inspector SSM plugin +// to communicate with the Amazon Inspector service. The Amazon Inspector SSM +// plugin calls this API to start a CIS scan session for the scan ID supplied +// by the service. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation UpdateOrgEc2DeepInspectionConfiguration for usage and error information. +// API operation StartCisSession for usage and error information. // // Returned Error Types: // +// - ConflictException +// A conflict occurred. +// // - ValidationException // The request has failed validation due to missing required fields or having // invalid inputs. @@ -4723,89 +5368,96 @@ func (c *Inspector2) UpdateOrgEc2DeepInspectionConfigurationRequest(input *Updat // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrgEc2DeepInspectionConfiguration -func (c *Inspector2) UpdateOrgEc2DeepInspectionConfiguration(input *UpdateOrgEc2DeepInspectionConfigurationInput) (*UpdateOrgEc2DeepInspectionConfigurationOutput, error) { - req, out := c.UpdateOrgEc2DeepInspectionConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/StartCisSession +func (c *Inspector2) StartCisSession(input *StartCisSessionInput) (*StartCisSessionOutput, error) { + req, out := c.StartCisSessionRequest(input) return out, req.Send() } -// UpdateOrgEc2DeepInspectionConfigurationWithContext is the same as UpdateOrgEc2DeepInspectionConfiguration with the addition of +// StartCisSessionWithContext is the same as StartCisSession with the addition of // the ability to pass a context and additional request options. // -// See UpdateOrgEc2DeepInspectionConfiguration for details on how to use this API operation. +// See StartCisSession for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) UpdateOrgEc2DeepInspectionConfigurationWithContext(ctx aws.Context, input *UpdateOrgEc2DeepInspectionConfigurationInput, opts ...request.Option) (*UpdateOrgEc2DeepInspectionConfigurationOutput, error) { - req, out := c.UpdateOrgEc2DeepInspectionConfigurationRequest(input) +func (c *Inspector2) StartCisSessionWithContext(ctx aws.Context, input *StartCisSessionInput, opts ...request.Option) (*StartCisSessionOutput, error) { + req, out := c.StartCisSessionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration" +const opStopCisSession = "StopCisSession" -// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateOrganizationConfiguration operation. The "output" return +// StopCisSessionRequest generates a "aws/request.Request" representing the +// client's request for the StopCisSession operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration +// See StopCisSession for more information on using the StopCisSession // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateOrganizationConfigurationRequest method. -// req, resp := client.UpdateOrganizationConfigurationRequest(params) +// // Example sending a request using the StopCisSessionRequest method. +// req, resp := client.StopCisSessionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrganizationConfiguration -func (c *Inspector2) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/StopCisSession +func (c *Inspector2) StopCisSessionRequest(input *StopCisSessionInput) (req *request.Request, output *StopCisSessionOutput) { op := &request.Operation{ - Name: opUpdateOrganizationConfiguration, - HTTPMethod: "POST", - HTTPPath: "/organizationconfiguration/update", + Name: opStopCisSession, + HTTPMethod: "PUT", + HTTPPath: "/cissession/stop", } if input == nil { - input = &UpdateOrganizationConfigurationInput{} + input = &StopCisSessionInput{} } - output = &UpdateOrganizationConfigurationOutput{} + output = &StopCisSessionOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateOrganizationConfiguration API operation for Inspector2. +// StopCisSession API operation for Inspector2. // -// Updates the configurations for your Amazon Inspector organization. +// Stops a CIS session. This API is used by the Amazon Inspector SSM plugin +// to communicate with the Amazon Inspector service. The Amazon Inspector SSM +// plugin calls this API to start a CIS scan session for the scan ID supplied +// by the service. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Inspector2's -// API operation UpdateOrganizationConfiguration for usage and error information. +// API operation StopCisSession for usage and error information. // // Returned Error Types: // -// - AccessDeniedException -// You do not have sufficient access to perform this action. +// - ConflictException +// A conflict occurred. // // - ValidationException // The request has failed validation due to missing required fields or having // invalid inputs. // +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// // - ThrottlingException // The limit on the number of requests per second was exceeded. // @@ -4813,539 +5465,873 @@ func (c *Inspector2) UpdateOrganizationConfigurationRequest(input *UpdateOrganiz // The request has failed due to an internal failure of the Amazon Inspector // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrganizationConfiguration -func (c *Inspector2) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) { - req, out := c.UpdateOrganizationConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/StopCisSession +func (c *Inspector2) StopCisSession(input *StopCisSessionInput) (*StopCisSessionOutput, error) { + req, out := c.StopCisSessionRequest(input) return out, req.Send() } -// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of +// StopCisSessionWithContext is the same as StopCisSession with the addition of // the ability to pass a context and additional request options. // -// See UpdateOrganizationConfiguration for details on how to use this API operation. +// See StopCisSession for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Inspector2) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) { - req, out := c.UpdateOrganizationConfigurationRequest(input) +func (c *Inspector2) StopCisSessionWithContext(ctx aws.Context, input *StopCisSessionInput, opts ...request.Option) (*StopCisSessionOutput, error) { + req, out := c.StopCisSessionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// You do not have sufficient access to perform this action. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` -} +const opTagResource = "TagResource" -// String returns the string representation. +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) GoString() string { - return s.String() -} - -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/TagResource +func (c *Inspector2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", } -} - -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" -} -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if input == nil { + input = &TagResourceInput{} } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil -} - -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID -} - -// An Amazon Web Services account within your environment that Amazon Inspector -// has been enabled for. -type Account struct { - _ struct{} `type:"structure"` - - // The ID of the Amazon Web Services account. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - - // Details of the status of Amazon Inspector scans by resource type. - // - // ResourceStatus is a required field - ResourceStatus *ResourceStatus `locationName:"resourceStatus" type:"structure" required:"true"` - // The status of Amazon Inspector for the account. - // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"Status"` + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -// String returns the string representation. +// TagResource API operation for Inspector2. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Account) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Adds tags to a resource. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Account) GoString() string { - return s.String() +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// One or more tags submitted as part of the request is not valid. +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - ResourceNotFoundException +// The operation tried to access an invalid resource. Make sure the resource +// is specified correctly. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/TagResource +func (c *Inspector2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() } -// SetAccountId sets the AccountId field's value. -func (s *Account) SetAccountId(v string) *Account { - s.AccountId = &v - return s +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// SetResourceStatus sets the ResourceStatus field's value. -func (s *Account) SetResourceStatus(v *ResourceStatus) *Account { - s.ResourceStatus = v - return s -} +const opUntagResource = "UntagResource" -// SetStatus sets the Status field's value. -func (s *Account) SetStatus(v string) *Account { - s.Status = &v - return s -} - -// An object that contains details about an aggregation response based on Amazon -// Web Services accounts. -type AccountAggregation struct { - _ struct{} `type:"structure"` - - // The type of finding. - FindingType *string `locationName:"findingType" type:"string" enum:"AggregationFindingType"` - - // The type of resource. - ResourceType *string `locationName:"resourceType" type:"string" enum:"AggregationResourceType"` +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UntagResource +func (c *Inspector2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn}", + } - // The value to sort by. - SortBy *string `locationName:"sortBy" type:"string" enum:"AccountSortBy"` + if input == nil { + input = &UntagResourceInput{} + } - // The sort order (ascending or descending). - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -// String returns the string representation. +// UntagResource API operation for Inspector2. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountAggregation) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Removes tags from a resource. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountAggregation) GoString() string { - return s.String() -} - -// SetFindingType sets the FindingType field's value. -func (s *AccountAggregation) SetFindingType(v string) *AccountAggregation { - s.FindingType = &v - return s -} - -// SetResourceType sets the ResourceType field's value. -func (s *AccountAggregation) SetResourceType(v string) *AccountAggregation { - s.ResourceType = &v - return s +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - ResourceNotFoundException +// The operation tried to access an invalid resource. Make sure the resource +// is specified correctly. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UntagResource +func (c *Inspector2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() } -// SetSortBy sets the SortBy field's value. -func (s *AccountAggregation) SetSortBy(v string) *AccountAggregation { - s.SortBy = &v - return s +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// SetSortOrder sets the SortOrder field's value. -func (s *AccountAggregation) SetSortOrder(v string) *AccountAggregation { - s.SortOrder = &v - return s -} +const opUpdateCisScanConfiguration = "UpdateCisScanConfiguration" -// An aggregation of findings by Amazon Web Services account ID. -type AccountAggregationResponse struct { - _ struct{} `type:"structure"` +// UpdateCisScanConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCisScanConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCisScanConfiguration for more information on using the UpdateCisScanConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateCisScanConfigurationRequest method. +// req, resp := client.UpdateCisScanConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateCisScanConfiguration +func (c *Inspector2) UpdateCisScanConfigurationRequest(input *UpdateCisScanConfigurationInput) (req *request.Request, output *UpdateCisScanConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateCisScanConfiguration, + HTTPMethod: "POST", + HTTPPath: "/cis/scan-configuration/update", + } - // The Amazon Web Services account ID. - AccountId *string `locationName:"accountId" min:"12" type:"string"` + if input == nil { + input = &UpdateCisScanConfigurationInput{} + } - // The number of findings by severity. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` + output = &UpdateCisScanConfigurationOutput{} + req = c.newRequest(op, input, output) + return } -// String returns the string representation. +// UpdateCisScanConfiguration API operation for Inspector2. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountAggregationResponse) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Updates a CIS scan configuration. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountAggregationResponse) GoString() string { - return s.String() -} - -// SetAccountId sets the AccountId field's value. -func (s *AccountAggregationResponse) SetAccountId(v string) *AccountAggregationResponse { - s.AccountId = &v - return s +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation UpdateCisScanConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The operation tried to access an invalid resource. Make sure the resource +// is specified correctly. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateCisScanConfiguration +func (c *Inspector2) UpdateCisScanConfiguration(input *UpdateCisScanConfigurationInput) (*UpdateCisScanConfigurationOutput, error) { + req, out := c.UpdateCisScanConfigurationRequest(input) + return out, req.Send() } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *AccountAggregationResponse) SetSeverityCounts(v *SeverityCounts) *AccountAggregationResponse { - s.SeverityCounts = v - return s +// UpdateCisScanConfigurationWithContext is the same as UpdateCisScanConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCisScanConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) UpdateCisScanConfigurationWithContext(ctx aws.Context, input *UpdateCisScanConfigurationInput, opts ...request.Option) (*UpdateCisScanConfigurationOutput, error) { + req, out := c.UpdateCisScanConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// An object with details the status of an Amazon Web Services account within -// your Amazon Inspector environment. -type AccountState struct { - _ struct{} `type:"structure"` - - // The Amazon Web Services account ID. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - - // An object detailing which resources Amazon Inspector is enabled to scan for - // the account. - // - // ResourceState is a required field - ResourceState *ResourceState `locationName:"resourceState" type:"structure" required:"true"` - - // An object detailing the status of Amazon Inspector for the account. - // - // State is a required field - State *State `locationName:"state" type:"structure" required:"true"` -} +const opUpdateConfiguration = "UpdateConfiguration" -// String returns the string representation. +// UpdateConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountState) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountState) GoString() string { - return s.String() -} +// See UpdateConfiguration for more information on using the UpdateConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateConfigurationRequest method. +// req, resp := client.UpdateConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateConfiguration +func (c *Inspector2) UpdateConfigurationRequest(input *UpdateConfigurationInput) (req *request.Request, output *UpdateConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateConfiguration, + HTTPMethod: "POST", + HTTPPath: "/configuration/update", + } -// SetAccountId sets the AccountId field's value. -func (s *AccountState) SetAccountId(v string) *AccountState { - s.AccountId = &v - return s -} + if input == nil { + input = &UpdateConfigurationInput{} + } -// SetResourceState sets the ResourceState field's value. -func (s *AccountState) SetResourceState(v *ResourceState) *AccountState { - s.ResourceState = v - return s + output = &UpdateConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -// SetState sets the State field's value. -func (s *AccountState) SetState(v *State) *AccountState { - s.State = v - return s +// UpdateConfiguration API operation for Inspector2. +// +// Updates setting configurations for your Amazon Inspector account. When you +// use this API as an Amazon Inspector delegated administrator this updates +// the setting for all accounts you manage. Member accounts in an organization +// cannot update this setting. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation UpdateConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateConfiguration +func (c *Inspector2) UpdateConfiguration(input *UpdateConfigurationInput) (*UpdateConfigurationOutput, error) { + req, out := c.UpdateConfigurationRequest(input) + return out, req.Send() } -// Contains details about an aggregation request. -type AggregationRequest struct { - _ struct{} `type:"structure"` - - // An object that contains details about an aggregation request based on Amazon - // Web Services account IDs. - AccountAggregation *AccountAggregation `locationName:"accountAggregation" type:"structure"` - - // An object that contains details about an aggregation request based on Amazon - // Machine Images (AMIs). - AmiAggregation *AmiAggregation `locationName:"amiAggregation" type:"structure"` - - // An object that contains details about an aggregation request based on Amazon - // ECR container images. - AwsEcrContainerAggregation *AwsEcrContainerAggregation `locationName:"awsEcrContainerAggregation" type:"structure"` - - // An object that contains details about an aggregation request based on Amazon - // EC2 instances. - Ec2InstanceAggregation *Ec2InstanceAggregation `locationName:"ec2InstanceAggregation" type:"structure"` - - // An object that contains details about an aggregation request based on finding - // types. - FindingTypeAggregation *FindingTypeAggregation `locationName:"findingTypeAggregation" type:"structure"` - - // An object that contains details about an aggregation request based on container - // image layers. - ImageLayerAggregation *ImageLayerAggregation `locationName:"imageLayerAggregation" type:"structure"` - - // Returns an object with findings aggregated by AWS Lambda function. - LambdaFunctionAggregation *LambdaFunctionAggregation `locationName:"lambdaFunctionAggregation" type:"structure"` +// UpdateConfigurationWithContext is the same as UpdateConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) UpdateConfigurationWithContext(ctx aws.Context, input *UpdateConfigurationInput, opts ...request.Option) (*UpdateConfigurationOutput, error) { + req, out := c.UpdateConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} - // Returns an object with findings aggregated by AWS Lambda layer. - LambdaLayerAggregation *LambdaLayerAggregation `locationName:"lambdaLayerAggregation" type:"structure"` +const opUpdateEc2DeepInspectionConfiguration = "UpdateEc2DeepInspectionConfiguration" - // An object that contains details about an aggregation request based on operating - // system package type. - PackageAggregation *PackageAggregation `locationName:"packageAggregation" type:"structure"` +// UpdateEc2DeepInspectionConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEc2DeepInspectionConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateEc2DeepInspectionConfiguration for more information on using the UpdateEc2DeepInspectionConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateEc2DeepInspectionConfigurationRequest method. +// req, resp := client.UpdateEc2DeepInspectionConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateEc2DeepInspectionConfiguration +func (c *Inspector2) UpdateEc2DeepInspectionConfigurationRequest(input *UpdateEc2DeepInspectionConfigurationInput) (req *request.Request, output *UpdateEc2DeepInspectionConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateEc2DeepInspectionConfiguration, + HTTPMethod: "POST", + HTTPPath: "/ec2deepinspectionconfiguration/update", + } - // An object that contains details about an aggregation request based on Amazon - // ECR repositories. - RepositoryAggregation *RepositoryAggregation `locationName:"repositoryAggregation" type:"structure"` + if input == nil { + input = &UpdateEc2DeepInspectionConfigurationInput{} + } - // An object that contains details about an aggregation request based on finding - // title. - TitleAggregation *TitleAggregation `locationName:"titleAggregation" type:"structure"` + output = &UpdateEc2DeepInspectionConfigurationOutput{} + req = c.newRequest(op, input, output) + return } -// String returns the string representation. +// UpdateEc2DeepInspectionConfiguration API operation for Inspector2. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AggregationRequest) String() string { - return awsutil.Prettify(s) +// Activates, deactivates Amazon Inspector deep inspection, or updates custom +// paths for your account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation UpdateEc2DeepInspectionConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateEc2DeepInspectionConfiguration +func (c *Inspector2) UpdateEc2DeepInspectionConfiguration(input *UpdateEc2DeepInspectionConfigurationInput) (*UpdateEc2DeepInspectionConfigurationOutput, error) { + req, out := c.UpdateEc2DeepInspectionConfigurationRequest(input) + return out, req.Send() } -// GoString returns the string representation. +// UpdateEc2DeepInspectionConfigurationWithContext is the same as UpdateEc2DeepInspectionConfiguration with the addition of +// the ability to pass a context and additional request options. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AggregationRequest) GoString() string { - return s.String() +// See UpdateEc2DeepInspectionConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) UpdateEc2DeepInspectionConfigurationWithContext(ctx aws.Context, input *UpdateEc2DeepInspectionConfigurationInput, opts ...request.Option) (*UpdateEc2DeepInspectionConfigurationOutput, error) { + req, out := c.UpdateEc2DeepInspectionConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AggregationRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AggregationRequest"} - if s.AmiAggregation != nil { - if err := s.AmiAggregation.Validate(); err != nil { - invalidParams.AddNested("AmiAggregation", err.(request.ErrInvalidParams)) - } - } - if s.AwsEcrContainerAggregation != nil { - if err := s.AwsEcrContainerAggregation.Validate(); err != nil { - invalidParams.AddNested("AwsEcrContainerAggregation", err.(request.ErrInvalidParams)) - } - } - if s.Ec2InstanceAggregation != nil { - if err := s.Ec2InstanceAggregation.Validate(); err != nil { - invalidParams.AddNested("Ec2InstanceAggregation", err.(request.ErrInvalidParams)) - } - } - if s.ImageLayerAggregation != nil { - if err := s.ImageLayerAggregation.Validate(); err != nil { - invalidParams.AddNested("ImageLayerAggregation", err.(request.ErrInvalidParams)) - } - } - if s.LambdaFunctionAggregation != nil { - if err := s.LambdaFunctionAggregation.Validate(); err != nil { - invalidParams.AddNested("LambdaFunctionAggregation", err.(request.ErrInvalidParams)) - } - } - if s.LambdaLayerAggregation != nil { - if err := s.LambdaLayerAggregation.Validate(); err != nil { - invalidParams.AddNested("LambdaLayerAggregation", err.(request.ErrInvalidParams)) - } - } - if s.PackageAggregation != nil { - if err := s.PackageAggregation.Validate(); err != nil { - invalidParams.AddNested("PackageAggregation", err.(request.ErrInvalidParams)) - } - } - if s.RepositoryAggregation != nil { - if err := s.RepositoryAggregation.Validate(); err != nil { - invalidParams.AddNested("RepositoryAggregation", err.(request.ErrInvalidParams)) - } - } - if s.TitleAggregation != nil { - if err := s.TitleAggregation.Validate(); err != nil { - invalidParams.AddNested("TitleAggregation", err.(request.ErrInvalidParams)) - } - } +const opUpdateEncryptionKey = "UpdateEncryptionKey" - if invalidParams.Len() > 0 { - return invalidParams +// UpdateEncryptionKeyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEncryptionKey operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateEncryptionKey for more information on using the UpdateEncryptionKey +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateEncryptionKeyRequest method. +// req, resp := client.UpdateEncryptionKeyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateEncryptionKey +func (c *Inspector2) UpdateEncryptionKeyRequest(input *UpdateEncryptionKeyInput) (req *request.Request, output *UpdateEncryptionKeyOutput) { + op := &request.Operation{ + Name: opUpdateEncryptionKey, + HTTPMethod: "PUT", + HTTPPath: "/encryptionkey/update", } - return nil -} -// SetAccountAggregation sets the AccountAggregation field's value. -func (s *AggregationRequest) SetAccountAggregation(v *AccountAggregation) *AggregationRequest { - s.AccountAggregation = v - return s -} + if input == nil { + input = &UpdateEncryptionKeyInput{} + } -// SetAmiAggregation sets the AmiAggregation field's value. -func (s *AggregationRequest) SetAmiAggregation(v *AmiAggregation) *AggregationRequest { - s.AmiAggregation = v - return s + output = &UpdateEncryptionKeyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -// SetAwsEcrContainerAggregation sets the AwsEcrContainerAggregation field's value. -func (s *AggregationRequest) SetAwsEcrContainerAggregation(v *AwsEcrContainerAggregation) *AggregationRequest { - s.AwsEcrContainerAggregation = v - return s +// UpdateEncryptionKey API operation for Inspector2. +// +// Updates an encryption key. A ResourceNotFoundException means that an AWS +// owned key is being used for encryption. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation UpdateEncryptionKey for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - ResourceNotFoundException +// The operation tried to access an invalid resource. Make sure the resource +// is specified correctly. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateEncryptionKey +func (c *Inspector2) UpdateEncryptionKey(input *UpdateEncryptionKeyInput) (*UpdateEncryptionKeyOutput, error) { + req, out := c.UpdateEncryptionKeyRequest(input) + return out, req.Send() } -// SetEc2InstanceAggregation sets the Ec2InstanceAggregation field's value. -func (s *AggregationRequest) SetEc2InstanceAggregation(v *Ec2InstanceAggregation) *AggregationRequest { - s.Ec2InstanceAggregation = v - return s +// UpdateEncryptionKeyWithContext is the same as UpdateEncryptionKey with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEncryptionKey for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) UpdateEncryptionKeyWithContext(ctx aws.Context, input *UpdateEncryptionKeyInput, opts ...request.Option) (*UpdateEncryptionKeyOutput, error) { + req, out := c.UpdateEncryptionKeyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// SetFindingTypeAggregation sets the FindingTypeAggregation field's value. -func (s *AggregationRequest) SetFindingTypeAggregation(v *FindingTypeAggregation) *AggregationRequest { - s.FindingTypeAggregation = v - return s -} +const opUpdateFilter = "UpdateFilter" -// SetImageLayerAggregation sets the ImageLayerAggregation field's value. -func (s *AggregationRequest) SetImageLayerAggregation(v *ImageLayerAggregation) *AggregationRequest { - s.ImageLayerAggregation = v - return s -} +// UpdateFilterRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFilter operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateFilter for more information on using the UpdateFilter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateFilterRequest method. +// req, resp := client.UpdateFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateFilter +func (c *Inspector2) UpdateFilterRequest(input *UpdateFilterInput) (req *request.Request, output *UpdateFilterOutput) { + op := &request.Operation{ + Name: opUpdateFilter, + HTTPMethod: "POST", + HTTPPath: "/filters/update", + } -// SetLambdaFunctionAggregation sets the LambdaFunctionAggregation field's value. -func (s *AggregationRequest) SetLambdaFunctionAggregation(v *LambdaFunctionAggregation) *AggregationRequest { - s.LambdaFunctionAggregation = v - return s -} + if input == nil { + input = &UpdateFilterInput{} + } -// SetLambdaLayerAggregation sets the LambdaLayerAggregation field's value. -func (s *AggregationRequest) SetLambdaLayerAggregation(v *LambdaLayerAggregation) *AggregationRequest { - s.LambdaLayerAggregation = v - return s + output = &UpdateFilterOutput{} + req = c.newRequest(op, input, output) + return } -// SetPackageAggregation sets the PackageAggregation field's value. -func (s *AggregationRequest) SetPackageAggregation(v *PackageAggregation) *AggregationRequest { - s.PackageAggregation = v - return s +// UpdateFilter API operation for Inspector2. +// +// Specifies the action that is to be applied to the findings that match the +// filter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation UpdateFilter for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The operation tried to access an invalid resource. Make sure the resource +// is specified correctly. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateFilter +func (c *Inspector2) UpdateFilter(input *UpdateFilterInput) (*UpdateFilterOutput, error) { + req, out := c.UpdateFilterRequest(input) + return out, req.Send() } -// SetRepositoryAggregation sets the RepositoryAggregation field's value. -func (s *AggregationRequest) SetRepositoryAggregation(v *RepositoryAggregation) *AggregationRequest { - s.RepositoryAggregation = v - return s +// UpdateFilterWithContext is the same as UpdateFilter with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFilter for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) UpdateFilterWithContext(ctx aws.Context, input *UpdateFilterInput, opts ...request.Option) (*UpdateFilterOutput, error) { + req, out := c.UpdateFilterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// SetTitleAggregation sets the TitleAggregation field's value. -func (s *AggregationRequest) SetTitleAggregation(v *TitleAggregation) *AggregationRequest { - s.TitleAggregation = v - return s -} +const opUpdateOrgEc2DeepInspectionConfiguration = "UpdateOrgEc2DeepInspectionConfiguration" -// A structure that contains details about the results of an aggregation type. -type AggregationResponse struct { - _ struct{} `type:"structure"` +// UpdateOrgEc2DeepInspectionConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateOrgEc2DeepInspectionConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateOrgEc2DeepInspectionConfiguration for more information on using the UpdateOrgEc2DeepInspectionConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateOrgEc2DeepInspectionConfigurationRequest method. +// req, resp := client.UpdateOrgEc2DeepInspectionConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrgEc2DeepInspectionConfiguration +func (c *Inspector2) UpdateOrgEc2DeepInspectionConfigurationRequest(input *UpdateOrgEc2DeepInspectionConfigurationInput) (req *request.Request, output *UpdateOrgEc2DeepInspectionConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateOrgEc2DeepInspectionConfiguration, + HTTPMethod: "POST", + HTTPPath: "/ec2deepinspectionconfiguration/org/update", + } - // An object that contains details about an aggregation response based on Amazon - // Web Services account IDs. - AccountAggregation *AccountAggregationResponse `locationName:"accountAggregation" type:"structure"` + if input == nil { + input = &UpdateOrgEc2DeepInspectionConfigurationInput{} + } - // An object that contains details about an aggregation response based on Amazon - // Machine Images (AMIs). - AmiAggregation *AmiAggregationResponse `locationName:"amiAggregation" type:"structure"` + output = &UpdateOrgEc2DeepInspectionConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} - // An object that contains details about an aggregation response based on Amazon - // ECR container images. - AwsEcrContainerAggregation *AwsEcrContainerAggregationResponse `locationName:"awsEcrContainerAggregation" type:"structure"` +// UpdateOrgEc2DeepInspectionConfiguration API operation for Inspector2. +// +// Updates the Amazon Inspector deep inspection custom paths for your organization. +// You must be an Amazon Inspector delegated administrator to use this API. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation UpdateOrgEc2DeepInspectionConfiguration for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrgEc2DeepInspectionConfiguration +func (c *Inspector2) UpdateOrgEc2DeepInspectionConfiguration(input *UpdateOrgEc2DeepInspectionConfigurationInput) (*UpdateOrgEc2DeepInspectionConfigurationOutput, error) { + req, out := c.UpdateOrgEc2DeepInspectionConfigurationRequest(input) + return out, req.Send() +} - // An object that contains details about an aggregation response based on Amazon - // EC2 instances. - Ec2InstanceAggregation *Ec2InstanceAggregationResponse `locationName:"ec2InstanceAggregation" type:"structure"` +// UpdateOrgEc2DeepInspectionConfigurationWithContext is the same as UpdateOrgEc2DeepInspectionConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateOrgEc2DeepInspectionConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) UpdateOrgEc2DeepInspectionConfigurationWithContext(ctx aws.Context, input *UpdateOrgEc2DeepInspectionConfigurationInput, opts ...request.Option) (*UpdateOrgEc2DeepInspectionConfigurationOutput, error) { + req, out := c.UpdateOrgEc2DeepInspectionConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} - // An object that contains details about an aggregation response based on finding - // types. - FindingTypeAggregation *FindingTypeAggregationResponse `locationName:"findingTypeAggregation" type:"structure"` +const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration" - // An object that contains details about an aggregation response based on container - // image layers. - ImageLayerAggregation *ImageLayerAggregationResponse `locationName:"imageLayerAggregation" type:"structure"` +// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateOrganizationConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateOrganizationConfigurationRequest method. +// req, resp := client.UpdateOrganizationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrganizationConfiguration +func (c *Inspector2) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateOrganizationConfiguration, + HTTPMethod: "POST", + HTTPPath: "/organizationconfiguration/update", + } - // An aggregation of findings by AWS Lambda function. - LambdaFunctionAggregation *LambdaFunctionAggregationResponse `locationName:"lambdaFunctionAggregation" type:"structure"` + if input == nil { + input = &UpdateOrganizationConfigurationInput{} + } - // An aggregation of findings by AWS Lambda layer. - LambdaLayerAggregation *LambdaLayerAggregationResponse `locationName:"lambdaLayerAggregation" type:"structure"` + output = &UpdateOrganizationConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} - // An object that contains details about an aggregation response based on operating - // system package type. - PackageAggregation *PackageAggregationResponse `locationName:"packageAggregation" type:"structure"` +// UpdateOrganizationConfiguration API operation for Inspector2. +// +// Updates the configurations for your Amazon Inspector organization. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Inspector2's +// API operation UpdateOrganizationConfiguration for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ValidationException +// The request has failed validation due to missing required fields or having +// invalid inputs. +// +// - ThrottlingException +// The limit on the number of requests per second was exceeded. +// +// - InternalServerException +// The request has failed due to an internal failure of the Amazon Inspector +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/inspector2-2020-06-08/UpdateOrganizationConfiguration +func (c *Inspector2) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) { + req, out := c.UpdateOrganizationConfigurationRequest(input) + return out, req.Send() +} - // An object that contains details about an aggregation response based on Amazon - // ECR repositories. - RepositoryAggregation *RepositoryAggregationResponse `locationName:"repositoryAggregation" type:"structure"` +// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateOrganizationConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Inspector2) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) { + req, out := c.UpdateOrganizationConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} - // An object that contains details about an aggregation response based on finding - // title. - TitleAggregation *TitleAggregationResponse `locationName:"titleAggregation" type:"structure"` +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -5353,7 +6339,7 @@ type AggregationResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AggregationResponse) String() string { +func (s AccessDeniedException) String() string { return awsutil.Prettify(s) } @@ -5362,88 +6348,67 @@ func (s AggregationResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AggregationResponse) GoString() string { +func (s AccessDeniedException) GoString() string { return s.String() } -// SetAccountAggregation sets the AccountAggregation field's value. -func (s *AggregationResponse) SetAccountAggregation(v *AccountAggregationResponse) *AggregationResponse { - s.AccountAggregation = v - return s -} - -// SetAmiAggregation sets the AmiAggregation field's value. -func (s *AggregationResponse) SetAmiAggregation(v *AmiAggregationResponse) *AggregationResponse { - s.AmiAggregation = v - return s +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } } -// SetAwsEcrContainerAggregation sets the AwsEcrContainerAggregation field's value. -func (s *AggregationResponse) SetAwsEcrContainerAggregation(v *AwsEcrContainerAggregationResponse) *AggregationResponse { - s.AwsEcrContainerAggregation = v - return s +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" } -// SetEc2InstanceAggregation sets the Ec2InstanceAggregation field's value. -func (s *AggregationResponse) SetEc2InstanceAggregation(v *Ec2InstanceAggregationResponse) *AggregationResponse { - s.Ec2InstanceAggregation = v - return s +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetFindingTypeAggregation sets the FindingTypeAggregation field's value. -func (s *AggregationResponse) SetFindingTypeAggregation(v *FindingTypeAggregationResponse) *AggregationResponse { - s.FindingTypeAggregation = v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil } -// SetImageLayerAggregation sets the ImageLayerAggregation field's value. -func (s *AggregationResponse) SetImageLayerAggregation(v *ImageLayerAggregationResponse) *AggregationResponse { - s.ImageLayerAggregation = v - return s +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetLambdaFunctionAggregation sets the LambdaFunctionAggregation field's value. -func (s *AggregationResponse) SetLambdaFunctionAggregation(v *LambdaFunctionAggregationResponse) *AggregationResponse { - s.LambdaFunctionAggregation = v - return s -} - -// SetLambdaLayerAggregation sets the LambdaLayerAggregation field's value. -func (s *AggregationResponse) SetLambdaLayerAggregation(v *LambdaLayerAggregationResponse) *AggregationResponse { - s.LambdaLayerAggregation = v - return s -} - -// SetPackageAggregation sets the PackageAggregation field's value. -func (s *AggregationResponse) SetPackageAggregation(v *PackageAggregationResponse) *AggregationResponse { - s.PackageAggregation = v - return s -} - -// SetRepositoryAggregation sets the RepositoryAggregation field's value. -func (s *AggregationResponse) SetRepositoryAggregation(v *RepositoryAggregationResponse) *AggregationResponse { - s.RepositoryAggregation = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetTitleAggregation sets the TitleAggregation field's value. -func (s *AggregationResponse) SetTitleAggregation(v *TitleAggregationResponse) *AggregationResponse { - s.TitleAggregation = v - return s +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID } -// The details that define an aggregation based on Amazon machine images (AMIs). -type AmiAggregation struct { +// An Amazon Web Services account within your environment that Amazon Inspector +// has been enabled for. +type Account struct { _ struct{} `type:"structure"` - // The IDs of AMIs to aggregate findings for. - Amis []*StringFilter `locationName:"amis" min:"1" type:"list"` + // The ID of the Amazon Web Services account. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - // The value to sort results by. - SortBy *string `locationName:"sortBy" type:"string" enum:"AmiSortBy"` + // Details of the status of Amazon Inspector scans by resource type. + // + // ResourceStatus is a required field + ResourceStatus *ResourceStatus `locationName:"resourceStatus" type:"structure" required:"true"` - // The order to sort results by. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` + // The status of Amazon Inspector for the account. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"Status"` } // String returns the string representation. @@ -5451,7 +6416,7 @@ type AmiAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AmiAggregation) String() string { +func (s Account) String() string { return awsutil.Prettify(s) } @@ -5460,68 +6425,44 @@ func (s AmiAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AmiAggregation) GoString() string { +func (s Account) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AmiAggregation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AmiAggregation"} - if s.Amis != nil && len(s.Amis) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Amis", 1)) - } - if s.Amis != nil { - for i, v := range s.Amis { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Amis", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAmis sets the Amis field's value. -func (s *AmiAggregation) SetAmis(v []*StringFilter) *AmiAggregation { - s.Amis = v +// SetAccountId sets the AccountId field's value. +func (s *Account) SetAccountId(v string) *Account { + s.AccountId = &v return s } -// SetSortBy sets the SortBy field's value. -func (s *AmiAggregation) SetSortBy(v string) *AmiAggregation { - s.SortBy = &v +// SetResourceStatus sets the ResourceStatus field's value. +func (s *Account) SetResourceStatus(v *ResourceStatus) *Account { + s.ResourceStatus = v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *AmiAggregation) SetSortOrder(v string) *AmiAggregation { - s.SortOrder = &v +// SetStatus sets the Status field's value. +func (s *Account) SetStatus(v string) *Account { + s.Status = &v return s } -// A response that contains the results of a finding aggregation by AMI. -type AmiAggregationResponse struct { +// An object that contains details about an aggregation response based on Amazon +// Web Services accounts. +type AccountAggregation struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID for the AMI. - AccountId *string `locationName:"accountId" min:"12" type:"string"` + // The type of finding. + FindingType *string `locationName:"findingType" type:"string" enum:"AggregationFindingType"` - // The IDs of Amazon EC2 instances using this AMI. - AffectedInstances *int64 `locationName:"affectedInstances" type:"long"` + // The type of resource. + ResourceType *string `locationName:"resourceType" type:"string" enum:"AggregationResourceType"` - // The ID of the AMI that findings were aggregated for. - // - // Ami is a required field - Ami *string `locationName:"ami" type:"string" required:"true"` + // The value to sort by. + SortBy *string `locationName:"sortBy" type:"string" enum:"AccountSortBy"` - // An object that contains the count of matched findings per severity. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` + // The sort order (ascending or descending). + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` } // String returns the string representation. @@ -5529,7 +6470,7 @@ type AmiAggregationResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AmiAggregationResponse) String() string { +func (s AccountAggregation) String() string { return awsutil.Prettify(s) } @@ -5538,41 +6479,43 @@ func (s AmiAggregationResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AmiAggregationResponse) GoString() string { +func (s AccountAggregation) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *AmiAggregationResponse) SetAccountId(v string) *AmiAggregationResponse { - s.AccountId = &v +// SetFindingType sets the FindingType field's value. +func (s *AccountAggregation) SetFindingType(v string) *AccountAggregation { + s.FindingType = &v return s } -// SetAffectedInstances sets the AffectedInstances field's value. -func (s *AmiAggregationResponse) SetAffectedInstances(v int64) *AmiAggregationResponse { - s.AffectedInstances = &v +// SetResourceType sets the ResourceType field's value. +func (s *AccountAggregation) SetResourceType(v string) *AccountAggregation { + s.ResourceType = &v return s } -// SetAmi sets the Ami field's value. -func (s *AmiAggregationResponse) SetAmi(v string) *AmiAggregationResponse { - s.Ami = &v +// SetSortBy sets the SortBy field's value. +func (s *AccountAggregation) SetSortBy(v string) *AccountAggregation { + s.SortBy = &v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *AmiAggregationResponse) SetSeverityCounts(v *SeverityCounts) *AmiAggregationResponse { - s.SeverityCounts = v +// SetSortOrder sets the SortOrder field's value. +func (s *AccountAggregation) SetSortOrder(v string) *AccountAggregation { + s.SortOrder = &v return s } -type AssociateMemberInput struct { +// An aggregation of findings by Amazon Web Services account ID. +type AccountAggregationResponse struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the member account to be associated. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + // The Amazon Web Services account ID. + AccountId *string `locationName:"accountId" min:"12" type:"string"` + + // The number of findings by severity. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` } // String returns the string representation. @@ -5580,7 +6523,7 @@ type AssociateMemberInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateMemberInput) String() string { +func (s AccountAggregationResponse) String() string { return awsutil.Prettify(s) } @@ -5589,40 +6532,42 @@ func (s AssociateMemberInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateMemberInput) GoString() string { +func (s AccountAggregationResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AssociateMemberInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociateMemberInput"} - if s.AccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AccountId")) - } - if s.AccountId != nil && len(*s.AccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetAccountId sets the AccountId field's value. -func (s *AssociateMemberInput) SetAccountId(v string) *AssociateMemberInput { +func (s *AccountAggregationResponse) SetAccountId(v string) *AccountAggregationResponse { s.AccountId = &v return s } -type AssociateMemberOutput struct { +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *AccountAggregationResponse) SetSeverityCounts(v *SeverityCounts) *AccountAggregationResponse { + s.SeverityCounts = v + return s +} + +// An object with details the status of an Amazon Web Services account within +// your Amazon Inspector environment. +type AccountState struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the successfully associated member - // account. + // The Amazon Web Services account ID. // // AccountId is a required field AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + + // An object detailing which resources Amazon Inspector is enabled to scan for + // the account. + // + // ResourceState is a required field + ResourceState *ResourceState `locationName:"resourceState" type:"structure" required:"true"` + + // An object detailing the status of Amazon Inspector for the account. + // + // State is a required field + State *State `locationName:"state" type:"structure" required:"true"` } // String returns the string representation. @@ -5630,7 +6575,7 @@ type AssociateMemberOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateMemberOutput) String() string { +func (s AccountState) String() string { return awsutil.Prettify(s) } @@ -5639,99 +6584,73 @@ func (s AssociateMemberOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AssociateMemberOutput) GoString() string { +func (s AccountState) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. -func (s *AssociateMemberOutput) SetAccountId(v string) *AssociateMemberOutput { +func (s *AccountState) SetAccountId(v string) *AccountState { s.AccountId = &v return s } -// The Amazon Web Services Threat Intel Group (ATIG) details for a specific -// vulnerability. -type AtigData struct { +// SetResourceState sets the ResourceState field's value. +func (s *AccountState) SetResourceState(v *ResourceState) *AccountState { + s.ResourceState = v + return s +} + +// SetState sets the State field's value. +func (s *AccountState) SetState(v *State) *AccountState { + s.State = v + return s +} + +// Contains details about an aggregation request. +type AggregationRequest struct { _ struct{} `type:"structure"` - // The date and time this vulnerability was first observed. - FirstSeen *time.Time `locationName:"firstSeen" type:"timestamp"` + // An object that contains details about an aggregation request based on Amazon + // Web Services account IDs. + AccountAggregation *AccountAggregation `locationName:"accountAggregation" type:"structure"` - // The date and time this vulnerability was last observed. - LastSeen *time.Time `locationName:"lastSeen" type:"timestamp"` + // An object that contains details about an aggregation request based on Amazon + // Machine Images (AMIs). + AmiAggregation *AmiAggregation `locationName:"amiAggregation" type:"structure"` - // The commercial sectors this vulnerability targets. - Targets []*string `locationName:"targets" type:"list"` + // An object that contains details about an aggregation request based on Amazon + // ECR container images. + AwsEcrContainerAggregation *AwsEcrContainerAggregation `locationName:"awsEcrContainerAggregation" type:"structure"` - // The MITRE ATT&CK (https://attack.mitre.org/) tactics, techniques, and procedures - // (TTPs) associated with vulnerability. - Ttps []*string `locationName:"ttps" type:"list"` -} + // An object that contains details about an aggregation request based on Amazon + // EC2 instances. + Ec2InstanceAggregation *Ec2InstanceAggregation `locationName:"ec2InstanceAggregation" type:"structure"` -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AtigData) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AtigData) GoString() string { - return s.String() -} - -// SetFirstSeen sets the FirstSeen field's value. -func (s *AtigData) SetFirstSeen(v time.Time) *AtigData { - s.FirstSeen = &v - return s -} - -// SetLastSeen sets the LastSeen field's value. -func (s *AtigData) SetLastSeen(v time.Time) *AtigData { - s.LastSeen = &v - return s -} - -// SetTargets sets the Targets field's value. -func (s *AtigData) SetTargets(v []*string) *AtigData { - s.Targets = v - return s -} + // An object that contains details about an aggregation request based on finding + // types. + FindingTypeAggregation *FindingTypeAggregation `locationName:"findingTypeAggregation" type:"structure"` -// SetTtps sets the Ttps field's value. -func (s *AtigData) SetTtps(v []*string) *AtigData { - s.Ttps = v - return s -} + // An object that contains details about an aggregation request based on container + // image layers. + ImageLayerAggregation *ImageLayerAggregation `locationName:"imageLayerAggregation" type:"structure"` -// Represents which scan types are automatically enabled for new members of -// your Amazon Inspector organization. -type AutoEnable struct { - _ struct{} `type:"structure"` + // Returns an object with findings aggregated by AWS Lambda function. + LambdaFunctionAggregation *LambdaFunctionAggregation `locationName:"lambdaFunctionAggregation" type:"structure"` - // Represents whether Amazon EC2 scans are automatically enabled for new members - // of your Amazon Inspector organization. - // - // Ec2 is a required field - Ec2 *bool `locationName:"ec2" type:"boolean" required:"true"` + // Returns an object with findings aggregated by AWS Lambda layer. + LambdaLayerAggregation *LambdaLayerAggregation `locationName:"lambdaLayerAggregation" type:"structure"` - // Represents whether Amazon ECR scans are automatically enabled for new members - // of your Amazon Inspector organization. - // - // Ecr is a required field - Ecr *bool `locationName:"ecr" type:"boolean" required:"true"` + // An object that contains details about an aggregation request based on operating + // system package type. + PackageAggregation *PackageAggregation `locationName:"packageAggregation" type:"structure"` - // Represents whether AWS Lambda standard scans are automatically enabled for - // new members of your Amazon Inspector organization. - Lambda *bool `locationName:"lambda" type:"boolean"` + // An object that contains details about an aggregation request based on Amazon + // ECR repositories. + RepositoryAggregation *RepositoryAggregation `locationName:"repositoryAggregation" type:"structure"` - LambdaCode *bool `locationName:"lambdaCode" type:"boolean"` + // An object that contains details about an aggregation request based on finding + // title. + TitleAggregation *TitleAggregation `locationName:"titleAggregation" type:"structure"` } // String returns the string representation. @@ -5739,7 +6658,7 @@ type AutoEnable struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AutoEnable) String() string { +func (s AggregationRequest) String() string { return awsutil.Prettify(s) } @@ -5748,18 +6667,57 @@ func (s AutoEnable) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AutoEnable) GoString() string { +func (s AggregationRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AutoEnable) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AutoEnable"} - if s.Ec2 == nil { - invalidParams.Add(request.NewErrParamRequired("Ec2")) +func (s *AggregationRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AggregationRequest"} + if s.AmiAggregation != nil { + if err := s.AmiAggregation.Validate(); err != nil { + invalidParams.AddNested("AmiAggregation", err.(request.ErrInvalidParams)) + } } - if s.Ecr == nil { - invalidParams.Add(request.NewErrParamRequired("Ecr")) + if s.AwsEcrContainerAggregation != nil { + if err := s.AwsEcrContainerAggregation.Validate(); err != nil { + invalidParams.AddNested("AwsEcrContainerAggregation", err.(request.ErrInvalidParams)) + } + } + if s.Ec2InstanceAggregation != nil { + if err := s.Ec2InstanceAggregation.Validate(); err != nil { + invalidParams.AddNested("Ec2InstanceAggregation", err.(request.ErrInvalidParams)) + } + } + if s.ImageLayerAggregation != nil { + if err := s.ImageLayerAggregation.Validate(); err != nil { + invalidParams.AddNested("ImageLayerAggregation", err.(request.ErrInvalidParams)) + } + } + if s.LambdaFunctionAggregation != nil { + if err := s.LambdaFunctionAggregation.Validate(); err != nil { + invalidParams.AddNested("LambdaFunctionAggregation", err.(request.ErrInvalidParams)) + } + } + if s.LambdaLayerAggregation != nil { + if err := s.LambdaLayerAggregation.Validate(); err != nil { + invalidParams.AddNested("LambdaLayerAggregation", err.(request.ErrInvalidParams)) + } + } + if s.PackageAggregation != nil { + if err := s.PackageAggregation.Validate(); err != nil { + invalidParams.AddNested("PackageAggregation", err.(request.ErrInvalidParams)) + } + } + if s.RepositoryAggregation != nil { + if err := s.RepositoryAggregation.Validate(); err != nil { + invalidParams.AddNested("RepositoryAggregation", err.(request.ErrInvalidParams)) + } + } + if s.TitleAggregation != nil { + if err := s.TitleAggregation.Validate(); err != nil { + invalidParams.AddNested("TitleAggregation", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -5768,63 +6726,117 @@ func (s *AutoEnable) Validate() error { return nil } -// SetEc2 sets the Ec2 field's value. -func (s *AutoEnable) SetEc2(v bool) *AutoEnable { - s.Ec2 = &v +// SetAccountAggregation sets the AccountAggregation field's value. +func (s *AggregationRequest) SetAccountAggregation(v *AccountAggregation) *AggregationRequest { + s.AccountAggregation = v return s } -// SetEcr sets the Ecr field's value. -func (s *AutoEnable) SetEcr(v bool) *AutoEnable { - s.Ecr = &v +// SetAmiAggregation sets the AmiAggregation field's value. +func (s *AggregationRequest) SetAmiAggregation(v *AmiAggregation) *AggregationRequest { + s.AmiAggregation = v return s } -// SetLambda sets the Lambda field's value. -func (s *AutoEnable) SetLambda(v bool) *AutoEnable { - s.Lambda = &v +// SetAwsEcrContainerAggregation sets the AwsEcrContainerAggregation field's value. +func (s *AggregationRequest) SetAwsEcrContainerAggregation(v *AwsEcrContainerAggregation) *AggregationRequest { + s.AwsEcrContainerAggregation = v return s } -// SetLambdaCode sets the LambdaCode field's value. -func (s *AutoEnable) SetLambdaCode(v bool) *AutoEnable { - s.LambdaCode = &v +// SetEc2InstanceAggregation sets the Ec2InstanceAggregation field's value. +func (s *AggregationRequest) SetEc2InstanceAggregation(v *Ec2InstanceAggregation) *AggregationRequest { + s.Ec2InstanceAggregation = v return s } -// Details of the Amazon EC2 instance involved in a finding. -type AwsEc2InstanceDetails struct { +// SetFindingTypeAggregation sets the FindingTypeAggregation field's value. +func (s *AggregationRequest) SetFindingTypeAggregation(v *FindingTypeAggregation) *AggregationRequest { + s.FindingTypeAggregation = v + return s +} + +// SetImageLayerAggregation sets the ImageLayerAggregation field's value. +func (s *AggregationRequest) SetImageLayerAggregation(v *ImageLayerAggregation) *AggregationRequest { + s.ImageLayerAggregation = v + return s +} + +// SetLambdaFunctionAggregation sets the LambdaFunctionAggregation field's value. +func (s *AggregationRequest) SetLambdaFunctionAggregation(v *LambdaFunctionAggregation) *AggregationRequest { + s.LambdaFunctionAggregation = v + return s +} + +// SetLambdaLayerAggregation sets the LambdaLayerAggregation field's value. +func (s *AggregationRequest) SetLambdaLayerAggregation(v *LambdaLayerAggregation) *AggregationRequest { + s.LambdaLayerAggregation = v + return s +} + +// SetPackageAggregation sets the PackageAggregation field's value. +func (s *AggregationRequest) SetPackageAggregation(v *PackageAggregation) *AggregationRequest { + s.PackageAggregation = v + return s +} + +// SetRepositoryAggregation sets the RepositoryAggregation field's value. +func (s *AggregationRequest) SetRepositoryAggregation(v *RepositoryAggregation) *AggregationRequest { + s.RepositoryAggregation = v + return s +} + +// SetTitleAggregation sets the TitleAggregation field's value. +func (s *AggregationRequest) SetTitleAggregation(v *TitleAggregation) *AggregationRequest { + s.TitleAggregation = v + return s +} + +// A structure that contains details about the results of an aggregation type. +type AggregationResponse struct { _ struct{} `type:"structure"` - // The IAM instance profile ARN of the Amazon EC2 instance. - IamInstanceProfileArn *string `locationName:"iamInstanceProfileArn" min:"1" type:"string"` + // An object that contains details about an aggregation response based on Amazon + // Web Services account IDs. + AccountAggregation *AccountAggregationResponse `locationName:"accountAggregation" type:"structure"` - // The image ID of the Amazon EC2 instance. - ImageId *string `locationName:"imageId" min:"1" type:"string"` + // An object that contains details about an aggregation response based on Amazon + // Machine Images (AMIs). + AmiAggregation *AmiAggregationResponse `locationName:"amiAggregation" type:"structure"` - // The IPv4 addresses of the Amazon EC2 instance. - IpV4Addresses []*string `locationName:"ipV4Addresses" type:"list"` + // An object that contains details about an aggregation response based on Amazon + // ECR container images. + AwsEcrContainerAggregation *AwsEcrContainerAggregationResponse `locationName:"awsEcrContainerAggregation" type:"structure"` - // The IPv6 addresses of the Amazon EC2 instance. - IpV6Addresses []*string `locationName:"ipV6Addresses" type:"list"` + // An object that contains details about an aggregation response based on Amazon + // EC2 instances. + Ec2InstanceAggregation *Ec2InstanceAggregationResponse `locationName:"ec2InstanceAggregation" type:"structure"` - // The name of the key pair used to launch the Amazon EC2 instance. - KeyName *string `locationName:"keyName" min:"1" type:"string"` + // An object that contains details about an aggregation response based on finding + // types. + FindingTypeAggregation *FindingTypeAggregationResponse `locationName:"findingTypeAggregation" type:"structure"` - // The date and time the Amazon EC2 instance was launched at. - LaunchedAt *time.Time `locationName:"launchedAt" type:"timestamp"` + // An object that contains details about an aggregation response based on container + // image layers. + ImageLayerAggregation *ImageLayerAggregationResponse `locationName:"imageLayerAggregation" type:"structure"` - // The platform of the Amazon EC2 instance. - Platform *string `locationName:"platform" min:"1" type:"string"` + // An aggregation of findings by AWS Lambda function. + LambdaFunctionAggregation *LambdaFunctionAggregationResponse `locationName:"lambdaFunctionAggregation" type:"structure"` - // The subnet ID of the Amazon EC2 instance. - SubnetId *string `locationName:"subnetId" min:"1" type:"string"` + // An aggregation of findings by AWS Lambda layer. + LambdaLayerAggregation *LambdaLayerAggregationResponse `locationName:"lambdaLayerAggregation" type:"structure"` - // The type of the Amazon EC2 instance. - Type *string `locationName:"type" min:"1" type:"string"` + // An object that contains details about an aggregation response based on operating + // system package type. + PackageAggregation *PackageAggregationResponse `locationName:"packageAggregation" type:"structure"` - // The VPC ID of the Amazon EC2 instance. - VpcId *string `locationName:"vpcId" min:"1" type:"string"` + // An object that contains details about an aggregation response based on Amazon + // ECR repositories. + RepositoryAggregation *RepositoryAggregationResponse `locationName:"repositoryAggregation" type:"structure"` + + // An object that contains details about an aggregation response based on finding + // title. + TitleAggregation *TitleAggregationResponse `locationName:"titleAggregation" type:"structure"` } // String returns the string representation. @@ -5832,7 +6844,7 @@ type AwsEc2InstanceDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AwsEc2InstanceDetails) String() string { +func (s AggregationResponse) String() string { return awsutil.Prettify(s) } @@ -5841,93 +6853,87 @@ func (s AwsEc2InstanceDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AwsEc2InstanceDetails) GoString() string { +func (s AggregationResponse) GoString() string { return s.String() } -// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value. -func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails { - s.IamInstanceProfileArn = &v +// SetAccountAggregation sets the AccountAggregation field's value. +func (s *AggregationResponse) SetAccountAggregation(v *AccountAggregationResponse) *AggregationResponse { + s.AccountAggregation = v return s } -// SetImageId sets the ImageId field's value. -func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails { - s.ImageId = &v +// SetAmiAggregation sets the AmiAggregation field's value. +func (s *AggregationResponse) SetAmiAggregation(v *AmiAggregationResponse) *AggregationResponse { + s.AmiAggregation = v return s } -// SetIpV4Addresses sets the IpV4Addresses field's value. -func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails { - s.IpV4Addresses = v +// SetAwsEcrContainerAggregation sets the AwsEcrContainerAggregation field's value. +func (s *AggregationResponse) SetAwsEcrContainerAggregation(v *AwsEcrContainerAggregationResponse) *AggregationResponse { + s.AwsEcrContainerAggregation = v return s } -// SetIpV6Addresses sets the IpV6Addresses field's value. -func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails { - s.IpV6Addresses = v +// SetEc2InstanceAggregation sets the Ec2InstanceAggregation field's value. +func (s *AggregationResponse) SetEc2InstanceAggregation(v *Ec2InstanceAggregationResponse) *AggregationResponse { + s.Ec2InstanceAggregation = v return s } -// SetKeyName sets the KeyName field's value. -func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails { - s.KeyName = &v +// SetFindingTypeAggregation sets the FindingTypeAggregation field's value. +func (s *AggregationResponse) SetFindingTypeAggregation(v *FindingTypeAggregationResponse) *AggregationResponse { + s.FindingTypeAggregation = v return s } -// SetLaunchedAt sets the LaunchedAt field's value. -func (s *AwsEc2InstanceDetails) SetLaunchedAt(v time.Time) *AwsEc2InstanceDetails { - s.LaunchedAt = &v +// SetImageLayerAggregation sets the ImageLayerAggregation field's value. +func (s *AggregationResponse) SetImageLayerAggregation(v *ImageLayerAggregationResponse) *AggregationResponse { + s.ImageLayerAggregation = v return s } -// SetPlatform sets the Platform field's value. -func (s *AwsEc2InstanceDetails) SetPlatform(v string) *AwsEc2InstanceDetails { - s.Platform = &v +// SetLambdaFunctionAggregation sets the LambdaFunctionAggregation field's value. +func (s *AggregationResponse) SetLambdaFunctionAggregation(v *LambdaFunctionAggregationResponse) *AggregationResponse { + s.LambdaFunctionAggregation = v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails { - s.SubnetId = &v +// SetLambdaLayerAggregation sets the LambdaLayerAggregation field's value. +func (s *AggregationResponse) SetLambdaLayerAggregation(v *LambdaLayerAggregationResponse) *AggregationResponse { + s.LambdaLayerAggregation = v return s } -// SetType sets the Type field's value. -func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails { - s.Type = &v +// SetPackageAggregation sets the PackageAggregation field's value. +func (s *AggregationResponse) SetPackageAggregation(v *PackageAggregationResponse) *AggregationResponse { + s.PackageAggregation = v return s } -// SetVpcId sets the VpcId field's value. -func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails { - s.VpcId = &v +// SetRepositoryAggregation sets the RepositoryAggregation field's value. +func (s *AggregationResponse) SetRepositoryAggregation(v *RepositoryAggregationResponse) *AggregationResponse { + s.RepositoryAggregation = v return s } -// An aggregation of information about Amazon ECR containers. -type AwsEcrContainerAggregation struct { - _ struct{} `type:"structure"` - - // The architecture of the containers. - Architectures []*StringFilter `locationName:"architectures" min:"1" type:"list"` - - // The image SHA values. - ImageShas []*StringFilter `locationName:"imageShas" min:"1" type:"list"` - - // The image tags. - ImageTags []*StringFilter `locationName:"imageTags" min:"1" type:"list"` +// SetTitleAggregation sets the TitleAggregation field's value. +func (s *AggregationResponse) SetTitleAggregation(v *TitleAggregationResponse) *AggregationResponse { + s.TitleAggregation = v + return s +} - // The container repositories. - Repositories []*StringFilter `locationName:"repositories" min:"1" type:"list"` +// The details that define an aggregation based on Amazon machine images (AMIs). +type AmiAggregation struct { + _ struct{} `type:"structure"` - // The container resource IDs. - ResourceIds []*StringFilter `locationName:"resourceIds" min:"1" type:"list"` + // The IDs of AMIs to aggregate findings for. + Amis []*StringFilter `locationName:"amis" min:"1" type:"list"` - // The value to sort by. - SortBy *string `locationName:"sortBy" type:"string" enum:"AwsEcrContainerSortBy"` + // The value to sort results by. + SortBy *string `locationName:"sortBy" type:"string" enum:"AmiSortBy"` - // The sort order (ascending or descending). + // The order to sort results by. SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` } @@ -5936,7 +6942,7 @@ type AwsEcrContainerAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AwsEcrContainerAggregation) String() string { +func (s AmiAggregation) String() string { return awsutil.Prettify(s) } @@ -5945,75 +6951,23 @@ func (s AwsEcrContainerAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AwsEcrContainerAggregation) GoString() string { +func (s AmiAggregation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AwsEcrContainerAggregation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AwsEcrContainerAggregation"} - if s.Architectures != nil && len(s.Architectures) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Architectures", 1)) - } - if s.ImageShas != nil && len(s.ImageShas) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ImageShas", 1)) - } - if s.ImageTags != nil && len(s.ImageTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ImageTags", 1)) - } - if s.Repositories != nil && len(s.Repositories) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Repositories", 1)) - } - if s.ResourceIds != nil && len(s.ResourceIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) - } - if s.Architectures != nil { - for i, v := range s.Architectures { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Architectures", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ImageShas != nil { - for i, v := range s.ImageShas { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ImageShas", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ImageTags != nil { - for i, v := range s.ImageTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ImageTags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Repositories != nil { - for i, v := range s.Repositories { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Repositories", i), err.(request.ErrInvalidParams)) - } - } +func (s *AmiAggregation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmiAggregation"} + if s.Amis != nil && len(s.Amis) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Amis", 1)) } - if s.ResourceIds != nil { - for i, v := range s.ResourceIds { + if s.Amis != nil { + for i, v := range s.Amis { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIds", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Amis", i), err.(request.ErrInvalidParams)) } } } @@ -6024,73 +6978,40 @@ func (s *AwsEcrContainerAggregation) Validate() error { return nil } -// SetArchitectures sets the Architectures field's value. -func (s *AwsEcrContainerAggregation) SetArchitectures(v []*StringFilter) *AwsEcrContainerAggregation { - s.Architectures = v - return s -} - -// SetImageShas sets the ImageShas field's value. -func (s *AwsEcrContainerAggregation) SetImageShas(v []*StringFilter) *AwsEcrContainerAggregation { - s.ImageShas = v - return s -} - -// SetImageTags sets the ImageTags field's value. -func (s *AwsEcrContainerAggregation) SetImageTags(v []*StringFilter) *AwsEcrContainerAggregation { - s.ImageTags = v - return s -} - -// SetRepositories sets the Repositories field's value. -func (s *AwsEcrContainerAggregation) SetRepositories(v []*StringFilter) *AwsEcrContainerAggregation { - s.Repositories = v - return s -} - -// SetResourceIds sets the ResourceIds field's value. -func (s *AwsEcrContainerAggregation) SetResourceIds(v []*StringFilter) *AwsEcrContainerAggregation { - s.ResourceIds = v +// SetAmis sets the Amis field's value. +func (s *AmiAggregation) SetAmis(v []*StringFilter) *AmiAggregation { + s.Amis = v return s } // SetSortBy sets the SortBy field's value. -func (s *AwsEcrContainerAggregation) SetSortBy(v string) *AwsEcrContainerAggregation { +func (s *AmiAggregation) SetSortBy(v string) *AmiAggregation { s.SortBy = &v return s } // SetSortOrder sets the SortOrder field's value. -func (s *AwsEcrContainerAggregation) SetSortOrder(v string) *AwsEcrContainerAggregation { +func (s *AmiAggregation) SetSortOrder(v string) *AmiAggregation { s.SortOrder = &v return s } -// An aggregation of information about Amazon ECR containers. -type AwsEcrContainerAggregationResponse struct { +// A response that contains the results of a finding aggregation by AMI. +type AmiAggregationResponse struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the account that owns the container. + // The Amazon Web Services account ID for the AMI. AccountId *string `locationName:"accountId" min:"12" type:"string"` - // The architecture of the container. - Architecture *string `locationName:"architecture" type:"string"` - - // The SHA value of the container image. - ImageSha *string `locationName:"imageSha" type:"string"` - - // The container image stags. - ImageTags []*string `locationName:"imageTags" type:"list"` - - // The container repository. - Repository *string `locationName:"repository" type:"string"` + // The IDs of Amazon EC2 instances using this AMI. + AffectedInstances *int64 `locationName:"affectedInstances" type:"long"` - // The resource ID of the container. + // The ID of the AMI that findings were aggregated for. // - // ResourceId is a required field - ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"` + // Ami is a required field + Ami *string `locationName:"ami" type:"string" required:"true"` - // The number of finding by severity. + // An object that contains the count of matched findings per severity. SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` } @@ -6099,7 +7020,7 @@ type AwsEcrContainerAggregationResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AwsEcrContainerAggregationResponse) String() string { +func (s AmiAggregationResponse) String() string { return awsutil.Prettify(s) } @@ -6108,85 +7029,91 @@ func (s AwsEcrContainerAggregationResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AwsEcrContainerAggregationResponse) GoString() string { +func (s AmiAggregationResponse) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. -func (s *AwsEcrContainerAggregationResponse) SetAccountId(v string) *AwsEcrContainerAggregationResponse { +func (s *AmiAggregationResponse) SetAccountId(v string) *AmiAggregationResponse { s.AccountId = &v return s } -// SetArchitecture sets the Architecture field's value. -func (s *AwsEcrContainerAggregationResponse) SetArchitecture(v string) *AwsEcrContainerAggregationResponse { - s.Architecture = &v +// SetAffectedInstances sets the AffectedInstances field's value. +func (s *AmiAggregationResponse) SetAffectedInstances(v int64) *AmiAggregationResponse { + s.AffectedInstances = &v return s } -// SetImageSha sets the ImageSha field's value. -func (s *AwsEcrContainerAggregationResponse) SetImageSha(v string) *AwsEcrContainerAggregationResponse { - s.ImageSha = &v +// SetAmi sets the Ami field's value. +func (s *AmiAggregationResponse) SetAmi(v string) *AmiAggregationResponse { + s.Ami = &v return s } -// SetImageTags sets the ImageTags field's value. -func (s *AwsEcrContainerAggregationResponse) SetImageTags(v []*string) *AwsEcrContainerAggregationResponse { - s.ImageTags = v +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *AmiAggregationResponse) SetSeverityCounts(v *SeverityCounts) *AmiAggregationResponse { + s.SeverityCounts = v return s } -// SetRepository sets the Repository field's value. -func (s *AwsEcrContainerAggregationResponse) SetRepository(v string) *AwsEcrContainerAggregationResponse { - s.Repository = &v - return s -} +type AssociateMemberInput struct { + _ struct{} `type:"structure"` -// SetResourceId sets the ResourceId field's value. -func (s *AwsEcrContainerAggregationResponse) SetResourceId(v string) *AwsEcrContainerAggregationResponse { - s.ResourceId = &v - return s + // The Amazon Web Services account ID of the member account to be associated. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *AwsEcrContainerAggregationResponse) SetSeverityCounts(v *SeverityCounts) *AwsEcrContainerAggregationResponse { - s.SeverityCounts = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateMemberInput) String() string { + return awsutil.Prettify(s) } -// The image details of the Amazon ECR container image. -type AwsEcrContainerImageDetails struct { - _ struct{} `type:"structure"` - - // The architecture of the Amazon ECR container image. - Architecture *string `locationName:"architecture" min:"1" type:"string"` - - // The image author of the Amazon ECR container image. - Author *string `locationName:"author" type:"string"` - - // The image hash of the Amazon ECR container image. - // - // ImageHash is a required field - ImageHash *string `locationName:"imageHash" min:"71" type:"string" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateMemberInput) GoString() string { + return s.String() +} - // The image tags attached to the Amazon ECR container image. - ImageTags []*string `locationName:"imageTags" type:"list"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateMemberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateMemberInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } - // The platform of the Amazon ECR container image. - Platform *string `locationName:"platform" min:"1" type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The date and time the Amazon ECR container image was pushed. - PushedAt *time.Time `locationName:"pushedAt" type:"timestamp"` +// SetAccountId sets the AccountId field's value. +func (s *AssociateMemberInput) SetAccountId(v string) *AssociateMemberInput { + s.AccountId = &v + return s +} - // The registry for the Amazon ECR container image. - // - // Registry is a required field - Registry *string `locationName:"registry" min:"1" type:"string" required:"true"` +type AssociateMemberOutput struct { + _ struct{} `type:"structure"` - // The name of the repository the Amazon ECR container image resides in. + // The Amazon Web Services account ID of the successfully associated member + // account. // - // RepositoryName is a required field - RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` } // String returns the string representation. @@ -6194,7 +7121,7 @@ type AwsEcrContainerImageDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AwsEcrContainerImageDetails) String() string { +func (s AssociateMemberOutput) String() string { return awsutil.Prettify(s) } @@ -6203,106 +7130,99 @@ func (s AwsEcrContainerImageDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AwsEcrContainerImageDetails) GoString() string { +func (s AssociateMemberOutput) GoString() string { return s.String() } -// SetArchitecture sets the Architecture field's value. -func (s *AwsEcrContainerImageDetails) SetArchitecture(v string) *AwsEcrContainerImageDetails { - s.Architecture = &v +// SetAccountId sets the AccountId field's value. +func (s *AssociateMemberOutput) SetAccountId(v string) *AssociateMemberOutput { + s.AccountId = &v return s } -// SetAuthor sets the Author field's value. -func (s *AwsEcrContainerImageDetails) SetAuthor(v string) *AwsEcrContainerImageDetails { - s.Author = &v - return s +// The Amazon Web Services Threat Intel Group (ATIG) details for a specific +// vulnerability. +type AtigData struct { + _ struct{} `type:"structure"` + + // The date and time this vulnerability was first observed. + FirstSeen *time.Time `locationName:"firstSeen" type:"timestamp"` + + // The date and time this vulnerability was last observed. + LastSeen *time.Time `locationName:"lastSeen" type:"timestamp"` + + // The commercial sectors this vulnerability targets. + Targets []*string `locationName:"targets" type:"list"` + + // The MITRE ATT&CK (https://attack.mitre.org/) tactics, techniques, and procedures + // (TTPs) associated with vulnerability. + Ttps []*string `locationName:"ttps" type:"list"` } -// SetImageHash sets the ImageHash field's value. -func (s *AwsEcrContainerImageDetails) SetImageHash(v string) *AwsEcrContainerImageDetails { - s.ImageHash = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AtigData) String() string { + return awsutil.Prettify(s) } -// SetImageTags sets the ImageTags field's value. -func (s *AwsEcrContainerImageDetails) SetImageTags(v []*string) *AwsEcrContainerImageDetails { - s.ImageTags = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AtigData) GoString() string { + return s.String() } -// SetPlatform sets the Platform field's value. -func (s *AwsEcrContainerImageDetails) SetPlatform(v string) *AwsEcrContainerImageDetails { - s.Platform = &v +// SetFirstSeen sets the FirstSeen field's value. +func (s *AtigData) SetFirstSeen(v time.Time) *AtigData { + s.FirstSeen = &v return s } -// SetPushedAt sets the PushedAt field's value. -func (s *AwsEcrContainerImageDetails) SetPushedAt(v time.Time) *AwsEcrContainerImageDetails { - s.PushedAt = &v +// SetLastSeen sets the LastSeen field's value. +func (s *AtigData) SetLastSeen(v time.Time) *AtigData { + s.LastSeen = &v return s } -// SetRegistry sets the Registry field's value. -func (s *AwsEcrContainerImageDetails) SetRegistry(v string) *AwsEcrContainerImageDetails { - s.Registry = &v +// SetTargets sets the Targets field's value. +func (s *AtigData) SetTargets(v []*string) *AtigData { + s.Targets = v return s } -// SetRepositoryName sets the RepositoryName field's value. -func (s *AwsEcrContainerImageDetails) SetRepositoryName(v string) *AwsEcrContainerImageDetails { - s.RepositoryName = &v +// SetTtps sets the Ttps field's value. +func (s *AtigData) SetTtps(v []*string) *AtigData { + s.Ttps = v return s } -// A summary of information about the AWS Lambda function. -type AwsLambdaFunctionDetails struct { +// Represents which scan types are automatically enabled for new members of +// your Amazon Inspector organization. +type AutoEnable struct { _ struct{} `type:"structure"` - // The instruction set architecture that the AWS Lambda function supports. Architecture - // is a string array with one of the valid values. The default architecture - // value is x86_64. - Architectures []*string `locationName:"architectures" min:"1" type:"list" enum:"Architecture"` - - // The SHA256 hash of the AWS Lambda function's deployment package. - // - // CodeSha256 is a required field - CodeSha256 *string `locationName:"codeSha256" min:"1" type:"string" required:"true"` - - // The AWS Lambda function's execution role. - // - // ExecutionRoleArn is a required field - ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string" required:"true"` - - // The name of the AWS Lambda function. + // Represents whether Amazon EC2 scans are automatically enabled for new members + // of your Amazon Inspector organization. // - // FunctionName is a required field - FunctionName *string `locationName:"functionName" type:"string" required:"true"` - - // The date and time that a user last updated the configuration, in ISO 8601 - // format (https://www.iso.org/iso-8601-date-and-time-format.html) - LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp"` - - // The AWS Lambda function's layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). - // A Lambda function can have up to five layers. - Layers []*string `locationName:"layers" min:"1" type:"list"` - - // The type of deployment package. Set to Image for container image and set - // Zip for .zip file archive. - PackageType *string `locationName:"packageType" type:"string" enum:"PackageType"` + // Ec2 is a required field + Ec2 *bool `locationName:"ec2" type:"boolean" required:"true"` - // The runtime environment for the AWS Lambda function. + // Represents whether Amazon ECR scans are automatically enabled for new members + // of your Amazon Inspector organization. // - // Runtime is a required field - Runtime *string `locationName:"runtime" type:"string" required:"true" enum:"Runtime"` + // Ecr is a required field + Ecr *bool `locationName:"ecr" type:"boolean" required:"true"` - // The version of the AWS Lambda function. - // - // Version is a required field - Version *string `locationName:"version" type:"string" required:"true"` + // Represents whether AWS Lambda standard scans are automatically enabled for + // new members of your Amazon Inspector organization. + Lambda *bool `locationName:"lambda" type:"boolean"` - // The AWS Lambda function's networking configuration. - VpcConfig *LambdaVpcConfig `locationName:"vpcConfig" type:"structure"` + LambdaCode *bool `locationName:"lambdaCode" type:"boolean"` } // String returns the string representation. @@ -6310,7 +7230,7 @@ type AwsLambdaFunctionDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AwsLambdaFunctionDetails) String() string { +func (s AutoEnable) String() string { return awsutil.Prettify(s) } @@ -6319,76 +7239,83 @@ func (s AwsLambdaFunctionDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AwsLambdaFunctionDetails) GoString() string { +func (s AutoEnable) GoString() string { return s.String() } -// SetArchitectures sets the Architectures field's value. -func (s *AwsLambdaFunctionDetails) SetArchitectures(v []*string) *AwsLambdaFunctionDetails { - s.Architectures = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *AutoEnable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AutoEnable"} + if s.Ec2 == nil { + invalidParams.Add(request.NewErrParamRequired("Ec2")) + } + if s.Ecr == nil { + invalidParams.Add(request.NewErrParamRequired("Ecr")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCodeSha256 sets the CodeSha256 field's value. -func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails { - s.CodeSha256 = &v +// SetEc2 sets the Ec2 field's value. +func (s *AutoEnable) SetEc2(v bool) *AutoEnable { + s.Ec2 = &v return s } -// SetExecutionRoleArn sets the ExecutionRoleArn field's value. -func (s *AwsLambdaFunctionDetails) SetExecutionRoleArn(v string) *AwsLambdaFunctionDetails { - s.ExecutionRoleArn = &v +// SetEcr sets the Ecr field's value. +func (s *AutoEnable) SetEcr(v bool) *AutoEnable { + s.Ecr = &v return s } -// SetFunctionName sets the FunctionName field's value. -func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails { - s.FunctionName = &v +// SetLambda sets the Lambda field's value. +func (s *AutoEnable) SetLambda(v bool) *AutoEnable { + s.Lambda = &v return s } -// SetLastModifiedAt sets the LastModifiedAt field's value. -func (s *AwsLambdaFunctionDetails) SetLastModifiedAt(v time.Time) *AwsLambdaFunctionDetails { - s.LastModifiedAt = &v +// SetLambdaCode sets the LambdaCode field's value. +func (s *AutoEnable) SetLambdaCode(v bool) *AutoEnable { + s.LambdaCode = &v return s } -// SetLayers sets the Layers field's value. -func (s *AwsLambdaFunctionDetails) SetLayers(v []*string) *AwsLambdaFunctionDetails { - s.Layers = v - return s -} +// Details of the Amazon EC2 instance involved in a finding. +type AwsEc2InstanceDetails struct { + _ struct{} `type:"structure"` -// SetPackageType sets the PackageType field's value. -func (s *AwsLambdaFunctionDetails) SetPackageType(v string) *AwsLambdaFunctionDetails { - s.PackageType = &v - return s -} + // The IAM instance profile ARN of the Amazon EC2 instance. + IamInstanceProfileArn *string `locationName:"iamInstanceProfileArn" min:"1" type:"string"` -// SetRuntime sets the Runtime field's value. -func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails { - s.Runtime = &v - return s -} + // The image ID of the Amazon EC2 instance. + ImageId *string `locationName:"imageId" min:"1" type:"string"` -// SetVersion sets the Version field's value. -func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails { - s.Version = &v - return s -} + // The IPv4 addresses of the Amazon EC2 instance. + IpV4Addresses []*string `locationName:"ipV4Addresses" type:"list"` -// SetVpcConfig sets the VpcConfig field's value. -func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *LambdaVpcConfig) *AwsLambdaFunctionDetails { - s.VpcConfig = v - return s -} + // The IPv6 addresses of the Amazon EC2 instance. + IpV6Addresses []*string `locationName:"ipV6Addresses" type:"list"` -// One or more tags submitted as part of the request is not valid. -type BadRequestException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The name of the key pair used to launch the Amazon EC2 instance. + KeyName *string `locationName:"keyName" min:"1" type:"string"` - Message_ *string `locationName:"message" type:"string"` + // The date and time the Amazon EC2 instance was launched at. + LaunchedAt *time.Time `locationName:"launchedAt" type:"timestamp"` + + // The platform of the Amazon EC2 instance. + Platform *string `locationName:"platform" min:"1" type:"string"` + + // The subnet ID of the Amazon EC2 instance. + SubnetId *string `locationName:"subnetId" min:"1" type:"string"` + + // The type of the Amazon EC2 instance. + Type *string `locationName:"type" min:"1" type:"string"` + + // The VPC ID of the Amazon EC2 instance. + VpcId *string `locationName:"vpcId" min:"1" type:"string"` } // String returns the string representation. @@ -6396,7 +7323,7 @@ type BadRequestException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BadRequestException) String() string { +func (s AwsEc2InstanceDetails) String() string { return awsutil.Prettify(s) } @@ -6405,132 +7332,94 @@ func (s BadRequestException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BadRequestException) GoString() string { +func (s AwsEc2InstanceDetails) GoString() string { return s.String() } -func newErrorBadRequestException(v protocol.ResponseMetadata) error { - return &BadRequestException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *BadRequestException) Code() string { - return "BadRequestException" +// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value. +func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails { + s.IamInstanceProfileArn = &v + return s } -// Message returns the exception's message. -func (s *BadRequestException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetImageId sets the ImageId field's value. +func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails { + s.ImageId = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *BadRequestException) OrigErr() error { - return nil +// SetIpV4Addresses sets the IpV4Addresses field's value. +func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails { + s.IpV4Addresses = v + return s } -func (s *BadRequestException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetIpV6Addresses sets the IpV6Addresses field's value. +func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails { + s.IpV6Addresses = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *BadRequestException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetKeyName sets the KeyName field's value. +func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails { + s.KeyName = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *BadRequestException) RequestID() string { - return s.RespMetadata.RequestID +// SetLaunchedAt sets the LaunchedAt field's value. +func (s *AwsEc2InstanceDetails) SetLaunchedAt(v time.Time) *AwsEc2InstanceDetails { + s.LaunchedAt = &v + return s } -type BatchGetAccountStatusInput struct { - _ struct{} `type:"structure"` - - // The 12-digit Amazon Web Services account IDs of the accounts to retrieve - // Amazon Inspector status for. - AccountIds []*string `locationName:"accountIds" type:"list"` +// SetPlatform sets the Platform field's value. +func (s *AwsEc2InstanceDetails) SetPlatform(v string) *AwsEc2InstanceDetails { + s.Platform = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetAccountStatusInput) String() string { - return awsutil.Prettify(s) +// SetSubnetId sets the SubnetId field's value. +func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails { + s.SubnetId = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetAccountStatusInput) GoString() string { - return s.String() +// SetType sets the Type field's value. +func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails { + s.Type = &v + return s } -// SetAccountIds sets the AccountIds field's value. -func (s *BatchGetAccountStatusInput) SetAccountIds(v []*string) *BatchGetAccountStatusInput { - s.AccountIds = v +// SetVpcId sets the VpcId field's value. +func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails { + s.VpcId = &v return s } -type BatchGetAccountStatusOutput struct { +// An aggregation of information about Amazon ECR containers. +type AwsEcrContainerAggregation struct { _ struct{} `type:"structure"` - // An array of objects that provide details on the status of Amazon Inspector - // for each of the requested accounts. - // - // Accounts is a required field - Accounts []*AccountState `locationName:"accounts" type:"list" required:"true"` - - // An array of objects detailing any accounts that failed to enable Amazon Inspector - // and why. - FailedAccounts []*FailedAccount `locationName:"failedAccounts" type:"list"` -} + // The architecture of the containers. + Architectures []*StringFilter `locationName:"architectures" min:"1" type:"list"` -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetAccountStatusOutput) String() string { - return awsutil.Prettify(s) -} + // The image SHA values. + ImageShas []*StringFilter `locationName:"imageShas" min:"1" type:"list"` -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetAccountStatusOutput) GoString() string { - return s.String() -} + // The image tags. + ImageTags []*StringFilter `locationName:"imageTags" min:"1" type:"list"` -// SetAccounts sets the Accounts field's value. -func (s *BatchGetAccountStatusOutput) SetAccounts(v []*AccountState) *BatchGetAccountStatusOutput { - s.Accounts = v - return s -} + // The container repositories. + Repositories []*StringFilter `locationName:"repositories" min:"1" type:"list"` -// SetFailedAccounts sets the FailedAccounts field's value. -func (s *BatchGetAccountStatusOutput) SetFailedAccounts(v []*FailedAccount) *BatchGetAccountStatusOutput { - s.FailedAccounts = v - return s -} + // The container resource IDs. + ResourceIds []*StringFilter `locationName:"resourceIds" min:"1" type:"list"` -type BatchGetCodeSnippetInput struct { - _ struct{} `type:"structure"` + // The value to sort by. + SortBy *string `locationName:"sortBy" type:"string" enum:"AwsEcrContainerSortBy"` - // An array of finding ARNs for the findings you want to retrieve code snippets - // from. - // - // FindingArns is a required field - FindingArns []*string `locationName:"findingArns" min:"1" type:"list" required:"true"` + // The sort order (ascending or descending). + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` } // String returns the string representation. @@ -6538,7 +7427,7 @@ type BatchGetCodeSnippetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetCodeSnippetInput) String() string { +func (s AwsEcrContainerAggregation) String() string { return awsutil.Prettify(s) } @@ -6547,80 +7436,153 @@ func (s BatchGetCodeSnippetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetCodeSnippetInput) GoString() string { +func (s AwsEcrContainerAggregation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetCodeSnippetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetCodeSnippetInput"} - if s.FindingArns == nil { - invalidParams.Add(request.NewErrParamRequired("FindingArns")) +func (s *AwsEcrContainerAggregation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AwsEcrContainerAggregation"} + if s.Architectures != nil && len(s.Architectures) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Architectures", 1)) } - if s.FindingArns != nil && len(s.FindingArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FindingArns", 1)) + if s.ImageShas != nil && len(s.ImageShas) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImageShas", 1)) } - - if invalidParams.Len() > 0 { - return invalidParams + if s.ImageTags != nil && len(s.ImageTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ImageTags", 1)) } - return nil -} - -// SetFindingArns sets the FindingArns field's value. -func (s *BatchGetCodeSnippetInput) SetFindingArns(v []*string) *BatchGetCodeSnippetInput { - s.FindingArns = v - return s -} - -type BatchGetCodeSnippetOutput struct { - _ struct{} `type:"structure"` - - // The retrieved code snippets associated with the provided finding ARNs. - CodeSnippetResults []*CodeSnippetResult `locationName:"codeSnippetResults" type:"list"` - - // Any errors Amazon Inspector encountered while trying to retrieve the requested - // code snippets. - Errors []*CodeSnippetError `locationName:"errors" type:"list"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetCodeSnippetOutput) String() string { - return awsutil.Prettify(s) + if s.Repositories != nil && len(s.Repositories) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Repositories", 1)) + } + if s.ResourceIds != nil && len(s.ResourceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) + } + if s.Architectures != nil { + for i, v := range s.Architectures { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Architectures", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ImageShas != nil { + for i, v := range s.ImageShas { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ImageShas", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ImageTags != nil { + for i, v := range s.ImageTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ImageTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Repositories != nil { + for i, v := range s.Repositories { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Repositories", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceIds != nil { + for i, v := range s.ResourceIds { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIds", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetCodeSnippetOutput) GoString() string { - return s.String() +// SetArchitectures sets the Architectures field's value. +func (s *AwsEcrContainerAggregation) SetArchitectures(v []*StringFilter) *AwsEcrContainerAggregation { + s.Architectures = v + return s } -// SetCodeSnippetResults sets the CodeSnippetResults field's value. -func (s *BatchGetCodeSnippetOutput) SetCodeSnippetResults(v []*CodeSnippetResult) *BatchGetCodeSnippetOutput { - s.CodeSnippetResults = v +// SetImageShas sets the ImageShas field's value. +func (s *AwsEcrContainerAggregation) SetImageShas(v []*StringFilter) *AwsEcrContainerAggregation { + s.ImageShas = v return s } -// SetErrors sets the Errors field's value. -func (s *BatchGetCodeSnippetOutput) SetErrors(v []*CodeSnippetError) *BatchGetCodeSnippetOutput { - s.Errors = v +// SetImageTags sets the ImageTags field's value. +func (s *AwsEcrContainerAggregation) SetImageTags(v []*StringFilter) *AwsEcrContainerAggregation { + s.ImageTags = v return s } -type BatchGetFindingDetailsInput struct { +// SetRepositories sets the Repositories field's value. +func (s *AwsEcrContainerAggregation) SetRepositories(v []*StringFilter) *AwsEcrContainerAggregation { + s.Repositories = v + return s +} + +// SetResourceIds sets the ResourceIds field's value. +func (s *AwsEcrContainerAggregation) SetResourceIds(v []*StringFilter) *AwsEcrContainerAggregation { + s.ResourceIds = v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *AwsEcrContainerAggregation) SetSortBy(v string) *AwsEcrContainerAggregation { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *AwsEcrContainerAggregation) SetSortOrder(v string) *AwsEcrContainerAggregation { + s.SortOrder = &v + return s +} + +// An aggregation of information about Amazon ECR containers. +type AwsEcrContainerAggregationResponse struct { _ struct{} `type:"structure"` - // A list of finding ARNs. + // The Amazon Web Services account ID of the account that owns the container. + AccountId *string `locationName:"accountId" min:"12" type:"string"` + + // The architecture of the container. + Architecture *string `locationName:"architecture" type:"string"` + + // The SHA value of the container image. + ImageSha *string `locationName:"imageSha" type:"string"` + + // The container image stags. + ImageTags []*string `locationName:"imageTags" type:"list"` + + // The container repository. + Repository *string `locationName:"repository" type:"string"` + + // The resource ID of the container. // - // FindingArns is a required field - FindingArns []*string `locationName:"findingArns" min:"1" type:"list" required:"true"` + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"` + + // The number of finding by severity. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` } // String returns the string representation. @@ -6628,7 +7590,7 @@ type BatchGetFindingDetailsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetFindingDetailsInput) String() string { +func (s AwsEcrContainerAggregationResponse) String() string { return awsutil.Prettify(s) } @@ -6637,79 +7599,85 @@ func (s BatchGetFindingDetailsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetFindingDetailsInput) GoString() string { +func (s AwsEcrContainerAggregationResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetFindingDetailsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetFindingDetailsInput"} - if s.FindingArns == nil { - invalidParams.Add(request.NewErrParamRequired("FindingArns")) - } - if s.FindingArns != nil && len(s.FindingArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FindingArns", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAccountId sets the AccountId field's value. +func (s *AwsEcrContainerAggregationResponse) SetAccountId(v string) *AwsEcrContainerAggregationResponse { + s.AccountId = &v + return s } -// SetFindingArns sets the FindingArns field's value. -func (s *BatchGetFindingDetailsInput) SetFindingArns(v []*string) *BatchGetFindingDetailsInput { - s.FindingArns = v +// SetArchitecture sets the Architecture field's value. +func (s *AwsEcrContainerAggregationResponse) SetArchitecture(v string) *AwsEcrContainerAggregationResponse { + s.Architecture = &v return s } -type BatchGetFindingDetailsOutput struct { - _ struct{} `type:"structure"` - - // Error information for findings that details could not be returned for. - Errors []*FindingDetailsError `locationName:"errors" type:"list"` - - // A finding's vulnerability details. - FindingDetails []*FindingDetail `locationName:"findingDetails" type:"list"` +// SetImageSha sets the ImageSha field's value. +func (s *AwsEcrContainerAggregationResponse) SetImageSha(v string) *AwsEcrContainerAggregationResponse { + s.ImageSha = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetFindingDetailsOutput) String() string { - return awsutil.Prettify(s) +// SetImageTags sets the ImageTags field's value. +func (s *AwsEcrContainerAggregationResponse) SetImageTags(v []*string) *AwsEcrContainerAggregationResponse { + s.ImageTags = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchGetFindingDetailsOutput) GoString() string { - return s.String() +// SetRepository sets the Repository field's value. +func (s *AwsEcrContainerAggregationResponse) SetRepository(v string) *AwsEcrContainerAggregationResponse { + s.Repository = &v + return s } -// SetErrors sets the Errors field's value. -func (s *BatchGetFindingDetailsOutput) SetErrors(v []*FindingDetailsError) *BatchGetFindingDetailsOutput { - s.Errors = v +// SetResourceId sets the ResourceId field's value. +func (s *AwsEcrContainerAggregationResponse) SetResourceId(v string) *AwsEcrContainerAggregationResponse { + s.ResourceId = &v return s } -// SetFindingDetails sets the FindingDetails field's value. -func (s *BatchGetFindingDetailsOutput) SetFindingDetails(v []*FindingDetail) *BatchGetFindingDetailsOutput { - s.FindingDetails = v +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *AwsEcrContainerAggregationResponse) SetSeverityCounts(v *SeverityCounts) *AwsEcrContainerAggregationResponse { + s.SeverityCounts = v return s } -type BatchGetFreeTrialInfoInput struct { +// The image details of the Amazon ECR container image. +type AwsEcrContainerImageDetails struct { _ struct{} `type:"structure"` - // The account IDs to get free trial status for. + // The architecture of the Amazon ECR container image. + Architecture *string `locationName:"architecture" min:"1" type:"string"` + + // The image author of the Amazon ECR container image. + Author *string `locationName:"author" type:"string"` + + // The image hash of the Amazon ECR container image. // - // AccountIds is a required field - AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` + // ImageHash is a required field + ImageHash *string `locationName:"imageHash" min:"71" type:"string" required:"true"` + + // The image tags attached to the Amazon ECR container image. + ImageTags []*string `locationName:"imageTags" type:"list"` + + // The platform of the Amazon ECR container image. + Platform *string `locationName:"platform" min:"1" type:"string"` + + // The date and time the Amazon ECR container image was pushed. + PushedAt *time.Time `locationName:"pushedAt" type:"timestamp"` + + // The registry for the Amazon ECR container image. + // + // Registry is a required field + Registry *string `locationName:"registry" min:"1" type:"string" required:"true"` + + // The name of the repository the Amazon ECR container image resides in. + // + // RepositoryName is a required field + RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6717,7 +7685,7 @@ type BatchGetFreeTrialInfoInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetFreeTrialInfoInput) String() string { +func (s AwsEcrContainerImageDetails) String() string { return awsutil.Prettify(s) } @@ -6726,46 +7694,106 @@ func (s BatchGetFreeTrialInfoInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetFreeTrialInfoInput) GoString() string { +func (s AwsEcrContainerImageDetails) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetFreeTrialInfoInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetFreeTrialInfoInput"} - if s.AccountIds == nil { - invalidParams.Add(request.NewErrParamRequired("AccountIds")) - } - if s.AccountIds != nil && len(s.AccountIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) - } +// SetArchitecture sets the Architecture field's value. +func (s *AwsEcrContainerImageDetails) SetArchitecture(v string) *AwsEcrContainerImageDetails { + s.Architecture = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAuthor sets the Author field's value. +func (s *AwsEcrContainerImageDetails) SetAuthor(v string) *AwsEcrContainerImageDetails { + s.Author = &v + return s } -// SetAccountIds sets the AccountIds field's value. -func (s *BatchGetFreeTrialInfoInput) SetAccountIds(v []*string) *BatchGetFreeTrialInfoInput { - s.AccountIds = v +// SetImageHash sets the ImageHash field's value. +func (s *AwsEcrContainerImageDetails) SetImageHash(v string) *AwsEcrContainerImageDetails { + s.ImageHash = &v return s } -type BatchGetFreeTrialInfoOutput struct { +// SetImageTags sets the ImageTags field's value. +func (s *AwsEcrContainerImageDetails) SetImageTags(v []*string) *AwsEcrContainerImageDetails { + s.ImageTags = v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *AwsEcrContainerImageDetails) SetPlatform(v string) *AwsEcrContainerImageDetails { + s.Platform = &v + return s +} + +// SetPushedAt sets the PushedAt field's value. +func (s *AwsEcrContainerImageDetails) SetPushedAt(v time.Time) *AwsEcrContainerImageDetails { + s.PushedAt = &v + return s +} + +// SetRegistry sets the Registry field's value. +func (s *AwsEcrContainerImageDetails) SetRegistry(v string) *AwsEcrContainerImageDetails { + s.Registry = &v + return s +} + +// SetRepositoryName sets the RepositoryName field's value. +func (s *AwsEcrContainerImageDetails) SetRepositoryName(v string) *AwsEcrContainerImageDetails { + s.RepositoryName = &v + return s +} + +// A summary of information about the AWS Lambda function. +type AwsLambdaFunctionDetails struct { _ struct{} `type:"structure"` - // An array of objects that provide Amazon Inspector free trial details for - // each of the requested accounts. + // The instruction set architecture that the AWS Lambda function supports. Architecture + // is a string array with one of the valid values. The default architecture + // value is x86_64. + Architectures []*string `locationName:"architectures" min:"1" type:"list" enum:"Architecture"` + + // The SHA256 hash of the AWS Lambda function's deployment package. // - // Accounts is a required field - Accounts []*FreeTrialAccountInfo `locationName:"accounts" type:"list" required:"true"` + // CodeSha256 is a required field + CodeSha256 *string `locationName:"codeSha256" min:"1" type:"string" required:"true"` - // An array of objects detailing any accounts that free trial data could not - // be returned for. + // The AWS Lambda function's execution role. // - // FailedAccounts is a required field - FailedAccounts []*FreeTrialInfoError `locationName:"failedAccounts" type:"list" required:"true"` + // ExecutionRoleArn is a required field + ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string" required:"true"` + + // The name of the AWS Lambda function. + // + // FunctionName is a required field + FunctionName *string `locationName:"functionName" type:"string" required:"true"` + + // The date and time that a user last updated the configuration, in ISO 8601 + // format (https://www.iso.org/iso-8601-date-and-time-format.html) + LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp"` + + // The AWS Lambda function's layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). + // A Lambda function can have up to five layers. + Layers []*string `locationName:"layers" min:"1" type:"list"` + + // The type of deployment package. Set to Image for container image and set + // Zip for .zip file archive. + PackageType *string `locationName:"packageType" type:"string" enum:"PackageType"` + + // The runtime environment for the AWS Lambda function. + // + // Runtime is a required field + Runtime *string `locationName:"runtime" type:"string" required:"true" enum:"Runtime"` + + // The version of the AWS Lambda function. + // + // Version is a required field + Version *string `locationName:"version" type:"string" required:"true"` + + // The AWS Lambda function's networking configuration. + VpcConfig *LambdaVpcConfig `locationName:"vpcConfig" type:"structure"` } // String returns the string representation. @@ -6773,7 +7801,7 @@ type BatchGetFreeTrialInfoOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetFreeTrialInfoOutput) String() string { +func (s AwsLambdaFunctionDetails) String() string { return awsutil.Prettify(s) } @@ -6782,26 +7810,76 @@ func (s BatchGetFreeTrialInfoOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetFreeTrialInfoOutput) GoString() string { +func (s AwsLambdaFunctionDetails) GoString() string { return s.String() } -// SetAccounts sets the Accounts field's value. -func (s *BatchGetFreeTrialInfoOutput) SetAccounts(v []*FreeTrialAccountInfo) *BatchGetFreeTrialInfoOutput { - s.Accounts = v +// SetArchitectures sets the Architectures field's value. +func (s *AwsLambdaFunctionDetails) SetArchitectures(v []*string) *AwsLambdaFunctionDetails { + s.Architectures = v return s } -// SetFailedAccounts sets the FailedAccounts field's value. -func (s *BatchGetFreeTrialInfoOutput) SetFailedAccounts(v []*FreeTrialInfoError) *BatchGetFreeTrialInfoOutput { - s.FailedAccounts = v +// SetCodeSha256 sets the CodeSha256 field's value. +func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails { + s.CodeSha256 = &v return s } -type BatchGetMemberEc2DeepInspectionStatusInput struct { - _ struct{} `type:"structure"` +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *AwsLambdaFunctionDetails) SetExecutionRoleArn(v string) *AwsLambdaFunctionDetails { + s.ExecutionRoleArn = &v + return s +} - AccountIds []*string `locationName:"accountIds" type:"list"` +// SetFunctionName sets the FunctionName field's value. +func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails { + s.FunctionName = &v + return s +} + +// SetLastModifiedAt sets the LastModifiedAt field's value. +func (s *AwsLambdaFunctionDetails) SetLastModifiedAt(v time.Time) *AwsLambdaFunctionDetails { + s.LastModifiedAt = &v + return s +} + +// SetLayers sets the Layers field's value. +func (s *AwsLambdaFunctionDetails) SetLayers(v []*string) *AwsLambdaFunctionDetails { + s.Layers = v + return s +} + +// SetPackageType sets the PackageType field's value. +func (s *AwsLambdaFunctionDetails) SetPackageType(v string) *AwsLambdaFunctionDetails { + s.PackageType = &v + return s +} + +// SetRuntime sets the Runtime field's value. +func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails { + s.Runtime = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails { + s.Version = &v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *LambdaVpcConfig) *AwsLambdaFunctionDetails { + s.VpcConfig = v + return s +} + +// One or more tags submitted as part of the request is not valid. +type BadRequestException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -6809,7 +7887,7 @@ type BatchGetMemberEc2DeepInspectionStatusInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetMemberEc2DeepInspectionStatusInput) String() string { +func (s BadRequestException) String() string { return awsutil.Prettify(s) } @@ -6818,22 +7896,54 @@ func (s BatchGetMemberEc2DeepInspectionStatusInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetMemberEc2DeepInspectionStatusInput) GoString() string { +func (s BadRequestException) GoString() string { return s.String() } -// SetAccountIds sets the AccountIds field's value. -func (s *BatchGetMemberEc2DeepInspectionStatusInput) SetAccountIds(v []*string) *BatchGetMemberEc2DeepInspectionStatusInput { - s.AccountIds = v - return s +func newErrorBadRequestException(v protocol.ResponseMetadata) error { + return &BadRequestException{ + RespMetadata: v, + } } -type BatchGetMemberEc2DeepInspectionStatusOutput struct { - _ struct{} `type:"structure"` +// Code returns the exception type name. +func (s *BadRequestException) Code() string { + return "BadRequestException" +} - AccountIds []*MemberAccountEc2DeepInspectionStatusState `locationName:"accountIds" type:"list"` +// Message returns the exception's message. +func (s *BadRequestException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - FailedAccountIds []*FailedMemberAccountEc2DeepInspectionStatusState `locationName:"failedAccountIds" type:"list"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *BadRequestException) OrigErr() error { + return nil +} + +func (s *BadRequestException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *BadRequestException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *BadRequestException) RequestID() string { + return s.RespMetadata.RequestID +} + +type BatchGetAccountStatusInput struct { + _ struct{} `type:"structure"` + + // The 12-digit Amazon Web Services account IDs of the accounts to retrieve + // Amazon Inspector status for. + AccountIds []*string `locationName:"accountIds" type:"list"` } // String returns the string representation. @@ -6841,7 +7951,7 @@ type BatchGetMemberEc2DeepInspectionStatusOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetMemberEc2DeepInspectionStatusOutput) String() string { +func (s BatchGetAccountStatusInput) String() string { return awsutil.Prettify(s) } @@ -6850,30 +7960,28 @@ func (s BatchGetMemberEc2DeepInspectionStatusOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetMemberEc2DeepInspectionStatusOutput) GoString() string { +func (s BatchGetAccountStatusInput) GoString() string { return s.String() } // SetAccountIds sets the AccountIds field's value. -func (s *BatchGetMemberEc2DeepInspectionStatusOutput) SetAccountIds(v []*MemberAccountEc2DeepInspectionStatusState) *BatchGetMemberEc2DeepInspectionStatusOutput { +func (s *BatchGetAccountStatusInput) SetAccountIds(v []*string) *BatchGetAccountStatusInput { s.AccountIds = v return s } -// SetFailedAccountIds sets the FailedAccountIds field's value. -func (s *BatchGetMemberEc2DeepInspectionStatusOutput) SetFailedAccountIds(v []*FailedMemberAccountEc2DeepInspectionStatusState) *BatchGetMemberEc2DeepInspectionStatusOutput { - s.FailedAccountIds = v - return s -} - -type BatchUpdateMemberEc2DeepInspectionStatusInput struct { +type BatchGetAccountStatusOutput struct { _ struct{} `type:"structure"` - // The unique identifiers for the Amazon Web Services accounts to change Amazon - // Inspector deep inspection status for. + // An array of objects that provide details on the status of Amazon Inspector + // for each of the requested accounts. // - // AccountIds is a required field - AccountIds []*MemberAccountEc2DeepInspectionStatus `locationName:"accountIds" type:"list" required:"true"` + // Accounts is a required field + Accounts []*AccountState `locationName:"accounts" type:"list" required:"true"` + + // An array of objects detailing any accounts that failed to enable Amazon Inspector + // and why. + FailedAccounts []*FailedAccount `locationName:"failedAccounts" type:"list"` } // String returns the string representation. @@ -6881,7 +7989,7 @@ type BatchUpdateMemberEc2DeepInspectionStatusInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchUpdateMemberEc2DeepInspectionStatusInput) String() string { +func (s BatchGetAccountStatusOutput) String() string { return awsutil.Prettify(s) } @@ -6890,25 +7998,58 @@ func (s BatchUpdateMemberEc2DeepInspectionStatusInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchUpdateMemberEc2DeepInspectionStatusInput) GoString() string { +func (s BatchGetAccountStatusOutput) GoString() string { + return s.String() +} + +// SetAccounts sets the Accounts field's value. +func (s *BatchGetAccountStatusOutput) SetAccounts(v []*AccountState) *BatchGetAccountStatusOutput { + s.Accounts = v + return s +} + +// SetFailedAccounts sets the FailedAccounts field's value. +func (s *BatchGetAccountStatusOutput) SetFailedAccounts(v []*FailedAccount) *BatchGetAccountStatusOutput { + s.FailedAccounts = v + return s +} + +type BatchGetCodeSnippetInput struct { + _ struct{} `type:"structure"` + + // An array of finding ARNs for the findings you want to retrieve code snippets + // from. + // + // FindingArns is a required field + FindingArns []*string `locationName:"findingArns" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetCodeSnippetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetCodeSnippetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchUpdateMemberEc2DeepInspectionStatusInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchUpdateMemberEc2DeepInspectionStatusInput"} - if s.AccountIds == nil { - invalidParams.Add(request.NewErrParamRequired("AccountIds")) +func (s *BatchGetCodeSnippetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetCodeSnippetInput"} + if s.FindingArns == nil { + invalidParams.Add(request.NewErrParamRequired("FindingArns")) } - if s.AccountIds != nil { - for i, v := range s.AccountIds { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountIds", i), err.(request.ErrInvalidParams)) - } - } + if s.FindingArns != nil && len(s.FindingArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FindingArns", 1)) } if invalidParams.Len() > 0 { @@ -6917,22 +8058,21 @@ func (s *BatchUpdateMemberEc2DeepInspectionStatusInput) Validate() error { return nil } -// SetAccountIds sets the AccountIds field's value. -func (s *BatchUpdateMemberEc2DeepInspectionStatusInput) SetAccountIds(v []*MemberAccountEc2DeepInspectionStatus) *BatchUpdateMemberEc2DeepInspectionStatusInput { - s.AccountIds = v +// SetFindingArns sets the FindingArns field's value. +func (s *BatchGetCodeSnippetInput) SetFindingArns(v []*string) *BatchGetCodeSnippetInput { + s.FindingArns = v return s } -type BatchUpdateMemberEc2DeepInspectionStatusOutput struct { +type BatchGetCodeSnippetOutput struct { _ struct{} `type:"structure"` - // An array of objects that provide details for each of the accounts that Amazon - // Inspector deep inspection status was successfully changed for. - AccountIds []*MemberAccountEc2DeepInspectionStatusState `locationName:"accountIds" type:"list"` + // The retrieved code snippets associated with the provided finding ARNs. + CodeSnippetResults []*CodeSnippetResult `locationName:"codeSnippetResults" type:"list"` - // An array of objects that provide details for each of the accounts that Amazon - // Inspector deep inspection status could not be successfully changed for. - FailedAccountIds []*FailedMemberAccountEc2DeepInspectionStatusState `locationName:"failedAccountIds" type:"list"` + // Any errors Amazon Inspector encountered while trying to retrieve the requested + // code snippets. + Errors []*CodeSnippetError `locationName:"errors" type:"list"` } // String returns the string representation. @@ -6940,7 +8080,7 @@ type BatchUpdateMemberEc2DeepInspectionStatusOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchUpdateMemberEc2DeepInspectionStatusOutput) String() string { +func (s BatchGetCodeSnippetOutput) String() string { return awsutil.Prettify(s) } @@ -6949,29 +8089,29 @@ func (s BatchUpdateMemberEc2DeepInspectionStatusOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchUpdateMemberEc2DeepInspectionStatusOutput) GoString() string { +func (s BatchGetCodeSnippetOutput) GoString() string { return s.String() } -// SetAccountIds sets the AccountIds field's value. -func (s *BatchUpdateMemberEc2DeepInspectionStatusOutput) SetAccountIds(v []*MemberAccountEc2DeepInspectionStatusState) *BatchUpdateMemberEc2DeepInspectionStatusOutput { - s.AccountIds = v +// SetCodeSnippetResults sets the CodeSnippetResults field's value. +func (s *BatchGetCodeSnippetOutput) SetCodeSnippetResults(v []*CodeSnippetResult) *BatchGetCodeSnippetOutput { + s.CodeSnippetResults = v return s } -// SetFailedAccountIds sets the FailedAccountIds field's value. -func (s *BatchUpdateMemberEc2DeepInspectionStatusOutput) SetFailedAccountIds(v []*FailedMemberAccountEc2DeepInspectionStatusState) *BatchUpdateMemberEc2DeepInspectionStatusOutput { - s.FailedAccountIds = v +// SetErrors sets the Errors field's value. +func (s *BatchGetCodeSnippetOutput) SetErrors(v []*CodeSnippetError) *BatchGetCodeSnippetOutput { + s.Errors = v return s } -type CancelFindingsReportInput struct { +type BatchGetFindingDetailsInput struct { _ struct{} `type:"structure"` - // The ID of the report to be canceled. + // A list of finding ARNs. // - // ReportId is a required field - ReportId *string `locationName:"reportId" type:"string" required:"true"` + // FindingArns is a required field + FindingArns []*string `locationName:"findingArns" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -6979,7 +8119,7 @@ type CancelFindingsReportInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelFindingsReportInput) String() string { +func (s BatchGetFindingDetailsInput) String() string { return awsutil.Prettify(s) } @@ -6988,15 +8128,18 @@ func (s CancelFindingsReportInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelFindingsReportInput) GoString() string { +func (s BatchGetFindingDetailsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CancelFindingsReportInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelFindingsReportInput"} - if s.ReportId == nil { - invalidParams.Add(request.NewErrParamRequired("ReportId")) +func (s *BatchGetFindingDetailsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetFindingDetailsInput"} + if s.FindingArns == nil { + invalidParams.Add(request.NewErrParamRequired("FindingArns")) + } + if s.FindingArns != nil && len(s.FindingArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FindingArns", 1)) } if invalidParams.Len() > 0 { @@ -7005,19 +8148,20 @@ func (s *CancelFindingsReportInput) Validate() error { return nil } -// SetReportId sets the ReportId field's value. -func (s *CancelFindingsReportInput) SetReportId(v string) *CancelFindingsReportInput { - s.ReportId = &v +// SetFindingArns sets the FindingArns field's value. +func (s *BatchGetFindingDetailsInput) SetFindingArns(v []*string) *BatchGetFindingDetailsInput { + s.FindingArns = v return s } -type CancelFindingsReportOutput struct { +type BatchGetFindingDetailsOutput struct { _ struct{} `type:"structure"` - // The ID of the canceled report. - // - // ReportId is a required field - ReportId *string `locationName:"reportId" type:"string" required:"true"` + // Error information for findings that details could not be returned for. + Errors []*FindingDetailsError `locationName:"errors" type:"list"` + + // A finding's vulnerability details. + FindingDetails []*FindingDetail `locationName:"findingDetails" type:"list"` } // String returns the string representation. @@ -7025,7 +8169,7 @@ type CancelFindingsReportOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelFindingsReportOutput) String() string { +func (s BatchGetFindingDetailsOutput) String() string { return awsutil.Prettify(s) } @@ -7034,23 +8178,29 @@ func (s CancelFindingsReportOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelFindingsReportOutput) GoString() string { +func (s BatchGetFindingDetailsOutput) GoString() string { return s.String() } -// SetReportId sets the ReportId field's value. -func (s *CancelFindingsReportOutput) SetReportId(v string) *CancelFindingsReportOutput { - s.ReportId = &v +// SetErrors sets the Errors field's value. +func (s *BatchGetFindingDetailsOutput) SetErrors(v []*FindingDetailsError) *BatchGetFindingDetailsOutput { + s.Errors = v return s } -type CancelSbomExportInput struct { +// SetFindingDetails sets the FindingDetails field's value. +func (s *BatchGetFindingDetailsOutput) SetFindingDetails(v []*FindingDetail) *BatchGetFindingDetailsOutput { + s.FindingDetails = v + return s +} + +type BatchGetFreeTrialInfoInput struct { _ struct{} `type:"structure"` - // The report ID of the SBOM export to cancel. + // The account IDs to get free trial status for. // - // ReportId is a required field - ReportId *string `locationName:"reportId" type:"string" required:"true"` + // AccountIds is a required field + AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -7058,7 +8208,7 @@ type CancelSbomExportInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelSbomExportInput) String() string { +func (s BatchGetFreeTrialInfoInput) String() string { return awsutil.Prettify(s) } @@ -7067,15 +8217,18 @@ func (s CancelSbomExportInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelSbomExportInput) GoString() string { +func (s BatchGetFreeTrialInfoInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CancelSbomExportInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelSbomExportInput"} - if s.ReportId == nil { - invalidParams.Add(request.NewErrParamRequired("ReportId")) +func (s *BatchGetFreeTrialInfoInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetFreeTrialInfoInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) } if invalidParams.Len() > 0 { @@ -7084,17 +8237,26 @@ func (s *CancelSbomExportInput) Validate() error { return nil } -// SetReportId sets the ReportId field's value. -func (s *CancelSbomExportInput) SetReportId(v string) *CancelSbomExportInput { - s.ReportId = &v +// SetAccountIds sets the AccountIds field's value. +func (s *BatchGetFreeTrialInfoInput) SetAccountIds(v []*string) *BatchGetFreeTrialInfoInput { + s.AccountIds = v return s } -type CancelSbomExportOutput struct { +type BatchGetFreeTrialInfoOutput struct { _ struct{} `type:"structure"` - // The report ID of the canceled SBOM export. - ReportId *string `locationName:"reportId" type:"string"` + // An array of objects that provide Amazon Inspector free trial details for + // each of the requested accounts. + // + // Accounts is a required field + Accounts []*FreeTrialAccountInfo `locationName:"accounts" type:"list" required:"true"` + + // An array of objects detailing any accounts that free trial data could not + // be returned for. + // + // FailedAccounts is a required field + FailedAccounts []*FreeTrialInfoError `locationName:"failedAccounts" type:"list" required:"true"` } // String returns the string representation. @@ -7102,7 +8264,7 @@ type CancelSbomExportOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelSbomExportOutput) String() string { +func (s BatchGetFreeTrialInfoOutput) String() string { return awsutil.Prettify(s) } @@ -7111,29 +8273,26 @@ func (s CancelSbomExportOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelSbomExportOutput) GoString() string { +func (s BatchGetFreeTrialInfoOutput) GoString() string { return s.String() } -// SetReportId sets the ReportId field's value. -func (s *CancelSbomExportOutput) SetReportId(v string) *CancelSbomExportOutput { - s.ReportId = &v +// SetAccounts sets the Accounts field's value. +func (s *BatchGetFreeTrialInfoOutput) SetAccounts(v []*FreeTrialAccountInfo) *BatchGetFreeTrialInfoOutput { + s.Accounts = v return s } -// The Cybersecurity and Infrastructure Security Agency (CISA) details for a -// specific vulnerability. -type CisaData struct { - _ struct{} `type:"structure"` - - // The remediation action recommended by CISA for this vulnerability. - Action *string `locationName:"action" type:"string"` +// SetFailedAccounts sets the FailedAccounts field's value. +func (s *BatchGetFreeTrialInfoOutput) SetFailedAccounts(v []*FreeTrialInfoError) *BatchGetFreeTrialInfoOutput { + s.FailedAccounts = v + return s +} - // The date and time CISA added this vulnerability to their catalogue. - DateAdded *time.Time `locationName:"dateAdded" type:"timestamp"` +type BatchGetMemberEc2DeepInspectionStatusInput struct { + _ struct{} `type:"structure"` - // The date and time CISA expects a fix to have been provided vulnerability. - DateDue *time.Time `locationName:"dateDue" type:"timestamp"` + AccountIds []*string `locationName:"accountIds" type:"list"` } // String returns the string representation. @@ -7141,7 +8300,7 @@ type CisaData struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CisaData) String() string { +func (s BatchGetMemberEc2DeepInspectionStatusInput) String() string { return awsutil.Prettify(s) } @@ -7150,53 +8309,62 @@ func (s CisaData) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CisaData) GoString() string { +func (s BatchGetMemberEc2DeepInspectionStatusInput) GoString() string { return s.String() } -// SetAction sets the Action field's value. -func (s *CisaData) SetAction(v string) *CisaData { - s.Action = &v +// SetAccountIds sets the AccountIds field's value. +func (s *BatchGetMemberEc2DeepInspectionStatusInput) SetAccountIds(v []*string) *BatchGetMemberEc2DeepInspectionStatusInput { + s.AccountIds = v return s } -// SetDateAdded sets the DateAdded field's value. -func (s *CisaData) SetDateAdded(v time.Time) *CisaData { - s.DateAdded = &v - return s +type BatchGetMemberEc2DeepInspectionStatusOutput struct { + _ struct{} `type:"structure"` + + AccountIds []*MemberAccountEc2DeepInspectionStatusState `locationName:"accountIds" type:"list"` + + FailedAccountIds []*FailedMemberAccountEc2DeepInspectionStatusState `locationName:"failedAccountIds" type:"list"` } -// SetDateDue sets the DateDue field's value. -func (s *CisaData) SetDateDue(v time.Time) *CisaData { - s.DateDue = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetMemberEc2DeepInspectionStatusOutput) String() string { + return awsutil.Prettify(s) } -// Contains information on where a code vulnerability is located in your Lambda -// function. -type CodeFilePath struct { - _ struct{} `type:"structure"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetMemberEc2DeepInspectionStatusOutput) GoString() string { + return s.String() +} - // The line number of the last line of code that a vulnerability was found in. - // - // EndLine is a required field - EndLine *int64 `locationName:"endLine" type:"integer" required:"true"` +// SetAccountIds sets the AccountIds field's value. +func (s *BatchGetMemberEc2DeepInspectionStatusOutput) SetAccountIds(v []*MemberAccountEc2DeepInspectionStatusState) *BatchGetMemberEc2DeepInspectionStatusOutput { + s.AccountIds = v + return s +} - // The name of the file the code vulnerability was found in. - // - // FileName is a required field - FileName *string `locationName:"fileName" min:"1" type:"string" required:"true"` +// SetFailedAccountIds sets the FailedAccountIds field's value. +func (s *BatchGetMemberEc2DeepInspectionStatusOutput) SetFailedAccountIds(v []*FailedMemberAccountEc2DeepInspectionStatusState) *BatchGetMemberEc2DeepInspectionStatusOutput { + s.FailedAccountIds = v + return s +} - // The file path to the code that a vulnerability was found in. - // - // FilePath is a required field - FilePath *string `locationName:"filePath" min:"1" type:"string" required:"true"` +type BatchUpdateMemberEc2DeepInspectionStatusInput struct { + _ struct{} `type:"structure"` - // The line number of the first line of code that a vulnerability was found - // in. + // The unique identifiers for the Amazon Web Services accounts to change Amazon + // Inspector deep inspection status for. // - // StartLine is a required field - StartLine *int64 `locationName:"startLine" type:"integer" required:"true"` + // AccountIds is a required field + AccountIds []*MemberAccountEc2DeepInspectionStatus `locationName:"accountIds" type:"list" required:"true"` } // String returns the string representation. @@ -7204,7 +8372,7 @@ type CodeFilePath struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CodeFilePath) String() string { +func (s BatchUpdateMemberEc2DeepInspectionStatusInput) String() string { return awsutil.Prettify(s) } @@ -7213,47 +8381,49 @@ func (s CodeFilePath) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CodeFilePath) GoString() string { +func (s BatchUpdateMemberEc2DeepInspectionStatusInput) GoString() string { return s.String() } -// SetEndLine sets the EndLine field's value. -func (s *CodeFilePath) SetEndLine(v int64) *CodeFilePath { - s.EndLine = &v - return s -} - -// SetFileName sets the FileName field's value. -func (s *CodeFilePath) SetFileName(v string) *CodeFilePath { - s.FileName = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchUpdateMemberEc2DeepInspectionStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchUpdateMemberEc2DeepInspectionStatusInput"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) + } + if s.AccountIds != nil { + for i, v := range s.AccountIds { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountIds", i), err.(request.ErrInvalidParams)) + } + } + } -// SetFilePath sets the FilePath field's value. -func (s *CodeFilePath) SetFilePath(v string) *CodeFilePath { - s.FilePath = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStartLine sets the StartLine field's value. -func (s *CodeFilePath) SetStartLine(v int64) *CodeFilePath { - s.StartLine = &v +// SetAccountIds sets the AccountIds field's value. +func (s *BatchUpdateMemberEc2DeepInspectionStatusInput) SetAccountIds(v []*MemberAccountEc2DeepInspectionStatus) *BatchUpdateMemberEc2DeepInspectionStatusInput { + s.AccountIds = v return s } -// Contains information on the lines of code associated with a code snippet. -type CodeLine struct { +type BatchUpdateMemberEc2DeepInspectionStatusOutput struct { _ struct{} `type:"structure"` - // The content of a line of code - // - // Content is a required field - Content *string `locationName:"content" type:"string" required:"true"` + // An array of objects that provide details for each of the accounts that Amazon + // Inspector deep inspection status was successfully changed for. + AccountIds []*MemberAccountEc2DeepInspectionStatusState `locationName:"accountIds" type:"list"` - // The line number that a section of code is located at. - // - // LineNumber is a required field - LineNumber *int64 `locationName:"lineNumber" type:"integer" required:"true"` + // An array of objects that provide details for each of the accounts that Amazon + // Inspector deep inspection status could not be successfully changed for. + FailedAccountIds []*FailedMemberAccountEc2DeepInspectionStatusState `locationName:"failedAccountIds" type:"list"` } // String returns the string representation. @@ -7261,7 +8431,7 @@ type CodeLine struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CodeLine) String() string { +func (s BatchUpdateMemberEc2DeepInspectionStatusOutput) String() string { return awsutil.Prettify(s) } @@ -7270,42 +8440,29 @@ func (s CodeLine) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CodeLine) GoString() string { +func (s BatchUpdateMemberEc2DeepInspectionStatusOutput) GoString() string { return s.String() } -// SetContent sets the Content field's value. -func (s *CodeLine) SetContent(v string) *CodeLine { - s.Content = &v +// SetAccountIds sets the AccountIds field's value. +func (s *BatchUpdateMemberEc2DeepInspectionStatusOutput) SetAccountIds(v []*MemberAccountEc2DeepInspectionStatusState) *BatchUpdateMemberEc2DeepInspectionStatusOutput { + s.AccountIds = v return s } -// SetLineNumber sets the LineNumber field's value. -func (s *CodeLine) SetLineNumber(v int64) *CodeLine { - s.LineNumber = &v +// SetFailedAccountIds sets the FailedAccountIds field's value. +func (s *BatchUpdateMemberEc2DeepInspectionStatusOutput) SetFailedAccountIds(v []*FailedMemberAccountEc2DeepInspectionStatusState) *BatchUpdateMemberEc2DeepInspectionStatusOutput { + s.FailedAccountIds = v return s } -// Contains information about any errors encountered while trying to retrieve -// a code snippet. -type CodeSnippetError struct { +type CancelFindingsReportInput struct { _ struct{} `type:"structure"` - // The error code for the error that prevented a code snippet from being retrieved. - // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"CodeSnippetErrorCode"` - - // The error message received when Amazon Inspector failed to retrieve a code - // snippet. - // - // ErrorMessage is a required field - ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string" required:"true"` - - // The ARN of the finding that a code snippet couldn't be retrieved for. + // The ID of the report to be canceled. // - // FindingArn is a required field - FindingArn *string `locationName:"findingArn" min:"1" type:"string" required:"true"` + // ReportId is a required field + ReportId *string `locationName:"reportId" type:"string" required:"true"` } // String returns the string representation. @@ -7313,7 +8470,7 @@ type CodeSnippetError struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CodeSnippetError) String() string { +func (s CancelFindingsReportInput) String() string { return awsutil.Prettify(s) } @@ -7322,47 +8479,36 @@ func (s CodeSnippetError) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CodeSnippetError) GoString() string { +func (s CancelFindingsReportInput) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *CodeSnippetError) SetErrorCode(v string) *CodeSnippetError { - s.ErrorCode = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelFindingsReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelFindingsReportInput"} + if s.ReportId == nil { + invalidParams.Add(request.NewErrParamRequired("ReportId")) + } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *CodeSnippetError) SetErrorMessage(v string) *CodeSnippetError { - s.ErrorMessage = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetFindingArn sets the FindingArn field's value. -func (s *CodeSnippetError) SetFindingArn(v string) *CodeSnippetError { - s.FindingArn = &v +// SetReportId sets the ReportId field's value. +func (s *CancelFindingsReportInput) SetReportId(v string) *CancelFindingsReportInput { + s.ReportId = &v return s } -// Contains information on a code snippet retrieved by Amazon Inspector from -// a code vulnerability finding. -type CodeSnippetResult struct { +type CancelFindingsReportOutput struct { _ struct{} `type:"structure"` - // Contains information on the retrieved code snippet. - CodeSnippet []*CodeLine `locationName:"codeSnippet" min:"1" type:"list"` - - // The line number of the last line of a code snippet. - EndLine *int64 `locationName:"endLine" type:"integer"` - - // The ARN of a finding that the code snippet is associated with. - FindingArn *string `locationName:"findingArn" min:"1" type:"string"` - - // The line number of the first line of a code snippet. - StartLine *int64 `locationName:"startLine" type:"integer"` - - // Details of a suggested code fix. - SuggestedFixes []*SuggestedFix `locationName:"suggestedFixes" min:"1" type:"list"` + // The ID of the canceled report. + // + // ReportId is a required field + ReportId *string `locationName:"reportId" type:"string" required:"true"` } // String returns the string representation. @@ -7370,7 +8516,7 @@ type CodeSnippetResult struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CodeSnippetResult) String() string { +func (s CancelFindingsReportOutput) String() string { return awsutil.Prettify(s) } @@ -7379,82 +8525,122 @@ func (s CodeSnippetResult) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CodeSnippetResult) GoString() string { +func (s CancelFindingsReportOutput) GoString() string { return s.String() } -// SetCodeSnippet sets the CodeSnippet field's value. -func (s *CodeSnippetResult) SetCodeSnippet(v []*CodeLine) *CodeSnippetResult { - s.CodeSnippet = v +// SetReportId sets the ReportId field's value. +func (s *CancelFindingsReportOutput) SetReportId(v string) *CancelFindingsReportOutput { + s.ReportId = &v return s } -// SetEndLine sets the EndLine field's value. -func (s *CodeSnippetResult) SetEndLine(v int64) *CodeSnippetResult { - s.EndLine = &v - return s +type CancelSbomExportInput struct { + _ struct{} `type:"structure"` + + // The report ID of the SBOM export to cancel. + // + // ReportId is a required field + ReportId *string `locationName:"reportId" type:"string" required:"true"` } -// SetFindingArn sets the FindingArn field's value. -func (s *CodeSnippetResult) SetFindingArn(v string) *CodeSnippetResult { - s.FindingArn = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelSbomExportInput) String() string { + return awsutil.Prettify(s) } -// SetStartLine sets the StartLine field's value. -func (s *CodeSnippetResult) SetStartLine(v int64) *CodeSnippetResult { - s.StartLine = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelSbomExportInput) GoString() string { + return s.String() } -// SetSuggestedFixes sets the SuggestedFixes field's value. -func (s *CodeSnippetResult) SetSuggestedFixes(v []*SuggestedFix) *CodeSnippetResult { - s.SuggestedFixes = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelSbomExportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelSbomExportInput"} + if s.ReportId == nil { + invalidParams.Add(request.NewErrParamRequired("ReportId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportId sets the ReportId field's value. +func (s *CancelSbomExportInput) SetReportId(v string) *CancelSbomExportInput { + s.ReportId = &v return s } -// Contains information on the code vulnerability identified in your Lambda -// function. -type CodeVulnerabilityDetails struct { +type CancelSbomExportOutput struct { _ struct{} `type:"structure"` - // The Common Weakness Enumeration (CWE) item associated with the detected vulnerability. - // - // Cwes is a required field - Cwes []*string `locationName:"cwes" min:"1" type:"list" required:"true"` + // The report ID of the canceled SBOM export. + ReportId *string `locationName:"reportId" type:"string"` +} - // The ID for the Amazon CodeGuru detector associated with the finding. For - // more information on detectors see Amazon CodeGuru Detector Library (https://docs.aws.amazon.com/codeguru/detector-library). - // - // DetectorId is a required field - DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelSbomExportOutput) String() string { + return awsutil.Prettify(s) +} - // The name of the detector used to identify the code vulnerability. For more - // information on detectors see CodeGuru Detector Library (https://docs.aws.amazon.com/codeguru/detector-library). - // - // DetectorName is a required field - DetectorName *string `locationName:"detectorName" min:"1" type:"string" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelSbomExportOutput) GoString() string { + return s.String() +} - // The detector tag associated with the vulnerability. Detector tags group related - // vulnerabilities by common themes or tactics. For a list of available tags - // by programming language, see Java tags (https://docs.aws.amazon.com/codeguru/detector-library/java/tags/), - // or Python tags (https://docs.aws.amazon.com/codeguru/detector-library/python/tags/). - DetectorTags []*string `locationName:"detectorTags" min:"1" type:"list"` +// SetReportId sets the ReportId field's value. +func (s *CancelSbomExportOutput) SetReportId(v string) *CancelSbomExportOutput { + s.ReportId = &v + return s +} - // Contains information on where the code vulnerability is located in your code. - // - // FilePath is a required field - FilePath *CodeFilePath `locationName:"filePath" type:"structure" required:"true"` +// A CIS check. +type CisCheckAggregation struct { + _ struct{} `type:"structure"` - // A URL containing supporting documentation about the code vulnerability detected. - ReferenceUrls []*string `locationName:"referenceUrls" min:"1" type:"list"` + // The account ID for the CIS check. + AccountId *string `locationName:"accountId" min:"12" type:"string"` - // The identifier for a rule that was used to detect the code vulnerability. - RuleId *string `locationName:"ruleId" min:"1" type:"string"` + // The description for the CIS check. + CheckDescription *string `locationName:"checkDescription" type:"string"` - // The Amazon Resource Name (ARN) of the Lambda layer that the code vulnerability - // was detected in. - SourceLambdaLayerArn *string `locationName:"sourceLambdaLayerArn" type:"string"` + // The check ID for the CIS check. + CheckId *string `locationName:"checkId" type:"string"` + + // The CIS check level. + Level *string `locationName:"level" type:"string" enum:"CisSecurityLevel"` + + // The CIS check platform. + Platform *string `locationName:"platform" type:"string"` + + // The scan ARN for the CIS check scan ARN. + // + // ScanArn is a required field + ScanArn *string `locationName:"scanArn" type:"string" required:"true"` + + // The CIS check status counts. + StatusCounts *StatusCounts `locationName:"statusCounts" type:"structure"` + + // The CIS check title. + Title *string `locationName:"title" type:"string"` } // String returns the string representation. @@ -7462,7 +8648,7 @@ type CodeVulnerabilityDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CodeVulnerabilityDetails) String() string { +func (s CisCheckAggregation) String() string { return awsutil.Prettify(s) } @@ -7471,74 +8657,67 @@ func (s CodeVulnerabilityDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CodeVulnerabilityDetails) GoString() string { +func (s CisCheckAggregation) GoString() string { return s.String() } -// SetCwes sets the Cwes field's value. -func (s *CodeVulnerabilityDetails) SetCwes(v []*string) *CodeVulnerabilityDetails { - s.Cwes = v +// SetAccountId sets the AccountId field's value. +func (s *CisCheckAggregation) SetAccountId(v string) *CisCheckAggregation { + s.AccountId = &v return s } -// SetDetectorId sets the DetectorId field's value. -func (s *CodeVulnerabilityDetails) SetDetectorId(v string) *CodeVulnerabilityDetails { - s.DetectorId = &v +// SetCheckDescription sets the CheckDescription field's value. +func (s *CisCheckAggregation) SetCheckDescription(v string) *CisCheckAggregation { + s.CheckDescription = &v return s } -// SetDetectorName sets the DetectorName field's value. -func (s *CodeVulnerabilityDetails) SetDetectorName(v string) *CodeVulnerabilityDetails { - s.DetectorName = &v +// SetCheckId sets the CheckId field's value. +func (s *CisCheckAggregation) SetCheckId(v string) *CisCheckAggregation { + s.CheckId = &v return s } -// SetDetectorTags sets the DetectorTags field's value. -func (s *CodeVulnerabilityDetails) SetDetectorTags(v []*string) *CodeVulnerabilityDetails { - s.DetectorTags = v +// SetLevel sets the Level field's value. +func (s *CisCheckAggregation) SetLevel(v string) *CisCheckAggregation { + s.Level = &v return s } -// SetFilePath sets the FilePath field's value. -func (s *CodeVulnerabilityDetails) SetFilePath(v *CodeFilePath) *CodeVulnerabilityDetails { - s.FilePath = v +// SetPlatform sets the Platform field's value. +func (s *CisCheckAggregation) SetPlatform(v string) *CisCheckAggregation { + s.Platform = &v return s } -// SetReferenceUrls sets the ReferenceUrls field's value. -func (s *CodeVulnerabilityDetails) SetReferenceUrls(v []*string) *CodeVulnerabilityDetails { - s.ReferenceUrls = v +// SetScanArn sets the ScanArn field's value. +func (s *CisCheckAggregation) SetScanArn(v string) *CisCheckAggregation { + s.ScanArn = &v return s } -// SetRuleId sets the RuleId field's value. -func (s *CodeVulnerabilityDetails) SetRuleId(v string) *CodeVulnerabilityDetails { - s.RuleId = &v +// SetStatusCounts sets the StatusCounts field's value. +func (s *CisCheckAggregation) SetStatusCounts(v *StatusCounts) *CisCheckAggregation { + s.StatusCounts = v return s } -// SetSourceLambdaLayerArn sets the SourceLambdaLayerArn field's value. -func (s *CodeVulnerabilityDetails) SetSourceLambdaLayerArn(v string) *CodeVulnerabilityDetails { - s.SourceLambdaLayerArn = &v +// SetTitle sets the Title field's value. +func (s *CisCheckAggregation) SetTitle(v string) *CisCheckAggregation { + s.Title = &v return s } -// A conflict occurred. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` +// The CIS date filter. +type CisDateFilter struct { + _ struct{} `type:"structure"` - // The ID of the conflicting resource. - // - // ResourceId is a required field - ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + // The CIS date filter's earliest scan start time. + EarliestScanStartTime *time.Time `locationName:"earliestScanStartTime" type:"timestamp"` - // The type of the conflicting resource. - // - // ResourceType is a required field - ResourceType *string `locationName:"resourceType" type:"string" required:"true"` + // The CIS date filter's latest scan start time. + LatestScanStartTime *time.Time `locationName:"latestScanStartTime" type:"timestamp"` } // String returns the string representation. @@ -7546,7 +8725,7 @@ type ConflictException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) String() string { +func (s CisDateFilter) String() string { return awsutil.Prettify(s) } @@ -7555,58 +8734,35 @@ func (s ConflictException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) GoString() string { +func (s CisDateFilter) GoString() string { return s.String() } -func newErrorConflictException(v protocol.ResponseMetadata) error { - return &ConflictException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ConflictException) Code() string { - return "ConflictException" -} - -// Message returns the exception's message. -func (s *ConflictException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { - return nil -} - -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetEarliestScanStartTime sets the EarliestScanStartTime field's value. +func (s *CisDateFilter) SetEarliestScanStartTime(v time.Time) *CisDateFilter { + s.EarliestScanStartTime = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID +// SetLatestScanStartTime sets the LatestScanStartTime field's value. +func (s *CisDateFilter) SetLatestScanStartTime(v time.Time) *CisDateFilter { + s.LatestScanStartTime = &v + return s } -// a structure that contains information on the count of resources within a -// group. -type Counts struct { +// The CIS finding status filter. +type CisFindingStatusFilter struct { _ struct{} `type:"structure"` - // The number of resources. - Count *int64 `locationName:"count" type:"long"` + // The comparison value of the CIS finding status filter. + // + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CisFindingStatusComparison"` - // The key associated with this group - GroupKey *string `locationName:"groupKey" type:"string" enum:"GroupKey"` + // The value of the CIS finding status filter. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true" enum:"CisFindingStatus"` } // String returns the string representation. @@ -7614,7 +8770,7 @@ type Counts struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Counts) String() string { +func (s CisFindingStatusFilter) String() string { return awsutil.Prettify(s) } @@ -7623,31 +8779,47 @@ func (s Counts) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Counts) GoString() string { +func (s CisFindingStatusFilter) GoString() string { return s.String() } -// SetCount sets the Count field's value. -func (s *Counts) SetCount(v int64) *Counts { - s.Count = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CisFindingStatusFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisFindingStatusFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComparison sets the Comparison field's value. +func (s *CisFindingStatusFilter) SetComparison(v string) *CisFindingStatusFilter { + s.Comparison = &v return s } -// SetGroupKey sets the GroupKey field's value. -func (s *Counts) SetGroupKey(v string) *Counts { - s.GroupKey = &v +// SetValue sets the Value field's value. +func (s *CisFindingStatusFilter) SetValue(v string) *CisFindingStatusFilter { + s.Value = &v return s } -// Contains details of a coverage date filter. -type CoverageDateFilter struct { +// The CIS number filter. +type CisNumberFilter struct { _ struct{} `type:"structure"` - // A timestamp representing the end of the time period to filter results by. - EndInclusive *time.Time `locationName:"endInclusive" type:"timestamp"` + // The CIS number filter's lower inclusive. + LowerInclusive *int64 `locationName:"lowerInclusive" type:"integer"` - // A timestamp representing the start of the time period to filter results by. - StartInclusive *time.Time `locationName:"startInclusive" type:"timestamp"` + // The CIS number filter's upper inclusive. + UpperInclusive *int64 `locationName:"upperInclusive" type:"integer"` } // String returns the string representation. @@ -7655,7 +8827,7 @@ type CoverageDateFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CoverageDateFilter) String() string { +func (s CisNumberFilter) String() string { return awsutil.Prettify(s) } @@ -7664,71 +8836,35 @@ func (s CoverageDateFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CoverageDateFilter) GoString() string { +func (s CisNumberFilter) GoString() string { return s.String() } -// SetEndInclusive sets the EndInclusive field's value. -func (s *CoverageDateFilter) SetEndInclusive(v time.Time) *CoverageDateFilter { - s.EndInclusive = &v +// SetLowerInclusive sets the LowerInclusive field's value. +func (s *CisNumberFilter) SetLowerInclusive(v int64) *CisNumberFilter { + s.LowerInclusive = &v return s } -// SetStartInclusive sets the StartInclusive field's value. -func (s *CoverageDateFilter) SetStartInclusive(v time.Time) *CoverageDateFilter { - s.StartInclusive = &v +// SetUpperInclusive sets the UpperInclusive field's value. +func (s *CisNumberFilter) SetUpperInclusive(v int64) *CisNumberFilter { + s.UpperInclusive = &v return s } -// A structure that identifies filter criteria for GetCoverageStatistics. -type CoverageFilterCriteria struct { +// The CIS result status filter. +type CisResultStatusFilter struct { _ struct{} `type:"structure"` - // An array of Amazon Web Services account IDs to return coverage statistics - // for. - AccountId []*CoverageStringFilter `locationName:"accountId" min:"1" type:"list"` - - // The Amazon EC2 instance tags to filter on. - Ec2InstanceTags []*CoverageMapFilter `locationName:"ec2InstanceTags" min:"1" type:"list"` - - // The Amazon ECR image tags to filter on. - EcrImageTags []*CoverageStringFilter `locationName:"ecrImageTags" min:"1" type:"list"` - - // The Amazon ECR repository name to filter on. - EcrRepositoryName []*CoverageStringFilter `locationName:"ecrRepositoryName" min:"1" type:"list"` - - // Returns coverage statistics for AWS Lambda functions filtered by function - // names. - LambdaFunctionName []*CoverageStringFilter `locationName:"lambdaFunctionName" min:"1" type:"list"` - - // Returns coverage statistics for AWS Lambda functions filtered by runtime. - LambdaFunctionRuntime []*CoverageStringFilter `locationName:"lambdaFunctionRuntime" min:"1" type:"list"` - - // Returns coverage statistics for AWS Lambda functions filtered by tag. - LambdaFunctionTags []*CoverageMapFilter `locationName:"lambdaFunctionTags" min:"1" type:"list"` - - // Filters Amazon Web Services resources based on whether Amazon Inspector has - // checked them for vulnerabilities within the specified time range. - LastScannedAt []*CoverageDateFilter `locationName:"lastScannedAt" min:"1" type:"list"` - - // An array of Amazon Web Services resource IDs to return coverage statistics - // for. - ResourceId []*CoverageStringFilter `locationName:"resourceId" min:"1" type:"list"` - - // An array of Amazon Web Services resource types to return coverage statistics - // for. The values can be AWS_EC2_INSTANCE, AWS_LAMBDA_FUNCTION or AWS_ECR_REPOSITORY. - ResourceType []*CoverageStringFilter `locationName:"resourceType" min:"1" type:"list"` - - // The scan status code to filter on. Valid values are: ValidationException, - // InternalServerException, ResourceNotFoundException, BadRequestException, - // and ThrottlingException. - ScanStatusCode []*CoverageStringFilter `locationName:"scanStatusCode" min:"1" type:"list"` - - // The scan status reason to filter on. - ScanStatusReason []*CoverageStringFilter `locationName:"scanStatusReason" min:"1" type:"list"` + // The comparison value of the CIS result status filter. + // + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CisResultStatusComparison"` - // An array of Amazon Inspector scan types to return coverage statistics for. - ScanType []*CoverageStringFilter `locationName:"scanType" min:"1" type:"list"` + // The value of the CIS result status filter. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true" enum:"CisResultStatus"` } // String returns the string representation. @@ -7736,7 +8872,7 @@ type CoverageFilterCriteria struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CoverageFilterCriteria) String() string { +func (s CisResultStatusFilter) String() string { return awsutil.Prettify(s) } @@ -7745,171 +8881,18 @@ func (s CoverageFilterCriteria) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CoverageFilterCriteria) GoString() string { +func (s CisResultStatusFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CoverageFilterCriteria) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CoverageFilterCriteria"} - if s.AccountId != nil && len(s.AccountId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) - } - if s.Ec2InstanceTags != nil && len(s.Ec2InstanceTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceTags", 1)) - } - if s.EcrImageTags != nil && len(s.EcrImageTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EcrImageTags", 1)) - } - if s.EcrRepositoryName != nil && len(s.EcrRepositoryName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EcrRepositoryName", 1)) - } - if s.LambdaFunctionName != nil && len(s.LambdaFunctionName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionName", 1)) - } - if s.LambdaFunctionRuntime != nil && len(s.LambdaFunctionRuntime) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionRuntime", 1)) - } - if s.LambdaFunctionTags != nil && len(s.LambdaFunctionTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionTags", 1)) - } - if s.LastScannedAt != nil && len(s.LastScannedAt) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LastScannedAt", 1)) - } - if s.ResourceId != nil && len(s.ResourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) - } - if s.ResourceType != nil && len(s.ResourceType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) - } - if s.ScanStatusCode != nil && len(s.ScanStatusCode) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ScanStatusCode", 1)) - } - if s.ScanStatusReason != nil && len(s.ScanStatusReason) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ScanStatusReason", 1)) - } - if s.ScanType != nil && len(s.ScanType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ScanType", 1)) - } - if s.AccountId != nil { - for i, v := range s.AccountId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountId", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Ec2InstanceTags != nil { - for i, v := range s.Ec2InstanceTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2InstanceTags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.EcrImageTags != nil { - for i, v := range s.EcrImageTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageTags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.EcrRepositoryName != nil { - for i, v := range s.EcrRepositoryName { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrRepositoryName", i), err.(request.ErrInvalidParams)) - } - } - } - if s.LambdaFunctionName != nil { - for i, v := range s.LambdaFunctionName { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionName", i), err.(request.ErrInvalidParams)) - } - } - } - if s.LambdaFunctionRuntime != nil { - for i, v := range s.LambdaFunctionRuntime { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionRuntime", i), err.(request.ErrInvalidParams)) - } - } - } - if s.LambdaFunctionTags != nil { - for i, v := range s.LambdaFunctionTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionTags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ResourceId != nil { - for i, v := range s.ResourceId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceId", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ResourceType != nil { - for i, v := range s.ResourceType { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceType", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ScanStatusCode != nil { - for i, v := range s.ScanStatusCode { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanStatusCode", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ScanStatusReason != nil { - for i, v := range s.ScanStatusReason { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanStatusReason", i), err.(request.ErrInvalidParams)) - } - } +func (s *CisResultStatusFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisResultStatusFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) } - if s.ScanType != nil { - for i, v := range s.ScanType { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanType", i), err.(request.ErrInvalidParams)) - } - } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) } if invalidParams.Len() > 0 { @@ -7918,100 +8901,162 @@ func (s *CoverageFilterCriteria) Validate() error { return nil } -// SetAccountId sets the AccountId field's value. -func (s *CoverageFilterCriteria) SetAccountId(v []*CoverageStringFilter) *CoverageFilterCriteria { - s.AccountId = v +// SetComparison sets the Comparison field's value. +func (s *CisResultStatusFilter) SetComparison(v string) *CisResultStatusFilter { + s.Comparison = &v return s } -// SetEc2InstanceTags sets the Ec2InstanceTags field's value. -func (s *CoverageFilterCriteria) SetEc2InstanceTags(v []*CoverageMapFilter) *CoverageFilterCriteria { - s.Ec2InstanceTags = v +// SetValue sets the Value field's value. +func (s *CisResultStatusFilter) SetValue(v string) *CisResultStatusFilter { + s.Value = &v return s } -// SetEcrImageTags sets the EcrImageTags field's value. -func (s *CoverageFilterCriteria) SetEcrImageTags(v []*CoverageStringFilter) *CoverageFilterCriteria { - s.EcrImageTags = v - return s +// The CIS scan. +type CisScan struct { + _ struct{} `type:"structure"` + + // The CIS scan's failed checks. + FailedChecks *int64 `locationName:"failedChecks" type:"integer"` + + // The CIS scan's ARN. + // + // ScanArn is a required field + ScanArn *string `locationName:"scanArn" type:"string" required:"true"` + + // The CIS scan's configuration ARN. + // + // ScanConfigurationArn is a required field + ScanConfigurationArn *string `locationName:"scanConfigurationArn" type:"string" required:"true"` + + // The CIS scan's date. + ScanDate *time.Time `locationName:"scanDate" type:"timestamp"` + + // The the name of the scan configuration that's associated with this scan. + ScanName *string `locationName:"scanName" min:"1" type:"string"` + + // The account or organization that schedules the CIS scan. + ScheduledBy *string `locationName:"scheduledBy" type:"string"` + + // The security level for the CIS scan. Security level refers to the Benchmark + // levels that CIS assigns to a profile. + SecurityLevel *string `locationName:"securityLevel" type:"string" enum:"CisSecurityLevel"` + + // The CIS scan's status. + Status *string `locationName:"status" type:"string" enum:"CisScanStatus"` + + // The CIS scan's targets. + Targets *CisTargets `locationName:"targets" type:"structure"` + + // The CIS scan's total checks. + TotalChecks *int64 `locationName:"totalChecks" type:"integer"` } -// SetEcrRepositoryName sets the EcrRepositoryName field's value. -func (s *CoverageFilterCriteria) SetEcrRepositoryName(v []*CoverageStringFilter) *CoverageFilterCriteria { - s.EcrRepositoryName = v +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CisScan) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CisScan) GoString() string { + return s.String() +} + +// SetFailedChecks sets the FailedChecks field's value. +func (s *CisScan) SetFailedChecks(v int64) *CisScan { + s.FailedChecks = &v return s } -// SetLambdaFunctionName sets the LambdaFunctionName field's value. -func (s *CoverageFilterCriteria) SetLambdaFunctionName(v []*CoverageStringFilter) *CoverageFilterCriteria { - s.LambdaFunctionName = v +// SetScanArn sets the ScanArn field's value. +func (s *CisScan) SetScanArn(v string) *CisScan { + s.ScanArn = &v return s } -// SetLambdaFunctionRuntime sets the LambdaFunctionRuntime field's value. -func (s *CoverageFilterCriteria) SetLambdaFunctionRuntime(v []*CoverageStringFilter) *CoverageFilterCriteria { - s.LambdaFunctionRuntime = v +// SetScanConfigurationArn sets the ScanConfigurationArn field's value. +func (s *CisScan) SetScanConfigurationArn(v string) *CisScan { + s.ScanConfigurationArn = &v return s } -// SetLambdaFunctionTags sets the LambdaFunctionTags field's value. -func (s *CoverageFilterCriteria) SetLambdaFunctionTags(v []*CoverageMapFilter) *CoverageFilterCriteria { - s.LambdaFunctionTags = v +// SetScanDate sets the ScanDate field's value. +func (s *CisScan) SetScanDate(v time.Time) *CisScan { + s.ScanDate = &v return s } -// SetLastScannedAt sets the LastScannedAt field's value. -func (s *CoverageFilterCriteria) SetLastScannedAt(v []*CoverageDateFilter) *CoverageFilterCriteria { - s.LastScannedAt = v +// SetScanName sets the ScanName field's value. +func (s *CisScan) SetScanName(v string) *CisScan { + s.ScanName = &v return s } -// SetResourceId sets the ResourceId field's value. -func (s *CoverageFilterCriteria) SetResourceId(v []*CoverageStringFilter) *CoverageFilterCriteria { - s.ResourceId = v +// SetScheduledBy sets the ScheduledBy field's value. +func (s *CisScan) SetScheduledBy(v string) *CisScan { + s.ScheduledBy = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *CoverageFilterCriteria) SetResourceType(v []*CoverageStringFilter) *CoverageFilterCriteria { - s.ResourceType = v +// SetSecurityLevel sets the SecurityLevel field's value. +func (s *CisScan) SetSecurityLevel(v string) *CisScan { + s.SecurityLevel = &v return s } -// SetScanStatusCode sets the ScanStatusCode field's value. -func (s *CoverageFilterCriteria) SetScanStatusCode(v []*CoverageStringFilter) *CoverageFilterCriteria { - s.ScanStatusCode = v +// SetStatus sets the Status field's value. +func (s *CisScan) SetStatus(v string) *CisScan { + s.Status = &v return s } -// SetScanStatusReason sets the ScanStatusReason field's value. -func (s *CoverageFilterCriteria) SetScanStatusReason(v []*CoverageStringFilter) *CoverageFilterCriteria { - s.ScanStatusReason = v +// SetTargets sets the Targets field's value. +func (s *CisScan) SetTargets(v *CisTargets) *CisScan { + s.Targets = v return s } -// SetScanType sets the ScanType field's value. -func (s *CoverageFilterCriteria) SetScanType(v []*CoverageStringFilter) *CoverageFilterCriteria { - s.ScanType = v +// SetTotalChecks sets the TotalChecks field's value. +func (s *CisScan) SetTotalChecks(v int64) *CisScan { + s.TotalChecks = &v return s } -// Contains details of a coverage map filter. -type CoverageMapFilter struct { +// The CIS scan configuration. +type CisScanConfiguration struct { _ struct{} `type:"structure"` - // The operator to compare coverage on. - // - // Comparison is a required field - Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CoverageMapComparison"` + // The CIS scan configuration's owner ID. + OwnerId *string `locationName:"ownerId" type:"string"` - // The tag key associated with the coverage map filter. + // The CIS scan configuration's scan configuration ARN. // - // Key is a required field - Key *string `locationName:"key" min:"1" type:"string" required:"true"` + // ScanConfigurationArn is a required field + ScanConfigurationArn *string `locationName:"scanConfigurationArn" type:"string" required:"true"` - // The tag value associated with the coverage map filter. - Value *string `locationName:"value" min:"1" type:"string"` + // The name of the CIS scan configuration. + ScanName *string `locationName:"scanName" min:"1" type:"string"` + + // The CIS scan configuration's schedule. + Schedule *Schedule `locationName:"schedule" type:"structure"` + + // The CIS scan configuration's security level. + SecurityLevel *string `locationName:"securityLevel" type:"string" enum:"CisSecurityLevel"` + + // The CIS scan configuration's tags. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The CIS scan configuration's targets. + Targets *CisTargets `locationName:"targets" type:"structure"` } // String returns the string representation. @@ -8019,7 +9064,7 @@ type CoverageMapFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CoverageMapFilter) String() string { +func (s CisScanConfiguration) String() string { return awsutil.Prettify(s) } @@ -8028,146 +9073,93 @@ func (s CoverageMapFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CoverageMapFilter) GoString() string { +func (s CisScanConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CoverageMapFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CoverageMapFilter"} - if s.Comparison == nil { - invalidParams.Add(request.NewErrParamRequired("Comparison")) - } - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) - } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetOwnerId sets the OwnerId field's value. +func (s *CisScanConfiguration) SetOwnerId(v string) *CisScanConfiguration { + s.OwnerId = &v + return s } -// SetComparison sets the Comparison field's value. -func (s *CoverageMapFilter) SetComparison(v string) *CoverageMapFilter { - s.Comparison = &v +// SetScanConfigurationArn sets the ScanConfigurationArn field's value. +func (s *CisScanConfiguration) SetScanConfigurationArn(v string) *CisScanConfiguration { + s.ScanConfigurationArn = &v return s } -// SetKey sets the Key field's value. -func (s *CoverageMapFilter) SetKey(v string) *CoverageMapFilter { - s.Key = &v +// SetScanName sets the ScanName field's value. +func (s *CisScanConfiguration) SetScanName(v string) *CisScanConfiguration { + s.ScanName = &v return s } -// SetValue sets the Value field's value. -func (s *CoverageMapFilter) SetValue(v string) *CoverageMapFilter { - s.Value = &v +// SetSchedule sets the Schedule field's value. +func (s *CisScanConfiguration) SetSchedule(v *Schedule) *CisScanConfiguration { + s.Schedule = v return s } -// Contains details of a coverage string filter. -type CoverageStringFilter struct { - _ struct{} `type:"structure"` - - // The operator to compare strings on. - // - // Comparison is a required field - Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CoverageStringComparison"` - - // The value to compare strings on. - // - // Value is a required field - Value *string `locationName:"value" min:"1" type:"string" required:"true"` +// SetSecurityLevel sets the SecurityLevel field's value. +func (s *CisScanConfiguration) SetSecurityLevel(v string) *CisScanConfiguration { + s.SecurityLevel = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CoverageStringFilter) String() string { - return awsutil.Prettify(s) +// SetTags sets the Tags field's value. +func (s *CisScanConfiguration) SetTags(v map[string]*string) *CisScanConfiguration { + s.Tags = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CoverageStringFilter) GoString() string { - return s.String() +// SetTargets sets the Targets field's value. +func (s *CisScanConfiguration) SetTargets(v *CisTargets) *CisScanConfiguration { + s.Targets = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CoverageStringFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CoverageStringFilter"} - if s.Comparison == nil { - invalidParams.Add(request.NewErrParamRequired("Comparison")) - } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) - } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) - } +// The CIS scan result details. +type CisScanResultDetails struct { + _ struct{} `type:"structure"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The CIS scan result details' account ID. + AccountId *string `locationName:"accountId" min:"12" type:"string"` -// SetComparison sets the Comparison field's value. -func (s *CoverageStringFilter) SetComparison(v string) *CoverageStringFilter { - s.Comparison = &v - return s -} + // The account ID that's associated with the CIS scan result details. + CheckDescription *string `locationName:"checkDescription" type:"string"` -// SetValue sets the Value field's value. -func (s *CoverageStringFilter) SetValue(v string) *CoverageStringFilter { - s.Value = &v - return s -} + // The CIS scan result details' check ID. + CheckId *string `locationName:"checkId" type:"string"` -// An object that contains details about a resource covered by Amazon Inspector. -type CoveredResource struct { - _ struct{} `type:"structure"` + // The CIS scan result details' finding ARN. + FindingArn *string `locationName:"findingArn" type:"string"` - // The Amazon Web Services account ID of the covered resource. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + // The CIS scan result details' level. + Level *string `locationName:"level" type:"string" enum:"CisSecurityLevel"` - // The date and time the resource was last checked for vulnerabilities. - LastScannedAt *time.Time `locationName:"lastScannedAt" type:"timestamp"` + // The CIS scan result details' platform. + Platform *string `locationName:"platform" type:"string"` - // The ID of the covered resource. + // The CIS scan result details' remediation. + Remediation *string `locationName:"remediation" type:"string"` + + // The CIS scan result details' scan ARN. // - // ResourceId is a required field - ResourceId *string `locationName:"resourceId" min:"10" type:"string" required:"true"` + // ScanArn is a required field + ScanArn *string `locationName:"scanArn" type:"string" required:"true"` - // An object that contains details about the metadata. - ResourceMetadata *ResourceScanMetadata `locationName:"resourceMetadata" type:"structure"` + // The CIS scan result details' status. + Status *string `locationName:"status" type:"string" enum:"CisFindingStatus"` - // The type of the covered resource. - // - // ResourceType is a required field - ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"CoverageResourceType"` + // The CIS scan result details' status reason. + StatusReason *string `locationName:"statusReason" type:"string"` - // The status of the scan covering the resource. - ScanStatus *ScanStatus `locationName:"scanStatus" type:"structure"` + // The CIS scan result details' target resource ID. + TargetResourceId *string `locationName:"targetResourceId" min:"10" type:"string"` - // The Amazon Inspector scan type covering the resource. - // - // ScanType is a required field - ScanType *string `locationName:"scanType" type:"string" required:"true" enum:"ScanType"` + // The CIS scan result details' title. + Title *string `locationName:"title" type:"string"` } // String returns the string representation. @@ -8175,7 +9167,7 @@ type CoveredResource struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CoveredResource) String() string { +func (s CisScanResultDetails) String() string { return awsutil.Prettify(s) } @@ -8184,80 +9176,101 @@ func (s CoveredResource) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CoveredResource) GoString() string { +func (s CisScanResultDetails) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. -func (s *CoveredResource) SetAccountId(v string) *CoveredResource { +func (s *CisScanResultDetails) SetAccountId(v string) *CisScanResultDetails { s.AccountId = &v return s } -// SetLastScannedAt sets the LastScannedAt field's value. -func (s *CoveredResource) SetLastScannedAt(v time.Time) *CoveredResource { - s.LastScannedAt = &v +// SetCheckDescription sets the CheckDescription field's value. +func (s *CisScanResultDetails) SetCheckDescription(v string) *CisScanResultDetails { + s.CheckDescription = &v return s } -// SetResourceId sets the ResourceId field's value. -func (s *CoveredResource) SetResourceId(v string) *CoveredResource { - s.ResourceId = &v +// SetCheckId sets the CheckId field's value. +func (s *CisScanResultDetails) SetCheckId(v string) *CisScanResultDetails { + s.CheckId = &v return s } -// SetResourceMetadata sets the ResourceMetadata field's value. -func (s *CoveredResource) SetResourceMetadata(v *ResourceScanMetadata) *CoveredResource { - s.ResourceMetadata = v +// SetFindingArn sets the FindingArn field's value. +func (s *CisScanResultDetails) SetFindingArn(v string) *CisScanResultDetails { + s.FindingArn = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *CoveredResource) SetResourceType(v string) *CoveredResource { - s.ResourceType = &v +// SetLevel sets the Level field's value. +func (s *CisScanResultDetails) SetLevel(v string) *CisScanResultDetails { + s.Level = &v return s } -// SetScanStatus sets the ScanStatus field's value. -func (s *CoveredResource) SetScanStatus(v *ScanStatus) *CoveredResource { - s.ScanStatus = v +// SetPlatform sets the Platform field's value. +func (s *CisScanResultDetails) SetPlatform(v string) *CisScanResultDetails { + s.Platform = &v return s } -// SetScanType sets the ScanType field's value. -func (s *CoveredResource) SetScanType(v string) *CoveredResource { - s.ScanType = &v +// SetRemediation sets the Remediation field's value. +func (s *CisScanResultDetails) SetRemediation(v string) *CisScanResultDetails { + s.Remediation = &v return s } -type CreateFilterInput struct { - _ struct{} `type:"structure"` +// SetScanArn sets the ScanArn field's value. +func (s *CisScanResultDetails) SetScanArn(v string) *CisScanResultDetails { + s.ScanArn = &v + return s +} - // Defines the action that is to be applied to the findings that match the filter. - // - // Action is a required field - Action *string `locationName:"action" type:"string" required:"true" enum:"FilterAction"` +// SetStatus sets the Status field's value. +func (s *CisScanResultDetails) SetStatus(v string) *CisScanResultDetails { + s.Status = &v + return s +} - // A description of the filter. - Description *string `locationName:"description" min:"1" type:"string"` +// SetStatusReason sets the StatusReason field's value. +func (s *CisScanResultDetails) SetStatusReason(v string) *CisScanResultDetails { + s.StatusReason = &v + return s +} - // Defines the criteria to be used in the filter for querying findings. - // - // FilterCriteria is a required field - FilterCriteria *FilterCriteria `locationName:"filterCriteria" type:"structure" required:"true"` +// SetTargetResourceId sets the TargetResourceId field's value. +func (s *CisScanResultDetails) SetTargetResourceId(v string) *CisScanResultDetails { + s.TargetResourceId = &v + return s +} - // The name of the filter. Minimum length of 3. Maximum length of 64. Valid - // characters include alphanumeric characters, dot (.), underscore (_), and - // dash (-). Spaces are not allowed. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` +// SetTitle sets the Title field's value. +func (s *CisScanResultDetails) SetTitle(v string) *CisScanResultDetails { + s.Title = &v + return s +} - // The reason for creating the filter. - Reason *string `locationName:"reason" min:"1" type:"string"` +// The CIS scan result details filter criteria. +type CisScanResultDetailsFilterCriteria struct { + _ struct{} `type:"structure"` - // A list of tags for the filter. - Tags map[string]*string `locationName:"tags" type:"map"` + // The criteria's check ID filters. + CheckIdFilters []*CisStringFilter `locationName:"checkIdFilters" min:"1" type:"list"` + + // The criteria's finding ARN filters. + FindingArnFilters []*CisStringFilter `locationName:"findingArnFilters" min:"1" type:"list"` + + // The criteria's finding status filters. + FindingStatusFilters []*CisFindingStatusFilter `locationName:"findingStatusFilters" min:"1" type:"list"` + + // The criteria's security level filters. . Security level refers to the Benchmark + // levels that CIS assigns to a profile. + SecurityLevelFilters []*CisSecurityLevelFilter `locationName:"securityLevelFilters" min:"1" type:"list"` + + // The criteria's title filters. + TitleFilters []*CisStringFilter `locationName:"titleFilters" min:"1" type:"list"` } // String returns the string representation. @@ -8265,7 +9278,7 @@ type CreateFilterInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFilterInput) String() string { +func (s CisScanResultDetailsFilterCriteria) String() string { return awsutil.Prettify(s) } @@ -8274,34 +9287,76 @@ func (s CreateFilterInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFilterInput) GoString() string { +func (s CisScanResultDetailsFilterCriteria) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFilterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFilterInput"} - if s.Action == nil { - invalidParams.Add(request.NewErrParamRequired("Action")) +func (s *CisScanResultDetailsFilterCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisScanResultDetailsFilterCriteria"} + if s.CheckIdFilters != nil && len(s.CheckIdFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CheckIdFilters", 1)) } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + if s.FindingArnFilters != nil && len(s.FindingArnFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FindingArnFilters", 1)) } - if s.FilterCriteria == nil { - invalidParams.Add(request.NewErrParamRequired("FilterCriteria")) + if s.FindingStatusFilters != nil && len(s.FindingStatusFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FindingStatusFilters", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.SecurityLevelFilters != nil && len(s.SecurityLevelFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityLevelFilters", 1)) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.TitleFilters != nil && len(s.TitleFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TitleFilters", 1)) } - if s.Reason != nil && len(*s.Reason) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Reason", 1)) + if s.CheckIdFilters != nil { + for i, v := range s.CheckIdFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CheckIdFilters", i), err.(request.ErrInvalidParams)) + } + } } - if s.FilterCriteria != nil { - if err := s.FilterCriteria.Validate(); err != nil { - invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + if s.FindingArnFilters != nil { + for i, v := range s.FindingArnFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingArnFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.FindingStatusFilters != nil { + for i, v := range s.FindingStatusFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingStatusFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SecurityLevelFilters != nil { + for i, v := range s.SecurityLevelFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecurityLevelFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TitleFilters != nil { + for i, v := range s.TitleFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TitleFilters", i), err.(request.ErrInvalidParams)) + } } } @@ -8311,90 +9366,57 @@ func (s *CreateFilterInput) Validate() error { return nil } -// SetAction sets the Action field's value. -func (s *CreateFilterInput) SetAction(v string) *CreateFilterInput { - s.Action = &v +// SetCheckIdFilters sets the CheckIdFilters field's value. +func (s *CisScanResultDetailsFilterCriteria) SetCheckIdFilters(v []*CisStringFilter) *CisScanResultDetailsFilterCriteria { + s.CheckIdFilters = v return s } -// SetDescription sets the Description field's value. -func (s *CreateFilterInput) SetDescription(v string) *CreateFilterInput { - s.Description = &v +// SetFindingArnFilters sets the FindingArnFilters field's value. +func (s *CisScanResultDetailsFilterCriteria) SetFindingArnFilters(v []*CisStringFilter) *CisScanResultDetailsFilterCriteria { + s.FindingArnFilters = v return s } -// SetFilterCriteria sets the FilterCriteria field's value. -func (s *CreateFilterInput) SetFilterCriteria(v *FilterCriteria) *CreateFilterInput { - s.FilterCriteria = v +// SetFindingStatusFilters sets the FindingStatusFilters field's value. +func (s *CisScanResultDetailsFilterCriteria) SetFindingStatusFilters(v []*CisFindingStatusFilter) *CisScanResultDetailsFilterCriteria { + s.FindingStatusFilters = v return s } -// SetName sets the Name field's value. -func (s *CreateFilterInput) SetName(v string) *CreateFilterInput { - s.Name = &v +// SetSecurityLevelFilters sets the SecurityLevelFilters field's value. +func (s *CisScanResultDetailsFilterCriteria) SetSecurityLevelFilters(v []*CisSecurityLevelFilter) *CisScanResultDetailsFilterCriteria { + s.SecurityLevelFilters = v return s } -// SetReason sets the Reason field's value. -func (s *CreateFilterInput) SetReason(v string) *CreateFilterInput { - s.Reason = &v +// SetTitleFilters sets the TitleFilters field's value. +func (s *CisScanResultDetailsFilterCriteria) SetTitleFilters(v []*CisStringFilter) *CisScanResultDetailsFilterCriteria { + s.TitleFilters = v return s } -// SetTags sets the Tags field's value. -func (s *CreateFilterInput) SetTags(v map[string]*string) *CreateFilterInput { - s.Tags = v - return s -} - -type CreateFilterOutput struct { +// The scan results aggregated by checks filter criteria. +type CisScanResultsAggregatedByChecksFilterCriteria struct { _ struct{} `type:"structure"` - // The Amazon Resource Number (ARN) of the successfully created filter. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CreateFilterOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CreateFilterOutput) GoString() string { - return s.String() -} + // The criteria's account ID filters. + AccountIdFilters []*CisStringFilter `locationName:"accountIdFilters" min:"1" type:"list"` -// SetArn sets the Arn field's value. -func (s *CreateFilterOutput) SetArn(v string) *CreateFilterOutput { - s.Arn = &v - return s -} + // The criteria's check ID filters. + CheckIdFilters []*CisStringFilter `locationName:"checkIdFilters" min:"1" type:"list"` -type CreateFindingsReportInput struct { - _ struct{} `type:"structure"` + // The criteria's failed resources filters. + FailedResourcesFilters []*CisNumberFilter `locationName:"failedResourcesFilters" min:"1" type:"list"` - // The filter criteria to apply to the results of the finding report. - FilterCriteria *FilterCriteria `locationName:"filterCriteria" type:"structure"` + // The criteria's platform filters. + PlatformFilters []*CisStringFilter `locationName:"platformFilters" min:"1" type:"list"` - // The format to generate the report in. - // - // ReportFormat is a required field - ReportFormat *string `locationName:"reportFormat" type:"string" required:"true" enum:"ReportFormat"` + // The criteria's security level filters. + SecurityLevelFilters []*CisSecurityLevelFilter `locationName:"securityLevelFilters" min:"1" type:"list"` - // The Amazon S3 export destination for the report. - // - // S3Destination is a required field - S3Destination *Destination `locationName:"s3Destination" type:"structure" required:"true"` + // The criteria's title filters. + TitleFilters []*CisStringFilter `locationName:"titleFilters" min:"1" type:"list"` } // String returns the string representation. @@ -8402,7 +9424,7 @@ type CreateFindingsReportInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFindingsReportInput) String() string { +func (s CisScanResultsAggregatedByChecksFilterCriteria) String() string { return awsutil.Prettify(s) } @@ -8411,27 +9433,79 @@ func (s CreateFindingsReportInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFindingsReportInput) GoString() string { +func (s CisScanResultsAggregatedByChecksFilterCriteria) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFindingsReportInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFindingsReportInput"} - if s.ReportFormat == nil { - invalidParams.Add(request.NewErrParamRequired("ReportFormat")) +func (s *CisScanResultsAggregatedByChecksFilterCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisScanResultsAggregatedByChecksFilterCriteria"} + if s.AccountIdFilters != nil && len(s.AccountIdFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIdFilters", 1)) } - if s.S3Destination == nil { - invalidParams.Add(request.NewErrParamRequired("S3Destination")) + if s.CheckIdFilters != nil && len(s.CheckIdFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CheckIdFilters", 1)) } - if s.FilterCriteria != nil { - if err := s.FilterCriteria.Validate(); err != nil { - invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + if s.FailedResourcesFilters != nil && len(s.FailedResourcesFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FailedResourcesFilters", 1)) + } + if s.PlatformFilters != nil && len(s.PlatformFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlatformFilters", 1)) + } + if s.SecurityLevelFilters != nil && len(s.SecurityLevelFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityLevelFilters", 1)) + } + if s.TitleFilters != nil && len(s.TitleFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TitleFilters", 1)) + } + if s.AccountIdFilters != nil { + for i, v := range s.AccountIdFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountIdFilters", i), err.(request.ErrInvalidParams)) + } } } - if s.S3Destination != nil { - if err := s.S3Destination.Validate(); err != nil { - invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) + if s.CheckIdFilters != nil { + for i, v := range s.CheckIdFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CheckIdFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PlatformFilters != nil { + for i, v := range s.PlatformFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SecurityLevelFilters != nil { + for i, v := range s.SecurityLevelFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecurityLevelFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TitleFilters != nil { + for i, v := range s.TitleFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TitleFilters", i), err.(request.ErrInvalidParams)) + } } } @@ -8441,70 +9515,72 @@ func (s *CreateFindingsReportInput) Validate() error { return nil } -// SetFilterCriteria sets the FilterCriteria field's value. -func (s *CreateFindingsReportInput) SetFilterCriteria(v *FilterCriteria) *CreateFindingsReportInput { - s.FilterCriteria = v +// SetAccountIdFilters sets the AccountIdFilters field's value. +func (s *CisScanResultsAggregatedByChecksFilterCriteria) SetAccountIdFilters(v []*CisStringFilter) *CisScanResultsAggregatedByChecksFilterCriteria { + s.AccountIdFilters = v return s } -// SetReportFormat sets the ReportFormat field's value. -func (s *CreateFindingsReportInput) SetReportFormat(v string) *CreateFindingsReportInput { - s.ReportFormat = &v +// SetCheckIdFilters sets the CheckIdFilters field's value. +func (s *CisScanResultsAggregatedByChecksFilterCriteria) SetCheckIdFilters(v []*CisStringFilter) *CisScanResultsAggregatedByChecksFilterCriteria { + s.CheckIdFilters = v return s } -// SetS3Destination sets the S3Destination field's value. -func (s *CreateFindingsReportInput) SetS3Destination(v *Destination) *CreateFindingsReportInput { - s.S3Destination = v +// SetFailedResourcesFilters sets the FailedResourcesFilters field's value. +func (s *CisScanResultsAggregatedByChecksFilterCriteria) SetFailedResourcesFilters(v []*CisNumberFilter) *CisScanResultsAggregatedByChecksFilterCriteria { + s.FailedResourcesFilters = v return s } -type CreateFindingsReportOutput struct { - _ struct{} `type:"structure"` - - // The ID of the report. - ReportId *string `locationName:"reportId" type:"string"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CreateFindingsReportOutput) String() string { - return awsutil.Prettify(s) +// SetPlatformFilters sets the PlatformFilters field's value. +func (s *CisScanResultsAggregatedByChecksFilterCriteria) SetPlatformFilters(v []*CisStringFilter) *CisScanResultsAggregatedByChecksFilterCriteria { + s.PlatformFilters = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CreateFindingsReportOutput) GoString() string { - return s.String() +// SetSecurityLevelFilters sets the SecurityLevelFilters field's value. +func (s *CisScanResultsAggregatedByChecksFilterCriteria) SetSecurityLevelFilters(v []*CisSecurityLevelFilter) *CisScanResultsAggregatedByChecksFilterCriteria { + s.SecurityLevelFilters = v + return s } -// SetReportId sets the ReportId field's value. -func (s *CreateFindingsReportOutput) SetReportId(v string) *CreateFindingsReportOutput { - s.ReportId = &v +// SetTitleFilters sets the TitleFilters field's value. +func (s *CisScanResultsAggregatedByChecksFilterCriteria) SetTitleFilters(v []*CisStringFilter) *CisScanResultsAggregatedByChecksFilterCriteria { + s.TitleFilters = v return s } -type CreateSbomExportInput struct { +// The scan results aggregated by target resource filter criteria. +type CisScanResultsAggregatedByTargetResourceFilterCriteria struct { _ struct{} `type:"structure"` - // The output format for the software bill of materials (SBOM) report. - // - // ReportFormat is a required field - ReportFormat *string `locationName:"reportFormat" type:"string" required:"true" enum:"SbomReportFormat"` + // The criteria's account ID filters. + AccountIdFilters []*CisStringFilter `locationName:"accountIdFilters" min:"1" type:"list"` - // The resource filter criteria for the software bill of materials (SBOM) report. - ResourceFilterCriteria *ResourceFilterCriteria `locationName:"resourceFilterCriteria" type:"structure"` + // The criteria's check ID filters. + CheckIdFilters []*CisStringFilter `locationName:"checkIdFilters" min:"1" type:"list"` - // Contains details of the Amazon S3 bucket and KMS key used to export findings. - // - // S3Destination is a required field - S3Destination *Destination `locationName:"s3Destination" type:"structure" required:"true"` + // The criteria's failed checks filters. + FailedChecksFilters []*CisNumberFilter `locationName:"failedChecksFilters" min:"1" type:"list"` + + // The criteria's platform filters. + PlatformFilters []*CisStringFilter `locationName:"platformFilters" min:"1" type:"list"` + + // The criteria's status filter. + StatusFilters []*CisResultStatusFilter `locationName:"statusFilters" min:"1" type:"list"` + + // The criteria's target resource ID filters. + TargetResourceIdFilters []*CisStringFilter `locationName:"targetResourceIdFilters" min:"1" type:"list"` + + // The criteria's target resource tag filters. + TargetResourceTagFilters []*TagFilter `locationName:"targetResourceTagFilters" min:"1" type:"list"` + + // The criteria's target status filters. + TargetStatusFilters []*CisTargetStatusFilter `locationName:"targetStatusFilters" min:"1" type:"list"` + + // The criteria's target status reason filters. + TargetStatusReasonFilters []*CisTargetStatusReasonFilter `locationName:"targetStatusReasonFilters" min:"1" type:"list"` } // String returns the string representation. @@ -8512,7 +9588,7 @@ type CreateSbomExportInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSbomExportInput) String() string { +func (s CisScanResultsAggregatedByTargetResourceFilterCriteria) String() string { return awsutil.Prettify(s) } @@ -8521,27 +9597,118 @@ func (s CreateSbomExportInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSbomExportInput) GoString() string { +func (s CisScanResultsAggregatedByTargetResourceFilterCriteria) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSbomExportInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSbomExportInput"} - if s.ReportFormat == nil { - invalidParams.Add(request.NewErrParamRequired("ReportFormat")) +func (s *CisScanResultsAggregatedByTargetResourceFilterCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisScanResultsAggregatedByTargetResourceFilterCriteria"} + if s.AccountIdFilters != nil && len(s.AccountIdFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIdFilters", 1)) } - if s.S3Destination == nil { - invalidParams.Add(request.NewErrParamRequired("S3Destination")) + if s.CheckIdFilters != nil && len(s.CheckIdFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CheckIdFilters", 1)) } - if s.ResourceFilterCriteria != nil { - if err := s.ResourceFilterCriteria.Validate(); err != nil { - invalidParams.AddNested("ResourceFilterCriteria", err.(request.ErrInvalidParams)) + if s.FailedChecksFilters != nil && len(s.FailedChecksFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FailedChecksFilters", 1)) + } + if s.PlatformFilters != nil && len(s.PlatformFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PlatformFilters", 1)) + } + if s.StatusFilters != nil && len(s.StatusFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StatusFilters", 1)) + } + if s.TargetResourceIdFilters != nil && len(s.TargetResourceIdFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetResourceIdFilters", 1)) + } + if s.TargetResourceTagFilters != nil && len(s.TargetResourceTagFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetResourceTagFilters", 1)) + } + if s.TargetStatusFilters != nil && len(s.TargetStatusFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetStatusFilters", 1)) + } + if s.TargetStatusReasonFilters != nil && len(s.TargetStatusReasonFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetStatusReasonFilters", 1)) + } + if s.AccountIdFilters != nil { + for i, v := range s.AccountIdFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountIdFilters", i), err.(request.ErrInvalidParams)) + } } } - if s.S3Destination != nil { - if err := s.S3Destination.Validate(); err != nil { - invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) + if s.CheckIdFilters != nil { + for i, v := range s.CheckIdFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CheckIdFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PlatformFilters != nil { + for i, v := range s.PlatformFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.StatusFilters != nil { + for i, v := range s.StatusFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StatusFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TargetResourceIdFilters != nil { + for i, v := range s.TargetResourceIdFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetResourceIdFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TargetResourceTagFilters != nil { + for i, v := range s.TargetResourceTagFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetResourceTagFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TargetStatusFilters != nil { + for i, v := range s.TargetStatusFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetStatusFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TargetStatusReasonFilters != nil { + for i, v := range s.TargetStatusReasonFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetStatusReasonFilters", i), err.(request.ErrInvalidParams)) + } } } @@ -8551,29 +9718,73 @@ func (s *CreateSbomExportInput) Validate() error { return nil } -// SetReportFormat sets the ReportFormat field's value. -func (s *CreateSbomExportInput) SetReportFormat(v string) *CreateSbomExportInput { - s.ReportFormat = &v +// SetAccountIdFilters sets the AccountIdFilters field's value. +func (s *CisScanResultsAggregatedByTargetResourceFilterCriteria) SetAccountIdFilters(v []*CisStringFilter) *CisScanResultsAggregatedByTargetResourceFilterCriteria { + s.AccountIdFilters = v return s } -// SetResourceFilterCriteria sets the ResourceFilterCriteria field's value. -func (s *CreateSbomExportInput) SetResourceFilterCriteria(v *ResourceFilterCriteria) *CreateSbomExportInput { - s.ResourceFilterCriteria = v +// SetCheckIdFilters sets the CheckIdFilters field's value. +func (s *CisScanResultsAggregatedByTargetResourceFilterCriteria) SetCheckIdFilters(v []*CisStringFilter) *CisScanResultsAggregatedByTargetResourceFilterCriteria { + s.CheckIdFilters = v return s } -// SetS3Destination sets the S3Destination field's value. -func (s *CreateSbomExportInput) SetS3Destination(v *Destination) *CreateSbomExportInput { - s.S3Destination = v +// SetFailedChecksFilters sets the FailedChecksFilters field's value. +func (s *CisScanResultsAggregatedByTargetResourceFilterCriteria) SetFailedChecksFilters(v []*CisNumberFilter) *CisScanResultsAggregatedByTargetResourceFilterCriteria { + s.FailedChecksFilters = v return s } -type CreateSbomExportOutput struct { +// SetPlatformFilters sets the PlatformFilters field's value. +func (s *CisScanResultsAggregatedByTargetResourceFilterCriteria) SetPlatformFilters(v []*CisStringFilter) *CisScanResultsAggregatedByTargetResourceFilterCriteria { + s.PlatformFilters = v + return s +} + +// SetStatusFilters sets the StatusFilters field's value. +func (s *CisScanResultsAggregatedByTargetResourceFilterCriteria) SetStatusFilters(v []*CisResultStatusFilter) *CisScanResultsAggregatedByTargetResourceFilterCriteria { + s.StatusFilters = v + return s +} + +// SetTargetResourceIdFilters sets the TargetResourceIdFilters field's value. +func (s *CisScanResultsAggregatedByTargetResourceFilterCriteria) SetTargetResourceIdFilters(v []*CisStringFilter) *CisScanResultsAggregatedByTargetResourceFilterCriteria { + s.TargetResourceIdFilters = v + return s +} + +// SetTargetResourceTagFilters sets the TargetResourceTagFilters field's value. +func (s *CisScanResultsAggregatedByTargetResourceFilterCriteria) SetTargetResourceTagFilters(v []*TagFilter) *CisScanResultsAggregatedByTargetResourceFilterCriteria { + s.TargetResourceTagFilters = v + return s +} + +// SetTargetStatusFilters sets the TargetStatusFilters field's value. +func (s *CisScanResultsAggregatedByTargetResourceFilterCriteria) SetTargetStatusFilters(v []*CisTargetStatusFilter) *CisScanResultsAggregatedByTargetResourceFilterCriteria { + s.TargetStatusFilters = v + return s +} + +// SetTargetStatusReasonFilters sets the TargetStatusReasonFilters field's value. +func (s *CisScanResultsAggregatedByTargetResourceFilterCriteria) SetTargetStatusReasonFilters(v []*CisTargetStatusReasonFilter) *CisScanResultsAggregatedByTargetResourceFilterCriteria { + s.TargetStatusReasonFilters = v + return s +} + +// The CIS scan status filter. +type CisScanStatusFilter struct { _ struct{} `type:"structure"` - // The report ID for the software bill of materials (SBOM) report. - ReportId *string `locationName:"reportId" type:"string"` + // The filter comparison value. + // + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CisScanStatusComparison"` + + // The filter value. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true" enum:"CisScanStatus"` } // String returns the string representation. @@ -8581,7 +9792,7 @@ type CreateSbomExportOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSbomExportOutput) String() string { +func (s CisScanStatusFilter) String() string { return awsutil.Prettify(s) } @@ -8590,68 +9801,52 @@ func (s CreateSbomExportOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSbomExportOutput) GoString() string { +func (s CisScanStatusFilter) GoString() string { return s.String() } -// SetReportId sets the ReportId field's value. -func (s *CreateSbomExportOutput) SetReportId(v string) *CreateSbomExportOutput { - s.ReportId = &v - return s -} - -// The Common Vulnerability Scoring System (CVSS) version 2 details for the -// vulnerability. -type Cvss2 struct { - _ struct{} `type:"structure"` - - // The CVSS v2 base score for the vulnerability. - BaseScore *float64 `locationName:"baseScore" type:"double"` - - // The scoring vector associated with the CVSS v2 score. - ScoringVector *string `locationName:"scoringVector" type:"string"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Cvss2) String() string { - return awsutil.Prettify(s) -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CisScanStatusFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisScanStatusFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Cvss2) GoString() string { - return s.String() + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetBaseScore sets the BaseScore field's value. -func (s *Cvss2) SetBaseScore(v float64) *Cvss2 { - s.BaseScore = &v +// SetComparison sets the Comparison field's value. +func (s *CisScanStatusFilter) SetComparison(v string) *CisScanStatusFilter { + s.Comparison = &v return s } -// SetScoringVector sets the ScoringVector field's value. -func (s *Cvss2) SetScoringVector(v string) *Cvss2 { - s.ScoringVector = &v +// SetValue sets the Value field's value. +func (s *CisScanStatusFilter) SetValue(v string) *CisScanStatusFilter { + s.Value = &v return s } -// The Common Vulnerability Scoring System (CVSS) version 3 details for the -// vulnerability. -type Cvss3 struct { +// The CIS security level filter. Security level refers to the Benchmark levels +// that CIS assigns to a profile. +type CisSecurityLevelFilter struct { _ struct{} `type:"structure"` - // The CVSS v3 base score for the vulnerability. - BaseScore *float64 `locationName:"baseScore" type:"double"` + // The CIS security filter comparison value. + // + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CisSecurityLevelComparison"` - // The scoring vector associated with the CVSS v3 score. - ScoringVector *string `locationName:"scoringVector" type:"string"` + // The CIS security filter value. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true" enum:"CisSecurityLevel"` } // String returns the string representation. @@ -8659,7 +9854,7 @@ type Cvss3 struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Cvss3) String() string { +func (s CisSecurityLevelFilter) String() string { return awsutil.Prettify(s) } @@ -8668,45 +9863,57 @@ func (s Cvss3) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Cvss3) GoString() string { +func (s CisSecurityLevelFilter) GoString() string { return s.String() } -// SetBaseScore sets the BaseScore field's value. -func (s *Cvss3) SetBaseScore(v float64) *Cvss3 { - s.BaseScore = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CisSecurityLevelFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisSecurityLevelFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComparison sets the Comparison field's value. +func (s *CisSecurityLevelFilter) SetComparison(v string) *CisSecurityLevelFilter { + s.Comparison = &v return s } -// SetScoringVector sets the ScoringVector field's value. -func (s *Cvss3) SetScoringVector(v string) *Cvss3 { - s.ScoringVector = &v +// SetValue sets the Value field's value. +func (s *CisSecurityLevelFilter) SetValue(v string) *CisSecurityLevelFilter { + s.Value = &v return s } -// The CVSS score for a finding. -type CvssScore struct { +// The CIS session message. +type CisSessionMessage struct { _ struct{} `type:"structure"` - // The base CVSS score used for the finding. - // - // BaseScore is a required field - BaseScore *float64 `locationName:"baseScore" type:"double" required:"true"` - - // The vector string of the CVSS score. + // The CIS rule details for the CIS session message. + // CisRuleDetails is automatically base64 encoded/decoded by the SDK. // - // ScoringVector is a required field - ScoringVector *string `locationName:"scoringVector" min:"1" type:"string" required:"true"` + // CisRuleDetails is a required field + CisRuleDetails []byte `locationName:"cisRuleDetails" type:"blob" required:"true"` - // The source of the CVSS score. + // The rule ID for the CIS session message. // - // Source is a required field - Source *string `locationName:"source" min:"1" type:"string" required:"true"` + // RuleId is a required field + RuleId *string `locationName:"ruleId" min:"1" type:"string" required:"true"` - // The version of CVSS used for the score. + // The status of the CIS session message. // - // Version is a required field - Version *string `locationName:"version" min:"1" type:"string" required:"true"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"CisRuleStatus"` } // String returns the string representation. @@ -8714,7 +9921,7 @@ type CvssScore struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScore) String() string { +func (s CisSessionMessage) String() string { return awsutil.Prettify(s) } @@ -8723,47 +9930,63 @@ func (s CvssScore) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScore) GoString() string { +func (s CisSessionMessage) GoString() string { return s.String() } -// SetBaseScore sets the BaseScore field's value. -func (s *CvssScore) SetBaseScore(v float64) *CvssScore { - s.BaseScore = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CisSessionMessage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisSessionMessage"} + if s.CisRuleDetails == nil { + invalidParams.Add(request.NewErrParamRequired("CisRuleDetails")) + } + if s.RuleId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleId")) + } + if s.RuleId != nil && len(*s.RuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleId", 1)) + } + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetScoringVector sets the ScoringVector field's value. -func (s *CvssScore) SetScoringVector(v string) *CvssScore { - s.ScoringVector = &v +// SetCisRuleDetails sets the CisRuleDetails field's value. +func (s *CisSessionMessage) SetCisRuleDetails(v []byte) *CisSessionMessage { + s.CisRuleDetails = v return s } -// SetSource sets the Source field's value. -func (s *CvssScore) SetSource(v string) *CvssScore { - s.Source = &v +// SetRuleId sets the RuleId field's value. +func (s *CisSessionMessage) SetRuleId(v string) *CisSessionMessage { + s.RuleId = &v return s } -// SetVersion sets the Version field's value. -func (s *CvssScore) SetVersion(v string) *CvssScore { - s.Version = &v +// SetStatus sets the Status field's value. +func (s *CisSessionMessage) SetStatus(v string) *CisSessionMessage { + s.Status = &v return s } -// Details on adjustments Amazon Inspector made to the CVSS score for a finding. -type CvssScoreAdjustment struct { +// The CIS string filter. +type CisStringFilter struct { _ struct{} `type:"structure"` - // The metric used to adjust the CVSS score. + // The comparison value of the CIS string filter. // - // Metric is a required field - Metric *string `locationName:"metric" min:"1" type:"string" required:"true"` + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CisStringComparison"` - // The reason the CVSS score has been adjustment. + // The value of the CIS string filter. // - // Reason is a required field - Reason *string `locationName:"reason" min:"1" type:"string" required:"true"` + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` } // String returns the string representation. @@ -8771,7 +9994,7 @@ type CvssScoreAdjustment struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScoreAdjustment) String() string { +func (s CisStringFilter) String() string { return awsutil.Prettify(s) } @@ -8780,52 +10003,67 @@ func (s CvssScoreAdjustment) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScoreAdjustment) GoString() string { +func (s CisStringFilter) GoString() string { return s.String() } -// SetMetric sets the Metric field's value. -func (s *CvssScoreAdjustment) SetMetric(v string) *CvssScoreAdjustment { - s.Metric = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CisStringFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisStringFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComparison sets the Comparison field's value. +func (s *CisStringFilter) SetComparison(v string) *CisStringFilter { + s.Comparison = &v return s } -// SetReason sets the Reason field's value. -func (s *CvssScoreAdjustment) SetReason(v string) *CvssScoreAdjustment { - s.Reason = &v +// SetValue sets the Value field's value. +func (s *CisStringFilter) SetValue(v string) *CisStringFilter { + s.Value = &v return s } -// Information about the CVSS score. -type CvssScoreDetails struct { +// The CIS target resource aggregation. +type CisTargetResourceAggregation struct { _ struct{} `type:"structure"` - // An object that contains details about adjustment Amazon Inspector made to - // the CVSS score. - Adjustments []*CvssScoreAdjustment `locationName:"adjustments" type:"list"` + // The account ID for the CIS target resource. + AccountId *string `locationName:"accountId" min:"12" type:"string"` - // The source of the CVSS data. - CvssSource *string `locationName:"cvssSource" min:"1" type:"string"` + // The platform for the CIS target resource. + Platform *string `locationName:"platform" type:"string"` - // The CVSS score. + // The scan ARN for the CIS target resource. // - // Score is a required field - Score *float64 `locationName:"score" type:"double" required:"true"` + // ScanArn is a required field + ScanArn *string `locationName:"scanArn" type:"string" required:"true"` - // The source for the CVSS score. - // - // ScoreSource is a required field - ScoreSource *string `locationName:"scoreSource" min:"1" type:"string" required:"true"` + // The target resource status counts. + StatusCounts *StatusCounts `locationName:"statusCounts" type:"structure"` - // The vector for the CVSS score. - // - // ScoringVector is a required field - ScoringVector *string `locationName:"scoringVector" min:"1" type:"string" required:"true"` + // The ID of the target resource. + TargetResourceId *string `locationName:"targetResourceId" min:"10" type:"string"` - // The CVSS version used in scoring. - // - // Version is a required field - Version *string `locationName:"version" min:"1" type:"string" required:"true"` + // The tag for the target resource. + TargetResourceTags map[string][]*string `locationName:"targetResourceTags" min:"1" type:"map"` + + // The status of the target resource. + TargetStatus *string `locationName:"targetStatus" type:"string" enum:"CisTargetStatus"` + + // The reason for the target resource. + TargetStatusReason *string `locationName:"targetStatusReason" type:"string" enum:"CisTargetStatusReason"` } // String returns the string representation. @@ -8833,7 +10071,7 @@ type CvssScoreDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScoreDetails) String() string { +func (s CisTargetResourceAggregation) String() string { return awsutil.Prettify(s) } @@ -8842,55 +10080,71 @@ func (s CvssScoreDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CvssScoreDetails) GoString() string { +func (s CisTargetResourceAggregation) GoString() string { return s.String() } -// SetAdjustments sets the Adjustments field's value. -func (s *CvssScoreDetails) SetAdjustments(v []*CvssScoreAdjustment) *CvssScoreDetails { - s.Adjustments = v +// SetAccountId sets the AccountId field's value. +func (s *CisTargetResourceAggregation) SetAccountId(v string) *CisTargetResourceAggregation { + s.AccountId = &v return s } -// SetCvssSource sets the CvssSource field's value. -func (s *CvssScoreDetails) SetCvssSource(v string) *CvssScoreDetails { - s.CvssSource = &v +// SetPlatform sets the Platform field's value. +func (s *CisTargetResourceAggregation) SetPlatform(v string) *CisTargetResourceAggregation { + s.Platform = &v return s } -// SetScore sets the Score field's value. -func (s *CvssScoreDetails) SetScore(v float64) *CvssScoreDetails { - s.Score = &v +// SetScanArn sets the ScanArn field's value. +func (s *CisTargetResourceAggregation) SetScanArn(v string) *CisTargetResourceAggregation { + s.ScanArn = &v return s } -// SetScoreSource sets the ScoreSource field's value. -func (s *CvssScoreDetails) SetScoreSource(v string) *CvssScoreDetails { - s.ScoreSource = &v +// SetStatusCounts sets the StatusCounts field's value. +func (s *CisTargetResourceAggregation) SetStatusCounts(v *StatusCounts) *CisTargetResourceAggregation { + s.StatusCounts = v return s } -// SetScoringVector sets the ScoringVector field's value. -func (s *CvssScoreDetails) SetScoringVector(v string) *CvssScoreDetails { - s.ScoringVector = &v +// SetTargetResourceId sets the TargetResourceId field's value. +func (s *CisTargetResourceAggregation) SetTargetResourceId(v string) *CisTargetResourceAggregation { + s.TargetResourceId = &v return s } -// SetVersion sets the Version field's value. -func (s *CvssScoreDetails) SetVersion(v string) *CvssScoreDetails { - s.Version = &v +// SetTargetResourceTags sets the TargetResourceTags field's value. +func (s *CisTargetResourceAggregation) SetTargetResourceTags(v map[string][]*string) *CisTargetResourceAggregation { + s.TargetResourceTags = v return s } -// Contains details on the time range used to filter findings. -type DateFilter struct { +// SetTargetStatus sets the TargetStatus field's value. +func (s *CisTargetResourceAggregation) SetTargetStatus(v string) *CisTargetResourceAggregation { + s.TargetStatus = &v + return s +} + +// SetTargetStatusReason sets the TargetStatusReason field's value. +func (s *CisTargetResourceAggregation) SetTargetStatusReason(v string) *CisTargetResourceAggregation { + s.TargetStatusReason = &v + return s +} + +// The CIS target status filter. +type CisTargetStatusFilter struct { _ struct{} `type:"structure"` - // A timestamp representing the end of the time period filtered on. - EndInclusive *time.Time `locationName:"endInclusive" type:"timestamp"` + // The comparison value of the CIS target status filter. + // + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CisTargetStatusComparison"` - // A timestamp representing the start of the time period filtered on. - StartInclusive *time.Time `locationName:"startInclusive" type:"timestamp"` + // The value of the CIS target status filter. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true" enum:"CisTargetStatus"` } // String returns the string representation. @@ -8898,7 +10152,7 @@ type DateFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DateFilter) String() string { +func (s CisTargetStatusFilter) String() string { return awsutil.Prettify(s) } @@ -8907,32 +10161,51 @@ func (s DateFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DateFilter) GoString() string { +func (s CisTargetStatusFilter) GoString() string { return s.String() } -// SetEndInclusive sets the EndInclusive field's value. -func (s *DateFilter) SetEndInclusive(v time.Time) *DateFilter { - s.EndInclusive = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CisTargetStatusFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisTargetStatusFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } -// SetStartInclusive sets the StartInclusive field's value. -func (s *DateFilter) SetStartInclusive(v time.Time) *DateFilter { - s.StartInclusive = &v + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComparison sets the Comparison field's value. +func (s *CisTargetStatusFilter) SetComparison(v string) *CisTargetStatusFilter { + s.Comparison = &v return s } -// Details of the Amazon Inspector delegated administrator for your organization. -type DelegatedAdmin struct { +// SetValue sets the Value field's value. +func (s *CisTargetStatusFilter) SetValue(v string) *CisTargetStatusFilter { + s.Value = &v + return s +} + +// The CIS target status reason filter. +type CisTargetStatusReasonFilter struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the Amazon Inspector delegated administrator - // for your organization. - AccountId *string `locationName:"accountId" min:"12" type:"string"` + // The comparison value of the CIS target status reason filter. + // + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CisTargetStatusComparison"` - // The status of the Amazon Inspector delegated administrator. - RelationshipStatus *string `locationName:"relationshipStatus" type:"string" enum:"RelationshipStatus"` + // The value of the CIS target status reason filter. + // + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true" enum:"CisTargetStatusReason"` } // String returns the string representation. @@ -8940,7 +10213,7 @@ type DelegatedAdmin struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DelegatedAdmin) String() string { +func (s CisTargetStatusReasonFilter) String() string { return awsutil.Prettify(s) } @@ -8949,32 +10222,47 @@ func (s DelegatedAdmin) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DelegatedAdmin) GoString() string { +func (s CisTargetStatusReasonFilter) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *DelegatedAdmin) SetAccountId(v string) *DelegatedAdmin { - s.AccountId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CisTargetStatusReasonFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CisTargetStatusReasonFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComparison sets the Comparison field's value. +func (s *CisTargetStatusReasonFilter) SetComparison(v string) *CisTargetStatusReasonFilter { + s.Comparison = &v return s } -// SetRelationshipStatus sets the RelationshipStatus field's value. -func (s *DelegatedAdmin) SetRelationshipStatus(v string) *DelegatedAdmin { - s.RelationshipStatus = &v +// SetValue sets the Value field's value. +func (s *CisTargetStatusReasonFilter) SetValue(v string) *CisTargetStatusReasonFilter { + s.Value = &v return s } -// Details of the Amazon Inspector delegated administrator for your organization. -type DelegatedAdminAccount struct { +// The CIS targets. +type CisTargets struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the Amazon Inspector delegated administrator - // for your organization. - AccountId *string `locationName:"accountId" min:"12" type:"string"` + // The CIS target account ids. + AccountIds []*string `locationName:"accountIds" min:"1" type:"list"` - // The status of the Amazon Inspector delegated administrator. - Status *string `locationName:"status" type:"string" enum:"DelegatedAdminStatus"` + // The CIS target resource tags. + TargetResourceTags map[string][]*string `locationName:"targetResourceTags" min:"1" type:"map"` } // String returns the string representation. @@ -8982,7 +10270,7 @@ type DelegatedAdminAccount struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DelegatedAdminAccount) String() string { +func (s CisTargets) String() string { return awsutil.Prettify(s) } @@ -8991,29 +10279,35 @@ func (s DelegatedAdminAccount) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DelegatedAdminAccount) GoString() string { +func (s CisTargets) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *DelegatedAdminAccount) SetAccountId(v string) *DelegatedAdminAccount { - s.AccountId = &v +// SetAccountIds sets the AccountIds field's value. +func (s *CisTargets) SetAccountIds(v []*string) *CisTargets { + s.AccountIds = v return s } -// SetStatus sets the Status field's value. -func (s *DelegatedAdminAccount) SetStatus(v string) *DelegatedAdminAccount { - s.Status = &v +// SetTargetResourceTags sets the TargetResourceTags field's value. +func (s *CisTargets) SetTargetResourceTags(v map[string][]*string) *CisTargets { + s.TargetResourceTags = v return s } -type DeleteFilterInput struct { +// The Cybersecurity and Infrastructure Security Agency (CISA) details for a +// specific vulnerability. +type CisaData struct { _ struct{} `type:"structure"` - // The Amazon Resource Number (ARN) of the filter to be deleted. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + // The remediation action recommended by CISA for this vulnerability. + Action *string `locationName:"action" type:"string"` + + // The date and time CISA added this vulnerability to their catalogue. + DateAdded *time.Time `locationName:"dateAdded" type:"timestamp"` + + // The date and time CISA expects a fix to have been provided vulnerability. + DateDue *time.Time `locationName:"dateDue" type:"timestamp"` } // String returns the string representation. @@ -9021,7 +10315,7 @@ type DeleteFilterInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFilterInput) String() string { +func (s CisaData) String() string { return awsutil.Prettify(s) } @@ -9030,39 +10324,53 @@ func (s DeleteFilterInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFilterInput) GoString() string { +func (s CisaData) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFilterInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFilterInput"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.Arn != nil && len(*s.Arn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) - } +// SetAction sets the Action field's value. +func (s *CisaData) SetAction(v string) *CisaData { + s.Action = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDateAdded sets the DateAdded field's value. +func (s *CisaData) SetDateAdded(v time.Time) *CisaData { + s.DateAdded = &v + return s } -// SetArn sets the Arn field's value. -func (s *DeleteFilterInput) SetArn(v string) *DeleteFilterInput { - s.Arn = &v +// SetDateDue sets the DateDue field's value. +func (s *CisaData) SetDateDue(v time.Time) *CisaData { + s.DateDue = &v return s } -type DeleteFilterOutput struct { +// Contains information on where a code vulnerability is located in your Lambda +// function. +type CodeFilePath struct { _ struct{} `type:"structure"` - // The Amazon Resource Number (ARN) of the filter that has been deleted. + // The line number of the last line of code that a vulnerability was found in. // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + // EndLine is a required field + EndLine *int64 `locationName:"endLine" type:"integer" required:"true"` + + // The name of the file the code vulnerability was found in. + // + // FileName is a required field + FileName *string `locationName:"fileName" min:"1" type:"string" required:"true"` + + // The file path to the code that a vulnerability was found in. + // + // FilePath is a required field + FilePath *string `locationName:"filePath" min:"1" type:"string" required:"true"` + + // The line number of the first line of code that a vulnerability was found + // in. + // + // StartLine is a required field + StartLine *int64 `locationName:"startLine" type:"integer" required:"true"` } // String returns the string representation. @@ -9070,7 +10378,7 @@ type DeleteFilterOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFilterOutput) String() string { +func (s CodeFilePath) String() string { return awsutil.Prettify(s) } @@ -9079,47 +10387,47 @@ func (s DeleteFilterOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFilterOutput) GoString() string { +func (s CodeFilePath) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DeleteFilterOutput) SetArn(v string) *DeleteFilterOutput { - s.Arn = &v +// SetEndLine sets the EndLine field's value. +func (s *CodeFilePath) SetEndLine(v int64) *CodeFilePath { + s.EndLine = &v return s } -type DescribeOrganizationConfigurationInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetFileName sets the FileName field's value. +func (s *CodeFilePath) SetFileName(v string) *CodeFilePath { + s.FileName = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeOrganizationConfigurationInput) String() string { - return awsutil.Prettify(s) +// SetFilePath sets the FilePath field's value. +func (s *CodeFilePath) SetFilePath(v string) *CodeFilePath { + s.FilePath = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeOrganizationConfigurationInput) GoString() string { - return s.String() +// SetStartLine sets the StartLine field's value. +func (s *CodeFilePath) SetStartLine(v int64) *CodeFilePath { + s.StartLine = &v + return s } -type DescribeOrganizationConfigurationOutput struct { +// Contains information on the lines of code associated with a code snippet. +type CodeLine struct { _ struct{} `type:"structure"` - // The scan types are automatically enabled for new members of your organization. - AutoEnable *AutoEnable `locationName:"autoEnable" type:"structure"` + // The content of a line of code + // + // Content is a required field + Content *string `locationName:"content" type:"string" required:"true"` - // Represents whether your organization has reached the maximum Amazon Web Services - // account limit for Amazon Inspector. - MaxAccountLimitReached *bool `locationName:"maxAccountLimitReached" type:"boolean"` + // The line number that a section of code is located at. + // + // LineNumber is a required field + LineNumber *int64 `locationName:"lineNumber" type:"integer" required:"true"` } // String returns the string representation. @@ -9127,7 +10435,7 @@ type DescribeOrganizationConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeOrganizationConfigurationOutput) String() string { +func (s CodeLine) String() string { return awsutil.Prettify(s) } @@ -9136,38 +10444,42 @@ func (s DescribeOrganizationConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeOrganizationConfigurationOutput) GoString() string { +func (s CodeLine) GoString() string { return s.String() } -// SetAutoEnable sets the AutoEnable field's value. -func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v *AutoEnable) *DescribeOrganizationConfigurationOutput { - s.AutoEnable = v +// SetContent sets the Content field's value. +func (s *CodeLine) SetContent(v string) *CodeLine { + s.Content = &v return s } -// SetMaxAccountLimitReached sets the MaxAccountLimitReached field's value. -func (s *DescribeOrganizationConfigurationOutput) SetMaxAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput { - s.MaxAccountLimitReached = &v +// SetLineNumber sets the LineNumber field's value. +func (s *CodeLine) SetLineNumber(v int64) *CodeLine { + s.LineNumber = &v return s } -// Contains details of the Amazon S3 bucket and KMS key used to export findings. -type Destination struct { +// Contains information about any errors encountered while trying to retrieve +// a code snippet. +type CodeSnippetError struct { _ struct{} `type:"structure"` - // The name of the Amazon S3 bucket to export findings to. + // The error code for the error that prevented a code snippet from being retrieved. // - // BucketName is a required field - BucketName *string `locationName:"bucketName" type:"string" required:"true"` + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"CodeSnippetErrorCode"` - // The prefix that the findings will be written under. - KeyPrefix *string `locationName:"keyPrefix" type:"string"` + // The error message received when Amazon Inspector failed to retrieve a code + // snippet. + // + // ErrorMessage is a required field + ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string" required:"true"` - // The ARN of the KMS key used to encrypt data when exporting findings. + // The ARN of the finding that a code snippet couldn't be retrieved for. // - // KmsKeyArn is a required field - KmsKeyArn *string `locationName:"kmsKeyArn" type:"string" required:"true"` + // FindingArn is a required field + FindingArn *string `locationName:"findingArn" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -9175,7 +10487,7 @@ type Destination struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Destination) String() string { +func (s CodeSnippetError) String() string { return awsutil.Prettify(s) } @@ -9184,52 +10496,47 @@ func (s Destination) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Destination) GoString() string { +func (s CodeSnippetError) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Destination) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Destination"} - if s.BucketName == nil { - invalidParams.Add(request.NewErrParamRequired("BucketName")) - } - if s.KmsKeyArn == nil { - invalidParams.Add(request.NewErrParamRequired("KmsKeyArn")) - } +// SetErrorCode sets the ErrorCode field's value. +func (s *CodeSnippetError) SetErrorCode(v string) *CodeSnippetError { + s.ErrorCode = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBucketName sets the BucketName field's value. -func (s *Destination) SetBucketName(v string) *Destination { - s.BucketName = &v - return s -} - -// SetKeyPrefix sets the KeyPrefix field's value. -func (s *Destination) SetKeyPrefix(v string) *Destination { - s.KeyPrefix = &v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *CodeSnippetError) SetErrorMessage(v string) *CodeSnippetError { + s.ErrorMessage = &v return s } -// SetKmsKeyArn sets the KmsKeyArn field's value. -func (s *Destination) SetKmsKeyArn(v string) *Destination { - s.KmsKeyArn = &v +// SetFindingArn sets the FindingArn field's value. +func (s *CodeSnippetError) SetFindingArn(v string) *CodeSnippetError { + s.FindingArn = &v return s } -type DisableDelegatedAdminAccountInput struct { +// Contains information on a code snippet retrieved by Amazon Inspector from +// a code vulnerability finding. +type CodeSnippetResult struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the current Amazon Inspector delegated - // administrator. - // - // DelegatedAdminAccountId is a required field - DelegatedAdminAccountId *string `locationName:"delegatedAdminAccountId" min:"12" type:"string" required:"true"` + // Contains information on the retrieved code snippet. + CodeSnippet []*CodeLine `locationName:"codeSnippet" min:"1" type:"list"` + + // The line number of the last line of a code snippet. + EndLine *int64 `locationName:"endLine" type:"integer"` + + // The ARN of a finding that the code snippet is associated with. + FindingArn *string `locationName:"findingArn" min:"1" type:"string"` + + // The line number of the first line of a code snippet. + StartLine *int64 `locationName:"startLine" type:"integer"` + + // Details of a suggested code fix. + SuggestedFixes []*SuggestedFix `locationName:"suggestedFixes" min:"1" type:"list"` } // String returns the string representation. @@ -9237,7 +10544,7 @@ type DisableDelegatedAdminAccountInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisableDelegatedAdminAccountInput) String() string { +func (s CodeSnippetResult) String() string { return awsutil.Prettify(s) } @@ -9246,40 +10553,82 @@ func (s DisableDelegatedAdminAccountInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisableDelegatedAdminAccountInput) GoString() string { +func (s CodeSnippetResult) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DisableDelegatedAdminAccountInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DisableDelegatedAdminAccountInput"} - if s.DelegatedAdminAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("DelegatedAdminAccountId")) - } - if s.DelegatedAdminAccountId != nil && len(*s.DelegatedAdminAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("DelegatedAdminAccountId", 12)) - } +// SetCodeSnippet sets the CodeSnippet field's value. +func (s *CodeSnippetResult) SetCodeSnippet(v []*CodeLine) *CodeSnippetResult { + s.CodeSnippet = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEndLine sets the EndLine field's value. +func (s *CodeSnippetResult) SetEndLine(v int64) *CodeSnippetResult { + s.EndLine = &v + return s } -// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. -func (s *DisableDelegatedAdminAccountInput) SetDelegatedAdminAccountId(v string) *DisableDelegatedAdminAccountInput { - s.DelegatedAdminAccountId = &v +// SetFindingArn sets the FindingArn field's value. +func (s *CodeSnippetResult) SetFindingArn(v string) *CodeSnippetResult { + s.FindingArn = &v return s } -type DisableDelegatedAdminAccountOutput struct { +// SetStartLine sets the StartLine field's value. +func (s *CodeSnippetResult) SetStartLine(v int64) *CodeSnippetResult { + s.StartLine = &v + return s +} + +// SetSuggestedFixes sets the SuggestedFixes field's value. +func (s *CodeSnippetResult) SetSuggestedFixes(v []*SuggestedFix) *CodeSnippetResult { + s.SuggestedFixes = v + return s +} + +// Contains information on the code vulnerability identified in your Lambda +// function. +type CodeVulnerabilityDetails struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the successfully disabled delegated - // administrator. + // The Common Weakness Enumeration (CWE) item associated with the detected vulnerability. // - // DelegatedAdminAccountId is a required field - DelegatedAdminAccountId *string `locationName:"delegatedAdminAccountId" min:"12" type:"string" required:"true"` + // Cwes is a required field + Cwes []*string `locationName:"cwes" min:"1" type:"list" required:"true"` + + // The ID for the Amazon CodeGuru detector associated with the finding. For + // more information on detectors see Amazon CodeGuru Detector Library (https://docs.aws.amazon.com/codeguru/detector-library). + // + // DetectorId is a required field + DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"` + + // The name of the detector used to identify the code vulnerability. For more + // information on detectors see CodeGuru Detector Library (https://docs.aws.amazon.com/codeguru/detector-library). + // + // DetectorName is a required field + DetectorName *string `locationName:"detectorName" min:"1" type:"string" required:"true"` + + // The detector tag associated with the vulnerability. Detector tags group related + // vulnerabilities by common themes or tactics. For a list of available tags + // by programming language, see Java tags (https://docs.aws.amazon.com/codeguru/detector-library/java/tags/), + // or Python tags (https://docs.aws.amazon.com/codeguru/detector-library/python/tags/). + DetectorTags []*string `locationName:"detectorTags" min:"1" type:"list"` + + // Contains information on where the code vulnerability is located in your code. + // + // FilePath is a required field + FilePath *CodeFilePath `locationName:"filePath" type:"structure" required:"true"` + + // A URL containing supporting documentation about the code vulnerability detected. + ReferenceUrls []*string `locationName:"referenceUrls" min:"1" type:"list"` + + // The identifier for a rule that was used to detect the code vulnerability. + RuleId *string `locationName:"ruleId" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the Lambda layer that the code vulnerability + // was detected in. + SourceLambdaLayerArn *string `locationName:"sourceLambdaLayerArn" type:"string"` } // String returns the string representation. @@ -9287,7 +10636,7 @@ type DisableDelegatedAdminAccountOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisableDelegatedAdminAccountOutput) String() string { +func (s CodeVulnerabilityDetails) String() string { return awsutil.Prettify(s) } @@ -9296,68 +10645,70 @@ func (s DisableDelegatedAdminAccountOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisableDelegatedAdminAccountOutput) GoString() string { +func (s CodeVulnerabilityDetails) GoString() string { return s.String() } -// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. -func (s *DisableDelegatedAdminAccountOutput) SetDelegatedAdminAccountId(v string) *DisableDelegatedAdminAccountOutput { - s.DelegatedAdminAccountId = &v +// SetCwes sets the Cwes field's value. +func (s *CodeVulnerabilityDetails) SetCwes(v []*string) *CodeVulnerabilityDetails { + s.Cwes = v return s } -type DisableInput struct { - _ struct{} `type:"structure"` +// SetDetectorId sets the DetectorId field's value. +func (s *CodeVulnerabilityDetails) SetDetectorId(v string) *CodeVulnerabilityDetails { + s.DetectorId = &v + return s +} - // An array of account IDs you want to disable Amazon Inspector scans for. - AccountIds []*string `locationName:"accountIds" type:"list"` +// SetDetectorName sets the DetectorName field's value. +func (s *CodeVulnerabilityDetails) SetDetectorName(v string) *CodeVulnerabilityDetails { + s.DetectorName = &v + return s +} - // The resource scan types you want to disable. - ResourceTypes []*string `locationName:"resourceTypes" type:"list" enum:"ResourceScanType"` +// SetDetectorTags sets the DetectorTags field's value. +func (s *CodeVulnerabilityDetails) SetDetectorTags(v []*string) *CodeVulnerabilityDetails { + s.DetectorTags = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DisableInput) String() string { - return awsutil.Prettify(s) +// SetFilePath sets the FilePath field's value. +func (s *CodeVulnerabilityDetails) SetFilePath(v *CodeFilePath) *CodeVulnerabilityDetails { + s.FilePath = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DisableInput) GoString() string { - return s.String() +// SetReferenceUrls sets the ReferenceUrls field's value. +func (s *CodeVulnerabilityDetails) SetReferenceUrls(v []*string) *CodeVulnerabilityDetails { + s.ReferenceUrls = v + return s } -// SetAccountIds sets the AccountIds field's value. -func (s *DisableInput) SetAccountIds(v []*string) *DisableInput { - s.AccountIds = v +// SetRuleId sets the RuleId field's value. +func (s *CodeVulnerabilityDetails) SetRuleId(v string) *CodeVulnerabilityDetails { + s.RuleId = &v return s } -// SetResourceTypes sets the ResourceTypes field's value. -func (s *DisableInput) SetResourceTypes(v []*string) *DisableInput { - s.ResourceTypes = v +// SetSourceLambdaLayerArn sets the SourceLambdaLayerArn field's value. +func (s *CodeVulnerabilityDetails) SetSourceLambdaLayerArn(v string) *CodeVulnerabilityDetails { + s.SourceLambdaLayerArn = &v return s } -type DisableOutput struct { +// A compute platform. +type ComputePlatform struct { _ struct{} `type:"structure"` - // Information on the accounts that have had Amazon Inspector scans successfully - // disabled. Details are provided for each account. - // - // Accounts is a required field - Accounts []*Account `locationName:"accounts" type:"list" required:"true"` + // The compute platform product. + Product *string `locationName:"product" type:"string"` - // Information on any accounts for which Amazon Inspector scans could not be - // disabled. Details are provided for each account. - FailedAccounts []*FailedAccount `locationName:"failedAccounts" type:"list"` + // The compute platform vendor. + Vendor *string `locationName:"vendor" type:"string"` + + // The compute platform version. + Version *string `locationName:"version" type:"string"` } // String returns the string representation. @@ -9365,7 +10716,7 @@ type DisableOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisableOutput) String() string { +func (s ComputePlatform) String() string { return awsutil.Prettify(s) } @@ -9374,29 +10725,44 @@ func (s DisableOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisableOutput) GoString() string { +func (s ComputePlatform) GoString() string { return s.String() } -// SetAccounts sets the Accounts field's value. -func (s *DisableOutput) SetAccounts(v []*Account) *DisableOutput { - s.Accounts = v +// SetProduct sets the Product field's value. +func (s *ComputePlatform) SetProduct(v string) *ComputePlatform { + s.Product = &v return s } -// SetFailedAccounts sets the FailedAccounts field's value. -func (s *DisableOutput) SetFailedAccounts(v []*FailedAccount) *DisableOutput { - s.FailedAccounts = v +// SetVendor sets the Vendor field's value. +func (s *ComputePlatform) SetVendor(v string) *ComputePlatform { + s.Vendor = &v return s } -type DisassociateMemberInput struct { - _ struct{} `type:"structure"` +// SetVersion sets the Version field's value. +func (s *ComputePlatform) SetVersion(v string) *ComputePlatform { + s.Version = &v + return s +} - // The Amazon Web Services account ID of the member account to disassociate. +// A conflict occurred. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The ID of the conflicting resource. // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + + // The type of the conflicting resource. + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true"` } // String returns the string representation. @@ -9404,7 +10770,7 @@ type DisassociateMemberInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisassociateMemberInput) String() string { +func (s ConflictException) String() string { return awsutil.Prettify(s) } @@ -9413,39 +10779,99 @@ func (s DisassociateMemberInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisassociateMemberInput) GoString() string { +func (s ConflictException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DisassociateMemberInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DisassociateMemberInput"} - if s.AccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AccountId")) - } - if s.AccountId != nil && len(*s.AccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { return nil } -// SetAccountId sets the AccountId field's value. -func (s *DisassociateMemberInput) SetAccountId(v string) *DisassociateMemberInput { - s.AccountId = &v +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +// a structure that contains information on the count of resources within a +// group. +type Counts struct { + _ struct{} `type:"structure"` + + // The number of resources. + Count *int64 `locationName:"count" type:"long"` + + // The key associated with this group + GroupKey *string `locationName:"groupKey" type:"string" enum:"GroupKey"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Counts) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Counts) GoString() string { + return s.String() +} + +// SetCount sets the Count field's value. +func (s *Counts) SetCount(v int64) *Counts { + s.Count = &v return s } -type DisassociateMemberOutput struct { +// SetGroupKey sets the GroupKey field's value. +func (s *Counts) SetGroupKey(v string) *Counts { + s.GroupKey = &v + return s +} + +// Contains details of a coverage date filter. +type CoverageDateFilter struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the successfully disassociated member. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + // A timestamp representing the end of the time period to filter results by. + EndInclusive *time.Time `locationName:"endInclusive" type:"timestamp"` + + // A timestamp representing the start of the time period to filter results by. + StartInclusive *time.Time `locationName:"startInclusive" type:"timestamp"` } // String returns the string representation. @@ -9453,7 +10879,7 @@ type DisassociateMemberOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisassociateMemberOutput) String() string { +func (s CoverageDateFilter) String() string { return awsutil.Prettify(s) } @@ -9462,39 +10888,72 @@ func (s DisassociateMemberOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisassociateMemberOutput) GoString() string { +func (s CoverageDateFilter) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *DisassociateMemberOutput) SetAccountId(v string) *DisassociateMemberOutput { - s.AccountId = &v +// SetEndInclusive sets the EndInclusive field's value. +func (s *CoverageDateFilter) SetEndInclusive(v time.Time) *CoverageDateFilter { + s.EndInclusive = &v return s } -// The details that define an aggregation based on Amazon EC2 instances. -type Ec2InstanceAggregation struct { +// SetStartInclusive sets the StartInclusive field's value. +func (s *CoverageDateFilter) SetStartInclusive(v time.Time) *CoverageDateFilter { + s.StartInclusive = &v + return s +} + +// A structure that identifies filter criteria for GetCoverageStatistics. +type CoverageFilterCriteria struct { _ struct{} `type:"structure"` - // The AMI IDs associated with the Amazon EC2 instances to aggregate findings + // An array of Amazon Web Services account IDs to return coverage statistics // for. - Amis []*StringFilter `locationName:"amis" min:"1" type:"list"` + AccountId []*CoverageStringFilter `locationName:"accountId" min:"1" type:"list"` - // The Amazon EC2 instance IDs to aggregate findings for. - InstanceIds []*StringFilter `locationName:"instanceIds" min:"1" type:"list"` + // The Amazon EC2 instance tags to filter on. + Ec2InstanceTags []*CoverageMapFilter `locationName:"ec2InstanceTags" min:"1" type:"list"` - // The Amazon EC2 instance tags to aggregate findings for. - InstanceTags []*MapFilter `locationName:"instanceTags" min:"1" type:"list"` + // The Amazon ECR image tags to filter on. + EcrImageTags []*CoverageStringFilter `locationName:"ecrImageTags" min:"1" type:"list"` - // The operating system types to aggregate findings for. Valid values must be - // uppercase and underscore separated, examples are ORACLE_LINUX_7 and ALPINE_LINUX_3_8. - OperatingSystems []*StringFilter `locationName:"operatingSystems" min:"1" type:"list"` + // The Amazon ECR repository name to filter on. + EcrRepositoryName []*CoverageStringFilter `locationName:"ecrRepositoryName" min:"1" type:"list"` - // The value to sort results by. - SortBy *string `locationName:"sortBy" type:"string" enum:"Ec2InstanceSortBy"` + // Returns coverage statistics for AWS Lambda functions filtered by function + // names. + LambdaFunctionName []*CoverageStringFilter `locationName:"lambdaFunctionName" min:"1" type:"list"` - // The order to sort results by. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` + // Returns coverage statistics for AWS Lambda functions filtered by runtime. + LambdaFunctionRuntime []*CoverageStringFilter `locationName:"lambdaFunctionRuntime" min:"1" type:"list"` + + // Returns coverage statistics for AWS Lambda functions filtered by tag. + LambdaFunctionTags []*CoverageMapFilter `locationName:"lambdaFunctionTags" min:"1" type:"list"` + + // Filters Amazon Web Services resources based on whether Amazon Inspector has + // checked them for vulnerabilities within the specified time range. + LastScannedAt []*CoverageDateFilter `locationName:"lastScannedAt" min:"1" type:"list"` + + // An array of Amazon Web Services resource IDs to return coverage statistics + // for. + ResourceId []*CoverageStringFilter `locationName:"resourceId" min:"1" type:"list"` + + // An array of Amazon Web Services resource types to return coverage statistics + // for. The values can be AWS_EC2_INSTANCE, AWS_LAMBDA_FUNCTION, AWS_ECR_CONTAINER_IMAGE, + // AWS_ECR_REPOSITORY or AWS_ACCOUNT. + ResourceType []*CoverageStringFilter `locationName:"resourceType" min:"1" type:"list"` + + // The scan status code to filter on. Valid values are: ValidationException, + // InternalServerException, ResourceNotFoundException, BadRequestException, + // and ThrottlingException. + ScanStatusCode []*CoverageStringFilter `locationName:"scanStatusCode" min:"1" type:"list"` + + // The scan status reason to filter on. + ScanStatusReason []*CoverageStringFilter `locationName:"scanStatusReason" min:"1" type:"list"` + + // An array of Amazon Inspector scan types to return coverage statistics for. + ScanType []*CoverageStringFilter `locationName:"scanType" min:"1" type:"list"` } // String returns the string representation. @@ -9502,7 +10961,7 @@ type Ec2InstanceAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Ec2InstanceAggregation) String() string { +func (s CoverageFilterCriteria) String() string { return awsutil.Prettify(s) } @@ -9511,209 +10970,273 @@ func (s Ec2InstanceAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Ec2InstanceAggregation) GoString() string { +func (s CoverageFilterCriteria) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Ec2InstanceAggregation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Ec2InstanceAggregation"} - if s.Amis != nil && len(s.Amis) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Amis", 1)) +func (s *CoverageFilterCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CoverageFilterCriteria"} + if s.AccountId != nil && len(s.AccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) } - if s.InstanceIds != nil && len(s.InstanceIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 1)) + if s.Ec2InstanceTags != nil && len(s.Ec2InstanceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceTags", 1)) } - if s.InstanceTags != nil && len(s.InstanceTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InstanceTags", 1)) + if s.EcrImageTags != nil && len(s.EcrImageTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EcrImageTags", 1)) } - if s.OperatingSystems != nil && len(s.OperatingSystems) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OperatingSystems", 1)) + if s.EcrRepositoryName != nil && len(s.EcrRepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EcrRepositoryName", 1)) } - if s.Amis != nil { - for i, v := range s.Amis { + if s.LambdaFunctionName != nil && len(s.LambdaFunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionName", 1)) + } + if s.LambdaFunctionRuntime != nil && len(s.LambdaFunctionRuntime) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionRuntime", 1)) + } + if s.LambdaFunctionTags != nil && len(s.LambdaFunctionTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionTags", 1)) + } + if s.LastScannedAt != nil && len(s.LastScannedAt) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LastScannedAt", 1)) + } + if s.ResourceId != nil && len(s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ResourceType != nil && len(s.ResourceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) + } + if s.ScanStatusCode != nil && len(s.ScanStatusCode) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanStatusCode", 1)) + } + if s.ScanStatusReason != nil && len(s.ScanStatusReason) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanStatusReason", 1)) + } + if s.ScanType != nil && len(s.ScanType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanType", 1)) + } + if s.AccountId != nil { + for i, v := range s.AccountId { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Amis", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountId", i), err.(request.ErrInvalidParams)) } } } - if s.InstanceIds != nil { - for i, v := range s.InstanceIds { + if s.Ec2InstanceTags != nil { + for i, v := range s.Ec2InstanceTags { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceIds", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2InstanceTags", i), err.(request.ErrInvalidParams)) } } } - if s.InstanceTags != nil { - for i, v := range s.InstanceTags { + if s.EcrImageTags != nil { + for i, v := range s.EcrImageTags { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceTags", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageTags", i), err.(request.ErrInvalidParams)) } } } - if s.OperatingSystems != nil { - for i, v := range s.OperatingSystems { + if s.EcrRepositoryName != nil { + for i, v := range s.EcrRepositoryName { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OperatingSystems", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrRepositoryName", i), err.(request.ErrInvalidParams)) } } } - - if invalidParams.Len() > 0 { - return invalidParams + if s.LambdaFunctionName != nil { + for i, v := range s.LambdaFunctionName { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionName", i), err.(request.ErrInvalidParams)) + } + } } - return nil -} - -// SetAmis sets the Amis field's value. -func (s *Ec2InstanceAggregation) SetAmis(v []*StringFilter) *Ec2InstanceAggregation { - s.Amis = v - return s -} - -// SetInstanceIds sets the InstanceIds field's value. -func (s *Ec2InstanceAggregation) SetInstanceIds(v []*StringFilter) *Ec2InstanceAggregation { - s.InstanceIds = v - return s -} - -// SetInstanceTags sets the InstanceTags field's value. -func (s *Ec2InstanceAggregation) SetInstanceTags(v []*MapFilter) *Ec2InstanceAggregation { - s.InstanceTags = v - return s + if s.LambdaFunctionRuntime != nil { + for i, v := range s.LambdaFunctionRuntime { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionRuntime", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LambdaFunctionTags != nil { + for i, v := range s.LambdaFunctionTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceId != nil { + for i, v := range s.ResourceId { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceId", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceType != nil { + for i, v := range s.ResourceType { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceType", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScanStatusCode != nil { + for i, v := range s.ScanStatusCode { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanStatusCode", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScanStatusReason != nil { + for i, v := range s.ScanStatusReason { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanStatusReason", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScanType != nil { + for i, v := range s.ScanType { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanType", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetOperatingSystems sets the OperatingSystems field's value. -func (s *Ec2InstanceAggregation) SetOperatingSystems(v []*StringFilter) *Ec2InstanceAggregation { - s.OperatingSystems = v +// SetAccountId sets the AccountId field's value. +func (s *CoverageFilterCriteria) SetAccountId(v []*CoverageStringFilter) *CoverageFilterCriteria { + s.AccountId = v return s } -// SetSortBy sets the SortBy field's value. -func (s *Ec2InstanceAggregation) SetSortBy(v string) *Ec2InstanceAggregation { - s.SortBy = &v +// SetEc2InstanceTags sets the Ec2InstanceTags field's value. +func (s *CoverageFilterCriteria) SetEc2InstanceTags(v []*CoverageMapFilter) *CoverageFilterCriteria { + s.Ec2InstanceTags = v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *Ec2InstanceAggregation) SetSortOrder(v string) *Ec2InstanceAggregation { - s.SortOrder = &v +// SetEcrImageTags sets the EcrImageTags field's value. +func (s *CoverageFilterCriteria) SetEcrImageTags(v []*CoverageStringFilter) *CoverageFilterCriteria { + s.EcrImageTags = v return s } -// A response that contains the results of a finding aggregation by Amazon EC2 -// instance. -type Ec2InstanceAggregationResponse struct { - _ struct{} `type:"structure"` - - // The Amazon Web Services account for the Amazon EC2 instance. - AccountId *string `locationName:"accountId" type:"string"` - - // The Amazon Machine Image (AMI) of the Amazon EC2 instance. - Ami *string `locationName:"ami" type:"string"` - - // The Amazon EC2 instance ID. - // - // InstanceId is a required field - InstanceId *string `locationName:"instanceId" min:"1" type:"string" required:"true"` - - // The tags attached to the instance. - InstanceTags map[string]*string `locationName:"instanceTags" type:"map"` - - // The number of network findings for the Amazon EC2 instance. - NetworkFindings *int64 `locationName:"networkFindings" type:"long"` - - // The operating system of the Amazon EC2 instance. - OperatingSystem *string `locationName:"operatingSystem" type:"string"` - - // An object that contains the count of matched findings per severity. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` +// SetEcrRepositoryName sets the EcrRepositoryName field's value. +func (s *CoverageFilterCriteria) SetEcrRepositoryName(v []*CoverageStringFilter) *CoverageFilterCriteria { + s.EcrRepositoryName = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Ec2InstanceAggregationResponse) String() string { - return awsutil.Prettify(s) +// SetLambdaFunctionName sets the LambdaFunctionName field's value. +func (s *CoverageFilterCriteria) SetLambdaFunctionName(v []*CoverageStringFilter) *CoverageFilterCriteria { + s.LambdaFunctionName = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Ec2InstanceAggregationResponse) GoString() string { - return s.String() +// SetLambdaFunctionRuntime sets the LambdaFunctionRuntime field's value. +func (s *CoverageFilterCriteria) SetLambdaFunctionRuntime(v []*CoverageStringFilter) *CoverageFilterCriteria { + s.LambdaFunctionRuntime = v + return s } -// SetAccountId sets the AccountId field's value. -func (s *Ec2InstanceAggregationResponse) SetAccountId(v string) *Ec2InstanceAggregationResponse { - s.AccountId = &v +// SetLambdaFunctionTags sets the LambdaFunctionTags field's value. +func (s *CoverageFilterCriteria) SetLambdaFunctionTags(v []*CoverageMapFilter) *CoverageFilterCriteria { + s.LambdaFunctionTags = v return s } -// SetAmi sets the Ami field's value. -func (s *Ec2InstanceAggregationResponse) SetAmi(v string) *Ec2InstanceAggregationResponse { - s.Ami = &v +// SetLastScannedAt sets the LastScannedAt field's value. +func (s *CoverageFilterCriteria) SetLastScannedAt(v []*CoverageDateFilter) *CoverageFilterCriteria { + s.LastScannedAt = v return s } -// SetInstanceId sets the InstanceId field's value. -func (s *Ec2InstanceAggregationResponse) SetInstanceId(v string) *Ec2InstanceAggregationResponse { - s.InstanceId = &v +// SetResourceId sets the ResourceId field's value. +func (s *CoverageFilterCriteria) SetResourceId(v []*CoverageStringFilter) *CoverageFilterCriteria { + s.ResourceId = v return s } -// SetInstanceTags sets the InstanceTags field's value. -func (s *Ec2InstanceAggregationResponse) SetInstanceTags(v map[string]*string) *Ec2InstanceAggregationResponse { - s.InstanceTags = v +// SetResourceType sets the ResourceType field's value. +func (s *CoverageFilterCriteria) SetResourceType(v []*CoverageStringFilter) *CoverageFilterCriteria { + s.ResourceType = v return s } -// SetNetworkFindings sets the NetworkFindings field's value. -func (s *Ec2InstanceAggregationResponse) SetNetworkFindings(v int64) *Ec2InstanceAggregationResponse { - s.NetworkFindings = &v +// SetScanStatusCode sets the ScanStatusCode field's value. +func (s *CoverageFilterCriteria) SetScanStatusCode(v []*CoverageStringFilter) *CoverageFilterCriteria { + s.ScanStatusCode = v return s } -// SetOperatingSystem sets the OperatingSystem field's value. -func (s *Ec2InstanceAggregationResponse) SetOperatingSystem(v string) *Ec2InstanceAggregationResponse { - s.OperatingSystem = &v +// SetScanStatusReason sets the ScanStatusReason field's value. +func (s *CoverageFilterCriteria) SetScanStatusReason(v []*CoverageStringFilter) *CoverageFilterCriteria { + s.ScanStatusReason = v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *Ec2InstanceAggregationResponse) SetSeverityCounts(v *SeverityCounts) *Ec2InstanceAggregationResponse { - s.SeverityCounts = v +// SetScanType sets the ScanType field's value. +func (s *CoverageFilterCriteria) SetScanType(v []*CoverageStringFilter) *CoverageFilterCriteria { + s.ScanType = v return s } -// Meta data details of an Amazon EC2 instance. -type Ec2Metadata struct { +// Contains details of a coverage map filter. +type CoverageMapFilter struct { _ struct{} `type:"structure"` - // The ID of the Amazon Machine Image (AMI) used to launch the instance. - AmiId *string `locationName:"amiId" type:"string"` + // The operator to compare coverage on. + // + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CoverageMapComparison"` - // The platform of the instance. - Platform *string `locationName:"platform" type:"string" enum:"Ec2Platform"` + // The tag key associated with the coverage map filter. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` - // The tags attached to the instance. - Tags map[string]*string `locationName:"tags" type:"map"` + // The tag value associated with the coverage map filter. + Value *string `locationName:"value" min:"1" type:"string"` } // String returns the string representation. @@ -9721,7 +11244,7 @@ type Ec2Metadata struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Ec2Metadata) String() string { +func (s CoverageMapFilter) String() string { return awsutil.Prettify(s) } @@ -9730,40 +11253,63 @@ func (s Ec2Metadata) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Ec2Metadata) GoString() string { +func (s CoverageMapFilter) GoString() string { return s.String() } -// SetAmiId sets the AmiId field's value. -func (s *Ec2Metadata) SetAmiId(v string) *Ec2Metadata { - s.AmiId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CoverageMapFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CoverageMapFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComparison sets the Comparison field's value. +func (s *CoverageMapFilter) SetComparison(v string) *CoverageMapFilter { + s.Comparison = &v return s } -// SetPlatform sets the Platform field's value. -func (s *Ec2Metadata) SetPlatform(v string) *Ec2Metadata { - s.Platform = &v +// SetKey sets the Key field's value. +func (s *CoverageMapFilter) SetKey(v string) *CoverageMapFilter { + s.Key = &v return s } -// SetTags sets the Tags field's value. -func (s *Ec2Metadata) SetTags(v map[string]*string) *Ec2Metadata { - s.Tags = v +// SetValue sets the Value field's value. +func (s *CoverageMapFilter) SetValue(v string) *CoverageMapFilter { + s.Value = &v return s } -// Details about the ECR automated re-scan duration setting for your environment. -type EcrConfiguration struct { +// Contains details of a coverage string filter. +type CoverageStringFilter struct { _ struct{} `type:"structure"` - // The ECR automated re-scan duration defines how long an ECR image will be - // actively scanned by Amazon Inspector. When the number of days since an image - // was last pushed exceeds the automated re-scan duration the monitoring state - // of that image becomes inactive and all associated findings are scheduled - // for closure. + // The operator to compare strings on. // - // RescanDuration is a required field - RescanDuration *string `locationName:"rescanDuration" type:"string" required:"true" enum:"EcrRescanDuration"` + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"CoverageStringComparison"` + + // The value to compare strings on. + // + // Value is a required field + Value *string `locationName:"value" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -9771,7 +11317,7 @@ type EcrConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EcrConfiguration) String() string { +func (s CoverageStringFilter) String() string { return awsutil.Prettify(s) } @@ -9780,15 +11326,21 @@ func (s EcrConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EcrConfiguration) GoString() string { +func (s CoverageStringFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EcrConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EcrConfiguration"} - if s.RescanDuration == nil { - invalidParams.Add(request.NewErrParamRequired("RescanDuration")) +func (s *CoverageStringFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CoverageStringFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) } if invalidParams.Len() > 0 { @@ -9797,19 +11349,50 @@ func (s *EcrConfiguration) Validate() error { return nil } -// SetRescanDuration sets the RescanDuration field's value. -func (s *EcrConfiguration) SetRescanDuration(v string) *EcrConfiguration { - s.RescanDuration = &v +// SetComparison sets the Comparison field's value. +func (s *CoverageStringFilter) SetComparison(v string) *CoverageStringFilter { + s.Comparison = &v return s } -// Details about the state of the ECR scans for your environment. -type EcrConfigurationState struct { +// SetValue sets the Value field's value. +func (s *CoverageStringFilter) SetValue(v string) *CoverageStringFilter { + s.Value = &v + return s +} + +// An object that contains details about a resource covered by Amazon Inspector. +type CoveredResource struct { _ struct{} `type:"structure"` - // An object that contains details about the state of the ECR automated re-scan - // setting. - RescanDurationState *EcrRescanDurationState `locationName:"rescanDurationState" type:"structure"` + // The Amazon Web Services account ID of the covered resource. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + + // The date and time the resource was last checked for vulnerabilities. + LastScannedAt *time.Time `locationName:"lastScannedAt" type:"timestamp"` + + // The ID of the covered resource. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" min:"10" type:"string" required:"true"` + + // An object that contains details about the metadata. + ResourceMetadata *ResourceScanMetadata `locationName:"resourceMetadata" type:"structure"` + + // The type of the covered resource. + // + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"CoverageResourceType"` + + // The status of the scan covering the resource. + ScanStatus *ScanStatus `locationName:"scanStatus" type:"structure"` + + // The Amazon Inspector scan type covering the resource. + // + // ScanType is a required field + ScanType *string `locationName:"scanType" type:"string" required:"true" enum:"ScanType"` } // String returns the string representation. @@ -9817,7 +11400,7 @@ type EcrConfigurationState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EcrConfigurationState) String() string { +func (s CoveredResource) String() string { return awsutil.Prettify(s) } @@ -9826,57 +11409,78 @@ func (s EcrConfigurationState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EcrConfigurationState) GoString() string { +func (s CoveredResource) GoString() string { return s.String() } -// SetRescanDurationState sets the RescanDurationState field's value. -func (s *EcrConfigurationState) SetRescanDurationState(v *EcrRescanDurationState) *EcrConfigurationState { - s.RescanDurationState = v +// SetAccountId sets the AccountId field's value. +func (s *CoveredResource) SetAccountId(v string) *CoveredResource { + s.AccountId = &v return s } -// Information on the Amazon ECR image metadata associated with a finding. -type EcrContainerImageMetadata struct { - _ struct{} `type:"structure"` +// SetLastScannedAt sets the LastScannedAt field's value. +func (s *CoveredResource) SetLastScannedAt(v time.Time) *CoveredResource { + s.LastScannedAt = &v + return s +} - // Tags associated with the Amazon ECR image metadata. - Tags []*string `locationName:"tags" type:"list"` +// SetResourceId sets the ResourceId field's value. +func (s *CoveredResource) SetResourceId(v string) *CoveredResource { + s.ResourceId = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s EcrContainerImageMetadata) String() string { - return awsutil.Prettify(s) +// SetResourceMetadata sets the ResourceMetadata field's value. +func (s *CoveredResource) SetResourceMetadata(v *ResourceScanMetadata) *CoveredResource { + s.ResourceMetadata = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s EcrContainerImageMetadata) GoString() string { - return s.String() +// SetResourceType sets the ResourceType field's value. +func (s *CoveredResource) SetResourceType(v string) *CoveredResource { + s.ResourceType = &v + return s } -// SetTags sets the Tags field's value. -func (s *EcrContainerImageMetadata) SetTags(v []*string) *EcrContainerImageMetadata { - s.Tags = v +// SetScanStatus sets the ScanStatus field's value. +func (s *CoveredResource) SetScanStatus(v *ScanStatus) *CoveredResource { + s.ScanStatus = v return s } -// Information on the Amazon ECR repository metadata associated with a finding. -type EcrRepositoryMetadata struct { +// SetScanType sets the ScanType field's value. +func (s *CoveredResource) SetScanType(v string) *CoveredResource { + s.ScanType = &v + return s +} + +type CreateCisScanConfigurationInput struct { _ struct{} `type:"structure"` - // The name of the Amazon ECR repository. - Name *string `locationName:"name" type:"string"` + // The scan name for the CIS scan configuration. + // + // ScanName is a required field + ScanName *string `locationName:"scanName" min:"1" type:"string" required:"true"` - // The frequency of scans. - ScanFrequency *string `locationName:"scanFrequency" type:"string" enum:"EcrScanFrequency"` + // The schedule for the CIS scan configuration. + // + // Schedule is a required field + Schedule *Schedule `locationName:"schedule" type:"structure" required:"true"` + + // The security level for the CIS scan configuration. Security level refers + // to the Benchmark levels that CIS assigns to a profile. + // + // SecurityLevel is a required field + SecurityLevel *string `locationName:"securityLevel" type:"string" required:"true" enum:"CisSecurityLevel"` + + // The tags for the CIS scan configuration. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The targets for the CIS scan configuration. + // + // Targets is a required field + Targets *CreateCisTargets `locationName:"targets" type:"structure" required:"true"` } // String returns the string representation. @@ -9884,7 +11488,7 @@ type EcrRepositoryMetadata struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EcrRepositoryMetadata) String() string { +func (s CreateCisScanConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -9893,40 +11497,80 @@ func (s EcrRepositoryMetadata) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EcrRepositoryMetadata) GoString() string { +func (s CreateCisScanConfigurationInput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *EcrRepositoryMetadata) SetName(v string) *EcrRepositoryMetadata { - s.Name = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateCisScanConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCisScanConfigurationInput"} + if s.ScanName == nil { + invalidParams.Add(request.NewErrParamRequired("ScanName")) + } + if s.ScanName != nil && len(*s.ScanName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanName", 1)) + } + if s.Schedule == nil { + invalidParams.Add(request.NewErrParamRequired("Schedule")) + } + if s.SecurityLevel == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityLevel")) + } + if s.Targets == nil { + invalidParams.Add(request.NewErrParamRequired("Targets")) + } + if s.Schedule != nil { + if err := s.Schedule.Validate(); err != nil { + invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) + } + } + if s.Targets != nil { + if err := s.Targets.Validate(); err != nil { + invalidParams.AddNested("Targets", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScanName sets the ScanName field's value. +func (s *CreateCisScanConfigurationInput) SetScanName(v string) *CreateCisScanConfigurationInput { + s.ScanName = &v return s } -// SetScanFrequency sets the ScanFrequency field's value. -func (s *EcrRepositoryMetadata) SetScanFrequency(v string) *EcrRepositoryMetadata { - s.ScanFrequency = &v +// SetSchedule sets the Schedule field's value. +func (s *CreateCisScanConfigurationInput) SetSchedule(v *Schedule) *CreateCisScanConfigurationInput { + s.Schedule = v return s } -// Details about the state of any changes to the ECR automated re-scan duration -// setting. -type EcrRescanDurationState struct { - _ struct{} `type:"structure"` +// SetSecurityLevel sets the SecurityLevel field's value. +func (s *CreateCisScanConfigurationInput) SetSecurityLevel(v string) *CreateCisScanConfigurationInput { + s.SecurityLevel = &v + return s +} - // The ECR automated re-scan duration defines how long an ECR image will be - // actively scanned by Amazon Inspector. When the number of days since an image - // was last pushed exceeds the automated re-scan duration the monitoring state - // of that image becomes inactive and all associated findings are scheduled - // for closure. - RescanDuration *string `locationName:"rescanDuration" type:"string" enum:"EcrRescanDuration"` +// SetTags sets the Tags field's value. +func (s *CreateCisScanConfigurationInput) SetTags(v map[string]*string) *CreateCisScanConfigurationInput { + s.Tags = v + return s +} - // The status of changes to the ECR automated re-scan duration. - Status *string `locationName:"status" type:"string" enum:"EcrRescanDurationStatus"` +// SetTargets sets the Targets field's value. +func (s *CreateCisScanConfigurationInput) SetTargets(v *CreateCisTargets) *CreateCisScanConfigurationInput { + s.Targets = v + return s +} - // A timestamp representing when the last time the ECR scan duration setting - // was changed. - UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` +type CreateCisScanConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The scan configuration ARN for the CIS scan configuration. + ScanConfigurationArn *string `locationName:"scanConfigurationArn" type:"string"` } // String returns the string representation. @@ -9934,7 +11578,7 @@ type EcrRescanDurationState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EcrRescanDurationState) String() string { +func (s CreateCisScanConfigurationOutput) String() string { return awsutil.Prettify(s) } @@ -9943,38 +11587,29 @@ func (s EcrRescanDurationState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EcrRescanDurationState) GoString() string { +func (s CreateCisScanConfigurationOutput) GoString() string { return s.String() } -// SetRescanDuration sets the RescanDuration field's value. -func (s *EcrRescanDurationState) SetRescanDuration(v string) *EcrRescanDurationState { - s.RescanDuration = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *EcrRescanDurationState) SetStatus(v string) *EcrRescanDurationState { - s.Status = &v - return s -} - -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *EcrRescanDurationState) SetUpdatedAt(v time.Time) *EcrRescanDurationState { - s.UpdatedAt = &v +// SetScanConfigurationArn sets the ScanConfigurationArn field's value. +func (s *CreateCisScanConfigurationOutput) SetScanConfigurationArn(v string) *CreateCisScanConfigurationOutput { + s.ScanConfigurationArn = &v return s } -type EnableDelegatedAdminAccountInput struct { +// Creates CIS targets. +type CreateCisTargets struct { _ struct{} `type:"structure"` - // The idempotency token for the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + // The CIS target account ids. + // + // AccountIds is a required field + AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"` - // The Amazon Web Services account ID of the Amazon Inspector delegated administrator. + // The CIS target resource tags. // - // DelegatedAdminAccountId is a required field - DelegatedAdminAccountId *string `locationName:"delegatedAdminAccountId" min:"12" type:"string" required:"true"` + // TargetResourceTags is a required field + TargetResourceTags map[string][]*string `locationName:"targetResourceTags" min:"1" type:"map" required:"true"` } // String returns the string representation. @@ -9982,7 +11617,7 @@ type EnableDelegatedAdminAccountInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EnableDelegatedAdminAccountInput) String() string { +func (s CreateCisTargets) String() string { return awsutil.Prettify(s) } @@ -9991,21 +11626,24 @@ func (s EnableDelegatedAdminAccountInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EnableDelegatedAdminAccountInput) GoString() string { +func (s CreateCisTargets) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EnableDelegatedAdminAccountInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EnableDelegatedAdminAccountInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) +func (s *CreateCisTargets) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCisTargets"} + if s.AccountIds == nil { + invalidParams.Add(request.NewErrParamRequired("AccountIds")) } - if s.DelegatedAdminAccountId == nil { - invalidParams.Add(request.NewErrParamRequired("DelegatedAdminAccountId")) + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) } - if s.DelegatedAdminAccountId != nil && len(*s.DelegatedAdminAccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("DelegatedAdminAccountId", 12)) + if s.TargetResourceTags == nil { + invalidParams.Add(request.NewErrParamRequired("TargetResourceTags")) + } + if s.TargetResourceTags != nil && len(s.TargetResourceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetResourceTags", 1)) } if invalidParams.Len() > 0 { @@ -10014,65 +11652,46 @@ func (s *EnableDelegatedAdminAccountInput) Validate() error { return nil } -// SetClientToken sets the ClientToken field's value. -func (s *EnableDelegatedAdminAccountInput) SetClientToken(v string) *EnableDelegatedAdminAccountInput { - s.ClientToken = &v +// SetAccountIds sets the AccountIds field's value. +func (s *CreateCisTargets) SetAccountIds(v []*string) *CreateCisTargets { + s.AccountIds = v return s } -// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. -func (s *EnableDelegatedAdminAccountInput) SetDelegatedAdminAccountId(v string) *EnableDelegatedAdminAccountInput { - s.DelegatedAdminAccountId = &v +// SetTargetResourceTags sets the TargetResourceTags field's value. +func (s *CreateCisTargets) SetTargetResourceTags(v map[string][]*string) *CreateCisTargets { + s.TargetResourceTags = v return s } -type EnableDelegatedAdminAccountOutput struct { +type CreateFilterInput struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the successfully Amazon Inspector delegated - // administrator. + // Defines the action that is to be applied to the findings that match the filter. // - // DelegatedAdminAccountId is a required field - DelegatedAdminAccountId *string `locationName:"delegatedAdminAccountId" min:"12" type:"string" required:"true"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s EnableDelegatedAdminAccountOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s EnableDelegatedAdminAccountOutput) GoString() string { - return s.String() -} + // Action is a required field + Action *string `locationName:"action" type:"string" required:"true" enum:"FilterAction"` -// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. -func (s *EnableDelegatedAdminAccountOutput) SetDelegatedAdminAccountId(v string) *EnableDelegatedAdminAccountOutput { - s.DelegatedAdminAccountId = &v - return s -} + // A description of the filter. + Description *string `locationName:"description" min:"1" type:"string"` -type EnableInput struct { - _ struct{} `type:"structure"` + // Defines the criteria to be used in the filter for querying findings. + // + // FilterCriteria is a required field + FilterCriteria *FilterCriteria `locationName:"filterCriteria" type:"structure" required:"true"` - // A list of account IDs you want to enable Amazon Inspector scans for. - AccountIds []*string `locationName:"accountIds" type:"list"` + // The name of the filter. Minimum length of 3. Maximum length of 64. Valid + // characters include alphanumeric characters, dot (.), underscore (_), and + // dash (-). Spaces are not allowed. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The idempotency token for the request. - ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + // The reason for creating the filter. + Reason *string `locationName:"reason" min:"1" type:"string"` - // The resource scan types you want to enable. - // - // ResourceTypes is a required field - ResourceTypes []*string `locationName:"resourceTypes" min:"1" type:"list" required:"true" enum:"ResourceScanType"` + // A list of tags for the filter. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -10080,7 +11699,7 @@ type EnableInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EnableInput) String() string { +func (s CreateFilterInput) String() string { return awsutil.Prettify(s) } @@ -10089,21 +11708,35 @@ func (s EnableInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EnableInput) GoString() string { +func (s CreateFilterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EnableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EnableInput"} - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) +func (s *CreateFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFilterInput"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) } - if s.ResourceTypes == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceTypes")) + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } - if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1)) + if s.FilterCriteria == nil { + invalidParams.Add(request.NewErrParamRequired("FilterCriteria")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Reason != nil && len(*s.Reason) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Reason", 1)) + } + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -10112,36 +11745,49 @@ func (s *EnableInput) Validate() error { return nil } -// SetAccountIds sets the AccountIds field's value. -func (s *EnableInput) SetAccountIds(v []*string) *EnableInput { - s.AccountIds = v +// SetAction sets the Action field's value. +func (s *CreateFilterInput) SetAction(v string) *CreateFilterInput { + s.Action = &v return s } -// SetClientToken sets the ClientToken field's value. -func (s *EnableInput) SetClientToken(v string) *EnableInput { - s.ClientToken = &v +// SetDescription sets the Description field's value. +func (s *CreateFilterInput) SetDescription(v string) *CreateFilterInput { + s.Description = &v return s } -// SetResourceTypes sets the ResourceTypes field's value. -func (s *EnableInput) SetResourceTypes(v []*string) *EnableInput { - s.ResourceTypes = v +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *CreateFilterInput) SetFilterCriteria(v *FilterCriteria) *CreateFilterInput { + s.FilterCriteria = v return s } -type EnableOutput struct { +// SetName sets the Name field's value. +func (s *CreateFilterInput) SetName(v string) *CreateFilterInput { + s.Name = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *CreateFilterInput) SetReason(v string) *CreateFilterInput { + s.Reason = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateFilterInput) SetTags(v map[string]*string) *CreateFilterInput { + s.Tags = v + return s +} + +type CreateFilterOutput struct { _ struct{} `type:"structure"` - // Information on the accounts that have had Amazon Inspector scans successfully - // enabled. Details are provided for each account. + // The Amazon Resource Number (ARN) of the successfully created filter. // - // Accounts is a required field - Accounts []*Account `locationName:"accounts" type:"list" required:"true"` - - // Information on any accounts for which Amazon Inspector scans could not be - // enabled. Details are provided for each account. - FailedAccounts []*FailedAccount `locationName:"failedAccounts" type:"list"` + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -10149,7 +11795,7 @@ type EnableOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EnableOutput) String() string { +func (s CreateFilterOutput) String() string { return awsutil.Prettify(s) } @@ -10158,28 +11804,31 @@ func (s EnableOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EnableOutput) GoString() string { +func (s CreateFilterOutput) GoString() string { return s.String() } -// SetAccounts sets the Accounts field's value. -func (s *EnableOutput) SetAccounts(v []*Account) *EnableOutput { - s.Accounts = v - return s -} - -// SetFailedAccounts sets the FailedAccounts field's value. -func (s *EnableOutput) SetFailedAccounts(v []*FailedAccount) *EnableOutput { - s.FailedAccounts = v +// SetArn sets the Arn field's value. +func (s *CreateFilterOutput) SetArn(v string) *CreateFilterOutput { + s.Arn = &v return s } -// Details about the Exploit Prediction Scoring System (EPSS) score. -type Epss struct { +type CreateFindingsReportInput struct { _ struct{} `type:"structure"` - // The Exploit Prediction Scoring System (EPSS) score. - Score *float64 `locationName:"score" type:"double"` + // The filter criteria to apply to the results of the finding report. + FilterCriteria *FilterCriteria `locationName:"filterCriteria" type:"structure"` + + // The format to generate the report in. + // + // ReportFormat is a required field + ReportFormat *string `locationName:"reportFormat" type:"string" required:"true" enum:"ReportFormat"` + + // The Amazon S3 export destination for the report. + // + // S3Destination is a required field + S3Destination *Destination `locationName:"s3Destination" type:"structure" required:"true"` } // String returns the string representation. @@ -10187,7 +11836,7 @@ type Epss struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Epss) String() string { +func (s CreateFindingsReportInput) String() string { return awsutil.Prettify(s) } @@ -10196,22 +11845,59 @@ func (s Epss) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Epss) GoString() string { +func (s CreateFindingsReportInput) GoString() string { return s.String() } -// SetScore sets the Score field's value. -func (s *Epss) SetScore(v float64) *Epss { - s.Score = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFindingsReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFindingsReportInput"} + if s.ReportFormat == nil { + invalidParams.Add(request.NewErrParamRequired("ReportFormat")) + } + if s.S3Destination == nil { + invalidParams.Add(request.NewErrParamRequired("S3Destination")) + } + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + } + } + if s.S3Destination != nil { + if err := s.S3Destination.Validate(); err != nil { + invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *CreateFindingsReportInput) SetFilterCriteria(v *FilterCriteria) *CreateFindingsReportInput { + s.FilterCriteria = v return s } -// Details about the Exploit Prediction Scoring System (EPSS) score for a finding. -type EpssDetails struct { +// SetReportFormat sets the ReportFormat field's value. +func (s *CreateFindingsReportInput) SetReportFormat(v string) *CreateFindingsReportInput { + s.ReportFormat = &v + return s +} + +// SetS3Destination sets the S3Destination field's value. +func (s *CreateFindingsReportInput) SetS3Destination(v *Destination) *CreateFindingsReportInput { + s.S3Destination = v + return s +} + +type CreateFindingsReportOutput struct { _ struct{} `type:"structure"` - // The EPSS score. - Score *float64 `locationName:"score" type:"double"` + // The ID of the report. + ReportId *string `locationName:"reportId" type:"string"` } // String returns the string representation. @@ -10219,7 +11905,7 @@ type EpssDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EpssDetails) String() string { +func (s CreateFindingsReportOutput) String() string { return awsutil.Prettify(s) } @@ -10228,28 +11914,31 @@ func (s EpssDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EpssDetails) GoString() string { +func (s CreateFindingsReportOutput) GoString() string { return s.String() } -// SetScore sets the Score field's value. -func (s *EpssDetails) SetScore(v float64) *EpssDetails { - s.Score = &v +// SetReportId sets the ReportId field's value. +func (s *CreateFindingsReportOutput) SetReportId(v string) *CreateFindingsReportOutput { + s.ReportId = &v return s } -// Details of the evidence for a vulnerability identified in a finding. -type Evidence struct { +type CreateSbomExportInput struct { _ struct{} `type:"structure"` - // The evidence details. - EvidenceDetail *string `locationName:"evidenceDetail" type:"string"` + // The output format for the software bill of materials (SBOM) report. + // + // ReportFormat is a required field + ReportFormat *string `locationName:"reportFormat" type:"string" required:"true" enum:"SbomReportFormat"` - // The evidence rule. - EvidenceRule *string `locationName:"evidenceRule" type:"string"` + // The resource filter criteria for the software bill of materials (SBOM) report. + ResourceFilterCriteria *ResourceFilterCriteria `locationName:"resourceFilterCriteria" type:"structure"` - // The evidence severity. - Severity *string `locationName:"severity" type:"string"` + // Contains details of the Amazon S3 bucket and KMS key used to export findings. + // + // S3Destination is a required field + S3Destination *Destination `locationName:"s3Destination" type:"structure" required:"true"` } // String returns the string representation. @@ -10257,7 +11946,7 @@ type Evidence struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Evidence) String() string { +func (s CreateSbomExportInput) String() string { return awsutil.Prettify(s) } @@ -10266,37 +11955,95 @@ func (s Evidence) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Evidence) GoString() string { +func (s CreateSbomExportInput) GoString() string { return s.String() } -// SetEvidenceDetail sets the EvidenceDetail field's value. -func (s *Evidence) SetEvidenceDetail(v string) *Evidence { - s.EvidenceDetail = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSbomExportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSbomExportInput"} + if s.ReportFormat == nil { + invalidParams.Add(request.NewErrParamRequired("ReportFormat")) + } + if s.S3Destination == nil { + invalidParams.Add(request.NewErrParamRequired("S3Destination")) + } + if s.ResourceFilterCriteria != nil { + if err := s.ResourceFilterCriteria.Validate(); err != nil { + invalidParams.AddNested("ResourceFilterCriteria", err.(request.ErrInvalidParams)) + } + } + if s.S3Destination != nil { + if err := s.S3Destination.Validate(); err != nil { + invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportFormat sets the ReportFormat field's value. +func (s *CreateSbomExportInput) SetReportFormat(v string) *CreateSbomExportInput { + s.ReportFormat = &v return s } -// SetEvidenceRule sets the EvidenceRule field's value. -func (s *Evidence) SetEvidenceRule(v string) *Evidence { - s.EvidenceRule = &v +// SetResourceFilterCriteria sets the ResourceFilterCriteria field's value. +func (s *CreateSbomExportInput) SetResourceFilterCriteria(v *ResourceFilterCriteria) *CreateSbomExportInput { + s.ResourceFilterCriteria = v return s } -// SetSeverity sets the Severity field's value. -func (s *Evidence) SetSeverity(v string) *Evidence { - s.Severity = &v +// SetS3Destination sets the S3Destination field's value. +func (s *CreateSbomExportInput) SetS3Destination(v *Destination) *CreateSbomExportInput { + s.S3Destination = v return s } -// Contains information on when this exploit was observed. -type ExploitObserved struct { +type CreateSbomExportOutput struct { _ struct{} `type:"structure"` - // The date an time when the exploit was first seen. - FirstSeen *time.Time `locationName:"firstSeen" type:"timestamp"` + // The report ID for the software bill of materials (SBOM) report. + ReportId *string `locationName:"reportId" type:"string"` +} - // The date an time when the exploit was last seen. - LastSeen *time.Time `locationName:"lastSeen" type:"timestamp"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSbomExportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSbomExportOutput) GoString() string { + return s.String() +} + +// SetReportId sets the ReportId field's value. +func (s *CreateSbomExportOutput) SetReportId(v string) *CreateSbomExportOutput { + s.ReportId = &v + return s +} + +// The Common Vulnerability Scoring System (CVSS) version 2 details for the +// vulnerability. +type Cvss2 struct { + _ struct{} `type:"structure"` + + // The CVSS v2 base score for the vulnerability. + BaseScore *float64 `locationName:"baseScore" type:"double"` + + // The scoring vector associated with the CVSS v2 score. + ScoringVector *string `locationName:"scoringVector" type:"string"` } // String returns the string representation. @@ -10304,7 +12051,7 @@ type ExploitObserved struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExploitObserved) String() string { +func (s Cvss2) String() string { return awsutil.Prettify(s) } @@ -10313,29 +12060,32 @@ func (s ExploitObserved) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExploitObserved) GoString() string { +func (s Cvss2) GoString() string { return s.String() } -// SetFirstSeen sets the FirstSeen field's value. -func (s *ExploitObserved) SetFirstSeen(v time.Time) *ExploitObserved { - s.FirstSeen = &v +// SetBaseScore sets the BaseScore field's value. +func (s *Cvss2) SetBaseScore(v float64) *Cvss2 { + s.BaseScore = &v return s } -// SetLastSeen sets the LastSeen field's value. -func (s *ExploitObserved) SetLastSeen(v time.Time) *ExploitObserved { - s.LastSeen = &v +// SetScoringVector sets the ScoringVector field's value. +func (s *Cvss2) SetScoringVector(v string) *Cvss2 { + s.ScoringVector = &v return s } -// The details of an exploit available for a finding discovered in your environment. -type ExploitabilityDetails struct { +// The Common Vulnerability Scoring System (CVSS) version 3 details for the +// vulnerability. +type Cvss3 struct { _ struct{} `type:"structure"` - // The date and time of the last exploit associated with a finding discovered - // in your environment. - LastKnownExploitAt *time.Time `locationName:"lastKnownExploitAt" type:"timestamp"` + // The CVSS v3 base score for the vulnerability. + BaseScore *float64 `locationName:"baseScore" type:"double"` + + // The scoring vector associated with the CVSS v3 score. + ScoringVector *string `locationName:"scoringVector" type:"string"` } // String returns the string representation. @@ -10343,7 +12093,7 @@ type ExploitabilityDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExploitabilityDetails) String() string { +func (s Cvss3) String() string { return awsutil.Prettify(s) } @@ -10352,41 +12102,45 @@ func (s ExploitabilityDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExploitabilityDetails) GoString() string { +func (s Cvss3) GoString() string { return s.String() } -// SetLastKnownExploitAt sets the LastKnownExploitAt field's value. -func (s *ExploitabilityDetails) SetLastKnownExploitAt(v time.Time) *ExploitabilityDetails { - s.LastKnownExploitAt = &v +// SetBaseScore sets the BaseScore field's value. +func (s *Cvss3) SetBaseScore(v float64) *Cvss3 { + s.BaseScore = &v return s } -// An object with details on why an account failed to enable Amazon Inspector. -type FailedAccount struct { +// SetScoringVector sets the ScoringVector field's value. +func (s *Cvss3) SetScoringVector(v string) *Cvss3 { + s.ScoringVector = &v + return s +} + +// The CVSS score for a finding. +type CvssScore struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID. + // The base CVSS score used for the finding. // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + // BaseScore is a required field + BaseScore *float64 `locationName:"baseScore" type:"double" required:"true"` - // The error code explaining why the account failed to enable Amazon Inspector. + // The vector string of the CVSS score. // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"ErrorCode"` + // ScoringVector is a required field + ScoringVector *string `locationName:"scoringVector" min:"1" type:"string" required:"true"` - // The error message received when the account failed to enable Amazon Inspector. + // The source of the CVSS score. // - // ErrorMessage is a required field - ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string" required:"true"` - - // An object detailing which resources Amazon Inspector is enabled to scan for - // the account. - ResourceStatus *ResourceStatus `locationName:"resourceStatus" type:"structure"` + // Source is a required field + Source *string `locationName:"source" min:"1" type:"string" required:"true"` - // The status of Amazon Inspector for the account. - Status *string `locationName:"status" type:"string" enum:"Status"` + // The version of CVSS used for the score. + // + // Version is a required field + Version *string `locationName:"version" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -10394,7 +12148,7 @@ type FailedAccount struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FailedAccount) String() string { +func (s CvssScore) String() string { return awsutil.Prettify(s) } @@ -10403,58 +12157,47 @@ func (s FailedAccount) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FailedAccount) GoString() string { +func (s CvssScore) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *FailedAccount) SetAccountId(v string) *FailedAccount { - s.AccountId = &v - return s -} - -// SetErrorCode sets the ErrorCode field's value. -func (s *FailedAccount) SetErrorCode(v string) *FailedAccount { - s.ErrorCode = &v +// SetBaseScore sets the BaseScore field's value. +func (s *CvssScore) SetBaseScore(v float64) *CvssScore { + s.BaseScore = &v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *FailedAccount) SetErrorMessage(v string) *FailedAccount { - s.ErrorMessage = &v +// SetScoringVector sets the ScoringVector field's value. +func (s *CvssScore) SetScoringVector(v string) *CvssScore { + s.ScoringVector = &v return s } -// SetResourceStatus sets the ResourceStatus field's value. -func (s *FailedAccount) SetResourceStatus(v *ResourceStatus) *FailedAccount { - s.ResourceStatus = v +// SetSource sets the Source field's value. +func (s *CvssScore) SetSource(v string) *CvssScore { + s.Source = &v return s } -// SetStatus sets the Status field's value. -func (s *FailedAccount) SetStatus(v string) *FailedAccount { - s.Status = &v +// SetVersion sets the Version field's value. +func (s *CvssScore) SetVersion(v string) *CvssScore { + s.Version = &v return s } -// An object that contains details about a member account in your organization -// that failed to activate Amazon Inspector deep inspection. -type FailedMemberAccountEc2DeepInspectionStatusState struct { +// Details on adjustments Amazon Inspector made to the CVSS score for a finding. +type CvssScoreAdjustment struct { _ struct{} `type:"structure"` - // The unique identifier for the Amazon Web Services account of the organization - // member that failed to activate Amazon Inspector deep inspection. + // The metric used to adjust the CVSS score. // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - - // The status of EC2 scanning in the account that failed to activate Amazon - // Inspector deep inspection. - Ec2ScanStatus *string `locationName:"ec2ScanStatus" type:"string" enum:"Status"` + // Metric is a required field + Metric *string `locationName:"metric" min:"1" type:"string" required:"true"` - // The error message explaining why the account failed to activate Amazon Inspector - // deep inspection. - ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string"` + // The reason the CVSS score has been adjustment. + // + // Reason is a required field + Reason *string `locationName:"reason" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -10462,7 +12205,7 @@ type FailedMemberAccountEc2DeepInspectionStatusState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FailedMemberAccountEc2DeepInspectionStatusState) String() string { +func (s CvssScoreAdjustment) String() string { return awsutil.Prettify(s) } @@ -10471,75 +12214,52 @@ func (s FailedMemberAccountEc2DeepInspectionStatusState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FailedMemberAccountEc2DeepInspectionStatusState) GoString() string { +func (s CvssScoreAdjustment) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *FailedMemberAccountEc2DeepInspectionStatusState) SetAccountId(v string) *FailedMemberAccountEc2DeepInspectionStatusState { - s.AccountId = &v - return s -} - -// SetEc2ScanStatus sets the Ec2ScanStatus field's value. -func (s *FailedMemberAccountEc2DeepInspectionStatusState) SetEc2ScanStatus(v string) *FailedMemberAccountEc2DeepInspectionStatusState { - s.Ec2ScanStatus = &v +// SetMetric sets the Metric field's value. +func (s *CvssScoreAdjustment) SetMetric(v string) *CvssScoreAdjustment { + s.Metric = &v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *FailedMemberAccountEc2DeepInspectionStatusState) SetErrorMessage(v string) *FailedMemberAccountEc2DeepInspectionStatusState { - s.ErrorMessage = &v +// SetReason sets the Reason field's value. +func (s *CvssScoreAdjustment) SetReason(v string) *CvssScoreAdjustment { + s.Reason = &v return s } -// Details about a filter. -type Filter struct { +// Information about the CVSS score. +type CvssScoreDetails struct { _ struct{} `type:"structure"` - // The action that is to be applied to the findings that match the filter. - // - // Action is a required field - Action *string `locationName:"action" type:"string" required:"true" enum:"FilterAction"` - - // The Amazon Resource Number (ARN) associated with this filter. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + // An object that contains details about adjustment Amazon Inspector made to + // the CVSS score. + Adjustments []*CvssScoreAdjustment `locationName:"adjustments" type:"list"` - // The date and time this filter was created at. - // - // CreatedAt is a required field - CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + // The source of the CVSS data. + CvssSource *string `locationName:"cvssSource" min:"1" type:"string"` - // Details on the filter criteria associated with this filter. + // The CVSS score. // - // Criteria is a required field - Criteria *FilterCriteria `locationName:"criteria" type:"structure" required:"true"` - - // A description of the filter. - Description *string `locationName:"description" min:"1" type:"string"` + // Score is a required field + Score *float64 `locationName:"score" type:"double" required:"true"` - // The name of the filter. + // The source for the CVSS score. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // ScoreSource is a required field + ScoreSource *string `locationName:"scoreSource" min:"1" type:"string" required:"true"` - // The Amazon Web Services account ID of the account that created the filter. + // The vector for the CVSS score. // - // OwnerId is a required field - OwnerId *string `locationName:"ownerId" min:"12" type:"string" required:"true"` - - // The reason for the filter. - Reason *string `locationName:"reason" min:"1" type:"string"` - - // The tags attached to the filter. - Tags map[string]*string `locationName:"tags" type:"map"` + // ScoringVector is a required field + ScoringVector *string `locationName:"scoringVector" min:"1" type:"string" required:"true"` - // The date and time the filter was last updated at. + // The CVSS version used in scoring. // - // UpdatedAt is a required field - UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" required:"true"` + // Version is a required field + Version *string `locationName:"version" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -10547,7 +12267,7 @@ type Filter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Filter) String() string { +func (s CvssScoreDetails) String() string { return awsutil.Prettify(s) } @@ -10556,211 +12276,358 @@ func (s Filter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Filter) GoString() string { +func (s CvssScoreDetails) GoString() string { return s.String() } -// SetAction sets the Action field's value. -func (s *Filter) SetAction(v string) *Filter { - s.Action = &v +// SetAdjustments sets the Adjustments field's value. +func (s *CvssScoreDetails) SetAdjustments(v []*CvssScoreAdjustment) *CvssScoreDetails { + s.Adjustments = v return s } -// SetArn sets the Arn field's value. -func (s *Filter) SetArn(v string) *Filter { - s.Arn = &v +// SetCvssSource sets the CvssSource field's value. +func (s *CvssScoreDetails) SetCvssSource(v string) *CvssScoreDetails { + s.CvssSource = &v return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *Filter) SetCreatedAt(v time.Time) *Filter { - s.CreatedAt = &v +// SetScore sets the Score field's value. +func (s *CvssScoreDetails) SetScore(v float64) *CvssScoreDetails { + s.Score = &v return s } -// SetCriteria sets the Criteria field's value. -func (s *Filter) SetCriteria(v *FilterCriteria) *Filter { - s.Criteria = v +// SetScoreSource sets the ScoreSource field's value. +func (s *CvssScoreDetails) SetScoreSource(v string) *CvssScoreDetails { + s.ScoreSource = &v return s } -// SetDescription sets the Description field's value. -func (s *Filter) SetDescription(v string) *Filter { - s.Description = &v +// SetScoringVector sets the ScoringVector field's value. +func (s *CvssScoreDetails) SetScoringVector(v string) *CvssScoreDetails { + s.ScoringVector = &v return s } -// SetName sets the Name field's value. -func (s *Filter) SetName(v string) *Filter { - s.Name = &v +// SetVersion sets the Version field's value. +func (s *CvssScoreDetails) SetVersion(v string) *CvssScoreDetails { + s.Version = &v return s } -// SetOwnerId sets the OwnerId field's value. -func (s *Filter) SetOwnerId(v string) *Filter { - s.OwnerId = &v - return s -} +// A daily schedule. +type DailySchedule struct { + _ struct{} `type:"structure"` -// SetReason sets the Reason field's value. -func (s *Filter) SetReason(v string) *Filter { - s.Reason = &v - return s + // The schedule start time. + // + // StartTime is a required field + StartTime *Time `locationName:"startTime" type:"structure" required:"true"` } -// SetTags sets the Tags field's value. -func (s *Filter) SetTags(v map[string]*string) *Filter { - s.Tags = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DailySchedule) String() string { + return awsutil.Prettify(s) } -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *Filter) SetUpdatedAt(v time.Time) *Filter { - s.UpdatedAt = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DailySchedule) GoString() string { + return s.String() } -// Details on the criteria used to define the filter. -type FilterCriteria struct { - _ struct{} `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DailySchedule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DailySchedule"} + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + if s.StartTime != nil { + if err := s.StartTime.Validate(); err != nil { + invalidParams.AddNested("StartTime", err.(request.ErrInvalidParams)) + } + } - // Details of the Amazon Web Services account IDs used to filter findings. - AwsAccountId []*StringFilter `locationName:"awsAccountId" min:"1" type:"list"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The name of the detector used to identify a code vulnerability in a Lambda - // function used to filter findings. - CodeVulnerabilityDetectorName []*StringFilter `locationName:"codeVulnerabilityDetectorName" min:"1" type:"list"` +// SetStartTime sets the StartTime field's value. +func (s *DailySchedule) SetStartTime(v *Time) *DailySchedule { + s.StartTime = v + return s +} - // The detector type tag associated with the vulnerability used to filter findings. - // Detector tags group related vulnerabilities by common themes or tactics. - // For a list of available tags by programming language, see Java tags (https://docs.aws.amazon.com/codeguru/detector-library/java/tags/), - // or Python tags (https://docs.aws.amazon.com/codeguru/detector-library/python/tags/). - CodeVulnerabilityDetectorTags []*StringFilter `locationName:"codeVulnerabilityDetectorTags" min:"1" type:"list"` +// Contains details on the time range used to filter findings. +type DateFilter struct { + _ struct{} `type:"structure"` - // The file path to the file in a Lambda function that contains a code vulnerability - // used to filter findings. - CodeVulnerabilityFilePath []*StringFilter `locationName:"codeVulnerabilityFilePath" min:"1" type:"list"` + // A timestamp representing the end of the time period filtered on. + EndInclusive *time.Time `locationName:"endInclusive" type:"timestamp"` - // Details of the component IDs used to filter findings. - ComponentId []*StringFilter `locationName:"componentId" min:"1" type:"list"` + // A timestamp representing the start of the time period filtered on. + StartInclusive *time.Time `locationName:"startInclusive" type:"timestamp"` +} - // Details of the component types used to filter findings. - ComponentType []*StringFilter `locationName:"componentType" min:"1" type:"list"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DateFilter) String() string { + return awsutil.Prettify(s) +} - // Details of the Amazon EC2 instance image IDs used to filter findings. - Ec2InstanceImageId []*StringFilter `locationName:"ec2InstanceImageId" min:"1" type:"list"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DateFilter) GoString() string { + return s.String() +} - // Details of the Amazon EC2 instance subnet IDs used to filter findings. - Ec2InstanceSubnetId []*StringFilter `locationName:"ec2InstanceSubnetId" min:"1" type:"list"` +// SetEndInclusive sets the EndInclusive field's value. +func (s *DateFilter) SetEndInclusive(v time.Time) *DateFilter { + s.EndInclusive = &v + return s +} - // Details of the Amazon EC2 instance VPC IDs used to filter findings. - Ec2InstanceVpcId []*StringFilter `locationName:"ec2InstanceVpcId" min:"1" type:"list"` +// SetStartInclusive sets the StartInclusive field's value. +func (s *DateFilter) SetStartInclusive(v time.Time) *DateFilter { + s.StartInclusive = &v + return s +} - // Details of the Amazon ECR image architecture types used to filter findings. - EcrImageArchitecture []*StringFilter `locationName:"ecrImageArchitecture" min:"1" type:"list"` +// Details of the Amazon Inspector delegated administrator for your organization. +type DelegatedAdmin struct { + _ struct{} `type:"structure"` - // Details of the Amazon ECR image hashes used to filter findings. - EcrImageHash []*StringFilter `locationName:"ecrImageHash" min:"1" type:"list"` + // The Amazon Web Services account ID of the Amazon Inspector delegated administrator + // for your organization. + AccountId *string `locationName:"accountId" min:"12" type:"string"` - // Details on the Amazon ECR image push date and time used to filter findings. - EcrImagePushedAt []*DateFilter `locationName:"ecrImagePushedAt" min:"1" type:"list"` + // The status of the Amazon Inspector delegated administrator. + RelationshipStatus *string `locationName:"relationshipStatus" type:"string" enum:"RelationshipStatus"` +} - // Details on the Amazon ECR registry used to filter findings. - EcrImageRegistry []*StringFilter `locationName:"ecrImageRegistry" min:"1" type:"list"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DelegatedAdmin) String() string { + return awsutil.Prettify(s) +} - // Details on the name of the Amazon ECR repository used to filter findings. - EcrImageRepositoryName []*StringFilter `locationName:"ecrImageRepositoryName" min:"1" type:"list"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DelegatedAdmin) GoString() string { + return s.String() +} - // The tags attached to the Amazon ECR container image. - EcrImageTags []*StringFilter `locationName:"ecrImageTags" min:"1" type:"list"` +// SetAccountId sets the AccountId field's value. +func (s *DelegatedAdmin) SetAccountId(v string) *DelegatedAdmin { + s.AccountId = &v + return s +} - // The EPSS score used to filter findings. - EpssScore []*NumberFilter `locationName:"epssScore" min:"1" type:"list"` +// SetRelationshipStatus sets the RelationshipStatus field's value. +func (s *DelegatedAdmin) SetRelationshipStatus(v string) *DelegatedAdmin { + s.RelationshipStatus = &v + return s +} - // Filters the list of AWS Lambda findings by the availability of exploits. - ExploitAvailable []*StringFilter `locationName:"exploitAvailable" min:"1" type:"list"` +// Details of the Amazon Inspector delegated administrator for your organization. +type DelegatedAdminAccount struct { + _ struct{} `type:"structure"` - // Details on the finding ARNs used to filter findings. - FindingArn []*StringFilter `locationName:"findingArn" min:"1" type:"list"` + // The Amazon Web Services account ID of the Amazon Inspector delegated administrator + // for your organization. + AccountId *string `locationName:"accountId" min:"12" type:"string"` - // Details on the finding status types used to filter findings. - FindingStatus []*StringFilter `locationName:"findingStatus" min:"1" type:"list"` + // The status of the Amazon Inspector delegated administrator. + Status *string `locationName:"status" type:"string" enum:"DelegatedAdminStatus"` +} - // Details on the finding types used to filter findings. - FindingType []*StringFilter `locationName:"findingType" min:"1" type:"list"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DelegatedAdminAccount) String() string { + return awsutil.Prettify(s) +} - // Details on the date and time a finding was first seen used to filter findings. - FirstObservedAt []*DateFilter `locationName:"firstObservedAt" min:"1" type:"list"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DelegatedAdminAccount) GoString() string { + return s.String() +} - // Details on whether a fix is available through a version update. This value - // can be YES, NO, or PARTIAL. A PARTIAL fix means that some, but not all, of - // the packages identified in the finding have fixes available through updated - // versions. - FixAvailable []*StringFilter `locationName:"fixAvailable" min:"1" type:"list"` +// SetAccountId sets the AccountId field's value. +func (s *DelegatedAdminAccount) SetAccountId(v string) *DelegatedAdminAccount { + s.AccountId = &v + return s +} - // The Amazon Inspector score to filter on. - InspectorScore []*NumberFilter `locationName:"inspectorScore" min:"1" type:"list"` +// SetStatus sets the Status field's value. +func (s *DelegatedAdminAccount) SetStatus(v string) *DelegatedAdminAccount { + s.Status = &v + return s +} - // Filters the list of AWS Lambda functions by execution role. - LambdaFunctionExecutionRoleArn []*StringFilter `locationName:"lambdaFunctionExecutionRoleArn" min:"1" type:"list"` +type DeleteCisScanConfigurationInput struct { + _ struct{} `type:"structure"` - // Filters the list of AWS Lambda functions by the date and time that a user - // last updated the configuration, in ISO 8601 format (https://www.iso.org/iso-8601-date-and-time-format.html) - LambdaFunctionLastModifiedAt []*DateFilter `locationName:"lambdaFunctionLastModifiedAt" min:"1" type:"list"` + // The ARN of the CIS scan configuration. + // + // ScanConfigurationArn is a required field + ScanConfigurationArn *string `locationName:"scanConfigurationArn" type:"string" required:"true"` +} - // Filters the list of AWS Lambda functions by the function's layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). - // A Lambda function can have up to five layers. - LambdaFunctionLayers []*StringFilter `locationName:"lambdaFunctionLayers" min:"1" type:"list"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCisScanConfigurationInput) String() string { + return awsutil.Prettify(s) +} - // Filters the list of AWS Lambda functions by the name of the function. - LambdaFunctionName []*StringFilter `locationName:"lambdaFunctionName" min:"1" type:"list"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCisScanConfigurationInput) GoString() string { + return s.String() +} - // Filters the list of AWS Lambda functions by the runtime environment for the - // Lambda function. - LambdaFunctionRuntime []*StringFilter `locationName:"lambdaFunctionRuntime" min:"1" type:"list"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCisScanConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCisScanConfigurationInput"} + if s.ScanConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ScanConfigurationArn")) + } - // Details on the date and time a finding was last seen used to filter findings. - LastObservedAt []*DateFilter `locationName:"lastObservedAt" min:"1" type:"list"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Details on network protocol used to filter findings. - NetworkProtocol []*StringFilter `locationName:"networkProtocol" min:"1" type:"list"` +// SetScanConfigurationArn sets the ScanConfigurationArn field's value. +func (s *DeleteCisScanConfigurationInput) SetScanConfigurationArn(v string) *DeleteCisScanConfigurationInput { + s.ScanConfigurationArn = &v + return s +} - // Details on the port ranges used to filter findings. - PortRange []*PortRangeFilter `locationName:"portRange" min:"1" type:"list"` +type DeleteCisScanConfigurationOutput struct { + _ struct{} `type:"structure"` - // Details on the related vulnerabilities used to filter findings. - RelatedVulnerabilities []*StringFilter `locationName:"relatedVulnerabilities" min:"1" type:"list"` + // The ARN of the CIS scan configuration. + // + // ScanConfigurationArn is a required field + ScanConfigurationArn *string `locationName:"scanConfigurationArn" type:"string" required:"true"` +} - // Details on the resource IDs used to filter findings. - ResourceId []*StringFilter `locationName:"resourceId" min:"1" type:"list"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCisScanConfigurationOutput) String() string { + return awsutil.Prettify(s) +} - // Details on the resource tags used to filter findings. - ResourceTags []*MapFilter `locationName:"resourceTags" min:"1" type:"list"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCisScanConfigurationOutput) GoString() string { + return s.String() +} - // Details on the resource types used to filter findings. - ResourceType []*StringFilter `locationName:"resourceType" min:"1" type:"list"` +// SetScanConfigurationArn sets the ScanConfigurationArn field's value. +func (s *DeleteCisScanConfigurationOutput) SetScanConfigurationArn(v string) *DeleteCisScanConfigurationOutput { + s.ScanConfigurationArn = &v + return s +} - // Details on the severity used to filter findings. - Severity []*StringFilter `locationName:"severity" min:"1" type:"list"` +type DeleteFilterInput struct { + _ struct{} `type:"structure"` - // Details on the finding title used to filter findings. - Title []*StringFilter `locationName:"title" min:"1" type:"list"` + // The Amazon Resource Number (ARN) of the filter to be deleted. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +} - // Details on the date and time a finding was last updated at used to filter - // findings. - UpdatedAt []*DateFilter `locationName:"updatedAt" min:"1" type:"list"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteFilterInput) String() string { + return awsutil.Prettify(s) +} - // Details on the vendor severity used to filter findings. - VendorSeverity []*StringFilter `locationName:"vendorSeverity" min:"1" type:"list"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteFilterInput) GoString() string { + return s.String() +} - // Details on the vulnerability ID used to filter findings. - VulnerabilityId []*StringFilter `locationName:"vulnerabilityId" min:"1" type:"list"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFilterInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } - // Details on the vulnerability type used to filter findings. - VulnerabilitySource []*StringFilter `locationName:"vulnerabilitySource" min:"1" type:"list"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Details on the vulnerable packages used to filter findings. - VulnerablePackages []*PackageFilter `locationName:"vulnerablePackages" min:"1" type:"list"` +// SetArn sets the Arn field's value. +func (s *DeleteFilterInput) SetArn(v string) *DeleteFilterInput { + s.Arn = &v + return s +} + +type DeleteFilterOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Number (ARN) of the filter that has been deleted. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -10768,7 +12635,7 @@ type FilterCriteria struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FilterCriteria) String() string { +func (s DeleteFilterOutput) String() string { return awsutil.Prettify(s) } @@ -10777,836 +12644,4231 @@ func (s FilterCriteria) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FilterCriteria) GoString() string { +func (s DeleteFilterOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *FilterCriteria) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "FilterCriteria"} - if s.AwsAccountId != nil && len(s.AwsAccountId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 1)) - } - if s.CodeVulnerabilityDetectorName != nil && len(s.CodeVulnerabilityDetectorName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CodeVulnerabilityDetectorName", 1)) - } - if s.CodeVulnerabilityDetectorTags != nil && len(s.CodeVulnerabilityDetectorTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CodeVulnerabilityDetectorTags", 1)) - } - if s.CodeVulnerabilityFilePath != nil && len(s.CodeVulnerabilityFilePath) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CodeVulnerabilityFilePath", 1)) - } - if s.ComponentId != nil && len(s.ComponentId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentId", 1)) - } - if s.ComponentType != nil && len(s.ComponentType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ComponentType", 1)) - } - if s.Ec2InstanceImageId != nil && len(s.Ec2InstanceImageId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceImageId", 1)) - } - if s.Ec2InstanceSubnetId != nil && len(s.Ec2InstanceSubnetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceSubnetId", 1)) - } - if s.Ec2InstanceVpcId != nil && len(s.Ec2InstanceVpcId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceVpcId", 1)) - } - if s.EcrImageArchitecture != nil && len(s.EcrImageArchitecture) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EcrImageArchitecture", 1)) - } - if s.EcrImageHash != nil && len(s.EcrImageHash) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EcrImageHash", 1)) - } - if s.EcrImagePushedAt != nil && len(s.EcrImagePushedAt) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EcrImagePushedAt", 1)) - } - if s.EcrImageRegistry != nil && len(s.EcrImageRegistry) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EcrImageRegistry", 1)) - } - if s.EcrImageRepositoryName != nil && len(s.EcrImageRepositoryName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EcrImageRepositoryName", 1)) - } - if s.EcrImageTags != nil && len(s.EcrImageTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EcrImageTags", 1)) - } - if s.EpssScore != nil && len(s.EpssScore) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EpssScore", 1)) - } - if s.ExploitAvailable != nil && len(s.ExploitAvailable) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExploitAvailable", 1)) - } - if s.FindingArn != nil && len(s.FindingArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FindingArn", 1)) - } - if s.FindingStatus != nil && len(s.FindingStatus) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FindingStatus", 1)) - } - if s.FindingType != nil && len(s.FindingType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FindingType", 1)) - } - if s.FirstObservedAt != nil && len(s.FirstObservedAt) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FirstObservedAt", 1)) - } - if s.FixAvailable != nil && len(s.FixAvailable) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FixAvailable", 1)) - } - if s.InspectorScore != nil && len(s.InspectorScore) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InspectorScore", 1)) - } - if s.LambdaFunctionExecutionRoleArn != nil && len(s.LambdaFunctionExecutionRoleArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionExecutionRoleArn", 1)) - } - if s.LambdaFunctionLastModifiedAt != nil && len(s.LambdaFunctionLastModifiedAt) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionLastModifiedAt", 1)) - } - if s.LambdaFunctionLayers != nil && len(s.LambdaFunctionLayers) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionLayers", 1)) - } - if s.LambdaFunctionName != nil && len(s.LambdaFunctionName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionName", 1)) - } - if s.LambdaFunctionRuntime != nil && len(s.LambdaFunctionRuntime) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionRuntime", 1)) - } - if s.LastObservedAt != nil && len(s.LastObservedAt) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LastObservedAt", 1)) - } - if s.NetworkProtocol != nil && len(s.NetworkProtocol) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NetworkProtocol", 1)) - } - if s.PortRange != nil && len(s.PortRange) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PortRange", 1)) - } - if s.RelatedVulnerabilities != nil && len(s.RelatedVulnerabilities) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RelatedVulnerabilities", 1)) - } - if s.ResourceId != nil && len(s.ResourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) - } - if s.ResourceTags != nil && len(s.ResourceTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1)) - } - if s.ResourceType != nil && len(s.ResourceType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) - } - if s.Severity != nil && len(s.Severity) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Severity", 1)) - } - if s.Title != nil && len(s.Title) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Title", 1)) - } - if s.UpdatedAt != nil && len(s.UpdatedAt) < 1 { - invalidParams.Add(request.NewErrParamMinLen("UpdatedAt", 1)) - } - if s.VendorSeverity != nil && len(s.VendorSeverity) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VendorSeverity", 1)) - } - if s.VulnerabilityId != nil && len(s.VulnerabilityId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VulnerabilityId", 1)) +// SetArn sets the Arn field's value. +func (s *DeleteFilterOutput) SetArn(v string) *DeleteFilterOutput { + s.Arn = &v + return s +} + +type DescribeOrganizationConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeOrganizationConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeOrganizationConfigurationInput) GoString() string { + return s.String() +} + +type DescribeOrganizationConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The scan types are automatically enabled for new members of your organization. + AutoEnable *AutoEnable `locationName:"autoEnable" type:"structure"` + + // Represents whether your organization has reached the maximum Amazon Web Services + // account limit for Amazon Inspector. + MaxAccountLimitReached *bool `locationName:"maxAccountLimitReached" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeOrganizationConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeOrganizationConfigurationOutput) GoString() string { + return s.String() +} + +// SetAutoEnable sets the AutoEnable field's value. +func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v *AutoEnable) *DescribeOrganizationConfigurationOutput { + s.AutoEnable = v + return s +} + +// SetMaxAccountLimitReached sets the MaxAccountLimitReached field's value. +func (s *DescribeOrganizationConfigurationOutput) SetMaxAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput { + s.MaxAccountLimitReached = &v + return s +} + +// Contains details of the Amazon S3 bucket and KMS key used to export findings. +type Destination struct { + _ struct{} `type:"structure"` + + // The name of the Amazon S3 bucket to export findings to. + // + // BucketName is a required field + BucketName *string `locationName:"bucketName" type:"string" required:"true"` + + // The prefix that the findings will be written under. + KeyPrefix *string `locationName:"keyPrefix" type:"string"` + + // The ARN of the KMS key used to encrypt data when exporting findings. + // + // KmsKeyArn is a required field + KmsKeyArn *string `locationName:"kmsKeyArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Destination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Destination) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Destination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Destination"} + if s.BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("BucketName")) } - if s.VulnerabilitySource != nil && len(s.VulnerabilitySource) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VulnerabilitySource", 1)) + if s.KmsKeyArn == nil { + invalidParams.Add(request.NewErrParamRequired("KmsKeyArn")) } - if s.VulnerablePackages != nil && len(s.VulnerablePackages) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VulnerablePackages", 1)) + + if invalidParams.Len() > 0 { + return invalidParams } - if s.AwsAccountId != nil { - for i, v := range s.AwsAccountId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AwsAccountId", i), err.(request.ErrInvalidParams)) - } - } + return nil +} + +// SetBucketName sets the BucketName field's value. +func (s *Destination) SetBucketName(v string) *Destination { + s.BucketName = &v + return s +} + +// SetKeyPrefix sets the KeyPrefix field's value. +func (s *Destination) SetKeyPrefix(v string) *Destination { + s.KeyPrefix = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *Destination) SetKmsKeyArn(v string) *Destination { + s.KmsKeyArn = &v + return s +} + +type DisableDelegatedAdminAccountInput struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services account ID of the current Amazon Inspector delegated + // administrator. + // + // DelegatedAdminAccountId is a required field + DelegatedAdminAccountId *string `locationName:"delegatedAdminAccountId" min:"12" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableDelegatedAdminAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableDelegatedAdminAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableDelegatedAdminAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableDelegatedAdminAccountInput"} + if s.DelegatedAdminAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("DelegatedAdminAccountId")) } - if s.CodeVulnerabilityDetectorName != nil { - for i, v := range s.CodeVulnerabilityDetectorName { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CodeVulnerabilityDetectorName", i), err.(request.ErrInvalidParams)) - } - } + if s.DelegatedAdminAccountId != nil && len(*s.DelegatedAdminAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("DelegatedAdminAccountId", 12)) } - if s.CodeVulnerabilityDetectorTags != nil { - for i, v := range s.CodeVulnerabilityDetectorTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CodeVulnerabilityDetectorTags", i), err.(request.ErrInvalidParams)) - } - } + + if invalidParams.Len() > 0 { + return invalidParams } - if s.CodeVulnerabilityFilePath != nil { - for i, v := range s.CodeVulnerabilityFilePath { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CodeVulnerabilityFilePath", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ComponentId != nil { - for i, v := range s.ComponentId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentId", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ComponentType != nil { - for i, v := range s.ComponentType { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentType", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Ec2InstanceImageId != nil { - for i, v := range s.Ec2InstanceImageId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2InstanceImageId", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Ec2InstanceSubnetId != nil { - for i, v := range s.Ec2InstanceSubnetId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2InstanceSubnetId", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Ec2InstanceVpcId != nil { - for i, v := range s.Ec2InstanceVpcId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2InstanceVpcId", i), err.(request.ErrInvalidParams)) - } - } - } - if s.EcrImageArchitecture != nil { - for i, v := range s.EcrImageArchitecture { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageArchitecture", i), err.(request.ErrInvalidParams)) - } - } - } - if s.EcrImageHash != nil { - for i, v := range s.EcrImageHash { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageHash", i), err.(request.ErrInvalidParams)) - } - } + return nil +} + +// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. +func (s *DisableDelegatedAdminAccountInput) SetDelegatedAdminAccountId(v string) *DisableDelegatedAdminAccountInput { + s.DelegatedAdminAccountId = &v + return s +} + +type DisableDelegatedAdminAccountOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services account ID of the successfully disabled delegated + // administrator. + // + // DelegatedAdminAccountId is a required field + DelegatedAdminAccountId *string `locationName:"delegatedAdminAccountId" min:"12" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableDelegatedAdminAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableDelegatedAdminAccountOutput) GoString() string { + return s.String() +} + +// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. +func (s *DisableDelegatedAdminAccountOutput) SetDelegatedAdminAccountId(v string) *DisableDelegatedAdminAccountOutput { + s.DelegatedAdminAccountId = &v + return s +} + +type DisableInput struct { + _ struct{} `type:"structure"` + + // An array of account IDs you want to disable Amazon Inspector scans for. + AccountIds []*string `locationName:"accountIds" type:"list"` + + // The resource scan types you want to disable. + ResourceTypes []*string `locationName:"resourceTypes" type:"list" enum:"ResourceScanType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableInput) GoString() string { + return s.String() +} + +// SetAccountIds sets the AccountIds field's value. +func (s *DisableInput) SetAccountIds(v []*string) *DisableInput { + s.AccountIds = v + return s +} + +// SetResourceTypes sets the ResourceTypes field's value. +func (s *DisableInput) SetResourceTypes(v []*string) *DisableInput { + s.ResourceTypes = v + return s +} + +type DisableOutput struct { + _ struct{} `type:"structure"` + + // Information on the accounts that have had Amazon Inspector scans successfully + // disabled. Details are provided for each account. + // + // Accounts is a required field + Accounts []*Account `locationName:"accounts" type:"list" required:"true"` + + // Information on any accounts for which Amazon Inspector scans could not be + // disabled. Details are provided for each account. + FailedAccounts []*FailedAccount `locationName:"failedAccounts" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableOutput) GoString() string { + return s.String() +} + +// SetAccounts sets the Accounts field's value. +func (s *DisableOutput) SetAccounts(v []*Account) *DisableOutput { + s.Accounts = v + return s +} + +// SetFailedAccounts sets the FailedAccounts field's value. +func (s *DisableOutput) SetFailedAccounts(v []*FailedAccount) *DisableOutput { + s.FailedAccounts = v + return s +} + +type DisassociateMemberInput struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services account ID of the member account to disassociate. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateMemberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateMemberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateMemberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateMemberInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) } - if s.EcrImageRegistry != nil { - for i, v := range s.EcrImageRegistry { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageRegistry", i), err.(request.ErrInvalidParams)) - } - } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) } - if s.EcrImageRepositoryName != nil { - for i, v := range s.EcrImageRepositoryName { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageRepositoryName", i), err.(request.ErrInvalidParams)) - } - } + + if invalidParams.Len() > 0 { + return invalidParams } - if s.EcrImageTags != nil { - for i, v := range s.EcrImageTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageTags", i), err.(request.ErrInvalidParams)) - } - } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *DisassociateMemberInput) SetAccountId(v string) *DisassociateMemberInput { + s.AccountId = &v + return s +} + +type DisassociateMemberOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services account ID of the successfully disassociated member. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateMemberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateMemberOutput) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *DisassociateMemberOutput) SetAccountId(v string) *DisassociateMemberOutput { + s.AccountId = &v + return s +} + +// The details that define an aggregation based on Amazon EC2 instances. +type Ec2InstanceAggregation struct { + _ struct{} `type:"structure"` + + // The AMI IDs associated with the Amazon EC2 instances to aggregate findings + // for. + Amis []*StringFilter `locationName:"amis" min:"1" type:"list"` + + // The Amazon EC2 instance IDs to aggregate findings for. + InstanceIds []*StringFilter `locationName:"instanceIds" min:"1" type:"list"` + + // The Amazon EC2 instance tags to aggregate findings for. + InstanceTags []*MapFilter `locationName:"instanceTags" min:"1" type:"list"` + + // The operating system types to aggregate findings for. Valid values must be + // uppercase and underscore separated, examples are ORACLE_LINUX_7 and ALPINE_LINUX_3_8. + OperatingSystems []*StringFilter `locationName:"operatingSystems" min:"1" type:"list"` + + // The value to sort results by. + SortBy *string `locationName:"sortBy" type:"string" enum:"Ec2InstanceSortBy"` + + // The order to sort results by. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Ec2InstanceAggregation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Ec2InstanceAggregation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Ec2InstanceAggregation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Ec2InstanceAggregation"} + if s.Amis != nil && len(s.Amis) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Amis", 1)) } - if s.ExploitAvailable != nil { - for i, v := range s.ExploitAvailable { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExploitAvailable", i), err.(request.ErrInvalidParams)) - } - } + if s.InstanceIds != nil && len(s.InstanceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 1)) } - if s.FindingArn != nil { - for i, v := range s.FindingArn { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingArn", i), err.(request.ErrInvalidParams)) - } - } + if s.InstanceTags != nil && len(s.InstanceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceTags", 1)) } - if s.FindingStatus != nil { - for i, v := range s.FindingStatus { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingStatus", i), err.(request.ErrInvalidParams)) - } - } + if s.OperatingSystems != nil && len(s.OperatingSystems) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperatingSystems", 1)) } - if s.FindingType != nil { - for i, v := range s.FindingType { + if s.Amis != nil { + for i, v := range s.Amis { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingType", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Amis", i), err.(request.ErrInvalidParams)) } } } - if s.FixAvailable != nil { - for i, v := range s.FixAvailable { + if s.InstanceIds != nil { + for i, v := range s.InstanceIds { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FixAvailable", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceIds", i), err.(request.ErrInvalidParams)) } } } - if s.LambdaFunctionExecutionRoleArn != nil { - for i, v := range s.LambdaFunctionExecutionRoleArn { + if s.InstanceTags != nil { + for i, v := range s.InstanceTags { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionExecutionRoleArn", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceTags", i), err.(request.ErrInvalidParams)) } } } - if s.LambdaFunctionLayers != nil { - for i, v := range s.LambdaFunctionLayers { + if s.OperatingSystems != nil { + for i, v := range s.OperatingSystems { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionLayers", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OperatingSystems", i), err.(request.ErrInvalidParams)) } } } - if s.LambdaFunctionName != nil { - for i, v := range s.LambdaFunctionName { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionName", i), err.(request.ErrInvalidParams)) - } - } + + if invalidParams.Len() > 0 { + return invalidParams } - if s.LambdaFunctionRuntime != nil { - for i, v := range s.LambdaFunctionRuntime { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionRuntime", i), err.(request.ErrInvalidParams)) - } - } + return nil +} + +// SetAmis sets the Amis field's value. +func (s *Ec2InstanceAggregation) SetAmis(v []*StringFilter) *Ec2InstanceAggregation { + s.Amis = v + return s +} + +// SetInstanceIds sets the InstanceIds field's value. +func (s *Ec2InstanceAggregation) SetInstanceIds(v []*StringFilter) *Ec2InstanceAggregation { + s.InstanceIds = v + return s +} + +// SetInstanceTags sets the InstanceTags field's value. +func (s *Ec2InstanceAggregation) SetInstanceTags(v []*MapFilter) *Ec2InstanceAggregation { + s.InstanceTags = v + return s +} + +// SetOperatingSystems sets the OperatingSystems field's value. +func (s *Ec2InstanceAggregation) SetOperatingSystems(v []*StringFilter) *Ec2InstanceAggregation { + s.OperatingSystems = v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *Ec2InstanceAggregation) SetSortBy(v string) *Ec2InstanceAggregation { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *Ec2InstanceAggregation) SetSortOrder(v string) *Ec2InstanceAggregation { + s.SortOrder = &v + return s +} + +// A response that contains the results of a finding aggregation by Amazon EC2 +// instance. +type Ec2InstanceAggregationResponse struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services account for the Amazon EC2 instance. + AccountId *string `locationName:"accountId" type:"string"` + + // The Amazon Machine Image (AMI) of the Amazon EC2 instance. + Ami *string `locationName:"ami" type:"string"` + + // The Amazon EC2 instance ID. + // + // InstanceId is a required field + InstanceId *string `locationName:"instanceId" min:"1" type:"string" required:"true"` + + // The tags attached to the instance. + InstanceTags map[string]*string `locationName:"instanceTags" type:"map"` + + // The number of network findings for the Amazon EC2 instance. + NetworkFindings *int64 `locationName:"networkFindings" type:"long"` + + // The operating system of the Amazon EC2 instance. + OperatingSystem *string `locationName:"operatingSystem" type:"string"` + + // An object that contains the count of matched findings per severity. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Ec2InstanceAggregationResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Ec2InstanceAggregationResponse) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *Ec2InstanceAggregationResponse) SetAccountId(v string) *Ec2InstanceAggregationResponse { + s.AccountId = &v + return s +} + +// SetAmi sets the Ami field's value. +func (s *Ec2InstanceAggregationResponse) SetAmi(v string) *Ec2InstanceAggregationResponse { + s.Ami = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *Ec2InstanceAggregationResponse) SetInstanceId(v string) *Ec2InstanceAggregationResponse { + s.InstanceId = &v + return s +} + +// SetInstanceTags sets the InstanceTags field's value. +func (s *Ec2InstanceAggregationResponse) SetInstanceTags(v map[string]*string) *Ec2InstanceAggregationResponse { + s.InstanceTags = v + return s +} + +// SetNetworkFindings sets the NetworkFindings field's value. +func (s *Ec2InstanceAggregationResponse) SetNetworkFindings(v int64) *Ec2InstanceAggregationResponse { + s.NetworkFindings = &v + return s +} + +// SetOperatingSystem sets the OperatingSystem field's value. +func (s *Ec2InstanceAggregationResponse) SetOperatingSystem(v string) *Ec2InstanceAggregationResponse { + s.OperatingSystem = &v + return s +} + +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *Ec2InstanceAggregationResponse) SetSeverityCounts(v *SeverityCounts) *Ec2InstanceAggregationResponse { + s.SeverityCounts = v + return s +} + +// Meta data details of an Amazon EC2 instance. +type Ec2Metadata struct { + _ struct{} `type:"structure"` + + // The ID of the Amazon Machine Image (AMI) used to launch the instance. + AmiId *string `locationName:"amiId" type:"string"` + + // The platform of the instance. + Platform *string `locationName:"platform" type:"string" enum:"Ec2Platform"` + + // The tags attached to the instance. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Ec2Metadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Ec2Metadata) GoString() string { + return s.String() +} + +// SetAmiId sets the AmiId field's value. +func (s *Ec2Metadata) SetAmiId(v string) *Ec2Metadata { + s.AmiId = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *Ec2Metadata) SetPlatform(v string) *Ec2Metadata { + s.Platform = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Ec2Metadata) SetTags(v map[string]*string) *Ec2Metadata { + s.Tags = v + return s +} + +// Details about the ECR automated re-scan duration setting for your environment. +type EcrConfiguration struct { + _ struct{} `type:"structure"` + + // The ECR automated re-scan duration defines how long an ECR image will be + // actively scanned by Amazon Inspector. When the number of days since an image + // was last pushed exceeds the automated re-scan duration the monitoring state + // of that image becomes inactive and all associated findings are scheduled + // for closure. + // + // RescanDuration is a required field + RescanDuration *string `locationName:"rescanDuration" type:"string" required:"true" enum:"EcrRescanDuration"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EcrConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EcrConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EcrConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EcrConfiguration"} + if s.RescanDuration == nil { + invalidParams.Add(request.NewErrParamRequired("RescanDuration")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRescanDuration sets the RescanDuration field's value. +func (s *EcrConfiguration) SetRescanDuration(v string) *EcrConfiguration { + s.RescanDuration = &v + return s +} + +// Details about the state of the ECR scans for your environment. +type EcrConfigurationState struct { + _ struct{} `type:"structure"` + + // An object that contains details about the state of the ECR automated re-scan + // setting. + RescanDurationState *EcrRescanDurationState `locationName:"rescanDurationState" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EcrConfigurationState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EcrConfigurationState) GoString() string { + return s.String() +} + +// SetRescanDurationState sets the RescanDurationState field's value. +func (s *EcrConfigurationState) SetRescanDurationState(v *EcrRescanDurationState) *EcrConfigurationState { + s.RescanDurationState = v + return s +} + +// Information on the Amazon ECR image metadata associated with a finding. +type EcrContainerImageMetadata struct { + _ struct{} `type:"structure"` + + // Tags associated with the Amazon ECR image metadata. + Tags []*string `locationName:"tags" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EcrContainerImageMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EcrContainerImageMetadata) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *EcrContainerImageMetadata) SetTags(v []*string) *EcrContainerImageMetadata { + s.Tags = v + return s +} + +// Information on the Amazon ECR repository metadata associated with a finding. +type EcrRepositoryMetadata struct { + _ struct{} `type:"structure"` + + // The name of the Amazon ECR repository. + Name *string `locationName:"name" type:"string"` + + // The frequency of scans. + ScanFrequency *string `locationName:"scanFrequency" type:"string" enum:"EcrScanFrequency"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EcrRepositoryMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EcrRepositoryMetadata) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *EcrRepositoryMetadata) SetName(v string) *EcrRepositoryMetadata { + s.Name = &v + return s +} + +// SetScanFrequency sets the ScanFrequency field's value. +func (s *EcrRepositoryMetadata) SetScanFrequency(v string) *EcrRepositoryMetadata { + s.ScanFrequency = &v + return s +} + +// Details about the state of any changes to the ECR automated re-scan duration +// setting. +type EcrRescanDurationState struct { + _ struct{} `type:"structure"` + + // The ECR automated re-scan duration defines how long an ECR image will be + // actively scanned by Amazon Inspector. When the number of days since an image + // was last pushed exceeds the automated re-scan duration the monitoring state + // of that image becomes inactive and all associated findings are scheduled + // for closure. + RescanDuration *string `locationName:"rescanDuration" type:"string" enum:"EcrRescanDuration"` + + // The status of changes to the ECR automated re-scan duration. + Status *string `locationName:"status" type:"string" enum:"EcrRescanDurationStatus"` + + // A timestamp representing when the last time the ECR scan duration setting + // was changed. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EcrRescanDurationState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EcrRescanDurationState) GoString() string { + return s.String() +} + +// SetRescanDuration sets the RescanDuration field's value. +func (s *EcrRescanDurationState) SetRescanDuration(v string) *EcrRescanDurationState { + s.RescanDuration = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EcrRescanDurationState) SetStatus(v string) *EcrRescanDurationState { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *EcrRescanDurationState) SetUpdatedAt(v time.Time) *EcrRescanDurationState { + s.UpdatedAt = &v + return s +} + +type EnableDelegatedAdminAccountInput struct { + _ struct{} `type:"structure"` + + // The idempotency token for the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The Amazon Web Services account ID of the Amazon Inspector delegated administrator. + // + // DelegatedAdminAccountId is a required field + DelegatedAdminAccountId *string `locationName:"delegatedAdminAccountId" min:"12" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableDelegatedAdminAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableDelegatedAdminAccountInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableDelegatedAdminAccountInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableDelegatedAdminAccountInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.DelegatedAdminAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("DelegatedAdminAccountId")) + } + if s.DelegatedAdminAccountId != nil && len(*s.DelegatedAdminAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("DelegatedAdminAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *EnableDelegatedAdminAccountInput) SetClientToken(v string) *EnableDelegatedAdminAccountInput { + s.ClientToken = &v + return s +} + +// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. +func (s *EnableDelegatedAdminAccountInput) SetDelegatedAdminAccountId(v string) *EnableDelegatedAdminAccountInput { + s.DelegatedAdminAccountId = &v + return s +} + +type EnableDelegatedAdminAccountOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services account ID of the successfully Amazon Inspector delegated + // administrator. + // + // DelegatedAdminAccountId is a required field + DelegatedAdminAccountId *string `locationName:"delegatedAdminAccountId" min:"12" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableDelegatedAdminAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableDelegatedAdminAccountOutput) GoString() string { + return s.String() +} + +// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. +func (s *EnableDelegatedAdminAccountOutput) SetDelegatedAdminAccountId(v string) *EnableDelegatedAdminAccountOutput { + s.DelegatedAdminAccountId = &v + return s +} + +type EnableInput struct { + _ struct{} `type:"structure"` + + // A list of account IDs you want to enable Amazon Inspector scans for. + AccountIds []*string `locationName:"accountIds" type:"list"` + + // The idempotency token for the request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The resource scan types you want to enable. + // + // ResourceTypes is a required field + ResourceTypes []*string `locationName:"resourceTypes" min:"1" type:"list" required:"true" enum:"ResourceScanType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ResourceTypes == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceTypes")) + } + if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *EnableInput) SetAccountIds(v []*string) *EnableInput { + s.AccountIds = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *EnableInput) SetClientToken(v string) *EnableInput { + s.ClientToken = &v + return s +} + +// SetResourceTypes sets the ResourceTypes field's value. +func (s *EnableInput) SetResourceTypes(v []*string) *EnableInput { + s.ResourceTypes = v + return s +} + +type EnableOutput struct { + _ struct{} `type:"structure"` + + // Information on the accounts that have had Amazon Inspector scans successfully + // enabled. Details are provided for each account. + // + // Accounts is a required field + Accounts []*Account `locationName:"accounts" type:"list" required:"true"` + + // Information on any accounts for which Amazon Inspector scans could not be + // enabled. Details are provided for each account. + FailedAccounts []*FailedAccount `locationName:"failedAccounts" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableOutput) GoString() string { + return s.String() +} + +// SetAccounts sets the Accounts field's value. +func (s *EnableOutput) SetAccounts(v []*Account) *EnableOutput { + s.Accounts = v + return s +} + +// SetFailedAccounts sets the FailedAccounts field's value. +func (s *EnableOutput) SetFailedAccounts(v []*FailedAccount) *EnableOutput { + s.FailedAccounts = v + return s +} + +// Details about the Exploit Prediction Scoring System (EPSS) score. +type Epss struct { + _ struct{} `type:"structure"` + + // The Exploit Prediction Scoring System (EPSS) score. + Score *float64 `locationName:"score" type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Epss) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Epss) GoString() string { + return s.String() +} + +// SetScore sets the Score field's value. +func (s *Epss) SetScore(v float64) *Epss { + s.Score = &v + return s +} + +// Details about the Exploit Prediction Scoring System (EPSS) score for a finding. +type EpssDetails struct { + _ struct{} `type:"structure"` + + // The EPSS score. + Score *float64 `locationName:"score" type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EpssDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EpssDetails) GoString() string { + return s.String() +} + +// SetScore sets the Score field's value. +func (s *EpssDetails) SetScore(v float64) *EpssDetails { + s.Score = &v + return s +} + +// Details of the evidence for a vulnerability identified in a finding. +type Evidence struct { + _ struct{} `type:"structure"` + + // The evidence details. + EvidenceDetail *string `locationName:"evidenceDetail" type:"string"` + + // The evidence rule. + EvidenceRule *string `locationName:"evidenceRule" type:"string"` + + // The evidence severity. + Severity *string `locationName:"severity" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Evidence) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Evidence) GoString() string { + return s.String() +} + +// SetEvidenceDetail sets the EvidenceDetail field's value. +func (s *Evidence) SetEvidenceDetail(v string) *Evidence { + s.EvidenceDetail = &v + return s +} + +// SetEvidenceRule sets the EvidenceRule field's value. +func (s *Evidence) SetEvidenceRule(v string) *Evidence { + s.EvidenceRule = &v + return s +} + +// SetSeverity sets the Severity field's value. +func (s *Evidence) SetSeverity(v string) *Evidence { + s.Severity = &v + return s +} + +// Contains information on when this exploit was observed. +type ExploitObserved struct { + _ struct{} `type:"structure"` + + // The date an time when the exploit was first seen. + FirstSeen *time.Time `locationName:"firstSeen" type:"timestamp"` + + // The date an time when the exploit was last seen. + LastSeen *time.Time `locationName:"lastSeen" type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExploitObserved) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExploitObserved) GoString() string { + return s.String() +} + +// SetFirstSeen sets the FirstSeen field's value. +func (s *ExploitObserved) SetFirstSeen(v time.Time) *ExploitObserved { + s.FirstSeen = &v + return s +} + +// SetLastSeen sets the LastSeen field's value. +func (s *ExploitObserved) SetLastSeen(v time.Time) *ExploitObserved { + s.LastSeen = &v + return s +} + +// The details of an exploit available for a finding discovered in your environment. +type ExploitabilityDetails struct { + _ struct{} `type:"structure"` + + // The date and time of the last exploit associated with a finding discovered + // in your environment. + LastKnownExploitAt *time.Time `locationName:"lastKnownExploitAt" type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExploitabilityDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExploitabilityDetails) GoString() string { + return s.String() +} + +// SetLastKnownExploitAt sets the LastKnownExploitAt field's value. +func (s *ExploitabilityDetails) SetLastKnownExploitAt(v time.Time) *ExploitabilityDetails { + s.LastKnownExploitAt = &v + return s +} + +// An object with details on why an account failed to enable Amazon Inspector. +type FailedAccount struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services account ID. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + + // The error code explaining why the account failed to enable Amazon Inspector. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"ErrorCode"` + + // The error message received when the account failed to enable Amazon Inspector. + // + // ErrorMessage is a required field + ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string" required:"true"` + + // An object detailing which resources Amazon Inspector is enabled to scan for + // the account. + ResourceStatus *ResourceStatus `locationName:"resourceStatus" type:"structure"` + + // The status of Amazon Inspector for the account. + Status *string `locationName:"status" type:"string" enum:"Status"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FailedAccount) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FailedAccount) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *FailedAccount) SetAccountId(v string) *FailedAccount { + s.AccountId = &v + return s +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *FailedAccount) SetErrorCode(v string) *FailedAccount { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *FailedAccount) SetErrorMessage(v string) *FailedAccount { + s.ErrorMessage = &v + return s +} + +// SetResourceStatus sets the ResourceStatus field's value. +func (s *FailedAccount) SetResourceStatus(v *ResourceStatus) *FailedAccount { + s.ResourceStatus = v + return s +} + +// SetStatus sets the Status field's value. +func (s *FailedAccount) SetStatus(v string) *FailedAccount { + s.Status = &v + return s +} + +// An object that contains details about a member account in your organization +// that failed to activate Amazon Inspector deep inspection. +type FailedMemberAccountEc2DeepInspectionStatusState struct { + _ struct{} `type:"structure"` + + // The unique identifier for the Amazon Web Services account of the organization + // member that failed to activate Amazon Inspector deep inspection. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + + // The status of EC2 scanning in the account that failed to activate Amazon + // Inspector deep inspection. + Ec2ScanStatus *string `locationName:"ec2ScanStatus" type:"string" enum:"Status"` + + // The error message explaining why the account failed to activate Amazon Inspector + // deep inspection. + ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FailedMemberAccountEc2DeepInspectionStatusState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FailedMemberAccountEc2DeepInspectionStatusState) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *FailedMemberAccountEc2DeepInspectionStatusState) SetAccountId(v string) *FailedMemberAccountEc2DeepInspectionStatusState { + s.AccountId = &v + return s +} + +// SetEc2ScanStatus sets the Ec2ScanStatus field's value. +func (s *FailedMemberAccountEc2DeepInspectionStatusState) SetEc2ScanStatus(v string) *FailedMemberAccountEc2DeepInspectionStatusState { + s.Ec2ScanStatus = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *FailedMemberAccountEc2DeepInspectionStatusState) SetErrorMessage(v string) *FailedMemberAccountEc2DeepInspectionStatusState { + s.ErrorMessage = &v + return s +} + +// Details about a filter. +type Filter struct { + _ struct{} `type:"structure"` + + // The action that is to be applied to the findings that match the filter. + // + // Action is a required field + Action *string `locationName:"action" type:"string" required:"true" enum:"FilterAction"` + + // The Amazon Resource Number (ARN) associated with this filter. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + + // The date and time this filter was created at. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"` + + // Details on the filter criteria associated with this filter. + // + // Criteria is a required field + Criteria *FilterCriteria `locationName:"criteria" type:"structure" required:"true"` + + // A description of the filter. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the filter. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The Amazon Web Services account ID of the account that created the filter. + // + // OwnerId is a required field + OwnerId *string `locationName:"ownerId" min:"12" type:"string" required:"true"` + + // The reason for the filter. + Reason *string `locationName:"reason" min:"1" type:"string"` + + // The tags attached to the filter. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The date and time the filter was last updated at. + // + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Filter) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *Filter) SetAction(v string) *Filter { + s.Action = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *Filter) SetArn(v string) *Filter { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Filter) SetCreatedAt(v time.Time) *Filter { + s.CreatedAt = &v + return s +} + +// SetCriteria sets the Criteria field's value. +func (s *Filter) SetCriteria(v *FilterCriteria) *Filter { + s.Criteria = v + return s +} + +// SetDescription sets the Description field's value. +func (s *Filter) SetDescription(v string) *Filter { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *Filter) SetOwnerId(v string) *Filter { + s.OwnerId = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *Filter) SetReason(v string) *Filter { + s.Reason = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Filter) SetTags(v map[string]*string) *Filter { + s.Tags = v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *Filter) SetUpdatedAt(v time.Time) *Filter { + s.UpdatedAt = &v + return s +} + +// Details on the criteria used to define the filter. +type FilterCriteria struct { + _ struct{} `type:"structure"` + + // Details of the Amazon Web Services account IDs used to filter findings. + AwsAccountId []*StringFilter `locationName:"awsAccountId" min:"1" type:"list"` + + // The name of the detector used to identify a code vulnerability in a Lambda + // function used to filter findings. + CodeVulnerabilityDetectorName []*StringFilter `locationName:"codeVulnerabilityDetectorName" min:"1" type:"list"` + + // The detector type tag associated with the vulnerability used to filter findings. + // Detector tags group related vulnerabilities by common themes or tactics. + // For a list of available tags by programming language, see Java tags (https://docs.aws.amazon.com/codeguru/detector-library/java/tags/), + // or Python tags (https://docs.aws.amazon.com/codeguru/detector-library/python/tags/). + CodeVulnerabilityDetectorTags []*StringFilter `locationName:"codeVulnerabilityDetectorTags" min:"1" type:"list"` + + // The file path to the file in a Lambda function that contains a code vulnerability + // used to filter findings. + CodeVulnerabilityFilePath []*StringFilter `locationName:"codeVulnerabilityFilePath" min:"1" type:"list"` + + // Details of the component IDs used to filter findings. + ComponentId []*StringFilter `locationName:"componentId" min:"1" type:"list"` + + // Details of the component types used to filter findings. + ComponentType []*StringFilter `locationName:"componentType" min:"1" type:"list"` + + // Details of the Amazon EC2 instance image IDs used to filter findings. + Ec2InstanceImageId []*StringFilter `locationName:"ec2InstanceImageId" min:"1" type:"list"` + + // Details of the Amazon EC2 instance subnet IDs used to filter findings. + Ec2InstanceSubnetId []*StringFilter `locationName:"ec2InstanceSubnetId" min:"1" type:"list"` + + // Details of the Amazon EC2 instance VPC IDs used to filter findings. + Ec2InstanceVpcId []*StringFilter `locationName:"ec2InstanceVpcId" min:"1" type:"list"` + + // Details of the Amazon ECR image architecture types used to filter findings. + EcrImageArchitecture []*StringFilter `locationName:"ecrImageArchitecture" min:"1" type:"list"` + + // Details of the Amazon ECR image hashes used to filter findings. + EcrImageHash []*StringFilter `locationName:"ecrImageHash" min:"1" type:"list"` + + // Details on the Amazon ECR image push date and time used to filter findings. + EcrImagePushedAt []*DateFilter `locationName:"ecrImagePushedAt" min:"1" type:"list"` + + // Details on the Amazon ECR registry used to filter findings. + EcrImageRegistry []*StringFilter `locationName:"ecrImageRegistry" min:"1" type:"list"` + + // Details on the name of the Amazon ECR repository used to filter findings. + EcrImageRepositoryName []*StringFilter `locationName:"ecrImageRepositoryName" min:"1" type:"list"` + + // The tags attached to the Amazon ECR container image. + EcrImageTags []*StringFilter `locationName:"ecrImageTags" min:"1" type:"list"` + + // The EPSS score used to filter findings. + EpssScore []*NumberFilter `locationName:"epssScore" min:"1" type:"list"` + + // Filters the list of AWS Lambda findings by the availability of exploits. + ExploitAvailable []*StringFilter `locationName:"exploitAvailable" min:"1" type:"list"` + + // Details on the finding ARNs used to filter findings. + FindingArn []*StringFilter `locationName:"findingArn" min:"1" type:"list"` + + // Details on the finding status types used to filter findings. + FindingStatus []*StringFilter `locationName:"findingStatus" min:"1" type:"list"` + + // Details on the finding types used to filter findings. + FindingType []*StringFilter `locationName:"findingType" min:"1" type:"list"` + + // Details on the date and time a finding was first seen used to filter findings. + FirstObservedAt []*DateFilter `locationName:"firstObservedAt" min:"1" type:"list"` + + // Details on whether a fix is available through a version update. This value + // can be YES, NO, or PARTIAL. A PARTIAL fix means that some, but not all, of + // the packages identified in the finding have fixes available through updated + // versions. + FixAvailable []*StringFilter `locationName:"fixAvailable" min:"1" type:"list"` + + // The Amazon Inspector score to filter on. + InspectorScore []*NumberFilter `locationName:"inspectorScore" min:"1" type:"list"` + + // Filters the list of AWS Lambda functions by execution role. + LambdaFunctionExecutionRoleArn []*StringFilter `locationName:"lambdaFunctionExecutionRoleArn" min:"1" type:"list"` + + // Filters the list of AWS Lambda functions by the date and time that a user + // last updated the configuration, in ISO 8601 format (https://www.iso.org/iso-8601-date-and-time-format.html) + LambdaFunctionLastModifiedAt []*DateFilter `locationName:"lambdaFunctionLastModifiedAt" min:"1" type:"list"` + + // Filters the list of AWS Lambda functions by the function's layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html). + // A Lambda function can have up to five layers. + LambdaFunctionLayers []*StringFilter `locationName:"lambdaFunctionLayers" min:"1" type:"list"` + + // Filters the list of AWS Lambda functions by the name of the function. + LambdaFunctionName []*StringFilter `locationName:"lambdaFunctionName" min:"1" type:"list"` + + // Filters the list of AWS Lambda functions by the runtime environment for the + // Lambda function. + LambdaFunctionRuntime []*StringFilter `locationName:"lambdaFunctionRuntime" min:"1" type:"list"` + + // Details on the date and time a finding was last seen used to filter findings. + LastObservedAt []*DateFilter `locationName:"lastObservedAt" min:"1" type:"list"` + + // Details on network protocol used to filter findings. + NetworkProtocol []*StringFilter `locationName:"networkProtocol" min:"1" type:"list"` + + // Details on the port ranges used to filter findings. + PortRange []*PortRangeFilter `locationName:"portRange" min:"1" type:"list"` + + // Details on the related vulnerabilities used to filter findings. + RelatedVulnerabilities []*StringFilter `locationName:"relatedVulnerabilities" min:"1" type:"list"` + + // Details on the resource IDs used to filter findings. + ResourceId []*StringFilter `locationName:"resourceId" min:"1" type:"list"` + + // Details on the resource tags used to filter findings. + ResourceTags []*MapFilter `locationName:"resourceTags" min:"1" type:"list"` + + // Details on the resource types used to filter findings. + ResourceType []*StringFilter `locationName:"resourceType" min:"1" type:"list"` + + // Details on the severity used to filter findings. + Severity []*StringFilter `locationName:"severity" min:"1" type:"list"` + + // Details on the finding title used to filter findings. + Title []*StringFilter `locationName:"title" min:"1" type:"list"` + + // Details on the date and time a finding was last updated at used to filter + // findings. + UpdatedAt []*DateFilter `locationName:"updatedAt" min:"1" type:"list"` + + // Details on the vendor severity used to filter findings. + VendorSeverity []*StringFilter `locationName:"vendorSeverity" min:"1" type:"list"` + + // Details on the vulnerability ID used to filter findings. + VulnerabilityId []*StringFilter `locationName:"vulnerabilityId" min:"1" type:"list"` + + // Details on the vulnerability type used to filter findings. + VulnerabilitySource []*StringFilter `locationName:"vulnerabilitySource" min:"1" type:"list"` + + // Details on the vulnerable packages used to filter findings. + VulnerablePackages []*PackageFilter `locationName:"vulnerablePackages" min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FilterCriteria) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FilterCriteria) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FilterCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FilterCriteria"} + if s.AwsAccountId != nil && len(s.AwsAccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 1)) + } + if s.CodeVulnerabilityDetectorName != nil && len(s.CodeVulnerabilityDetectorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeVulnerabilityDetectorName", 1)) + } + if s.CodeVulnerabilityDetectorTags != nil && len(s.CodeVulnerabilityDetectorTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeVulnerabilityDetectorTags", 1)) + } + if s.CodeVulnerabilityFilePath != nil && len(s.CodeVulnerabilityFilePath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CodeVulnerabilityFilePath", 1)) + } + if s.ComponentId != nil && len(s.ComponentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentId", 1)) + } + if s.ComponentType != nil && len(s.ComponentType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentType", 1)) + } + if s.Ec2InstanceImageId != nil && len(s.Ec2InstanceImageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceImageId", 1)) + } + if s.Ec2InstanceSubnetId != nil && len(s.Ec2InstanceSubnetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceSubnetId", 1)) + } + if s.Ec2InstanceVpcId != nil && len(s.Ec2InstanceVpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceVpcId", 1)) + } + if s.EcrImageArchitecture != nil && len(s.EcrImageArchitecture) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EcrImageArchitecture", 1)) + } + if s.EcrImageHash != nil && len(s.EcrImageHash) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EcrImageHash", 1)) + } + if s.EcrImagePushedAt != nil && len(s.EcrImagePushedAt) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EcrImagePushedAt", 1)) + } + if s.EcrImageRegistry != nil && len(s.EcrImageRegistry) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EcrImageRegistry", 1)) + } + if s.EcrImageRepositoryName != nil && len(s.EcrImageRepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EcrImageRepositoryName", 1)) + } + if s.EcrImageTags != nil && len(s.EcrImageTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EcrImageTags", 1)) + } + if s.EpssScore != nil && len(s.EpssScore) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EpssScore", 1)) + } + if s.ExploitAvailable != nil && len(s.ExploitAvailable) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExploitAvailable", 1)) + } + if s.FindingArn != nil && len(s.FindingArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FindingArn", 1)) + } + if s.FindingStatus != nil && len(s.FindingStatus) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FindingStatus", 1)) + } + if s.FindingType != nil && len(s.FindingType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FindingType", 1)) + } + if s.FirstObservedAt != nil && len(s.FirstObservedAt) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirstObservedAt", 1)) + } + if s.FixAvailable != nil && len(s.FixAvailable) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FixAvailable", 1)) + } + if s.InspectorScore != nil && len(s.InspectorScore) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InspectorScore", 1)) + } + if s.LambdaFunctionExecutionRoleArn != nil && len(s.LambdaFunctionExecutionRoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionExecutionRoleArn", 1)) + } + if s.LambdaFunctionLastModifiedAt != nil && len(s.LambdaFunctionLastModifiedAt) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionLastModifiedAt", 1)) + } + if s.LambdaFunctionLayers != nil && len(s.LambdaFunctionLayers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionLayers", 1)) + } + if s.LambdaFunctionName != nil && len(s.LambdaFunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionName", 1)) + } + if s.LambdaFunctionRuntime != nil && len(s.LambdaFunctionRuntime) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionRuntime", 1)) + } + if s.LastObservedAt != nil && len(s.LastObservedAt) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LastObservedAt", 1)) + } + if s.NetworkProtocol != nil && len(s.NetworkProtocol) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NetworkProtocol", 1)) + } + if s.PortRange != nil && len(s.PortRange) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PortRange", 1)) + } + if s.RelatedVulnerabilities != nil && len(s.RelatedVulnerabilities) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RelatedVulnerabilities", 1)) + } + if s.ResourceId != nil && len(s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ResourceTags != nil && len(s.ResourceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceTags", 1)) + } + if s.ResourceType != nil && len(s.ResourceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) + } + if s.Severity != nil && len(s.Severity) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Severity", 1)) + } + if s.Title != nil && len(s.Title) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Title", 1)) + } + if s.UpdatedAt != nil && len(s.UpdatedAt) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UpdatedAt", 1)) + } + if s.VendorSeverity != nil && len(s.VendorSeverity) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VendorSeverity", 1)) + } + if s.VulnerabilityId != nil && len(s.VulnerabilityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VulnerabilityId", 1)) + } + if s.VulnerabilitySource != nil && len(s.VulnerabilitySource) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VulnerabilitySource", 1)) + } + if s.VulnerablePackages != nil && len(s.VulnerablePackages) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VulnerablePackages", 1)) + } + if s.AwsAccountId != nil { + for i, v := range s.AwsAccountId { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AwsAccountId", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CodeVulnerabilityDetectorName != nil { + for i, v := range s.CodeVulnerabilityDetectorName { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CodeVulnerabilityDetectorName", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CodeVulnerabilityDetectorTags != nil { + for i, v := range s.CodeVulnerabilityDetectorTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CodeVulnerabilityDetectorTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CodeVulnerabilityFilePath != nil { + for i, v := range s.CodeVulnerabilityFilePath { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CodeVulnerabilityFilePath", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ComponentId != nil { + for i, v := range s.ComponentId { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentId", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ComponentType != nil { + for i, v := range s.ComponentType { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentType", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Ec2InstanceImageId != nil { + for i, v := range s.Ec2InstanceImageId { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2InstanceImageId", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Ec2InstanceSubnetId != nil { + for i, v := range s.Ec2InstanceSubnetId { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2InstanceSubnetId", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Ec2InstanceVpcId != nil { + for i, v := range s.Ec2InstanceVpcId { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2InstanceVpcId", i), err.(request.ErrInvalidParams)) + } + } + } + if s.EcrImageArchitecture != nil { + for i, v := range s.EcrImageArchitecture { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageArchitecture", i), err.(request.ErrInvalidParams)) + } + } + } + if s.EcrImageHash != nil { + for i, v := range s.EcrImageHash { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageHash", i), err.(request.ErrInvalidParams)) + } + } + } + if s.EcrImageRegistry != nil { + for i, v := range s.EcrImageRegistry { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageRegistry", i), err.(request.ErrInvalidParams)) + } + } + } + if s.EcrImageRepositoryName != nil { + for i, v := range s.EcrImageRepositoryName { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageRepositoryName", i), err.(request.ErrInvalidParams)) + } + } + } + if s.EcrImageTags != nil { + for i, v := range s.EcrImageTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ExploitAvailable != nil { + for i, v := range s.ExploitAvailable { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExploitAvailable", i), err.(request.ErrInvalidParams)) + } + } + } + if s.FindingArn != nil { + for i, v := range s.FindingArn { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingArn", i), err.(request.ErrInvalidParams)) + } + } + } + if s.FindingStatus != nil { + for i, v := range s.FindingStatus { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingStatus", i), err.(request.ErrInvalidParams)) + } + } + } + if s.FindingType != nil { + for i, v := range s.FindingType { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingType", i), err.(request.ErrInvalidParams)) + } + } + } + if s.FixAvailable != nil { + for i, v := range s.FixAvailable { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FixAvailable", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LambdaFunctionExecutionRoleArn != nil { + for i, v := range s.LambdaFunctionExecutionRoleArn { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionExecutionRoleArn", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LambdaFunctionLayers != nil { + for i, v := range s.LambdaFunctionLayers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionLayers", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LambdaFunctionName != nil { + for i, v := range s.LambdaFunctionName { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionName", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LambdaFunctionRuntime != nil { + for i, v := range s.LambdaFunctionRuntime { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionRuntime", i), err.(request.ErrInvalidParams)) + } + } + } + if s.NetworkProtocol != nil { + for i, v := range s.NetworkProtocol { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkProtocol", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RelatedVulnerabilities != nil { + for i, v := range s.RelatedVulnerabilities { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedVulnerabilities", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceId != nil { + for i, v := range s.ResourceId { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceId", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceTags != nil { + for i, v := range s.ResourceTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceType != nil { + for i, v := range s.ResourceType { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceType", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Severity != nil { + for i, v := range s.Severity { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Severity", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Title != nil { + for i, v := range s.Title { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Title", i), err.(request.ErrInvalidParams)) + } + } + } + if s.VendorSeverity != nil { + for i, v := range s.VendorSeverity { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VendorSeverity", i), err.(request.ErrInvalidParams)) + } + } + } + if s.VulnerabilityId != nil { + for i, v := range s.VulnerabilityId { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VulnerabilityId", i), err.(request.ErrInvalidParams)) + } + } + } + if s.VulnerabilitySource != nil { + for i, v := range s.VulnerabilitySource { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VulnerabilitySource", i), err.(request.ErrInvalidParams)) + } + } + } + if s.VulnerablePackages != nil { + for i, v := range s.VulnerablePackages { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VulnerablePackages", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *FilterCriteria) SetAwsAccountId(v []*StringFilter) *FilterCriteria { + s.AwsAccountId = v + return s +} + +// SetCodeVulnerabilityDetectorName sets the CodeVulnerabilityDetectorName field's value. +func (s *FilterCriteria) SetCodeVulnerabilityDetectorName(v []*StringFilter) *FilterCriteria { + s.CodeVulnerabilityDetectorName = v + return s +} + +// SetCodeVulnerabilityDetectorTags sets the CodeVulnerabilityDetectorTags field's value. +func (s *FilterCriteria) SetCodeVulnerabilityDetectorTags(v []*StringFilter) *FilterCriteria { + s.CodeVulnerabilityDetectorTags = v + return s +} + +// SetCodeVulnerabilityFilePath sets the CodeVulnerabilityFilePath field's value. +func (s *FilterCriteria) SetCodeVulnerabilityFilePath(v []*StringFilter) *FilterCriteria { + s.CodeVulnerabilityFilePath = v + return s +} + +// SetComponentId sets the ComponentId field's value. +func (s *FilterCriteria) SetComponentId(v []*StringFilter) *FilterCriteria { + s.ComponentId = v + return s +} + +// SetComponentType sets the ComponentType field's value. +func (s *FilterCriteria) SetComponentType(v []*StringFilter) *FilterCriteria { + s.ComponentType = v + return s +} + +// SetEc2InstanceImageId sets the Ec2InstanceImageId field's value. +func (s *FilterCriteria) SetEc2InstanceImageId(v []*StringFilter) *FilterCriteria { + s.Ec2InstanceImageId = v + return s +} + +// SetEc2InstanceSubnetId sets the Ec2InstanceSubnetId field's value. +func (s *FilterCriteria) SetEc2InstanceSubnetId(v []*StringFilter) *FilterCriteria { + s.Ec2InstanceSubnetId = v + return s +} + +// SetEc2InstanceVpcId sets the Ec2InstanceVpcId field's value. +func (s *FilterCriteria) SetEc2InstanceVpcId(v []*StringFilter) *FilterCriteria { + s.Ec2InstanceVpcId = v + return s +} + +// SetEcrImageArchitecture sets the EcrImageArchitecture field's value. +func (s *FilterCriteria) SetEcrImageArchitecture(v []*StringFilter) *FilterCriteria { + s.EcrImageArchitecture = v + return s +} + +// SetEcrImageHash sets the EcrImageHash field's value. +func (s *FilterCriteria) SetEcrImageHash(v []*StringFilter) *FilterCriteria { + s.EcrImageHash = v + return s +} + +// SetEcrImagePushedAt sets the EcrImagePushedAt field's value. +func (s *FilterCriteria) SetEcrImagePushedAt(v []*DateFilter) *FilterCriteria { + s.EcrImagePushedAt = v + return s +} + +// SetEcrImageRegistry sets the EcrImageRegistry field's value. +func (s *FilterCriteria) SetEcrImageRegistry(v []*StringFilter) *FilterCriteria { + s.EcrImageRegistry = v + return s +} + +// SetEcrImageRepositoryName sets the EcrImageRepositoryName field's value. +func (s *FilterCriteria) SetEcrImageRepositoryName(v []*StringFilter) *FilterCriteria { + s.EcrImageRepositoryName = v + return s +} + +// SetEcrImageTags sets the EcrImageTags field's value. +func (s *FilterCriteria) SetEcrImageTags(v []*StringFilter) *FilterCriteria { + s.EcrImageTags = v + return s +} + +// SetEpssScore sets the EpssScore field's value. +func (s *FilterCriteria) SetEpssScore(v []*NumberFilter) *FilterCriteria { + s.EpssScore = v + return s +} + +// SetExploitAvailable sets the ExploitAvailable field's value. +func (s *FilterCriteria) SetExploitAvailable(v []*StringFilter) *FilterCriteria { + s.ExploitAvailable = v + return s +} + +// SetFindingArn sets the FindingArn field's value. +func (s *FilterCriteria) SetFindingArn(v []*StringFilter) *FilterCriteria { + s.FindingArn = v + return s +} + +// SetFindingStatus sets the FindingStatus field's value. +func (s *FilterCriteria) SetFindingStatus(v []*StringFilter) *FilterCriteria { + s.FindingStatus = v + return s +} + +// SetFindingType sets the FindingType field's value. +func (s *FilterCriteria) SetFindingType(v []*StringFilter) *FilterCriteria { + s.FindingType = v + return s +} + +// SetFirstObservedAt sets the FirstObservedAt field's value. +func (s *FilterCriteria) SetFirstObservedAt(v []*DateFilter) *FilterCriteria { + s.FirstObservedAt = v + return s +} + +// SetFixAvailable sets the FixAvailable field's value. +func (s *FilterCriteria) SetFixAvailable(v []*StringFilter) *FilterCriteria { + s.FixAvailable = v + return s +} + +// SetInspectorScore sets the InspectorScore field's value. +func (s *FilterCriteria) SetInspectorScore(v []*NumberFilter) *FilterCriteria { + s.InspectorScore = v + return s +} + +// SetLambdaFunctionExecutionRoleArn sets the LambdaFunctionExecutionRoleArn field's value. +func (s *FilterCriteria) SetLambdaFunctionExecutionRoleArn(v []*StringFilter) *FilterCriteria { + s.LambdaFunctionExecutionRoleArn = v + return s +} + +// SetLambdaFunctionLastModifiedAt sets the LambdaFunctionLastModifiedAt field's value. +func (s *FilterCriteria) SetLambdaFunctionLastModifiedAt(v []*DateFilter) *FilterCriteria { + s.LambdaFunctionLastModifiedAt = v + return s +} + +// SetLambdaFunctionLayers sets the LambdaFunctionLayers field's value. +func (s *FilterCriteria) SetLambdaFunctionLayers(v []*StringFilter) *FilterCriteria { + s.LambdaFunctionLayers = v + return s +} + +// SetLambdaFunctionName sets the LambdaFunctionName field's value. +func (s *FilterCriteria) SetLambdaFunctionName(v []*StringFilter) *FilterCriteria { + s.LambdaFunctionName = v + return s +} + +// SetLambdaFunctionRuntime sets the LambdaFunctionRuntime field's value. +func (s *FilterCriteria) SetLambdaFunctionRuntime(v []*StringFilter) *FilterCriteria { + s.LambdaFunctionRuntime = v + return s +} + +// SetLastObservedAt sets the LastObservedAt field's value. +func (s *FilterCriteria) SetLastObservedAt(v []*DateFilter) *FilterCriteria { + s.LastObservedAt = v + return s +} + +// SetNetworkProtocol sets the NetworkProtocol field's value. +func (s *FilterCriteria) SetNetworkProtocol(v []*StringFilter) *FilterCriteria { + s.NetworkProtocol = v + return s +} + +// SetPortRange sets the PortRange field's value. +func (s *FilterCriteria) SetPortRange(v []*PortRangeFilter) *FilterCriteria { + s.PortRange = v + return s +} + +// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value. +func (s *FilterCriteria) SetRelatedVulnerabilities(v []*StringFilter) *FilterCriteria { + s.RelatedVulnerabilities = v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *FilterCriteria) SetResourceId(v []*StringFilter) *FilterCriteria { + s.ResourceId = v + return s +} + +// SetResourceTags sets the ResourceTags field's value. +func (s *FilterCriteria) SetResourceTags(v []*MapFilter) *FilterCriteria { + s.ResourceTags = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *FilterCriteria) SetResourceType(v []*StringFilter) *FilterCriteria { + s.ResourceType = v + return s +} + +// SetSeverity sets the Severity field's value. +func (s *FilterCriteria) SetSeverity(v []*StringFilter) *FilterCriteria { + s.Severity = v + return s +} + +// SetTitle sets the Title field's value. +func (s *FilterCriteria) SetTitle(v []*StringFilter) *FilterCriteria { + s.Title = v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *FilterCriteria) SetUpdatedAt(v []*DateFilter) *FilterCriteria { + s.UpdatedAt = v + return s +} + +// SetVendorSeverity sets the VendorSeverity field's value. +func (s *FilterCriteria) SetVendorSeverity(v []*StringFilter) *FilterCriteria { + s.VendorSeverity = v + return s +} + +// SetVulnerabilityId sets the VulnerabilityId field's value. +func (s *FilterCriteria) SetVulnerabilityId(v []*StringFilter) *FilterCriteria { + s.VulnerabilityId = v + return s +} + +// SetVulnerabilitySource sets the VulnerabilitySource field's value. +func (s *FilterCriteria) SetVulnerabilitySource(v []*StringFilter) *FilterCriteria { + s.VulnerabilitySource = v + return s +} + +// SetVulnerablePackages sets the VulnerablePackages field's value. +func (s *FilterCriteria) SetVulnerablePackages(v []*PackageFilter) *FilterCriteria { + s.VulnerablePackages = v + return s +} + +// Details about an Amazon Inspector finding. +type Finding struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services account ID associated with the finding. + // + // AwsAccountId is a required field + AwsAccountId *string `locationName:"awsAccountId" min:"12" type:"string" required:"true"` + + // Details about the code vulnerability identified in a Lambda function used + // to filter findings. + CodeVulnerabilityDetails *CodeVulnerabilityDetails `locationName:"codeVulnerabilityDetails" type:"structure"` + + // The description of the finding. + // + // Description is a required field + Description *string `locationName:"description" min:"1" type:"string" required:"true"` + + // The finding's EPSS score. + Epss *EpssDetails `locationName:"epss" type:"structure"` + + // If a finding discovered in your environment has an exploit available. + ExploitAvailable *string `locationName:"exploitAvailable" type:"string" enum:"ExploitAvailable"` + + // The details of an exploit available for a finding discovered in your environment. + ExploitabilityDetails *ExploitabilityDetails `locationName:"exploitabilityDetails" type:"structure"` + + // The Amazon Resource Number (ARN) of the finding. + // + // FindingArn is a required field + FindingArn *string `locationName:"findingArn" min:"1" type:"string" required:"true"` + + // The date and time that the finding was first observed. + // + // FirstObservedAt is a required field + FirstObservedAt *time.Time `locationName:"firstObservedAt" type:"timestamp" required:"true"` + + // Details on whether a fix is available through a version update. This value + // can be YES, NO, or PARTIAL. A PARTIAL fix means that some, but not all, of + // the packages identified in the finding have fixes available through updated + // versions. + FixAvailable *string `locationName:"fixAvailable" type:"string" enum:"FixAvailable"` + + // The Amazon Inspector score given to the finding. + InspectorScore *float64 `locationName:"inspectorScore" type:"double"` + + // An object that contains details of the Amazon Inspector score. + InspectorScoreDetails *InspectorScoreDetails `locationName:"inspectorScoreDetails" type:"structure"` + + // The date and time that the finding was last observed. + // + // LastObservedAt is a required field + LastObservedAt *time.Time `locationName:"lastObservedAt" type:"timestamp" required:"true"` + + // An object that contains the details of a network reachability finding. + NetworkReachabilityDetails *NetworkReachabilityDetails `locationName:"networkReachabilityDetails" type:"structure"` + + // An object that contains the details of a package vulnerability finding. + PackageVulnerabilityDetails *PackageVulnerabilityDetails `locationName:"packageVulnerabilityDetails" type:"structure"` + + // An object that contains the details about how to remediate a finding. + // + // Remediation is a required field + Remediation *Remediation `locationName:"remediation" type:"structure" required:"true"` + + // Contains information on the resources involved in a finding. The resource + // value determines the valid values for type in your request. For more information, + // see Finding types (https://docs.aws.amazon.com/inspector/latest/user/findings-types.html) + // in the Amazon Inspector user guide. + // + // Resources is a required field + Resources []*Resource `locationName:"resources" min:"1" type:"list" required:"true"` + + // The severity of the finding. UNTRIAGED applies to PACKAGE_VULNERABILITY type + // findings that the vendor has not assigned a severity yet. For more information, + // see Severity levels for findings (https://docs.aws.amazon.com/inspector/latest/user/findings-understanding-severity.html) + // in the Amazon Inspector user guide. + // + // Severity is a required field + Severity *string `locationName:"severity" type:"string" required:"true" enum:"Severity"` + + // The status of the finding. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"FindingStatus"` + + // The title of the finding. + Title *string `locationName:"title" min:"1" type:"string"` + + // The type of the finding. The type value determines the valid values for resource + // in your request. For more information, see Finding types (https://docs.aws.amazon.com/inspector/latest/user/findings-types.html) + // in the Amazon Inspector user guide. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"FindingType"` + + // The date and time the finding was last updated at. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Finding) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Finding) GoString() string { + return s.String() +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *Finding) SetAwsAccountId(v string) *Finding { + s.AwsAccountId = &v + return s +} + +// SetCodeVulnerabilityDetails sets the CodeVulnerabilityDetails field's value. +func (s *Finding) SetCodeVulnerabilityDetails(v *CodeVulnerabilityDetails) *Finding { + s.CodeVulnerabilityDetails = v + return s +} + +// SetDescription sets the Description field's value. +func (s *Finding) SetDescription(v string) *Finding { + s.Description = &v + return s +} + +// SetEpss sets the Epss field's value. +func (s *Finding) SetEpss(v *EpssDetails) *Finding { + s.Epss = v + return s +} + +// SetExploitAvailable sets the ExploitAvailable field's value. +func (s *Finding) SetExploitAvailable(v string) *Finding { + s.ExploitAvailable = &v + return s +} + +// SetExploitabilityDetails sets the ExploitabilityDetails field's value. +func (s *Finding) SetExploitabilityDetails(v *ExploitabilityDetails) *Finding { + s.ExploitabilityDetails = v + return s +} + +// SetFindingArn sets the FindingArn field's value. +func (s *Finding) SetFindingArn(v string) *Finding { + s.FindingArn = &v + return s +} + +// SetFirstObservedAt sets the FirstObservedAt field's value. +func (s *Finding) SetFirstObservedAt(v time.Time) *Finding { + s.FirstObservedAt = &v + return s +} + +// SetFixAvailable sets the FixAvailable field's value. +func (s *Finding) SetFixAvailable(v string) *Finding { + s.FixAvailable = &v + return s +} + +// SetInspectorScore sets the InspectorScore field's value. +func (s *Finding) SetInspectorScore(v float64) *Finding { + s.InspectorScore = &v + return s +} + +// SetInspectorScoreDetails sets the InspectorScoreDetails field's value. +func (s *Finding) SetInspectorScoreDetails(v *InspectorScoreDetails) *Finding { + s.InspectorScoreDetails = v + return s +} + +// SetLastObservedAt sets the LastObservedAt field's value. +func (s *Finding) SetLastObservedAt(v time.Time) *Finding { + s.LastObservedAt = &v + return s +} + +// SetNetworkReachabilityDetails sets the NetworkReachabilityDetails field's value. +func (s *Finding) SetNetworkReachabilityDetails(v *NetworkReachabilityDetails) *Finding { + s.NetworkReachabilityDetails = v + return s +} + +// SetPackageVulnerabilityDetails sets the PackageVulnerabilityDetails field's value. +func (s *Finding) SetPackageVulnerabilityDetails(v *PackageVulnerabilityDetails) *Finding { + s.PackageVulnerabilityDetails = v + return s +} + +// SetRemediation sets the Remediation field's value. +func (s *Finding) SetRemediation(v *Remediation) *Finding { + s.Remediation = v + return s +} + +// SetResources sets the Resources field's value. +func (s *Finding) SetResources(v []*Resource) *Finding { + s.Resources = v + return s +} + +// SetSeverity sets the Severity field's value. +func (s *Finding) SetSeverity(v string) *Finding { + s.Severity = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Finding) SetStatus(v string) *Finding { + s.Status = &v + return s +} + +// SetTitle sets the Title field's value. +func (s *Finding) SetTitle(v string) *Finding { + s.Title = &v + return s +} + +// SetType sets the Type field's value. +func (s *Finding) SetType(v string) *Finding { + s.Type = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *Finding) SetUpdatedAt(v time.Time) *Finding { + s.UpdatedAt = &v + return s +} + +// Details of the vulnerability identified in a finding. +type FindingDetail struct { + _ struct{} `type:"structure"` + + // The Cybersecurity and Infrastructure Security Agency (CISA) details for a + // specific vulnerability. + CisaData *CisaData `locationName:"cisaData" type:"structure"` + + // The Common Weakness Enumerations (CWEs) associated with the vulnerability. + Cwes []*string `locationName:"cwes" type:"list"` + + // The Exploit Prediction Scoring System (EPSS) score of the vulnerability. + EpssScore *float64 `locationName:"epssScore" type:"double"` + + // Information on the evidence of the vulnerability. + Evidences []*Evidence `locationName:"evidences" type:"list"` + + // Contains information on when this exploit was observed. + ExploitObserved *ExploitObserved `locationName:"exploitObserved" type:"structure"` + + // The finding ARN that the vulnerability details are associated with. + FindingArn *string `locationName:"findingArn" min:"1" type:"string"` + + // The reference URLs for the vulnerability data. + ReferenceUrls []*string `locationName:"referenceUrls" type:"list"` + + // The risk score of the vulnerability. + RiskScore *int64 `locationName:"riskScore" type:"integer"` + + // The known malware tools or kits that can exploit the vulnerability. + Tools []*string `locationName:"tools" type:"list"` + + // The MITRE adversary tactics, techniques, or procedures (TTPs) associated + // with the vulnerability. + Ttps []*string `locationName:"ttps" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FindingDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FindingDetail) GoString() string { + return s.String() +} + +// SetCisaData sets the CisaData field's value. +func (s *FindingDetail) SetCisaData(v *CisaData) *FindingDetail { + s.CisaData = v + return s +} + +// SetCwes sets the Cwes field's value. +func (s *FindingDetail) SetCwes(v []*string) *FindingDetail { + s.Cwes = v + return s +} + +// SetEpssScore sets the EpssScore field's value. +func (s *FindingDetail) SetEpssScore(v float64) *FindingDetail { + s.EpssScore = &v + return s +} + +// SetEvidences sets the Evidences field's value. +func (s *FindingDetail) SetEvidences(v []*Evidence) *FindingDetail { + s.Evidences = v + return s +} + +// SetExploitObserved sets the ExploitObserved field's value. +func (s *FindingDetail) SetExploitObserved(v *ExploitObserved) *FindingDetail { + s.ExploitObserved = v + return s +} + +// SetFindingArn sets the FindingArn field's value. +func (s *FindingDetail) SetFindingArn(v string) *FindingDetail { + s.FindingArn = &v + return s +} + +// SetReferenceUrls sets the ReferenceUrls field's value. +func (s *FindingDetail) SetReferenceUrls(v []*string) *FindingDetail { + s.ReferenceUrls = v + return s +} + +// SetRiskScore sets the RiskScore field's value. +func (s *FindingDetail) SetRiskScore(v int64) *FindingDetail { + s.RiskScore = &v + return s +} + +// SetTools sets the Tools field's value. +func (s *FindingDetail) SetTools(v []*string) *FindingDetail { + s.Tools = v + return s +} + +// SetTtps sets the Ttps field's value. +func (s *FindingDetail) SetTtps(v []*string) *FindingDetail { + s.Ttps = v + return s +} + +// Details about an error encountered when trying to return vulnerability data +// for a finding. +type FindingDetailsError struct { + _ struct{} `type:"structure"` + + // The error code. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"FindingDetailsErrorCode"` + + // The error message. + // + // ErrorMessage is a required field + ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string" required:"true"` + + // The finding ARN that returned an error. + // + // FindingArn is a required field + FindingArn *string `locationName:"findingArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FindingDetailsError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FindingDetailsError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *FindingDetailsError) SetErrorCode(v string) *FindingDetailsError { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *FindingDetailsError) SetErrorMessage(v string) *FindingDetailsError { + s.ErrorMessage = &v + return s +} + +// SetFindingArn sets the FindingArn field's value. +func (s *FindingDetailsError) SetFindingArn(v string) *FindingDetailsError { + s.FindingArn = &v + return s +} + +// The details that define an aggregation based on finding type. +type FindingTypeAggregation struct { + _ struct{} `type:"structure"` + + // The finding type to aggregate. + FindingType *string `locationName:"findingType" type:"string" enum:"AggregationFindingType"` + + // The resource type to aggregate. + ResourceType *string `locationName:"resourceType" type:"string" enum:"AggregationResourceType"` + + // The value to sort results by. + SortBy *string `locationName:"sortBy" type:"string" enum:"FindingTypeSortBy"` + + // The order to sort results by. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FindingTypeAggregation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FindingTypeAggregation) GoString() string { + return s.String() +} + +// SetFindingType sets the FindingType field's value. +func (s *FindingTypeAggregation) SetFindingType(v string) *FindingTypeAggregation { + s.FindingType = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *FindingTypeAggregation) SetResourceType(v string) *FindingTypeAggregation { + s.ResourceType = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *FindingTypeAggregation) SetSortBy(v string) *FindingTypeAggregation { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *FindingTypeAggregation) SetSortOrder(v string) *FindingTypeAggregation { + s.SortOrder = &v + return s +} + +// A response that contains the results of a finding type aggregation. +type FindingTypeAggregationResponse struct { + _ struct{} `type:"structure"` + + // The ID of the Amazon Web Services account associated with the findings. + AccountId *string `locationName:"accountId" min:"12" type:"string"` + + // The value to sort results by. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FindingTypeAggregationResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FindingTypeAggregationResponse) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *FindingTypeAggregationResponse) SetAccountId(v string) *FindingTypeAggregationResponse { + s.AccountId = &v + return s +} + +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *FindingTypeAggregationResponse) SetSeverityCounts(v *SeverityCounts) *FindingTypeAggregationResponse { + s.SeverityCounts = v + return s +} + +// Information about the Amazon Inspector free trial for an account. +type FreeTrialAccountInfo struct { + _ struct{} `type:"structure"` + + // The account associated with the Amazon Inspector free trial information. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" type:"string" required:"true"` + + // Contains information about the Amazon Inspector free trial for an account. + // + // FreeTrialInfo is a required field + FreeTrialInfo []*FreeTrialInfo `locationName:"freeTrialInfo" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FreeTrialAccountInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FreeTrialAccountInfo) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *FreeTrialAccountInfo) SetAccountId(v string) *FreeTrialAccountInfo { + s.AccountId = &v + return s +} + +// SetFreeTrialInfo sets the FreeTrialInfo field's value. +func (s *FreeTrialAccountInfo) SetFreeTrialInfo(v []*FreeTrialInfo) *FreeTrialAccountInfo { + s.FreeTrialInfo = v + return s +} + +// An object that contains information about the Amazon Inspector free trial +// for an account. +type FreeTrialInfo struct { + _ struct{} `type:"structure"` + + // The date and time that the Amazon Inspector free trail ends for a given account. + // + // End is a required field + End *time.Time `locationName:"end" type:"timestamp" required:"true"` + + // The date and time that the Amazon Inspector free trail started for a given + // account. + // + // Start is a required field + Start *time.Time `locationName:"start" type:"timestamp" required:"true"` + + // The order to sort results by. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"FreeTrialStatus"` + + // The type of scan covered by the Amazon Inspector free trail. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"FreeTrialType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FreeTrialInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FreeTrialInfo) GoString() string { + return s.String() +} + +// SetEnd sets the End field's value. +func (s *FreeTrialInfo) SetEnd(v time.Time) *FreeTrialInfo { + s.End = &v + return s +} + +// SetStart sets the Start field's value. +func (s *FreeTrialInfo) SetStart(v time.Time) *FreeTrialInfo { + s.Start = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *FreeTrialInfo) SetStatus(v string) *FreeTrialInfo { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *FreeTrialInfo) SetType(v string) *FreeTrialInfo { + s.Type = &v + return s +} + +// Information about an error received while accessing free trail data for an +// account. +type FreeTrialInfoError struct { + _ struct{} `type:"structure"` + + // The account associated with the Amazon Inspector free trial information. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" type:"string" required:"true"` + + // The error code. + // + // Code is a required field + Code *string `locationName:"code" type:"string" required:"true" enum:"FreeTrialInfoErrorCode"` + + // The error message returned. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FreeTrialInfoError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FreeTrialInfoError) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *FreeTrialInfoError) SetAccountId(v string) *FreeTrialInfoError { + s.AccountId = &v + return s +} + +// SetCode sets the Code field's value. +func (s *FreeTrialInfoError) SetCode(v string) *FreeTrialInfoError { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *FreeTrialInfoError) SetMessage(v string) *FreeTrialInfoError { + s.Message = &v + return s +} + +type GetCisScanReportInput struct { + _ struct{} `type:"structure"` + + // The scan ARN. + // + // ScanArn is a required field + ScanArn *string `locationName:"scanArn" type:"string" required:"true"` + + // The target accounts. + TargetAccounts []*string `locationName:"targetAccounts" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCisScanReportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCisScanReportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCisScanReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCisScanReportInput"} + if s.ScanArn == nil { + invalidParams.Add(request.NewErrParamRequired("ScanArn")) } - if s.NetworkProtocol != nil { - for i, v := range s.NetworkProtocol { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkProtocol", i), err.(request.ErrInvalidParams)) - } - } + + if invalidParams.Len() > 0 { + return invalidParams } - if s.RelatedVulnerabilities != nil { - for i, v := range s.RelatedVulnerabilities { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedVulnerabilities", i), err.(request.ErrInvalidParams)) - } - } + return nil +} + +// SetScanArn sets the ScanArn field's value. +func (s *GetCisScanReportInput) SetScanArn(v string) *GetCisScanReportInput { + s.ScanArn = &v + return s +} + +// SetTargetAccounts sets the TargetAccounts field's value. +func (s *GetCisScanReportInput) SetTargetAccounts(v []*string) *GetCisScanReportInput { + s.TargetAccounts = v + return s +} + +type GetCisScanReportOutput struct { + _ struct{} `type:"structure"` + + // The status. + Status *string `locationName:"status" type:"string" enum:"CisReportStatus"` + + // The URL where the CIS scan report PDF can be downloaded. + Url *string `locationName:"url" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCisScanReportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCisScanReportOutput) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *GetCisScanReportOutput) SetStatus(v string) *GetCisScanReportOutput { + s.Status = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *GetCisScanReportOutput) SetUrl(v string) *GetCisScanReportOutput { + s.Url = &v + return s +} + +type GetCisScanResultDetailsInput struct { + _ struct{} `type:"structure"` + + // The account ID. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + + // The filter criteria. + FilterCriteria *CisScanResultDetailsFilterCriteria `locationName:"filterCriteria" type:"structure"` + + // The maximum number of CIS scan result details to be returned in a single + // page of results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token from a previous request that's used to retrieve the + // next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The scan ARN. + // + // ScanArn is a required field + ScanArn *string `locationName:"scanArn" type:"string" required:"true"` + + // The sort by order. + SortBy *string `locationName:"sortBy" type:"string" enum:"CisScanResultDetailsSortBy"` + + // The sort order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"CisSortOrder"` + + // The target resource ID. + // + // TargetResourceId is a required field + TargetResourceId *string `locationName:"targetResourceId" min:"10" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCisScanResultDetailsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCisScanResultDetailsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCisScanResultDetailsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCisScanResultDetailsInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) } - if s.ResourceId != nil { - for i, v := range s.ResourceId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceId", i), err.(request.ErrInvalidParams)) - } - } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) } - if s.ResourceTags != nil { - for i, v := range s.ResourceTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceTags", i), err.(request.ErrInvalidParams)) - } - } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.ResourceType != nil { - for i, v := range s.ResourceType { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceType", i), err.(request.ErrInvalidParams)) - } - } + if s.ScanArn == nil { + invalidParams.Add(request.NewErrParamRequired("ScanArn")) } - if s.Severity != nil { - for i, v := range s.Severity { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Severity", i), err.(request.ErrInvalidParams)) - } - } + if s.TargetResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("TargetResourceId")) } - if s.Title != nil { - for i, v := range s.Title { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Title", i), err.(request.ErrInvalidParams)) - } - } + if s.TargetResourceId != nil && len(*s.TargetResourceId) < 10 { + invalidParams.Add(request.NewErrParamMinLen("TargetResourceId", 10)) } - if s.VendorSeverity != nil { - for i, v := range s.VendorSeverity { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VendorSeverity", i), err.(request.ErrInvalidParams)) - } + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) } } - if s.VulnerabilityId != nil { - for i, v := range s.VulnerabilityId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VulnerabilityId", i), err.(request.ErrInvalidParams)) - } - } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *GetCisScanResultDetailsInput) SetAccountId(v string) *GetCisScanResultDetailsInput { + s.AccountId = &v + return s +} + +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *GetCisScanResultDetailsInput) SetFilterCriteria(v *CisScanResultDetailsFilterCriteria) *GetCisScanResultDetailsInput { + s.FilterCriteria = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetCisScanResultDetailsInput) SetMaxResults(v int64) *GetCisScanResultDetailsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCisScanResultDetailsInput) SetNextToken(v string) *GetCisScanResultDetailsInput { + s.NextToken = &v + return s +} + +// SetScanArn sets the ScanArn field's value. +func (s *GetCisScanResultDetailsInput) SetScanArn(v string) *GetCisScanResultDetailsInput { + s.ScanArn = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *GetCisScanResultDetailsInput) SetSortBy(v string) *GetCisScanResultDetailsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *GetCisScanResultDetailsInput) SetSortOrder(v string) *GetCisScanResultDetailsInput { + s.SortOrder = &v + return s +} + +// SetTargetResourceId sets the TargetResourceId field's value. +func (s *GetCisScanResultDetailsInput) SetTargetResourceId(v string) *GetCisScanResultDetailsInput { + s.TargetResourceId = &v + return s +} + +type GetCisScanResultDetailsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token from a previous request that's used to retrieve the + // next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The scan result details. + ScanResultDetails []*CisScanResultDetails `locationName:"scanResultDetails" min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCisScanResultDetailsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCisScanResultDetailsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetCisScanResultDetailsOutput) SetNextToken(v string) *GetCisScanResultDetailsOutput { + s.NextToken = &v + return s +} + +// SetScanResultDetails sets the ScanResultDetails field's value. +func (s *GetCisScanResultDetailsOutput) SetScanResultDetails(v []*CisScanResultDetails) *GetCisScanResultDetailsOutput { + s.ScanResultDetails = v + return s +} + +type GetConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfigurationInput) GoString() string { + return s.String() +} + +type GetConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Specifies how the ECR automated re-scan duration is currently configured + // for your environment. + EcrConfiguration *EcrConfigurationState `locationName:"ecrConfiguration" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfigurationOutput) GoString() string { + return s.String() +} + +// SetEcrConfiguration sets the EcrConfiguration field's value. +func (s *GetConfigurationOutput) SetEcrConfiguration(v *EcrConfigurationState) *GetConfigurationOutput { + s.EcrConfiguration = v + return s +} + +type GetDelegatedAdminAccountInput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDelegatedAdminAccountInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDelegatedAdminAccountInput) GoString() string { + return s.String() +} + +type GetDelegatedAdminAccountOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services account ID of the Amazon Inspector delegated administrator. + DelegatedAdmin *DelegatedAdmin `locationName:"delegatedAdmin" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDelegatedAdminAccountOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDelegatedAdminAccountOutput) GoString() string { + return s.String() +} + +// SetDelegatedAdmin sets the DelegatedAdmin field's value. +func (s *GetDelegatedAdminAccountOutput) SetDelegatedAdmin(v *DelegatedAdmin) *GetDelegatedAdminAccountOutput { + s.DelegatedAdmin = v + return s +} + +type GetEc2DeepInspectionConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetEc2DeepInspectionConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetEc2DeepInspectionConfigurationInput) GoString() string { + return s.String() +} + +type GetEc2DeepInspectionConfigurationOutput struct { + _ struct{} `type:"structure"` + + // An error message explaining why Amazon Inspector deep inspection configurations + // could not be retrieved for your account. + ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string"` + + // The Amazon Inspector deep inspection custom paths for your organization. + OrgPackagePaths []*string `locationName:"orgPackagePaths" type:"list"` + + // The Amazon Inspector deep inspection custom paths for your account. + PackagePaths []*string `locationName:"packagePaths" type:"list"` + + // The activation status of Amazon Inspector deep inspection in your account. + Status *string `locationName:"status" type:"string" enum:"Ec2DeepInspectionStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetEc2DeepInspectionConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetEc2DeepInspectionConfigurationOutput) GoString() string { + return s.String() +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *GetEc2DeepInspectionConfigurationOutput) SetErrorMessage(v string) *GetEc2DeepInspectionConfigurationOutput { + s.ErrorMessage = &v + return s +} + +// SetOrgPackagePaths sets the OrgPackagePaths field's value. +func (s *GetEc2DeepInspectionConfigurationOutput) SetOrgPackagePaths(v []*string) *GetEc2DeepInspectionConfigurationOutput { + s.OrgPackagePaths = v + return s +} + +// SetPackagePaths sets the PackagePaths field's value. +func (s *GetEc2DeepInspectionConfigurationOutput) SetPackagePaths(v []*string) *GetEc2DeepInspectionConfigurationOutput { + s.PackagePaths = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetEc2DeepInspectionConfigurationOutput) SetStatus(v string) *GetEc2DeepInspectionConfigurationOutput { + s.Status = &v + return s +} + +type GetEncryptionKeyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The resource type the key encrypts. + // + // ResourceType is a required field + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"` + + // The scan type the key encrypts. + // + // ScanType is a required field + ScanType *string `location:"querystring" locationName:"scanType" type:"string" required:"true" enum:"ScanType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetEncryptionKeyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetEncryptionKeyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEncryptionKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEncryptionKeyInput"} + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) } - if s.VulnerabilitySource != nil { - for i, v := range s.VulnerabilitySource { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VulnerabilitySource", i), err.(request.ErrInvalidParams)) - } - } + if s.ScanType == nil { + invalidParams.Add(request.NewErrParamRequired("ScanType")) } - if s.VulnerablePackages != nil { - for i, v := range s.VulnerablePackages { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VulnerablePackages", i), err.(request.ErrInvalidParams)) - } - } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil +} + +// SetResourceType sets the ResourceType field's value. +func (s *GetEncryptionKeyInput) SetResourceType(v string) *GetEncryptionKeyInput { + s.ResourceType = &v + return s +} + +// SetScanType sets the ScanType field's value. +func (s *GetEncryptionKeyInput) SetScanType(v string) *GetEncryptionKeyInput { + s.ScanType = &v + return s +} + +type GetEncryptionKeyOutput struct { + _ struct{} `type:"structure"` + + // A kms key ID. + // + // KmsKeyId is a required field + KmsKeyId *string `locationName:"kmsKeyId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetEncryptionKeyOutput) String() string { + return awsutil.Prettify(s) +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetEncryptionKeyOutput) GoString() string { + return s.String() } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *FilterCriteria) SetAwsAccountId(v []*StringFilter) *FilterCriteria { - s.AwsAccountId = v +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *GetEncryptionKeyOutput) SetKmsKeyId(v string) *GetEncryptionKeyOutput { + s.KmsKeyId = &v return s } -// SetCodeVulnerabilityDetectorName sets the CodeVulnerabilityDetectorName field's value. -func (s *FilterCriteria) SetCodeVulnerabilityDetectorName(v []*StringFilter) *FilterCriteria { - s.CodeVulnerabilityDetectorName = v - return s +type GetFindingsReportStatusInput struct { + _ struct{} `type:"structure"` + + // The ID of the report to retrieve the status of. + ReportId *string `locationName:"reportId" type:"string"` } -// SetCodeVulnerabilityDetectorTags sets the CodeVulnerabilityDetectorTags field's value. -func (s *FilterCriteria) SetCodeVulnerabilityDetectorTags(v []*StringFilter) *FilterCriteria { - s.CodeVulnerabilityDetectorTags = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFindingsReportStatusInput) String() string { + return awsutil.Prettify(s) } -// SetCodeVulnerabilityFilePath sets the CodeVulnerabilityFilePath field's value. -func (s *FilterCriteria) SetCodeVulnerabilityFilePath(v []*StringFilter) *FilterCriteria { - s.CodeVulnerabilityFilePath = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFindingsReportStatusInput) GoString() string { + return s.String() } -// SetComponentId sets the ComponentId field's value. -func (s *FilterCriteria) SetComponentId(v []*StringFilter) *FilterCriteria { - s.ComponentId = v +// SetReportId sets the ReportId field's value. +func (s *GetFindingsReportStatusInput) SetReportId(v string) *GetFindingsReportStatusInput { + s.ReportId = &v return s } -// SetComponentType sets the ComponentType field's value. -func (s *FilterCriteria) SetComponentType(v []*StringFilter) *FilterCriteria { - s.ComponentType = v +type GetFindingsReportStatusOutput struct { + _ struct{} `type:"structure"` + + // The destination of the report. + Destination *Destination `locationName:"destination" type:"structure"` + + // The error code of the report. + ErrorCode *string `locationName:"errorCode" type:"string" enum:"ReportingErrorCode"` + + // The error message of the report. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The filter criteria associated with the report. + FilterCriteria *FilterCriteria `locationName:"filterCriteria" type:"structure"` + + // The ID of the report. + ReportId *string `locationName:"reportId" type:"string"` + + // The status of the report. + Status *string `locationName:"status" type:"string" enum:"ExternalReportStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFindingsReportStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFindingsReportStatusOutput) GoString() string { + return s.String() +} + +// SetDestination sets the Destination field's value. +func (s *GetFindingsReportStatusOutput) SetDestination(v *Destination) *GetFindingsReportStatusOutput { + s.Destination = v return s } -// SetEc2InstanceImageId sets the Ec2InstanceImageId field's value. -func (s *FilterCriteria) SetEc2InstanceImageId(v []*StringFilter) *FilterCriteria { - s.Ec2InstanceImageId = v +// SetErrorCode sets the ErrorCode field's value. +func (s *GetFindingsReportStatusOutput) SetErrorCode(v string) *GetFindingsReportStatusOutput { + s.ErrorCode = &v return s } -// SetEc2InstanceSubnetId sets the Ec2InstanceSubnetId field's value. -func (s *FilterCriteria) SetEc2InstanceSubnetId(v []*StringFilter) *FilterCriteria { - s.Ec2InstanceSubnetId = v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *GetFindingsReportStatusOutput) SetErrorMessage(v string) *GetFindingsReportStatusOutput { + s.ErrorMessage = &v return s } -// SetEc2InstanceVpcId sets the Ec2InstanceVpcId field's value. -func (s *FilterCriteria) SetEc2InstanceVpcId(v []*StringFilter) *FilterCriteria { - s.Ec2InstanceVpcId = v +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *GetFindingsReportStatusOutput) SetFilterCriteria(v *FilterCriteria) *GetFindingsReportStatusOutput { + s.FilterCriteria = v return s } -// SetEcrImageArchitecture sets the EcrImageArchitecture field's value. -func (s *FilterCriteria) SetEcrImageArchitecture(v []*StringFilter) *FilterCriteria { - s.EcrImageArchitecture = v +// SetReportId sets the ReportId field's value. +func (s *GetFindingsReportStatusOutput) SetReportId(v string) *GetFindingsReportStatusOutput { + s.ReportId = &v return s } -// SetEcrImageHash sets the EcrImageHash field's value. -func (s *FilterCriteria) SetEcrImageHash(v []*StringFilter) *FilterCriteria { - s.EcrImageHash = v +// SetStatus sets the Status field's value. +func (s *GetFindingsReportStatusOutput) SetStatus(v string) *GetFindingsReportStatusOutput { + s.Status = &v return s } -// SetEcrImagePushedAt sets the EcrImagePushedAt field's value. -func (s *FilterCriteria) SetEcrImagePushedAt(v []*DateFilter) *FilterCriteria { - s.EcrImagePushedAt = v +type GetMemberInput struct { + _ struct{} `type:"structure"` + + // The Amazon Web Services account ID of the member account to retrieve information + // on. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMemberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMemberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMemberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMemberInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountId sets the AccountId field's value. +func (s *GetMemberInput) SetAccountId(v string) *GetMemberInput { + s.AccountId = &v return s } -// SetEcrImageRegistry sets the EcrImageRegistry field's value. -func (s *FilterCriteria) SetEcrImageRegistry(v []*StringFilter) *FilterCriteria { - s.EcrImageRegistry = v +type GetMemberOutput struct { + _ struct{} `type:"structure"` + + // Details of the retrieved member account. + Member *Member `locationName:"member" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMemberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMemberOutput) GoString() string { + return s.String() +} + +// SetMember sets the Member field's value. +func (s *GetMemberOutput) SetMember(v *Member) *GetMemberOutput { + s.Member = v return s } -// SetEcrImageRepositoryName sets the EcrImageRepositoryName field's value. -func (s *FilterCriteria) SetEcrImageRepositoryName(v []*StringFilter) *FilterCriteria { - s.EcrImageRepositoryName = v +type GetSbomExportInput struct { + _ struct{} `type:"structure"` + + // The report ID of the SBOM export to get details for. + // + // ReportId is a required field + ReportId *string `locationName:"reportId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSbomExportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSbomExportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSbomExportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSbomExportInput"} + if s.ReportId == nil { + invalidParams.Add(request.NewErrParamRequired("ReportId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportId sets the ReportId field's value. +func (s *GetSbomExportInput) SetReportId(v string) *GetSbomExportInput { + s.ReportId = &v return s } -// SetEcrImageTags sets the EcrImageTags field's value. -func (s *FilterCriteria) SetEcrImageTags(v []*StringFilter) *FilterCriteria { - s.EcrImageTags = v - return s -} +type GetSbomExportOutput struct { + _ struct{} `type:"structure"` -// SetEpssScore sets the EpssScore field's value. -func (s *FilterCriteria) SetEpssScore(v []*NumberFilter) *FilterCriteria { - s.EpssScore = v - return s -} + // An error code. + ErrorCode *string `locationName:"errorCode" type:"string" enum:"ReportingErrorCode"` -// SetExploitAvailable sets the ExploitAvailable field's value. -func (s *FilterCriteria) SetExploitAvailable(v []*StringFilter) *FilterCriteria { - s.ExploitAvailable = v - return s -} + // An error message. + ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string"` -// SetFindingArn sets the FindingArn field's value. -func (s *FilterCriteria) SetFindingArn(v []*StringFilter) *FilterCriteria { - s.FindingArn = v - return s -} + // Contains details about the resource filter criteria used for the software + // bill of materials (SBOM) report. + FilterCriteria *ResourceFilterCriteria `locationName:"filterCriteria" type:"structure"` -// SetFindingStatus sets the FindingStatus field's value. -func (s *FilterCriteria) SetFindingStatus(v []*StringFilter) *FilterCriteria { - s.FindingStatus = v - return s -} + // The format of the software bill of materials (SBOM) report. + Format *string `locationName:"format" type:"string" enum:"SbomReportFormat"` -// SetFindingType sets the FindingType field's value. -func (s *FilterCriteria) SetFindingType(v []*StringFilter) *FilterCriteria { - s.FindingType = v - return s -} + // The report ID of the software bill of materials (SBOM) report. + ReportId *string `locationName:"reportId" type:"string"` -// SetFirstObservedAt sets the FirstObservedAt field's value. -func (s *FilterCriteria) SetFirstObservedAt(v []*DateFilter) *FilterCriteria { - s.FirstObservedAt = v - return s -} + // Contains details of the Amazon S3 bucket and KMS key used to export findings. + S3Destination *Destination `locationName:"s3Destination" type:"structure"` -// SetFixAvailable sets the FixAvailable field's value. -func (s *FilterCriteria) SetFixAvailable(v []*StringFilter) *FilterCriteria { - s.FixAvailable = v - return s + // The status of the software bill of materials (SBOM) report. + Status *string `locationName:"status" type:"string" enum:"ExternalReportStatus"` } -// SetInspectorScore sets the InspectorScore field's value. -func (s *FilterCriteria) SetInspectorScore(v []*NumberFilter) *FilterCriteria { - s.InspectorScore = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSbomExportOutput) String() string { + return awsutil.Prettify(s) } -// SetLambdaFunctionExecutionRoleArn sets the LambdaFunctionExecutionRoleArn field's value. -func (s *FilterCriteria) SetLambdaFunctionExecutionRoleArn(v []*StringFilter) *FilterCriteria { - s.LambdaFunctionExecutionRoleArn = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetSbomExportOutput) GoString() string { + return s.String() } -// SetLambdaFunctionLastModifiedAt sets the LambdaFunctionLastModifiedAt field's value. -func (s *FilterCriteria) SetLambdaFunctionLastModifiedAt(v []*DateFilter) *FilterCriteria { - s.LambdaFunctionLastModifiedAt = v +// SetErrorCode sets the ErrorCode field's value. +func (s *GetSbomExportOutput) SetErrorCode(v string) *GetSbomExportOutput { + s.ErrorCode = &v return s } -// SetLambdaFunctionLayers sets the LambdaFunctionLayers field's value. -func (s *FilterCriteria) SetLambdaFunctionLayers(v []*StringFilter) *FilterCriteria { - s.LambdaFunctionLayers = v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *GetSbomExportOutput) SetErrorMessage(v string) *GetSbomExportOutput { + s.ErrorMessage = &v return s } -// SetLambdaFunctionName sets the LambdaFunctionName field's value. -func (s *FilterCriteria) SetLambdaFunctionName(v []*StringFilter) *FilterCriteria { - s.LambdaFunctionName = v +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *GetSbomExportOutput) SetFilterCriteria(v *ResourceFilterCriteria) *GetSbomExportOutput { + s.FilterCriteria = v return s } -// SetLambdaFunctionRuntime sets the LambdaFunctionRuntime field's value. -func (s *FilterCriteria) SetLambdaFunctionRuntime(v []*StringFilter) *FilterCriteria { - s.LambdaFunctionRuntime = v +// SetFormat sets the Format field's value. +func (s *GetSbomExportOutput) SetFormat(v string) *GetSbomExportOutput { + s.Format = &v return s } -// SetLastObservedAt sets the LastObservedAt field's value. -func (s *FilterCriteria) SetLastObservedAt(v []*DateFilter) *FilterCriteria { - s.LastObservedAt = v +// SetReportId sets the ReportId field's value. +func (s *GetSbomExportOutput) SetReportId(v string) *GetSbomExportOutput { + s.ReportId = &v return s } -// SetNetworkProtocol sets the NetworkProtocol field's value. -func (s *FilterCriteria) SetNetworkProtocol(v []*StringFilter) *FilterCriteria { - s.NetworkProtocol = v +// SetS3Destination sets the S3Destination field's value. +func (s *GetSbomExportOutput) SetS3Destination(v *Destination) *GetSbomExportOutput { + s.S3Destination = v return s } -// SetPortRange sets the PortRange field's value. -func (s *FilterCriteria) SetPortRange(v []*PortRangeFilter) *FilterCriteria { - s.PortRange = v +// SetStatus sets the Status field's value. +func (s *GetSbomExportOutput) SetStatus(v string) *GetSbomExportOutput { + s.Status = &v return s } -// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value. -func (s *FilterCriteria) SetRelatedVulnerabilities(v []*StringFilter) *FilterCriteria { - s.RelatedVulnerabilities = v - return s -} +// The details that define an aggregation based on container image layers. +type ImageLayerAggregation struct { + _ struct{} `type:"structure"` -// SetResourceId sets the ResourceId field's value. -func (s *FilterCriteria) SetResourceId(v []*StringFilter) *FilterCriteria { - s.ResourceId = v - return s -} + // The hashes associated with the layers. + LayerHashes []*StringFilter `locationName:"layerHashes" min:"1" type:"list"` -// SetResourceTags sets the ResourceTags field's value. -func (s *FilterCriteria) SetResourceTags(v []*MapFilter) *FilterCriteria { - s.ResourceTags = v - return s + // The repository associated with the container image hosting the layers. + Repositories []*StringFilter `locationName:"repositories" min:"1" type:"list"` + + // The ID of the container image layer. + ResourceIds []*StringFilter `locationName:"resourceIds" min:"1" type:"list"` + + // The value to sort results by. + SortBy *string `locationName:"sortBy" type:"string" enum:"ImageLayerSortBy"` + + // The order to sort results by. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` } -// SetResourceType sets the ResourceType field's value. -func (s *FilterCriteria) SetResourceType(v []*StringFilter) *FilterCriteria { - s.ResourceType = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImageLayerAggregation) String() string { + return awsutil.Prettify(s) } -// SetSeverity sets the Severity field's value. -func (s *FilterCriteria) SetSeverity(v []*StringFilter) *FilterCriteria { - s.Severity = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImageLayerAggregation) GoString() string { + return s.String() } -// SetTitle sets the Title field's value. -func (s *FilterCriteria) SetTitle(v []*StringFilter) *FilterCriteria { - s.Title = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImageLayerAggregation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImageLayerAggregation"} + if s.LayerHashes != nil && len(s.LayerHashes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LayerHashes", 1)) + } + if s.Repositories != nil && len(s.Repositories) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Repositories", 1)) + } + if s.ResourceIds != nil && len(s.ResourceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) + } + if s.LayerHashes != nil { + for i, v := range s.LayerHashes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LayerHashes", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Repositories != nil { + for i, v := range s.Repositories { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Repositories", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceIds != nil { + for i, v := range s.ResourceIds { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIds", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *FilterCriteria) SetUpdatedAt(v []*DateFilter) *FilterCriteria { - s.UpdatedAt = v +// SetLayerHashes sets the LayerHashes field's value. +func (s *ImageLayerAggregation) SetLayerHashes(v []*StringFilter) *ImageLayerAggregation { + s.LayerHashes = v return s } -// SetVendorSeverity sets the VendorSeverity field's value. -func (s *FilterCriteria) SetVendorSeverity(v []*StringFilter) *FilterCriteria { - s.VendorSeverity = v +// SetRepositories sets the Repositories field's value. +func (s *ImageLayerAggregation) SetRepositories(v []*StringFilter) *ImageLayerAggregation { + s.Repositories = v return s } -// SetVulnerabilityId sets the VulnerabilityId field's value. -func (s *FilterCriteria) SetVulnerabilityId(v []*StringFilter) *FilterCriteria { - s.VulnerabilityId = v +// SetResourceIds sets the ResourceIds field's value. +func (s *ImageLayerAggregation) SetResourceIds(v []*StringFilter) *ImageLayerAggregation { + s.ResourceIds = v return s } -// SetVulnerabilitySource sets the VulnerabilitySource field's value. -func (s *FilterCriteria) SetVulnerabilitySource(v []*StringFilter) *FilterCriteria { - s.VulnerabilitySource = v +// SetSortBy sets the SortBy field's value. +func (s *ImageLayerAggregation) SetSortBy(v string) *ImageLayerAggregation { + s.SortBy = &v return s } -// SetVulnerablePackages sets the VulnerablePackages field's value. -func (s *FilterCriteria) SetVulnerablePackages(v []*PackageFilter) *FilterCriteria { - s.VulnerablePackages = v +// SetSortOrder sets the SortOrder field's value. +func (s *ImageLayerAggregation) SetSortOrder(v string) *ImageLayerAggregation { + s.SortOrder = &v return s } -// Details about an Amazon Inspector finding. -type Finding struct { +// A response that contains the results of a finding aggregation by image layer. +type ImageLayerAggregationResponse struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID associated with the finding. + // The ID of the Amazon Web Services account that owns the container image hosting + // the layer image. // - // AwsAccountId is a required field - AwsAccountId *string `locationName:"awsAccountId" min:"12" type:"string" required:"true"` - - // Details about the code vulnerability identified in a Lambda function used - // to filter findings. - CodeVulnerabilityDetails *CodeVulnerabilityDetails `locationName:"codeVulnerabilityDetails" type:"structure"` + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - // The description of the finding. + // The layer hash. // - // Description is a required field - Description *string `locationName:"description" min:"1" type:"string" required:"true"` + // LayerHash is a required field + LayerHash *string `locationName:"layerHash" min:"1" type:"string" required:"true"` - // The finding's EPSS score. - Epss *EpssDetails `locationName:"epss" type:"structure"` + // The repository the layer resides in. + // + // Repository is a required field + Repository *string `locationName:"repository" min:"1" type:"string" required:"true"` - // If a finding discovered in your environment has an exploit available. - ExploitAvailable *string `locationName:"exploitAvailable" type:"string" enum:"ExploitAvailable"` + // The resource ID of the container image layer. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"` - // The details of an exploit available for a finding discovered in your environment. - ExploitabilityDetails *ExploitabilityDetails `locationName:"exploitabilityDetails" type:"structure"` + // An object that represents the count of matched findings per severity. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` +} - // The Amazon Resource Number (ARN) of the finding. - // - // FindingArn is a required field - FindingArn *string `locationName:"findingArn" min:"1" type:"string" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImageLayerAggregationResponse) String() string { + return awsutil.Prettify(s) +} - // The date and time that the finding was first observed. - // - // FirstObservedAt is a required field - FirstObservedAt *time.Time `locationName:"firstObservedAt" type:"timestamp" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImageLayerAggregationResponse) GoString() string { + return s.String() +} - // Details on whether a fix is available through a version update. This value - // can be YES, NO, or PARTIAL. A PARTIAL fix means that some, but not all, of - // the packages identified in the finding have fixes available through updated - // versions. - FixAvailable *string `locationName:"fixAvailable" type:"string" enum:"FixAvailable"` +// SetAccountId sets the AccountId field's value. +func (s *ImageLayerAggregationResponse) SetAccountId(v string) *ImageLayerAggregationResponse { + s.AccountId = &v + return s +} - // The Amazon Inspector score given to the finding. - InspectorScore *float64 `locationName:"inspectorScore" type:"double"` +// SetLayerHash sets the LayerHash field's value. +func (s *ImageLayerAggregationResponse) SetLayerHash(v string) *ImageLayerAggregationResponse { + s.LayerHash = &v + return s +} - // An object that contains details of the Amazon Inspector score. - InspectorScoreDetails *InspectorScoreDetails `locationName:"inspectorScoreDetails" type:"structure"` +// SetRepository sets the Repository field's value. +func (s *ImageLayerAggregationResponse) SetRepository(v string) *ImageLayerAggregationResponse { + s.Repository = &v + return s +} - // The date and time that the finding was last observed. - // - // LastObservedAt is a required field - LastObservedAt *time.Time `locationName:"lastObservedAt" type:"timestamp" required:"true"` +// SetResourceId sets the ResourceId field's value. +func (s *ImageLayerAggregationResponse) SetResourceId(v string) *ImageLayerAggregationResponse { + s.ResourceId = &v + return s +} - // An object that contains the details of a network reachability finding. - NetworkReachabilityDetails *NetworkReachabilityDetails `locationName:"networkReachabilityDetails" type:"structure"` +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *ImageLayerAggregationResponse) SetSeverityCounts(v *SeverityCounts) *ImageLayerAggregationResponse { + s.SeverityCounts = v + return s +} - // An object that contains the details of a package vulnerability finding. - PackageVulnerabilityDetails *PackageVulnerabilityDetails `locationName:"packageVulnerabilityDetails" type:"structure"` +// Information about the Amazon Inspector score given to a finding. +type InspectorScoreDetails struct { + _ struct{} `type:"structure"` - // An object that contains the details about how to remediate a finding. - // - // Remediation is a required field - Remediation *Remediation `locationName:"remediation" type:"structure" required:"true"` + // An object that contains details about the CVSS score given to a finding. + AdjustedCvss *CvssScoreDetails `locationName:"adjustedCvss" type:"structure"` +} - // Contains information on the resources involved in a finding. The resource - // value determines the valid values for type in your request. For more information, - // see Finding types (https://docs.aws.amazon.com/inspector/latest/user/findings-types.html) - // in the Amazon Inspector user guide. - // - // Resources is a required field - Resources []*Resource `locationName:"resources" min:"1" type:"list" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InspectorScoreDetails) String() string { + return awsutil.Prettify(s) +} - // The severity of the finding. UNTRIAGED applies to PACKAGE_VULNERABILITY type - // findings that the vendor has not assigned a severity yet. For more information, - // see Severity levels for findings (https://docs.aws.amazon.com/inspector/latest/user/findings-understanding-severity.html) - // in the Amazon Inspector user guide. - // - // Severity is a required field - Severity *string `locationName:"severity" type:"string" required:"true" enum:"Severity"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InspectorScoreDetails) GoString() string { + return s.String() +} - // The status of the finding. - // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"FindingStatus"` +// SetAdjustedCvss sets the AdjustedCvss field's value. +func (s *InspectorScoreDetails) SetAdjustedCvss(v *CvssScoreDetails) *InspectorScoreDetails { + s.AdjustedCvss = v + return s +} - // The title of the finding. - Title *string `locationName:"title" min:"1" type:"string"` +// The request has failed due to an internal failure of the Amazon Inspector +// service. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The type of the finding. The type value determines the valid values for resource - // in your request. For more information, see Finding types (https://docs.aws.amazon.com/inspector/latest/user/findings-types.html) - // in the Amazon Inspector user guide. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"FindingType"` + Message_ *string `locationName:"message" type:"string"` - // The date and time the finding was last updated at. - UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` + // The number of seconds to wait before retrying the request. + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` } // String returns the string representation. @@ -11614,7 +16876,7 @@ type Finding struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Finding) String() string { +func (s InternalServerException) String() string { return awsutil.Prettify(s) } @@ -11623,171 +16885,214 @@ func (s Finding) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Finding) GoString() string { +func (s InternalServerException) GoString() string { return s.String() } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *Finding) SetAwsAccountId(v string) *Finding { - s.AwsAccountId = &v - return s +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } } -// SetCodeVulnerabilityDetails sets the CodeVulnerabilityDetails field's value. -func (s *Finding) SetCodeVulnerabilityDetails(v *CodeVulnerabilityDetails) *Finding { - s.CodeVulnerabilityDetails = v - return s +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" } -// SetDescription sets the Description field's value. -func (s *Finding) SetDescription(v string) *Finding { - s.Description = &v - return s +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetEpss sets the Epss field's value. -func (s *Finding) SetEpss(v *EpssDetails) *Finding { - s.Epss = v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil } -// SetExploitAvailable sets the ExploitAvailable field's value. -func (s *Finding) SetExploitAvailable(v string) *Finding { - s.ExploitAvailable = &v - return s +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetExploitabilityDetails sets the ExploitabilityDetails field's value. -func (s *Finding) SetExploitabilityDetails(v *ExploitabilityDetails) *Finding { - s.ExploitabilityDetails = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetFindingArn sets the FindingArn field's value. -func (s *Finding) SetFindingArn(v string) *Finding { - s.FindingArn = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID } -// SetFirstObservedAt sets the FirstObservedAt field's value. -func (s *Finding) SetFirstObservedAt(v time.Time) *Finding { - s.FirstObservedAt = &v - return s -} +// The details that define a findings aggregation based on AWS Lambda functions. +type LambdaFunctionAggregation struct { + _ struct{} `type:"structure"` -// SetFixAvailable sets the FixAvailable field's value. -func (s *Finding) SetFixAvailable(v string) *Finding { - s.FixAvailable = &v - return s -} + // The AWS Lambda function names to include in the aggregation results. + FunctionNames []*StringFilter `locationName:"functionNames" min:"1" type:"list"` + + // The tags to include in the aggregation results. + FunctionTags []*MapFilter `locationName:"functionTags" min:"1" type:"list"` + + // The resource IDs to include in the aggregation results. + ResourceIds []*StringFilter `locationName:"resourceIds" min:"1" type:"list"` + + // Returns findings aggregated by AWS Lambda function runtime environments. + Runtimes []*StringFilter `locationName:"runtimes" min:"1" type:"list"` -// SetInspectorScore sets the InspectorScore field's value. -func (s *Finding) SetInspectorScore(v float64) *Finding { - s.InspectorScore = &v - return s -} + // The finding severity to use for sorting the results. + SortBy *string `locationName:"sortBy" type:"string" enum:"LambdaFunctionSortBy"` -// SetInspectorScoreDetails sets the InspectorScoreDetails field's value. -func (s *Finding) SetInspectorScoreDetails(v *InspectorScoreDetails) *Finding { - s.InspectorScoreDetails = v - return s + // The order to use for sorting the results. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` } -// SetLastObservedAt sets the LastObservedAt field's value. -func (s *Finding) SetLastObservedAt(v time.Time) *Finding { - s.LastObservedAt = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LambdaFunctionAggregation) String() string { + return awsutil.Prettify(s) } -// SetNetworkReachabilityDetails sets the NetworkReachabilityDetails field's value. -func (s *Finding) SetNetworkReachabilityDetails(v *NetworkReachabilityDetails) *Finding { - s.NetworkReachabilityDetails = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LambdaFunctionAggregation) GoString() string { + return s.String() } -// SetPackageVulnerabilityDetails sets the PackageVulnerabilityDetails field's value. -func (s *Finding) SetPackageVulnerabilityDetails(v *PackageVulnerabilityDetails) *Finding { - s.PackageVulnerabilityDetails = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaFunctionAggregation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAggregation"} + if s.FunctionNames != nil && len(s.FunctionNames) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionNames", 1)) + } + if s.FunctionTags != nil && len(s.FunctionTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionTags", 1)) + } + if s.ResourceIds != nil && len(s.ResourceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) + } + if s.Runtimes != nil && len(s.Runtimes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Runtimes", 1)) + } + if s.FunctionNames != nil { + for i, v := range s.FunctionNames { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FunctionNames", i), err.(request.ErrInvalidParams)) + } + } + } + if s.FunctionTags != nil { + for i, v := range s.FunctionTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FunctionTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceIds != nil { + for i, v := range s.ResourceIds { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIds", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Runtimes != nil { + for i, v := range s.Runtimes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Runtimes", i), err.(request.ErrInvalidParams)) + } + } + } -// SetRemediation sets the Remediation field's value. -func (s *Finding) SetRemediation(v *Remediation) *Finding { - s.Remediation = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetResources sets the Resources field's value. -func (s *Finding) SetResources(v []*Resource) *Finding { - s.Resources = v +// SetFunctionNames sets the FunctionNames field's value. +func (s *LambdaFunctionAggregation) SetFunctionNames(v []*StringFilter) *LambdaFunctionAggregation { + s.FunctionNames = v return s } -// SetSeverity sets the Severity field's value. -func (s *Finding) SetSeverity(v string) *Finding { - s.Severity = &v +// SetFunctionTags sets the FunctionTags field's value. +func (s *LambdaFunctionAggregation) SetFunctionTags(v []*MapFilter) *LambdaFunctionAggregation { + s.FunctionTags = v return s } -// SetStatus sets the Status field's value. -func (s *Finding) SetStatus(v string) *Finding { - s.Status = &v +// SetResourceIds sets the ResourceIds field's value. +func (s *LambdaFunctionAggregation) SetResourceIds(v []*StringFilter) *LambdaFunctionAggregation { + s.ResourceIds = v return s } -// SetTitle sets the Title field's value. -func (s *Finding) SetTitle(v string) *Finding { - s.Title = &v +// SetRuntimes sets the Runtimes field's value. +func (s *LambdaFunctionAggregation) SetRuntimes(v []*StringFilter) *LambdaFunctionAggregation { + s.Runtimes = v return s } -// SetType sets the Type field's value. -func (s *Finding) SetType(v string) *Finding { - s.Type = &v +// SetSortBy sets the SortBy field's value. +func (s *LambdaFunctionAggregation) SetSortBy(v string) *LambdaFunctionAggregation { + s.SortBy = &v return s } -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *Finding) SetUpdatedAt(v time.Time) *Finding { - s.UpdatedAt = &v +// SetSortOrder sets the SortOrder field's value. +func (s *LambdaFunctionAggregation) SetSortOrder(v string) *LambdaFunctionAggregation { + s.SortOrder = &v return s } -// Details of the vulnerability identified in a finding. -type FindingDetail struct { +// A response that contains the results of an AWS Lambda function finding aggregation. +type LambdaFunctionAggregationResponse struct { _ struct{} `type:"structure"` - // The Cybersecurity and Infrastructure Security Agency (CISA) details for a - // specific vulnerability. - CisaData *CisaData `locationName:"cisaData" type:"structure"` - - // The Common Weakness Enumerations (CWEs) associated with the vulnerability. - Cwes []*string `locationName:"cwes" type:"list"` - - // The Exploit Prediction Scoring System (EPSS) score of the vulnerability. - EpssScore *float64 `locationName:"epssScore" type:"double"` - - // Information on the evidence of the vulnerability. - Evidences []*Evidence `locationName:"evidences" type:"list"` + // The ID of the AWS account that owns the AWS Lambda function. + AccountId *string `locationName:"accountId" min:"12" type:"string"` - // Contains information on when this exploit was observed. - ExploitObserved *ExploitObserved `locationName:"exploitObserved" type:"structure"` + // The AWS Lambda function names included in the aggregation results. + FunctionName *string `locationName:"functionName" type:"string"` - // The finding ARN that the vulnerability details are associated with. - FindingArn *string `locationName:"findingArn" min:"1" type:"string"` + // The tags included in the aggregation results. + LambdaTags map[string]*string `locationName:"lambdaTags" type:"map"` - // The reference URLs for the vulnerability data. - ReferenceUrls []*string `locationName:"referenceUrls" type:"list"` + // The date that the AWS Lambda function included in the aggregation results + // was last changed. + LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp"` - // The risk score of the vulnerability. - RiskScore *int64 `locationName:"riskScore" type:"integer"` + // The resource IDs included in the aggregation results. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"` - // The known malware tools or kits that can exploit the vulnerability. - Tools []*string `locationName:"tools" type:"list"` + // The runtimes included in the aggregation results. + Runtime *string `locationName:"runtime" type:"string"` - // The MITRE adversary tactics, techniques, or procedures (TTPs) associated - // with the vulnerability. - Ttps []*string `locationName:"ttps" type:"list"` + // An object that contains the counts of aggregated finding per severity. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` } // String returns the string representation. @@ -11795,7 +17100,7 @@ type FindingDetail struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FindingDetail) String() string { +func (s LambdaFunctionAggregationResponse) String() string { return awsutil.Prettify(s) } @@ -11804,89 +17109,68 @@ func (s FindingDetail) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FindingDetail) GoString() string { +func (s LambdaFunctionAggregationResponse) GoString() string { return s.String() } -// SetCisaData sets the CisaData field's value. -func (s *FindingDetail) SetCisaData(v *CisaData) *FindingDetail { - s.CisaData = v - return s -} - -// SetCwes sets the Cwes field's value. -func (s *FindingDetail) SetCwes(v []*string) *FindingDetail { - s.Cwes = v - return s -} - -// SetEpssScore sets the EpssScore field's value. -func (s *FindingDetail) SetEpssScore(v float64) *FindingDetail { - s.EpssScore = &v - return s -} - -// SetEvidences sets the Evidences field's value. -func (s *FindingDetail) SetEvidences(v []*Evidence) *FindingDetail { - s.Evidences = v +// SetAccountId sets the AccountId field's value. +func (s *LambdaFunctionAggregationResponse) SetAccountId(v string) *LambdaFunctionAggregationResponse { + s.AccountId = &v return s } -// SetExploitObserved sets the ExploitObserved field's value. -func (s *FindingDetail) SetExploitObserved(v *ExploitObserved) *FindingDetail { - s.ExploitObserved = v +// SetFunctionName sets the FunctionName field's value. +func (s *LambdaFunctionAggregationResponse) SetFunctionName(v string) *LambdaFunctionAggregationResponse { + s.FunctionName = &v return s } -// SetFindingArn sets the FindingArn field's value. -func (s *FindingDetail) SetFindingArn(v string) *FindingDetail { - s.FindingArn = &v +// SetLambdaTags sets the LambdaTags field's value. +func (s *LambdaFunctionAggregationResponse) SetLambdaTags(v map[string]*string) *LambdaFunctionAggregationResponse { + s.LambdaTags = v return s } -// SetReferenceUrls sets the ReferenceUrls field's value. -func (s *FindingDetail) SetReferenceUrls(v []*string) *FindingDetail { - s.ReferenceUrls = v +// SetLastModifiedAt sets the LastModifiedAt field's value. +func (s *LambdaFunctionAggregationResponse) SetLastModifiedAt(v time.Time) *LambdaFunctionAggregationResponse { + s.LastModifiedAt = &v return s } -// SetRiskScore sets the RiskScore field's value. -func (s *FindingDetail) SetRiskScore(v int64) *FindingDetail { - s.RiskScore = &v +// SetResourceId sets the ResourceId field's value. +func (s *LambdaFunctionAggregationResponse) SetResourceId(v string) *LambdaFunctionAggregationResponse { + s.ResourceId = &v return s } -// SetTools sets the Tools field's value. -func (s *FindingDetail) SetTools(v []*string) *FindingDetail { - s.Tools = v +// SetRuntime sets the Runtime field's value. +func (s *LambdaFunctionAggregationResponse) SetRuntime(v string) *LambdaFunctionAggregationResponse { + s.Runtime = &v return s } -// SetTtps sets the Ttps field's value. -func (s *FindingDetail) SetTtps(v []*string) *FindingDetail { - s.Ttps = v +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *LambdaFunctionAggregationResponse) SetSeverityCounts(v *SeverityCounts) *LambdaFunctionAggregationResponse { + s.SeverityCounts = v return s } -// Details about an error encountered when trying to return vulnerability data -// for a finding. -type FindingDetailsError struct { +// The AWS Lambda function metadata. +type LambdaFunctionMetadata struct { _ struct{} `type:"structure"` - // The error code. - // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"FindingDetailsErrorCode"` + // The name of a function. + FunctionName *string `locationName:"functionName" type:"string"` + + // The resource tags on an AWS Lambda function. + FunctionTags map[string]*string `locationName:"functionTags" type:"map"` - // The error message. - // - // ErrorMessage is a required field - ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string" required:"true"` + // The layers for an AWS Lambda function. A Lambda function can have up to five + // layers. + Layers []*string `locationName:"layers" type:"list"` - // The finding ARN that returned an error. - // - // FindingArn is a required field - FindingArn *string `locationName:"findingArn" min:"1" type:"string" required:"true"` + // An AWS Lambda function's runtime. + Runtime *string `locationName:"runtime" type:"string" enum:"Runtime"` } // String returns the string representation. @@ -11894,7 +17178,7 @@ type FindingDetailsError struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FindingDetailsError) String() string { +func (s LambdaFunctionMetadata) String() string { return awsutil.Prettify(s) } @@ -11903,42 +17187,52 @@ func (s FindingDetailsError) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FindingDetailsError) GoString() string { +func (s LambdaFunctionMetadata) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *FindingDetailsError) SetErrorCode(v string) *FindingDetailsError { - s.ErrorCode = &v +// SetFunctionName sets the FunctionName field's value. +func (s *LambdaFunctionMetadata) SetFunctionName(v string) *LambdaFunctionMetadata { + s.FunctionName = &v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *FindingDetailsError) SetErrorMessage(v string) *FindingDetailsError { - s.ErrorMessage = &v +// SetFunctionTags sets the FunctionTags field's value. +func (s *LambdaFunctionMetadata) SetFunctionTags(v map[string]*string) *LambdaFunctionMetadata { + s.FunctionTags = v return s } -// SetFindingArn sets the FindingArn field's value. -func (s *FindingDetailsError) SetFindingArn(v string) *FindingDetailsError { - s.FindingArn = &v +// SetLayers sets the Layers field's value. +func (s *LambdaFunctionMetadata) SetLayers(v []*string) *LambdaFunctionMetadata { + s.Layers = v return s } -// The details that define an aggregation based on finding type. -type FindingTypeAggregation struct { +// SetRuntime sets the Runtime field's value. +func (s *LambdaFunctionMetadata) SetRuntime(v string) *LambdaFunctionMetadata { + s.Runtime = &v + return s +} + +// The details that define a findings aggregation based on an AWS Lambda function's +// layers. +type LambdaLayerAggregation struct { _ struct{} `type:"structure"` - // The finding type to aggregate. - FindingType *string `locationName:"findingType" type:"string" enum:"AggregationFindingType"` + // The names of the AWS Lambda functions associated with the layers. + FunctionNames []*StringFilter `locationName:"functionNames" min:"1" type:"list"` - // The resource type to aggregate. - ResourceType *string `locationName:"resourceType" type:"string" enum:"AggregationResourceType"` + // The Amazon Resource Name (ARN) of the AWS Lambda function layer. + LayerArns []*StringFilter `locationName:"layerArns" min:"1" type:"list"` - // The value to sort results by. - SortBy *string `locationName:"sortBy" type:"string" enum:"FindingTypeSortBy"` + // The resource IDs for the AWS Lambda function layers. + ResourceIds []*StringFilter `locationName:"resourceIds" min:"1" type:"list"` - // The order to sort results by. + // The finding severity to use for sorting the results. + SortBy *string `locationName:"sortBy" type:"string" enum:"LambdaLayerSortBy"` + + // The order to use for sorting the results. SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` } @@ -11947,7 +17241,7 @@ type FindingTypeAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FindingTypeAggregation) String() string { +func (s LambdaLayerAggregation) String() string { return awsutil.Prettify(s) } @@ -11956,42 +17250,115 @@ func (s FindingTypeAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FindingTypeAggregation) GoString() string { +func (s LambdaLayerAggregation) GoString() string { return s.String() } -// SetFindingType sets the FindingType field's value. -func (s *FindingTypeAggregation) SetFindingType(v string) *FindingTypeAggregation { - s.FindingType = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaLayerAggregation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaLayerAggregation"} + if s.FunctionNames != nil && len(s.FunctionNames) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionNames", 1)) + } + if s.LayerArns != nil && len(s.LayerArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LayerArns", 1)) + } + if s.ResourceIds != nil && len(s.ResourceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) + } + if s.FunctionNames != nil { + for i, v := range s.FunctionNames { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FunctionNames", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LayerArns != nil { + for i, v := range s.LayerArns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LayerArns", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceIds != nil { + for i, v := range s.ResourceIds { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIds", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionNames sets the FunctionNames field's value. +func (s *LambdaLayerAggregation) SetFunctionNames(v []*StringFilter) *LambdaLayerAggregation { + s.FunctionNames = v return s } -// SetResourceType sets the ResourceType field's value. -func (s *FindingTypeAggregation) SetResourceType(v string) *FindingTypeAggregation { - s.ResourceType = &v +// SetLayerArns sets the LayerArns field's value. +func (s *LambdaLayerAggregation) SetLayerArns(v []*StringFilter) *LambdaLayerAggregation { + s.LayerArns = v + return s +} + +// SetResourceIds sets the ResourceIds field's value. +func (s *LambdaLayerAggregation) SetResourceIds(v []*StringFilter) *LambdaLayerAggregation { + s.ResourceIds = v return s } // SetSortBy sets the SortBy field's value. -func (s *FindingTypeAggregation) SetSortBy(v string) *FindingTypeAggregation { +func (s *LambdaLayerAggregation) SetSortBy(v string) *LambdaLayerAggregation { s.SortBy = &v return s } // SetSortOrder sets the SortOrder field's value. -func (s *FindingTypeAggregation) SetSortOrder(v string) *FindingTypeAggregation { +func (s *LambdaLayerAggregation) SetSortOrder(v string) *LambdaLayerAggregation { s.SortOrder = &v return s } -// A response that contains the results of a finding type aggregation. -type FindingTypeAggregationResponse struct { +// A response that contains the results of an AWS Lambda function layer finding +// aggregation. +type LambdaLayerAggregationResponse struct { _ struct{} `type:"structure"` - // The ID of the Amazon Web Services account associated with the findings. - AccountId *string `locationName:"accountId" min:"12" type:"string"` + // The account ID of the AWS Lambda function layer. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - // The value to sort results by. + // The names of the AWS Lambda functions associated with the layers. + // + // FunctionName is a required field + FunctionName *string `locationName:"functionName" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the AWS Lambda function layer. + // + // LayerArn is a required field + LayerArn *string `locationName:"layerArn" min:"1" type:"string" required:"true"` + + // The Resource ID of the AWS Lambda function layer. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"` + + // An object that contains the counts of aggregated finding per severity. SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` } @@ -12000,7 +17367,7 @@ type FindingTypeAggregationResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FindingTypeAggregationResponse) String() string { +func (s LambdaLayerAggregationResponse) String() string { return awsutil.Prettify(s) } @@ -12009,92 +17376,54 @@ func (s FindingTypeAggregationResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FindingTypeAggregationResponse) GoString() string { +func (s LambdaLayerAggregationResponse) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. -func (s *FindingTypeAggregationResponse) SetAccountId(v string) *FindingTypeAggregationResponse { +func (s *LambdaLayerAggregationResponse) SetAccountId(v string) *LambdaLayerAggregationResponse { s.AccountId = &v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *FindingTypeAggregationResponse) SetSeverityCounts(v *SeverityCounts) *FindingTypeAggregationResponse { - s.SeverityCounts = v +// SetFunctionName sets the FunctionName field's value. +func (s *LambdaLayerAggregationResponse) SetFunctionName(v string) *LambdaLayerAggregationResponse { + s.FunctionName = &v return s } -// Information about the Amazon Inspector free trial for an account. -type FreeTrialAccountInfo struct { - _ struct{} `type:"structure"` - - // The account associated with the Amazon Inspector free trial information. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" type:"string" required:"true"` - - // Contains information about the Amazon Inspector free trial for an account. - // - // FreeTrialInfo is a required field - FreeTrialInfo []*FreeTrialInfo `locationName:"freeTrialInfo" type:"list" required:"true"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s FreeTrialAccountInfo) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s FreeTrialAccountInfo) GoString() string { - return s.String() +// SetLayerArn sets the LayerArn field's value. +func (s *LambdaLayerAggregationResponse) SetLayerArn(v string) *LambdaLayerAggregationResponse { + s.LayerArn = &v + return s } -// SetAccountId sets the AccountId field's value. -func (s *FreeTrialAccountInfo) SetAccountId(v string) *FreeTrialAccountInfo { - s.AccountId = &v +// SetResourceId sets the ResourceId field's value. +func (s *LambdaLayerAggregationResponse) SetResourceId(v string) *LambdaLayerAggregationResponse { + s.ResourceId = &v return s } -// SetFreeTrialInfo sets the FreeTrialInfo field's value. -func (s *FreeTrialAccountInfo) SetFreeTrialInfo(v []*FreeTrialInfo) *FreeTrialAccountInfo { - s.FreeTrialInfo = v +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *LambdaLayerAggregationResponse) SetSeverityCounts(v *SeverityCounts) *LambdaLayerAggregationResponse { + s.SeverityCounts = v return s } -// An object that contains information about the Amazon Inspector free trial -// for an account. -type FreeTrialInfo struct { +// The VPC security groups and subnets that are attached to an AWS Lambda function. +// For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). +type LambdaVpcConfig struct { _ struct{} `type:"structure"` - // The date and time that the Amazon Inspector free trail ends for a given account. - // - // End is a required field - End *time.Time `locationName:"end" type:"timestamp" required:"true"` - - // The date and time that the Amazon Inspector free trail started for a given - // account. - // - // Start is a required field - Start *time.Time `locationName:"start" type:"timestamp" required:"true"` + // The VPC security groups and subnets that are attached to an AWS Lambda function. + // For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` - // The order to sort results by. - // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"FreeTrialStatus"` + // A list of VPC subnet IDs. + SubnetIds []*string `locationName:"subnetIds" type:"list"` - // The type of scan covered by the Amazon Inspector free trail. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"FreeTrialType"` + // The ID of the VPC. + VpcId *string `locationName:"vpcId" type:"string"` } // String returns the string representation. @@ -12102,7 +17431,7 @@ type FreeTrialInfo struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FreeTrialInfo) String() string { +func (s LambdaVpcConfig) String() string { return awsutil.Prettify(s) } @@ -12111,53 +17440,45 @@ func (s FreeTrialInfo) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FreeTrialInfo) GoString() string { +func (s LambdaVpcConfig) GoString() string { return s.String() } -// SetEnd sets the End field's value. -func (s *FreeTrialInfo) SetEnd(v time.Time) *FreeTrialInfo { - s.End = &v - return s -} - -// SetStart sets the Start field's value. -func (s *FreeTrialInfo) SetStart(v time.Time) *FreeTrialInfo { - s.Start = &v +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *LambdaVpcConfig) SetSecurityGroupIds(v []*string) *LambdaVpcConfig { + s.SecurityGroupIds = v return s } -// SetStatus sets the Status field's value. -func (s *FreeTrialInfo) SetStatus(v string) *FreeTrialInfo { - s.Status = &v +// SetSubnetIds sets the SubnetIds field's value. +func (s *LambdaVpcConfig) SetSubnetIds(v []*string) *LambdaVpcConfig { + s.SubnetIds = v return s } -// SetType sets the Type field's value. -func (s *FreeTrialInfo) SetType(v string) *FreeTrialInfo { - s.Type = &v +// SetVpcId sets the VpcId field's value. +func (s *LambdaVpcConfig) SetVpcId(v string) *LambdaVpcConfig { + s.VpcId = &v return s } -// Information about an error received while accessing free trail data for an -// account. -type FreeTrialInfoError struct { +type ListAccountPermissionsInput struct { _ struct{} `type:"structure"` - // The account associated with the Amazon Inspector free trial information. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" type:"string" required:"true"` + // The maximum number of results the response can return. If your request would + // return more than the maximum the response will return a nextToken value, + // use this value when you call the action again to get the remaining results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // The error code. - // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true" enum:"FreeTrialInfoErrorCode"` + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // If your response returns more than the maxResults maximum value it will also + // return a nextToken value. For subsequent calls, use the NextToken value returned + // from the previous request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` - // The error message returned. - // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` + // The service scan type to check permissions for. + Service *string `locationName:"service" type:"string" enum:"Service"` } // String returns the string representation. @@ -12165,7 +17486,7 @@ type FreeTrialInfoError struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FreeTrialInfoError) String() string { +func (s ListAccountPermissionsInput) String() string { return awsutil.Prettify(s) } @@ -12174,30 +17495,54 @@ func (s FreeTrialInfoError) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FreeTrialInfoError) GoString() string { +func (s ListAccountPermissionsInput) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *FreeTrialInfoError) SetAccountId(v string) *FreeTrialInfoError { - s.AccountId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAccountPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAccountPermissionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAccountPermissionsInput) SetMaxResults(v int64) *ListAccountPermissionsInput { + s.MaxResults = &v return s } -// SetCode sets the Code field's value. -func (s *FreeTrialInfoError) SetCode(v string) *FreeTrialInfoError { - s.Code = &v +// SetNextToken sets the NextToken field's value. +func (s *ListAccountPermissionsInput) SetNextToken(v string) *ListAccountPermissionsInput { + s.NextToken = &v return s } -// SetMessage sets the Message field's value. -func (s *FreeTrialInfoError) SetMessage(v string) *FreeTrialInfoError { - s.Message = &v +// SetService sets the Service field's value. +func (s *ListAccountPermissionsInput) SetService(v string) *ListAccountPermissionsInput { + s.Service = &v return s } -type GetConfigurationInput struct { - _ struct{} `type:"structure" nopayload:"true"` +type ListAccountPermissionsOutput struct { + _ struct{} `type:"structure"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` + + // Contains details on the permissions an account has to configure Amazon Inspector. + // + // Permissions is a required field + Permissions []*Permission `locationName:"permissions" type:"list" required:"true"` } // String returns the string representation. @@ -12205,7 +17550,7 @@ type GetConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfigurationInput) String() string { +func (s ListAccountPermissionsOutput) String() string { return awsutil.Prettify(s) } @@ -12214,16 +17559,34 @@ func (s GetConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfigurationInput) GoString() string { +func (s ListAccountPermissionsOutput) GoString() string { return s.String() } -type GetConfigurationOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListAccountPermissionsOutput) SetNextToken(v string) *ListAccountPermissionsOutput { + s.NextToken = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *ListAccountPermissionsOutput) SetPermissions(v []*Permission) *ListAccountPermissionsOutput { + s.Permissions = v + return s +} + +// A list of CIS scan configurations filter criteria. +type ListCisScanConfigurationsFilterCriteria struct { _ struct{} `type:"structure"` - // Specifies how the ECR automated re-scan duration is currently configured - // for your environment. - EcrConfiguration *EcrConfigurationState `locationName:"ecrConfiguration" type:"structure"` + // The list of scan configuration ARN filters. + ScanConfigurationArnFilters []*CisStringFilter `locationName:"scanConfigurationArnFilters" min:"1" type:"list"` + + // The list of scan name filters. + ScanNameFilters []*CisStringFilter `locationName:"scanNameFilters" min:"1" type:"list"` + + // The list of target resource tag filters. + TargetResourceTagFilters []*TagFilter `locationName:"targetResourceTagFilters" min:"1" type:"list"` } // String returns the string representation. @@ -12231,7 +17594,7 @@ type GetConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfigurationOutput) String() string { +func (s ListCisScanConfigurationsFilterCriteria) String() string { return awsutil.Prettify(s) } @@ -12240,18 +17603,96 @@ func (s GetConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfigurationOutput) GoString() string { +func (s ListCisScanConfigurationsFilterCriteria) GoString() string { return s.String() } -// SetEcrConfiguration sets the EcrConfiguration field's value. -func (s *GetConfigurationOutput) SetEcrConfiguration(v *EcrConfigurationState) *GetConfigurationOutput { - s.EcrConfiguration = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCisScanConfigurationsFilterCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCisScanConfigurationsFilterCriteria"} + if s.ScanConfigurationArnFilters != nil && len(s.ScanConfigurationArnFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanConfigurationArnFilters", 1)) + } + if s.ScanNameFilters != nil && len(s.ScanNameFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanNameFilters", 1)) + } + if s.TargetResourceTagFilters != nil && len(s.TargetResourceTagFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetResourceTagFilters", 1)) + } + if s.ScanConfigurationArnFilters != nil { + for i, v := range s.ScanConfigurationArnFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanConfigurationArnFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScanNameFilters != nil { + for i, v := range s.ScanNameFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanNameFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TargetResourceTagFilters != nil { + for i, v := range s.TargetResourceTagFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetResourceTagFilters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScanConfigurationArnFilters sets the ScanConfigurationArnFilters field's value. +func (s *ListCisScanConfigurationsFilterCriteria) SetScanConfigurationArnFilters(v []*CisStringFilter) *ListCisScanConfigurationsFilterCriteria { + s.ScanConfigurationArnFilters = v return s } -type GetDelegatedAdminAccountInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetScanNameFilters sets the ScanNameFilters field's value. +func (s *ListCisScanConfigurationsFilterCriteria) SetScanNameFilters(v []*CisStringFilter) *ListCisScanConfigurationsFilterCriteria { + s.ScanNameFilters = v + return s +} + +// SetTargetResourceTagFilters sets the TargetResourceTagFilters field's value. +func (s *ListCisScanConfigurationsFilterCriteria) SetTargetResourceTagFilters(v []*TagFilter) *ListCisScanConfigurationsFilterCriteria { + s.TargetResourceTagFilters = v + return s +} + +type ListCisScanConfigurationsInput struct { + _ struct{} `type:"structure"` + + // The CIS scan configuration filter criteria. + FilterCriteria *ListCisScanConfigurationsFilterCriteria `locationName:"filterCriteria" type:"structure"` + + // The maximum number of CIS scan configurations to be returned in a single + // page of results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token from a previous request that's used to retrieve the + // next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The CIS scan configuration sort by order. + SortBy *string `locationName:"sortBy" type:"string" enum:"CisScanConfigurationsSortBy"` + + // The CIS scan configuration sort order order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"CisSortOrder"` } // String returns the string representation. @@ -12259,7 +17700,7 @@ type GetDelegatedAdminAccountInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetDelegatedAdminAccountInput) String() string { +func (s ListCisScanConfigurationsInput) String() string { return awsutil.Prettify(s) } @@ -12268,15 +17709,67 @@ func (s GetDelegatedAdminAccountInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetDelegatedAdminAccountInput) GoString() string { +func (s ListCisScanConfigurationsInput) GoString() string { return s.String() } -type GetDelegatedAdminAccountOutput struct { +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCisScanConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCisScanConfigurationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *ListCisScanConfigurationsInput) SetFilterCriteria(v *ListCisScanConfigurationsFilterCriteria) *ListCisScanConfigurationsInput { + s.FilterCriteria = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCisScanConfigurationsInput) SetMaxResults(v int64) *ListCisScanConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCisScanConfigurationsInput) SetNextToken(v string) *ListCisScanConfigurationsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListCisScanConfigurationsInput) SetSortBy(v string) *ListCisScanConfigurationsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListCisScanConfigurationsInput) SetSortOrder(v string) *ListCisScanConfigurationsInput { + s.SortOrder = &v + return s +} + +type ListCisScanConfigurationsOutput struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the Amazon Inspector delegated administrator. - DelegatedAdmin *DelegatedAdmin `locationName:"delegatedAdmin" type:"structure"` + // The pagination token from a previous request that's used to retrieve the + // next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The CIS scan configuration scan configurations. + ScanConfigurations []*CisScanConfiguration `locationName:"scanConfigurations" type:"list"` } // String returns the string representation. @@ -12284,7 +17777,7 @@ type GetDelegatedAdminAccountOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetDelegatedAdminAccountOutput) String() string { +func (s ListCisScanConfigurationsOutput) String() string { return awsutil.Prettify(s) } @@ -12293,18 +17786,46 @@ func (s GetDelegatedAdminAccountOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetDelegatedAdminAccountOutput) GoString() string { +func (s ListCisScanConfigurationsOutput) GoString() string { return s.String() } -// SetDelegatedAdmin sets the DelegatedAdmin field's value. -func (s *GetDelegatedAdminAccountOutput) SetDelegatedAdmin(v *DelegatedAdmin) *GetDelegatedAdminAccountOutput { - s.DelegatedAdmin = v +// SetNextToken sets the NextToken field's value. +func (s *ListCisScanConfigurationsOutput) SetNextToken(v string) *ListCisScanConfigurationsOutput { + s.NextToken = &v return s } -type GetEc2DeepInspectionConfigurationInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetScanConfigurations sets the ScanConfigurations field's value. +func (s *ListCisScanConfigurationsOutput) SetScanConfigurations(v []*CisScanConfiguration) *ListCisScanConfigurationsOutput { + s.ScanConfigurations = v + return s +} + +type ListCisScanResultsAggregatedByChecksInput struct { + _ struct{} `type:"structure"` + + // The filter criteria. + FilterCriteria *CisScanResultsAggregatedByChecksFilterCriteria `locationName:"filterCriteria" type:"structure"` + + // The maximum number of scan results aggregated by checks to be returned in + // a single page of results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token from a previous request that's used to retrieve the + // next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The scan ARN. + // + // ScanArn is a required field + ScanArn *string `locationName:"scanArn" type:"string" required:"true"` + + // The sort by order. + SortBy *string `locationName:"sortBy" type:"string" enum:"CisScanResultsAggregatedByChecksSortBy"` + + // The sort order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"CisSortOrder"` } // String returns the string representation. @@ -12312,7 +17833,7 @@ type GetEc2DeepInspectionConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEc2DeepInspectionConfigurationInput) String() string { +func (s ListCisScanResultsAggregatedByChecksInput) String() string { return awsutil.Prettify(s) } @@ -12321,25 +17842,76 @@ func (s GetEc2DeepInspectionConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEc2DeepInspectionConfigurationInput) GoString() string { +func (s ListCisScanResultsAggregatedByChecksInput) GoString() string { return s.String() } -type GetEc2DeepInspectionConfigurationOutput struct { - _ struct{} `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCisScanResultsAggregatedByChecksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCisScanResultsAggregatedByChecksInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ScanArn == nil { + invalidParams.Add(request.NewErrParamRequired("ScanArn")) + } + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + } + } - // An error message explaining why Amazon Inspector deep inspection configurations - // could not be retrieved for your account. - ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The Amazon Inspector deep inspection custom paths for your organization. - OrgPackagePaths []*string `locationName:"orgPackagePaths" type:"list"` +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *ListCisScanResultsAggregatedByChecksInput) SetFilterCriteria(v *CisScanResultsAggregatedByChecksFilterCriteria) *ListCisScanResultsAggregatedByChecksInput { + s.FilterCriteria = v + return s +} - // The Amazon Inspector deep inspection custom paths for your account. - PackagePaths []*string `locationName:"packagePaths" type:"list"` +// SetMaxResults sets the MaxResults field's value. +func (s *ListCisScanResultsAggregatedByChecksInput) SetMaxResults(v int64) *ListCisScanResultsAggregatedByChecksInput { + s.MaxResults = &v + return s +} - // The activation status of Amazon Inspector deep inspection in your account. - Status *string `locationName:"status" type:"string" enum:"Ec2DeepInspectionStatus"` +// SetNextToken sets the NextToken field's value. +func (s *ListCisScanResultsAggregatedByChecksInput) SetNextToken(v string) *ListCisScanResultsAggregatedByChecksInput { + s.NextToken = &v + return s +} + +// SetScanArn sets the ScanArn field's value. +func (s *ListCisScanResultsAggregatedByChecksInput) SetScanArn(v string) *ListCisScanResultsAggregatedByChecksInput { + s.ScanArn = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListCisScanResultsAggregatedByChecksInput) SetSortBy(v string) *ListCisScanResultsAggregatedByChecksInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListCisScanResultsAggregatedByChecksInput) SetSortOrder(v string) *ListCisScanResultsAggregatedByChecksInput { + s.SortOrder = &v + return s +} + +type ListCisScanResultsAggregatedByChecksOutput struct { + _ struct{} `type:"structure"` + + // The check aggregations. + CheckAggregations []*CisCheckAggregation `locationName:"checkAggregations" min:"1" type:"list"` + + // The pagination token from a previous request that's used to retrieve the + // next page of results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -12347,7 +17919,7 @@ type GetEc2DeepInspectionConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEc2DeepInspectionConfigurationOutput) String() string { +func (s ListCisScanResultsAggregatedByChecksOutput) String() string { return awsutil.Prettify(s) } @@ -12356,46 +17928,46 @@ func (s GetEc2DeepInspectionConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEc2DeepInspectionConfigurationOutput) GoString() string { +func (s ListCisScanResultsAggregatedByChecksOutput) GoString() string { return s.String() } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *GetEc2DeepInspectionConfigurationOutput) SetErrorMessage(v string) *GetEc2DeepInspectionConfigurationOutput { - s.ErrorMessage = &v +// SetCheckAggregations sets the CheckAggregations field's value. +func (s *ListCisScanResultsAggregatedByChecksOutput) SetCheckAggregations(v []*CisCheckAggregation) *ListCisScanResultsAggregatedByChecksOutput { + s.CheckAggregations = v return s } -// SetOrgPackagePaths sets the OrgPackagePaths field's value. -func (s *GetEc2DeepInspectionConfigurationOutput) SetOrgPackagePaths(v []*string) *GetEc2DeepInspectionConfigurationOutput { - s.OrgPackagePaths = v +// SetNextToken sets the NextToken field's value. +func (s *ListCisScanResultsAggregatedByChecksOutput) SetNextToken(v string) *ListCisScanResultsAggregatedByChecksOutput { + s.NextToken = &v return s } -// SetPackagePaths sets the PackagePaths field's value. -func (s *GetEc2DeepInspectionConfigurationOutput) SetPackagePaths(v []*string) *GetEc2DeepInspectionConfigurationOutput { - s.PackagePaths = v - return s -} +type ListCisScanResultsAggregatedByTargetResourceInput struct { + _ struct{} `type:"structure"` -// SetStatus sets the Status field's value. -func (s *GetEc2DeepInspectionConfigurationOutput) SetStatus(v string) *GetEc2DeepInspectionConfigurationOutput { - s.Status = &v - return s -} + // The filter criteria. + FilterCriteria *CisScanResultsAggregatedByTargetResourceFilterCriteria `locationName:"filterCriteria" type:"structure"` -type GetEncryptionKeyInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // The maximum number of scan results aggregated by a target resource to be + // returned in a single page of results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // The resource type the key encrypts. - // - // ResourceType is a required field - ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"` + // The pagination token from a previous request that's used to retrieve the + // next page of results. + NextToken *string `locationName:"nextToken" type:"string"` - // The scan type the key encrypts. + // The scan ARN. // - // ScanType is a required field - ScanType *string `location:"querystring" locationName:"scanType" type:"string" required:"true" enum:"ScanType"` + // ScanArn is a required field + ScanArn *string `locationName:"scanArn" type:"string" required:"true"` + + // The sort by order. + SortBy *string `locationName:"sortBy" type:"string" enum:"CisScanResultsAggregatedByTargetResourceSortBy"` + + // The sort order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"CisSortOrder"` } // String returns the string representation. @@ -12403,7 +17975,7 @@ type GetEncryptionKeyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEncryptionKeyInput) String() string { +func (s ListCisScanResultsAggregatedByTargetResourceInput) String() string { return awsutil.Prettify(s) } @@ -12412,18 +17984,23 @@ func (s GetEncryptionKeyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEncryptionKeyInput) GoString() string { +func (s ListCisScanResultsAggregatedByTargetResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetEncryptionKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetEncryptionKeyInput"} - if s.ResourceType == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceType")) +func (s *ListCisScanResultsAggregatedByTargetResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCisScanResultsAggregatedByTargetResourceInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.ScanType == nil { - invalidParams.Add(request.NewErrParamRequired("ScanType")) + if s.ScanArn == nil { + invalidParams.Add(request.NewErrParamRequired("ScanArn")) + } + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -12432,25 +18009,51 @@ func (s *GetEncryptionKeyInput) Validate() error { return nil } -// SetResourceType sets the ResourceType field's value. -func (s *GetEncryptionKeyInput) SetResourceType(v string) *GetEncryptionKeyInput { - s.ResourceType = &v +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *ListCisScanResultsAggregatedByTargetResourceInput) SetFilterCriteria(v *CisScanResultsAggregatedByTargetResourceFilterCriteria) *ListCisScanResultsAggregatedByTargetResourceInput { + s.FilterCriteria = v return s } -// SetScanType sets the ScanType field's value. -func (s *GetEncryptionKeyInput) SetScanType(v string) *GetEncryptionKeyInput { - s.ScanType = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListCisScanResultsAggregatedByTargetResourceInput) SetMaxResults(v int64) *ListCisScanResultsAggregatedByTargetResourceInput { + s.MaxResults = &v return s } -type GetEncryptionKeyOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListCisScanResultsAggregatedByTargetResourceInput) SetNextToken(v string) *ListCisScanResultsAggregatedByTargetResourceInput { + s.NextToken = &v + return s +} + +// SetScanArn sets the ScanArn field's value. +func (s *ListCisScanResultsAggregatedByTargetResourceInput) SetScanArn(v string) *ListCisScanResultsAggregatedByTargetResourceInput { + s.ScanArn = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListCisScanResultsAggregatedByTargetResourceInput) SetSortBy(v string) *ListCisScanResultsAggregatedByTargetResourceInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListCisScanResultsAggregatedByTargetResourceInput) SetSortOrder(v string) *ListCisScanResultsAggregatedByTargetResourceInput { + s.SortOrder = &v + return s +} + +type ListCisScanResultsAggregatedByTargetResourceOutput struct { _ struct{} `type:"structure"` - // A kms key ID. - // - // KmsKeyId is a required field - KmsKeyId *string `locationName:"kmsKeyId" type:"string" required:"true"` + // The pagination token from a previous request that's used to retrieve the + // next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The resource aggregations. + TargetResourceAggregations []*CisTargetResourceAggregation `locationName:"targetResourceAggregations" min:"1" type:"list"` } // String returns the string representation. @@ -12458,7 +18061,7 @@ type GetEncryptionKeyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEncryptionKeyOutput) String() string { +func (s ListCisScanResultsAggregatedByTargetResourceOutput) String() string { return awsutil.Prettify(s) } @@ -12467,21 +18070,55 @@ func (s GetEncryptionKeyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetEncryptionKeyOutput) GoString() string { +func (s ListCisScanResultsAggregatedByTargetResourceOutput) GoString() string { return s.String() } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *GetEncryptionKeyOutput) SetKmsKeyId(v string) *GetEncryptionKeyOutput { - s.KmsKeyId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListCisScanResultsAggregatedByTargetResourceOutput) SetNextToken(v string) *ListCisScanResultsAggregatedByTargetResourceOutput { + s.NextToken = &v return s } -type GetFindingsReportStatusInput struct { +// SetTargetResourceAggregations sets the TargetResourceAggregations field's value. +func (s *ListCisScanResultsAggregatedByTargetResourceOutput) SetTargetResourceAggregations(v []*CisTargetResourceAggregation) *ListCisScanResultsAggregatedByTargetResourceOutput { + s.TargetResourceAggregations = v + return s +} + +// A list of CIS scans filter criteria. +type ListCisScansFilterCriteria struct { _ struct{} `type:"structure"` - // The ID of the report to retrieve the status of. - ReportId *string `locationName:"reportId" type:"string"` + // The list of failed checks filters. + FailedChecksFilters []*CisNumberFilter `locationName:"failedChecksFilters" min:"1" type:"list"` + + // The list of scan ARN filters. + ScanArnFilters []*CisStringFilter `locationName:"scanArnFilters" min:"1" type:"list"` + + // The list of scan at filters. + ScanAtFilters []*CisDateFilter `locationName:"scanAtFilters" min:"1" type:"list"` + + // The list of scan configuration ARN filters. + ScanConfigurationArnFilters []*CisStringFilter `locationName:"scanConfigurationArnFilters" min:"1" type:"list"` + + // The list of scan name filters. + ScanNameFilters []*CisStringFilter `locationName:"scanNameFilters" min:"1" type:"list"` + + // The list of scan status filters. + ScanStatusFilters []*CisScanStatusFilter `locationName:"scanStatusFilters" min:"1" type:"list"` + + // The list of scheduled by filters. + ScheduledByFilters []*CisStringFilter `locationName:"scheduledByFilters" min:"1" type:"list"` + + // The list of target account ID filters. + TargetAccountIdFilters []*CisStringFilter `locationName:"targetAccountIdFilters" min:"1" type:"list"` + + // The list of target resource ID filters. + TargetResourceIdFilters []*CisStringFilter `locationName:"targetResourceIdFilters" min:"1" type:"list"` + + // The list of target resource tag filters. + TargetResourceTagFilters []*TagFilter `locationName:"targetResourceTagFilters" min:"1" type:"list"` } // String returns the string representation. @@ -12489,7 +18126,7 @@ type GetFindingsReportStatusInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetFindingsReportStatusInput) String() string { +func (s ListCisScansFilterCriteria) String() string { return awsutil.Prettify(s) } @@ -12498,100 +18135,211 @@ func (s GetFindingsReportStatusInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetFindingsReportStatusInput) GoString() string { +func (s ListCisScansFilterCriteria) GoString() string { return s.String() } -// SetReportId sets the ReportId field's value. -func (s *GetFindingsReportStatusInput) SetReportId(v string) *GetFindingsReportStatusInput { - s.ReportId = &v - return s -} - -type GetFindingsReportStatusOutput struct { - _ struct{} `type:"structure"` - - // The destination of the report. - Destination *Destination `locationName:"destination" type:"structure"` - - // The error code of the report. - ErrorCode *string `locationName:"errorCode" type:"string" enum:"ReportingErrorCode"` - - // The error message of the report. - ErrorMessage *string `locationName:"errorMessage" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListCisScansFilterCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCisScansFilterCriteria"} + if s.FailedChecksFilters != nil && len(s.FailedChecksFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FailedChecksFilters", 1)) + } + if s.ScanArnFilters != nil && len(s.ScanArnFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanArnFilters", 1)) + } + if s.ScanAtFilters != nil && len(s.ScanAtFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanAtFilters", 1)) + } + if s.ScanConfigurationArnFilters != nil && len(s.ScanConfigurationArnFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanConfigurationArnFilters", 1)) + } + if s.ScanNameFilters != nil && len(s.ScanNameFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanNameFilters", 1)) + } + if s.ScanStatusFilters != nil && len(s.ScanStatusFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanStatusFilters", 1)) + } + if s.ScheduledByFilters != nil && len(s.ScheduledByFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScheduledByFilters", 1)) + } + if s.TargetAccountIdFilters != nil && len(s.TargetAccountIdFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetAccountIdFilters", 1)) + } + if s.TargetResourceIdFilters != nil && len(s.TargetResourceIdFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetResourceIdFilters", 1)) + } + if s.TargetResourceTagFilters != nil && len(s.TargetResourceTagFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetResourceTagFilters", 1)) + } + if s.ScanArnFilters != nil { + for i, v := range s.ScanArnFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanArnFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScanConfigurationArnFilters != nil { + for i, v := range s.ScanConfigurationArnFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanConfigurationArnFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScanNameFilters != nil { + for i, v := range s.ScanNameFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanNameFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScanStatusFilters != nil { + for i, v := range s.ScanStatusFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanStatusFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScheduledByFilters != nil { + for i, v := range s.ScheduledByFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScheduledByFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TargetAccountIdFilters != nil { + for i, v := range s.TargetAccountIdFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetAccountIdFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TargetResourceIdFilters != nil { + for i, v := range s.TargetResourceIdFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetResourceIdFilters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TargetResourceTagFilters != nil { + for i, v := range s.TargetResourceTagFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetResourceTagFilters", i), err.(request.ErrInvalidParams)) + } + } + } - // The filter criteria associated with the report. - FilterCriteria *FilterCriteria `locationName:"filterCriteria" type:"structure"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The ID of the report. - ReportId *string `locationName:"reportId" type:"string"` +// SetFailedChecksFilters sets the FailedChecksFilters field's value. +func (s *ListCisScansFilterCriteria) SetFailedChecksFilters(v []*CisNumberFilter) *ListCisScansFilterCriteria { + s.FailedChecksFilters = v + return s +} - // The status of the report. - Status *string `locationName:"status" type:"string" enum:"ExternalReportStatus"` +// SetScanArnFilters sets the ScanArnFilters field's value. +func (s *ListCisScansFilterCriteria) SetScanArnFilters(v []*CisStringFilter) *ListCisScansFilterCriteria { + s.ScanArnFilters = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s GetFindingsReportStatusOutput) String() string { - return awsutil.Prettify(s) +// SetScanAtFilters sets the ScanAtFilters field's value. +func (s *ListCisScansFilterCriteria) SetScanAtFilters(v []*CisDateFilter) *ListCisScansFilterCriteria { + s.ScanAtFilters = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s GetFindingsReportStatusOutput) GoString() string { - return s.String() +// SetScanConfigurationArnFilters sets the ScanConfigurationArnFilters field's value. +func (s *ListCisScansFilterCriteria) SetScanConfigurationArnFilters(v []*CisStringFilter) *ListCisScansFilterCriteria { + s.ScanConfigurationArnFilters = v + return s } -// SetDestination sets the Destination field's value. -func (s *GetFindingsReportStatusOutput) SetDestination(v *Destination) *GetFindingsReportStatusOutput { - s.Destination = v +// SetScanNameFilters sets the ScanNameFilters field's value. +func (s *ListCisScansFilterCriteria) SetScanNameFilters(v []*CisStringFilter) *ListCisScansFilterCriteria { + s.ScanNameFilters = v return s } -// SetErrorCode sets the ErrorCode field's value. -func (s *GetFindingsReportStatusOutput) SetErrorCode(v string) *GetFindingsReportStatusOutput { - s.ErrorCode = &v +// SetScanStatusFilters sets the ScanStatusFilters field's value. +func (s *ListCisScansFilterCriteria) SetScanStatusFilters(v []*CisScanStatusFilter) *ListCisScansFilterCriteria { + s.ScanStatusFilters = v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *GetFindingsReportStatusOutput) SetErrorMessage(v string) *GetFindingsReportStatusOutput { - s.ErrorMessage = &v +// SetScheduledByFilters sets the ScheduledByFilters field's value. +func (s *ListCisScansFilterCriteria) SetScheduledByFilters(v []*CisStringFilter) *ListCisScansFilterCriteria { + s.ScheduledByFilters = v return s } -// SetFilterCriteria sets the FilterCriteria field's value. -func (s *GetFindingsReportStatusOutput) SetFilterCriteria(v *FilterCriteria) *GetFindingsReportStatusOutput { - s.FilterCriteria = v +// SetTargetAccountIdFilters sets the TargetAccountIdFilters field's value. +func (s *ListCisScansFilterCriteria) SetTargetAccountIdFilters(v []*CisStringFilter) *ListCisScansFilterCriteria { + s.TargetAccountIdFilters = v return s } -// SetReportId sets the ReportId field's value. -func (s *GetFindingsReportStatusOutput) SetReportId(v string) *GetFindingsReportStatusOutput { - s.ReportId = &v +// SetTargetResourceIdFilters sets the TargetResourceIdFilters field's value. +func (s *ListCisScansFilterCriteria) SetTargetResourceIdFilters(v []*CisStringFilter) *ListCisScansFilterCriteria { + s.TargetResourceIdFilters = v return s } -// SetStatus sets the Status field's value. -func (s *GetFindingsReportStatusOutput) SetStatus(v string) *GetFindingsReportStatusOutput { - s.Status = &v +// SetTargetResourceTagFilters sets the TargetResourceTagFilters field's value. +func (s *ListCisScansFilterCriteria) SetTargetResourceTagFilters(v []*TagFilter) *ListCisScansFilterCriteria { + s.TargetResourceTagFilters = v return s } -type GetMemberInput struct { +type ListCisScansInput struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the member account to retrieve information - // on. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + // The detail applied to the CIS scan. + DetailLevel *string `locationName:"detailLevel" type:"string" enum:"ListCisScansDetailLevel"` + + // The CIS scan filter criteria. + FilterCriteria *ListCisScansFilterCriteria `locationName:"filterCriteria" type:"structure"` + + // The maximum number of results to be returned. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token from a previous request that's used to retrieve the + // next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The CIS scans sort by order. + SortBy *string `locationName:"sortBy" type:"string" enum:"ListCisScansSortBy"` + + // The CIS scans sort order. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"CisSortOrder"` } // String returns the string representation. @@ -12599,7 +18347,7 @@ type GetMemberInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetMemberInput) String() string { +func (s ListCisScansInput) String() string { return awsutil.Prettify(s) } @@ -12608,18 +18356,20 @@ func (s GetMemberInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetMemberInput) GoString() string { +func (s ListCisScansInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetMemberInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetMemberInput"} - if s.AccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AccountId")) +func (s *ListCisScansInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCisScansInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.AccountId != nil && len(*s.AccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -12628,17 +18378,51 @@ func (s *GetMemberInput) Validate() error { return nil } -// SetAccountId sets the AccountId field's value. -func (s *GetMemberInput) SetAccountId(v string) *GetMemberInput { - s.AccountId = &v +// SetDetailLevel sets the DetailLevel field's value. +func (s *ListCisScansInput) SetDetailLevel(v string) *ListCisScansInput { + s.DetailLevel = &v return s } -type GetMemberOutput struct { +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *ListCisScansInput) SetFilterCriteria(v *ListCisScansFilterCriteria) *ListCisScansInput { + s.FilterCriteria = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListCisScansInput) SetMaxResults(v int64) *ListCisScansInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCisScansInput) SetNextToken(v string) *ListCisScansInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListCisScansInput) SetSortBy(v string) *ListCisScansInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListCisScansInput) SetSortOrder(v string) *ListCisScansInput { + s.SortOrder = &v + return s +} + +type ListCisScansOutput struct { _ struct{} `type:"structure"` - // Details of the retrieved member account. - Member *Member `locationName:"member" type:"structure"` + // The pagination token from a previous request that's used to retrieve the + // next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The CIS scans. + Scans []*CisScan `locationName:"scans" type:"list"` } // String returns the string representation. @@ -12646,7 +18430,7 @@ type GetMemberOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetMemberOutput) String() string { +func (s ListCisScansOutput) String() string { return awsutil.Prettify(s) } @@ -12655,23 +18439,40 @@ func (s GetMemberOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetMemberOutput) GoString() string { +func (s ListCisScansOutput) GoString() string { return s.String() } -// SetMember sets the Member field's value. -func (s *GetMemberOutput) SetMember(v *Member) *GetMemberOutput { - s.Member = v +// SetNextToken sets the NextToken field's value. +func (s *ListCisScansOutput) SetNextToken(v string) *ListCisScansOutput { + s.NextToken = &v return s } -type GetSbomExportInput struct { +// SetScans sets the Scans field's value. +func (s *ListCisScansOutput) SetScans(v []*CisScan) *ListCisScansOutput { + s.Scans = v + return s +} + +type ListCoverageInput struct { _ struct{} `type:"structure"` - // The report ID of the SBOM export to get details for. - // - // ReportId is a required field - ReportId *string `locationName:"reportId" type:"string" required:"true"` + // An object that contains details on the filters to apply to the coverage data + // for your environment. + FilterCriteria *CoverageFilterCriteria `locationName:"filterCriteria" type:"structure"` + + // The maximum number of results the response can return. If your request would + // return more than the maximum the response will return a nextToken value, + // use this value when you call the action again to get the remaining results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // If your response returns more than the maxResults maximum value it will also + // return a nextToken value. For subsequent calls, use the nextToken value returned + // from the previous request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -12679,7 +18480,7 @@ type GetSbomExportInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSbomExportInput) String() string { +func (s ListCoverageInput) String() string { return awsutil.Prettify(s) } @@ -12688,15 +18489,20 @@ func (s GetSbomExportInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSbomExportInput) GoString() string { +func (s ListCoverageInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSbomExportInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSbomExportInput"} - if s.ReportId == nil { - invalidParams.Add(request.NewErrParamRequired("ReportId")) +func (s *ListCoverageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCoverageInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -12705,36 +18511,35 @@ func (s *GetSbomExportInput) Validate() error { return nil } -// SetReportId sets the ReportId field's value. -func (s *GetSbomExportInput) SetReportId(v string) *GetSbomExportInput { - s.ReportId = &v +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *ListCoverageInput) SetFilterCriteria(v *CoverageFilterCriteria) *ListCoverageInput { + s.FilterCriteria = v return s } -type GetSbomExportOutput struct { - _ struct{} `type:"structure"` - - // An error code. - ErrorCode *string `locationName:"errorCode" type:"string" enum:"ReportingErrorCode"` - - // An error message. - ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string"` - - // Contains details about the resource filter criteria used for the software - // bill of materials (SBOM) report. - FilterCriteria *ResourceFilterCriteria `locationName:"filterCriteria" type:"structure"` +// SetMaxResults sets the MaxResults field's value. +func (s *ListCoverageInput) SetMaxResults(v int64) *ListCoverageInput { + s.MaxResults = &v + return s +} - // The format of the software bill of materials (SBOM) report. - Format *string `locationName:"format" type:"string" enum:"SbomReportFormat"` +// SetNextToken sets the NextToken field's value. +func (s *ListCoverageInput) SetNextToken(v string) *ListCoverageInput { + s.NextToken = &v + return s +} - // The report ID of the software bill of materials (SBOM) report. - ReportId *string `locationName:"reportId" type:"string"` +type ListCoverageOutput struct { + _ struct{} `type:"structure"` - // Contains details of the Amazon S3 bucket and KMS key used to export findings. - S3Destination *Destination `locationName:"s3Destination" type:"structure"` + // An object that contains details on the covered resources in your environment. + CoveredResources []*CoveredResource `locationName:"coveredResources" type:"list"` - // The status of the software bill of materials (SBOM) report. - Status *string `locationName:"status" type:"string" enum:"ExternalReportStatus"` + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -12742,7 +18547,7 @@ type GetSbomExportOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSbomExportOutput) String() string { +func (s ListCoverageOutput) String() string { return awsutil.Prettify(s) } @@ -12751,70 +18556,37 @@ func (s GetSbomExportOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSbomExportOutput) GoString() string { +func (s ListCoverageOutput) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *GetSbomExportOutput) SetErrorCode(v string) *GetSbomExportOutput { - s.ErrorCode = &v - return s -} - -// SetErrorMessage sets the ErrorMessage field's value. -func (s *GetSbomExportOutput) SetErrorMessage(v string) *GetSbomExportOutput { - s.ErrorMessage = &v - return s -} - -// SetFilterCriteria sets the FilterCriteria field's value. -func (s *GetSbomExportOutput) SetFilterCriteria(v *ResourceFilterCriteria) *GetSbomExportOutput { - s.FilterCriteria = v - return s -} - -// SetFormat sets the Format field's value. -func (s *GetSbomExportOutput) SetFormat(v string) *GetSbomExportOutput { - s.Format = &v - return s -} - -// SetReportId sets the ReportId field's value. -func (s *GetSbomExportOutput) SetReportId(v string) *GetSbomExportOutput { - s.ReportId = &v - return s -} - -// SetS3Destination sets the S3Destination field's value. -func (s *GetSbomExportOutput) SetS3Destination(v *Destination) *GetSbomExportOutput { - s.S3Destination = v +// SetCoveredResources sets the CoveredResources field's value. +func (s *ListCoverageOutput) SetCoveredResources(v []*CoveredResource) *ListCoverageOutput { + s.CoveredResources = v return s } -// SetStatus sets the Status field's value. -func (s *GetSbomExportOutput) SetStatus(v string) *GetSbomExportOutput { - s.Status = &v +// SetNextToken sets the NextToken field's value. +func (s *ListCoverageOutput) SetNextToken(v string) *ListCoverageOutput { + s.NextToken = &v return s } -// The details that define an aggregation based on container image layers. -type ImageLayerAggregation struct { +type ListCoverageStatisticsInput struct { _ struct{} `type:"structure"` - // The hashes associated with the layers. - LayerHashes []*StringFilter `locationName:"layerHashes" min:"1" type:"list"` - - // The repository associated with the container image hosting the layers. - Repositories []*StringFilter `locationName:"repositories" min:"1" type:"list"` - - // The ID of the container image layer. - ResourceIds []*StringFilter `locationName:"resourceIds" min:"1" type:"list"` + // An object that contains details on the filters to apply to the coverage data + // for your environment. + FilterCriteria *CoverageFilterCriteria `locationName:"filterCriteria" type:"structure"` - // The value to sort results by. - SortBy *string `locationName:"sortBy" type:"string" enum:"ImageLayerSortBy"` + // The value to group the results by. + GroupBy *string `locationName:"groupBy" type:"string" enum:"GroupKey"` - // The order to sort results by. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -12822,7 +18594,7 @@ type ImageLayerAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageLayerAggregation) String() string { +func (s ListCoverageStatisticsInput) String() string { return awsutil.Prettify(s) } @@ -12831,50 +18603,16 @@ func (s ImageLayerAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageLayerAggregation) GoString() string { +func (s ListCoverageStatisticsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ImageLayerAggregation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImageLayerAggregation"} - if s.LayerHashes != nil && len(s.LayerHashes) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LayerHashes", 1)) - } - if s.Repositories != nil && len(s.Repositories) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Repositories", 1)) - } - if s.ResourceIds != nil && len(s.ResourceIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) - } - if s.LayerHashes != nil { - for i, v := range s.LayerHashes { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LayerHashes", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Repositories != nil { - for i, v := range s.Repositories { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Repositories", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ResourceIds != nil { - for i, v := range s.ResourceIds { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIds", i), err.(request.ErrInvalidParams)) - } +func (s *ListCoverageStatisticsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCoverageStatisticsInput"} + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) } } @@ -12884,63 +18622,40 @@ func (s *ImageLayerAggregation) Validate() error { return nil } -// SetLayerHashes sets the LayerHashes field's value. -func (s *ImageLayerAggregation) SetLayerHashes(v []*StringFilter) *ImageLayerAggregation { - s.LayerHashes = v - return s -} - -// SetRepositories sets the Repositories field's value. -func (s *ImageLayerAggregation) SetRepositories(v []*StringFilter) *ImageLayerAggregation { - s.Repositories = v - return s -} - -// SetResourceIds sets the ResourceIds field's value. -func (s *ImageLayerAggregation) SetResourceIds(v []*StringFilter) *ImageLayerAggregation { - s.ResourceIds = v +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *ListCoverageStatisticsInput) SetFilterCriteria(v *CoverageFilterCriteria) *ListCoverageStatisticsInput { + s.FilterCriteria = v return s } -// SetSortBy sets the SortBy field's value. -func (s *ImageLayerAggregation) SetSortBy(v string) *ImageLayerAggregation { - s.SortBy = &v +// SetGroupBy sets the GroupBy field's value. +func (s *ListCoverageStatisticsInput) SetGroupBy(v string) *ListCoverageStatisticsInput { + s.GroupBy = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ImageLayerAggregation) SetSortOrder(v string) *ImageLayerAggregation { - s.SortOrder = &v +// SetNextToken sets the NextToken field's value. +func (s *ListCoverageStatisticsInput) SetNextToken(v string) *ListCoverageStatisticsInput { + s.NextToken = &v return s } -// A response that contains the results of a finding aggregation by image layer. -type ImageLayerAggregationResponse struct { +type ListCoverageStatisticsOutput struct { _ struct{} `type:"structure"` - // The ID of the Amazon Web Services account that owns the container image hosting - // the layer image. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - - // The layer hash. - // - // LayerHash is a required field - LayerHash *string `locationName:"layerHash" min:"1" type:"string" required:"true"` + // An array with the number for each group. + CountsByGroup []*Counts `locationName:"countsByGroup" min:"1" type:"list"` - // The repository the layer resides in. - // - // Repository is a required field - Repository *string `locationName:"repository" min:"1" type:"string" required:"true"` + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` - // The resource ID of the container image layer. + // The total number for all groups. // - // ResourceId is a required field - ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"` - - // An object that represents the count of matched findings per severity. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` + // TotalCounts is a required field + TotalCounts *int64 `locationName:"totalCounts" type:"long" required:"true"` } // String returns the string representation. @@ -12948,7 +18663,7 @@ type ImageLayerAggregationResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageLayerAggregationResponse) String() string { +func (s ListCoverageStatisticsOutput) String() string { return awsutil.Prettify(s) } @@ -12957,46 +18672,42 @@ func (s ImageLayerAggregationResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImageLayerAggregationResponse) GoString() string { +func (s ListCoverageStatisticsOutput) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *ImageLayerAggregationResponse) SetAccountId(v string) *ImageLayerAggregationResponse { - s.AccountId = &v - return s -} - -// SetLayerHash sets the LayerHash field's value. -func (s *ImageLayerAggregationResponse) SetLayerHash(v string) *ImageLayerAggregationResponse { - s.LayerHash = &v - return s -} - -// SetRepository sets the Repository field's value. -func (s *ImageLayerAggregationResponse) SetRepository(v string) *ImageLayerAggregationResponse { - s.Repository = &v +// SetCountsByGroup sets the CountsByGroup field's value. +func (s *ListCoverageStatisticsOutput) SetCountsByGroup(v []*Counts) *ListCoverageStatisticsOutput { + s.CountsByGroup = v return s } -// SetResourceId sets the ResourceId field's value. -func (s *ImageLayerAggregationResponse) SetResourceId(v string) *ImageLayerAggregationResponse { - s.ResourceId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListCoverageStatisticsOutput) SetNextToken(v string) *ListCoverageStatisticsOutput { + s.NextToken = &v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *ImageLayerAggregationResponse) SetSeverityCounts(v *SeverityCounts) *ImageLayerAggregationResponse { - s.SeverityCounts = v +// SetTotalCounts sets the TotalCounts field's value. +func (s *ListCoverageStatisticsOutput) SetTotalCounts(v int64) *ListCoverageStatisticsOutput { + s.TotalCounts = &v return s } -// Information about the Amazon Inspector score given to a finding. -type InspectorScoreDetails struct { +type ListDelegatedAdminAccountsInput struct { _ struct{} `type:"structure"` - // An object that contains details about the CVSS score given to a finding. - AdjustedCvss *CvssScoreDetails `locationName:"adjustedCvss" type:"structure"` + // The maximum number of results the response can return. If your request would + // return more than the maximum the response will return a nextToken value, + // use this value when you call the action again to get the remaining results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // If your response returns more than the maxResults maximum value it will also + // return a nextToken value. For subsequent calls, use the nextToken value returned + // from the previous request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -13004,7 +18715,7 @@ type InspectorScoreDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InspectorScoreDetails) String() string { +func (s ListDelegatedAdminAccountsInput) String() string { return awsutil.Prettify(s) } @@ -13013,26 +18724,46 @@ func (s InspectorScoreDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InspectorScoreDetails) GoString() string { +func (s ListDelegatedAdminAccountsInput) GoString() string { return s.String() } -// SetAdjustedCvss sets the AdjustedCvss field's value. -func (s *InspectorScoreDetails) SetAdjustedCvss(v *CvssScoreDetails) *InspectorScoreDetails { - s.AdjustedCvss = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDelegatedAdminAccountsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDelegatedAdminAccountsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDelegatedAdminAccountsInput) SetMaxResults(v int64) *ListDelegatedAdminAccountsInput { + s.MaxResults = &v return s } -// The request has failed due to an internal failure of the Amazon Inspector -// service. -type InternalServerException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetNextToken sets the NextToken field's value. +func (s *ListDelegatedAdminAccountsInput) SetNextToken(v string) *ListDelegatedAdminAccountsInput { + s.NextToken = &v + return s +} - Message_ *string `locationName:"message" type:"string"` +type ListDelegatedAdminAccountsOutput struct { + _ struct{} `type:"structure"` - // The number of seconds to wait before retrying the request. - RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` + // Details of the Amazon Inspector delegated administrator of your organization. + DelegatedAdminAccounts []*DelegatedAdminAccount `locationName:"delegatedAdminAccounts" type:"list"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -13040,7 +18771,7 @@ type InternalServerException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServerException) String() string { +func (s ListDelegatedAdminAccountsOutput) String() string { return awsutil.Prettify(s) } @@ -13049,69 +18780,42 @@ func (s InternalServerException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServerException) GoString() string { +func (s ListDelegatedAdminAccountsOutput) GoString() string { return s.String() } - -func newErrorInternalServerException(v protocol.ResponseMetadata) error { - return &InternalServerException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InternalServerException) Code() string { - return "InternalServerException" -} - -// Message returns the exception's message. -func (s *InternalServerException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServerException) OrigErr() error { - return nil -} - -func (s *InternalServerException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServerException) StatusCode() int { - return s.RespMetadata.StatusCode + +// SetDelegatedAdminAccounts sets the DelegatedAdminAccounts field's value. +func (s *ListDelegatedAdminAccountsOutput) SetDelegatedAdminAccounts(v []*DelegatedAdminAccount) *ListDelegatedAdminAccountsOutput { + s.DelegatedAdminAccounts = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalServerException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListDelegatedAdminAccountsOutput) SetNextToken(v string) *ListDelegatedAdminAccountsOutput { + s.NextToken = &v + return s } -// The details that define a findings aggregation based on AWS Lambda functions. -type LambdaFunctionAggregation struct { +type ListFiltersInput struct { _ struct{} `type:"structure"` - // The AWS Lambda function names to include in the aggregation results. - FunctionNames []*StringFilter `locationName:"functionNames" min:"1" type:"list"` - - // The tags to include in the aggregation results. - FunctionTags []*MapFilter `locationName:"functionTags" min:"1" type:"list"` - - // The resource IDs to include in the aggregation results. - ResourceIds []*StringFilter `locationName:"resourceIds" min:"1" type:"list"` + // The action the filter applies to matched findings. + Action *string `locationName:"action" type:"string" enum:"FilterAction"` - // Returns findings aggregated by AWS Lambda function runtime environments. - Runtimes []*StringFilter `locationName:"runtimes" min:"1" type:"list"` + // The Amazon resource number (ARN) of the filter. + Arns []*string `locationName:"arns" type:"list"` - // The finding severity to use for sorting the results. - SortBy *string `locationName:"sortBy" type:"string" enum:"LambdaFunctionSortBy"` + // The maximum number of results the response can return. If your request would + // return more than the maximum the response will return a nextToken value, + // use this value when you call the action again to get the remaining results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // The order to use for sorting the results. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // If your response returns more than the maxResults maximum value it will also + // return a nextToken value. For subsequent calls, use the nextToken value returned + // from the previous request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -13119,7 +18823,7 @@ type LambdaFunctionAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaFunctionAggregation) String() string { +func (s ListFiltersInput) String() string { return awsutil.Prettify(s) } @@ -13128,64 +18832,15 @@ func (s LambdaFunctionAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaFunctionAggregation) GoString() string { +func (s ListFiltersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LambdaFunctionAggregation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAggregation"} - if s.FunctionNames != nil && len(s.FunctionNames) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FunctionNames", 1)) - } - if s.FunctionTags != nil && len(s.FunctionTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FunctionTags", 1)) - } - if s.ResourceIds != nil && len(s.ResourceIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) - } - if s.Runtimes != nil && len(s.Runtimes) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Runtimes", 1)) - } - if s.FunctionNames != nil { - for i, v := range s.FunctionNames { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FunctionNames", i), err.(request.ErrInvalidParams)) - } - } - } - if s.FunctionTags != nil { - for i, v := range s.FunctionTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FunctionTags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ResourceIds != nil { - for i, v := range s.ResourceIds { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIds", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Runtimes != nil { - for i, v := range s.Runtimes { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Runtimes", i), err.(request.ErrInvalidParams)) - } - } +func (s *ListFiltersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -13194,69 +18849,102 @@ func (s *LambdaFunctionAggregation) Validate() error { return nil } -// SetFunctionNames sets the FunctionNames field's value. -func (s *LambdaFunctionAggregation) SetFunctionNames(v []*StringFilter) *LambdaFunctionAggregation { - s.FunctionNames = v +// SetAction sets the Action field's value. +func (s *ListFiltersInput) SetAction(v string) *ListFiltersInput { + s.Action = &v return s } -// SetFunctionTags sets the FunctionTags field's value. -func (s *LambdaFunctionAggregation) SetFunctionTags(v []*MapFilter) *LambdaFunctionAggregation { - s.FunctionTags = v +// SetArns sets the Arns field's value. +func (s *ListFiltersInput) SetArns(v []*string) *ListFiltersInput { + s.Arns = v return s } -// SetResourceIds sets the ResourceIds field's value. -func (s *LambdaFunctionAggregation) SetResourceIds(v []*StringFilter) *LambdaFunctionAggregation { - s.ResourceIds = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput { + s.MaxResults = &v return s } -// SetRuntimes sets the Runtimes field's value. -func (s *LambdaFunctionAggregation) SetRuntimes(v []*StringFilter) *LambdaFunctionAggregation { - s.Runtimes = v +// SetNextToken sets the NextToken field's value. +func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput { + s.NextToken = &v return s } -// SetSortBy sets the SortBy field's value. -func (s *LambdaFunctionAggregation) SetSortBy(v string) *LambdaFunctionAggregation { - s.SortBy = &v +type ListFiltersOutput struct { + _ struct{} `type:"structure"` + + // Contains details on the filters associated with your account. + // + // Filters is a required field + Filters []*Filter `locationName:"filters" type:"list" required:"true"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFiltersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFiltersOutput) GoString() string { + return s.String() +} + +// SetFilters sets the Filters field's value. +func (s *ListFiltersOutput) SetFilters(v []*Filter) *ListFiltersOutput { + s.Filters = v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *LambdaFunctionAggregation) SetSortOrder(v string) *LambdaFunctionAggregation { - s.SortOrder = &v +// SetNextToken sets the NextToken field's value. +func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput { + s.NextToken = &v return s } -// A response that contains the results of an AWS Lambda function finding aggregation. -type LambdaFunctionAggregationResponse struct { +type ListFindingAggregationsInput struct { _ struct{} `type:"structure"` - // The ID of the AWS account that owns the AWS Lambda function. - AccountId *string `locationName:"accountId" min:"12" type:"string"` - - // The AWS Lambda function names included in the aggregation results. - FunctionName *string `locationName:"functionName" type:"string"` - - // The tags included in the aggregation results. - LambdaTags map[string]*string `locationName:"lambdaTags" type:"map"` + // The Amazon Web Services account IDs to retrieve finding aggregation data + // for. + AccountIds []*StringFilter `locationName:"accountIds" min:"1" type:"list"` - // The date that the AWS Lambda function included in the aggregation results - // was last changed. - LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp"` + // Details of the aggregation request that is used to filter your aggregation + // results. + AggregationRequest *AggregationRequest `locationName:"aggregationRequest" type:"structure"` - // The resource IDs included in the aggregation results. + // The type of the aggregation request. // - // ResourceId is a required field - ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"` + // AggregationType is a required field + AggregationType *string `locationName:"aggregationType" type:"string" required:"true" enum:"AggregationType"` - // The runtimes included in the aggregation results. - Runtime *string `locationName:"runtime" type:"string"` + // The maximum number of results the response can return. If your request would + // return more than the maximum the response will return a nextToken value, + // use this value when you call the action again to get the remaining results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // An object that contains the counts of aggregated finding per severity. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // If your response returns more than the maxResults maximum value it will also + // return a nextToken value. For subsequent calls, use the nextToken value returned + // from the previous request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -13264,7 +18952,7 @@ type LambdaFunctionAggregationResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaFunctionAggregationResponse) String() string { +func (s ListFindingAggregationsInput) String() string { return awsutil.Prettify(s) } @@ -13273,68 +18961,90 @@ func (s LambdaFunctionAggregationResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaFunctionAggregationResponse) GoString() string { +func (s ListFindingAggregationsInput) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *LambdaFunctionAggregationResponse) SetAccountId(v string) *LambdaFunctionAggregationResponse { - s.AccountId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFindingAggregationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFindingAggregationsInput"} + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.AggregationType == nil { + invalidParams.Add(request.NewErrParamRequired("AggregationType")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.AccountIds != nil { + for i, v := range s.AccountIds { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountIds", i), err.(request.ErrInvalidParams)) + } + } + } + if s.AggregationRequest != nil { + if err := s.AggregationRequest.Validate(); err != nil { + invalidParams.AddNested("AggregationRequest", err.(request.ErrInvalidParams)) + } + } -// SetFunctionName sets the FunctionName field's value. -func (s *LambdaFunctionAggregationResponse) SetFunctionName(v string) *LambdaFunctionAggregationResponse { - s.FunctionName = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLambdaTags sets the LambdaTags field's value. -func (s *LambdaFunctionAggregationResponse) SetLambdaTags(v map[string]*string) *LambdaFunctionAggregationResponse { - s.LambdaTags = v +// SetAccountIds sets the AccountIds field's value. +func (s *ListFindingAggregationsInput) SetAccountIds(v []*StringFilter) *ListFindingAggregationsInput { + s.AccountIds = v return s } -// SetLastModifiedAt sets the LastModifiedAt field's value. -func (s *LambdaFunctionAggregationResponse) SetLastModifiedAt(v time.Time) *LambdaFunctionAggregationResponse { - s.LastModifiedAt = &v +// SetAggregationRequest sets the AggregationRequest field's value. +func (s *ListFindingAggregationsInput) SetAggregationRequest(v *AggregationRequest) *ListFindingAggregationsInput { + s.AggregationRequest = v return s } -// SetResourceId sets the ResourceId field's value. -func (s *LambdaFunctionAggregationResponse) SetResourceId(v string) *LambdaFunctionAggregationResponse { - s.ResourceId = &v +// SetAggregationType sets the AggregationType field's value. +func (s *ListFindingAggregationsInput) SetAggregationType(v string) *ListFindingAggregationsInput { + s.AggregationType = &v return s } -// SetRuntime sets the Runtime field's value. -func (s *LambdaFunctionAggregationResponse) SetRuntime(v string) *LambdaFunctionAggregationResponse { - s.Runtime = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListFindingAggregationsInput) SetMaxResults(v int64) *ListFindingAggregationsInput { + s.MaxResults = &v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *LambdaFunctionAggregationResponse) SetSeverityCounts(v *SeverityCounts) *LambdaFunctionAggregationResponse { - s.SeverityCounts = v +// SetNextToken sets the NextToken field's value. +func (s *ListFindingAggregationsInput) SetNextToken(v string) *ListFindingAggregationsInput { + s.NextToken = &v return s } -// The AWS Lambda function metadata. -type LambdaFunctionMetadata struct { +type ListFindingAggregationsOutput struct { _ struct{} `type:"structure"` - // The name of a function. - FunctionName *string `locationName:"functionName" type:"string"` - - // The resource tags on an AWS Lambda function. - FunctionTags map[string]*string `locationName:"functionTags" type:"map"` + // The type of aggregation to perform. + // + // AggregationType is a required field + AggregationType *string `locationName:"aggregationType" type:"string" required:"true" enum:"AggregationType"` - // The layers for an AWS Lambda function. A Lambda function can have up to five - // layers. - Layers []*string `locationName:"layers" type:"list"` + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` - // An AWS Lambda function's runtime. - Runtime *string `locationName:"runtime" type:"string" enum:"Runtime"` + // Objects that contain the results of an aggregation operation. + Responses []*AggregationResponse `locationName:"responses" type:"list"` } // String returns the string representation. @@ -13342,7 +19052,7 @@ type LambdaFunctionMetadata struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaFunctionMetadata) String() string { +func (s ListFindingAggregationsOutput) String() string { return awsutil.Prettify(s) } @@ -13351,53 +19061,48 @@ func (s LambdaFunctionMetadata) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaFunctionMetadata) GoString() string { +func (s ListFindingAggregationsOutput) GoString() string { return s.String() } -// SetFunctionName sets the FunctionName field's value. -func (s *LambdaFunctionMetadata) SetFunctionName(v string) *LambdaFunctionMetadata { - s.FunctionName = &v - return s -} - -// SetFunctionTags sets the FunctionTags field's value. -func (s *LambdaFunctionMetadata) SetFunctionTags(v map[string]*string) *LambdaFunctionMetadata { - s.FunctionTags = v +// SetAggregationType sets the AggregationType field's value. +func (s *ListFindingAggregationsOutput) SetAggregationType(v string) *ListFindingAggregationsOutput { + s.AggregationType = &v return s } -// SetLayers sets the Layers field's value. -func (s *LambdaFunctionMetadata) SetLayers(v []*string) *LambdaFunctionMetadata { - s.Layers = v +// SetNextToken sets the NextToken field's value. +func (s *ListFindingAggregationsOutput) SetNextToken(v string) *ListFindingAggregationsOutput { + s.NextToken = &v return s } -// SetRuntime sets the Runtime field's value. -func (s *LambdaFunctionMetadata) SetRuntime(v string) *LambdaFunctionMetadata { - s.Runtime = &v +// SetResponses sets the Responses field's value. +func (s *ListFindingAggregationsOutput) SetResponses(v []*AggregationResponse) *ListFindingAggregationsOutput { + s.Responses = v return s } -// The details that define a findings aggregation based on an AWS Lambda function's -// layers. -type LambdaLayerAggregation struct { +type ListFindingsInput struct { _ struct{} `type:"structure"` - // The names of the AWS Lambda functions associated with the layers. - FunctionNames []*StringFilter `locationName:"functionNames" min:"1" type:"list"` - - // The Amazon Resource Name (ARN) of the AWS Lambda function layer. - LayerArns []*StringFilter `locationName:"layerArns" min:"1" type:"list"` + // Details on the filters to apply to your finding results. + FilterCriteria *FilterCriteria `locationName:"filterCriteria" type:"structure"` - // The resource IDs for the AWS Lambda function layers. - ResourceIds []*StringFilter `locationName:"resourceIds" min:"1" type:"list"` + // The maximum number of results the response can return. If your request would + // return more than the maximum the response will return a nextToken value, + // use this value when you call the action again to get the remaining results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // The finding severity to use for sorting the results. - SortBy *string `locationName:"sortBy" type:"string" enum:"LambdaLayerSortBy"` + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // If your response returns more than the maxResults maximum value it will also + // return a nextToken value. For subsequent calls, use the nextToken value returned + // from the previous request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` - // The order to use for sorting the results. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` + // Details on the sort criteria to apply to your finding results. + SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"` } // String returns the string representation. @@ -13405,7 +19110,7 @@ type LambdaLayerAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaLayerAggregation) String() string { +func (s ListFindingsInput) String() string { return awsutil.Prettify(s) } @@ -13414,50 +19119,24 @@ func (s LambdaLayerAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaLayerAggregation) GoString() string { +func (s ListFindingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LambdaLayerAggregation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LambdaLayerAggregation"} - if s.FunctionNames != nil && len(s.FunctionNames) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FunctionNames", 1)) - } - if s.LayerArns != nil && len(s.LayerArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LayerArns", 1)) - } - if s.ResourceIds != nil && len(s.ResourceIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1)) - } - if s.FunctionNames != nil { - for i, v := range s.FunctionNames { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FunctionNames", i), err.(request.ErrInvalidParams)) - } - } +func (s *ListFindingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.LayerArns != nil { - for i, v := range s.LayerArns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LayerArns", i), err.(request.ErrInvalidParams)) - } + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) } } - if s.ResourceIds != nil { - for i, v := range s.ResourceIds { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceIds", i), err.(request.ErrInvalidParams)) - } + if s.SortCriteria != nil { + if err := s.SortCriteria.Validate(); err != nil { + invalidParams.AddNested("SortCriteria", err.(request.ErrInvalidParams)) } } @@ -13467,63 +19146,91 @@ func (s *LambdaLayerAggregation) Validate() error { return nil } -// SetFunctionNames sets the FunctionNames field's value. -func (s *LambdaLayerAggregation) SetFunctionNames(v []*StringFilter) *LambdaLayerAggregation { - s.FunctionNames = v +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *ListFindingsInput) SetFilterCriteria(v *FilterCriteria) *ListFindingsInput { + s.FilterCriteria = v return s } -// SetLayerArns sets the LayerArns field's value. -func (s *LambdaLayerAggregation) SetLayerArns(v []*StringFilter) *LambdaLayerAggregation { - s.LayerArns = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput { + s.MaxResults = &v return s } -// SetResourceIds sets the ResourceIds field's value. -func (s *LambdaLayerAggregation) SetResourceIds(v []*StringFilter) *LambdaLayerAggregation { - s.ResourceIds = v +// SetNextToken sets the NextToken field's value. +func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput { + s.NextToken = &v return s } -// SetSortBy sets the SortBy field's value. -func (s *LambdaLayerAggregation) SetSortBy(v string) *LambdaLayerAggregation { - s.SortBy = &v +// SetSortCriteria sets the SortCriteria field's value. +func (s *ListFindingsInput) SetSortCriteria(v *SortCriteria) *ListFindingsInput { + s.SortCriteria = v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *LambdaLayerAggregation) SetSortOrder(v string) *LambdaLayerAggregation { - s.SortOrder = &v - return s +type ListFindingsOutput struct { + _ struct{} `type:"structure"` + + // Contains details on the findings in your environment. + Findings []*Finding `locationName:"findings" type:"list"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` } -// A response that contains the results of an AWS Lambda function layer finding -// aggregation. -type LambdaLayerAggregationResponse struct { - _ struct{} `type:"structure"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFindingsOutput) String() string { + return awsutil.Prettify(s) +} - // The account ID of the AWS Lambda function layer. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListFindingsOutput) GoString() string { + return s.String() +} - // The names of the AWS Lambda functions associated with the layers. - // - // FunctionName is a required field - FunctionName *string `locationName:"functionName" min:"1" type:"string" required:"true"` +// SetFindings sets the Findings field's value. +func (s *ListFindingsOutput) SetFindings(v []*Finding) *ListFindingsOutput { + s.Findings = v + return s +} - // The Amazon Resource Name (ARN) of the AWS Lambda function layer. - // - // LayerArn is a required field - LayerArn *string `locationName:"layerArn" min:"1" type:"string" required:"true"` +// SetNextToken sets the NextToken field's value. +func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput { + s.NextToken = &v + return s +} - // The Resource ID of the AWS Lambda function layer. - // - // ResourceId is a required field - ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"` +type ListMembersInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results the response can return. If your request would + // return more than the maximum the response will return a nextToken value, + // use this value when you call the action again to get the remaining results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // If your response returns more than the maxResults maximum value it will also + // return a nextToken value. For subsequent calls, use the nextToken value returned + // from the previous request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` - // An object that contains the counts of aggregated finding per severity. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` + // Specifies whether to list only currently associated members if True or to + // list all members within the organization if False. + OnlyAssociated *bool `locationName:"onlyAssociated" type:"boolean"` } // String returns the string representation. @@ -13531,7 +19238,7 @@ type LambdaLayerAggregationResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaLayerAggregationResponse) String() string { +func (s ListMembersInput) String() string { return awsutil.Prettify(s) } @@ -13540,54 +19247,50 @@ func (s LambdaLayerAggregationResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaLayerAggregationResponse) GoString() string { +func (s ListMembersInput) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *LambdaLayerAggregationResponse) SetAccountId(v string) *LambdaLayerAggregationResponse { - s.AccountId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } -// SetFunctionName sets the FunctionName field's value. -func (s *LambdaLayerAggregationResponse) SetFunctionName(v string) *LambdaLayerAggregationResponse { - s.FunctionName = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLayerArn sets the LayerArn field's value. -func (s *LambdaLayerAggregationResponse) SetLayerArn(v string) *LambdaLayerAggregationResponse { - s.LayerArn = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput { + s.MaxResults = &v return s } -// SetResourceId sets the ResourceId field's value. -func (s *LambdaLayerAggregationResponse) SetResourceId(v string) *LambdaLayerAggregationResponse { - s.ResourceId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput { + s.NextToken = &v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *LambdaLayerAggregationResponse) SetSeverityCounts(v *SeverityCounts) *LambdaLayerAggregationResponse { - s.SeverityCounts = v +// SetOnlyAssociated sets the OnlyAssociated field's value. +func (s *ListMembersInput) SetOnlyAssociated(v bool) *ListMembersInput { + s.OnlyAssociated = &v return s } -// The VPC security groups and subnets that are attached to an AWS Lambda function. -// For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). -type LambdaVpcConfig struct { +type ListMembersOutput struct { _ struct{} `type:"structure"` - // The VPC security groups and subnets that are attached to an AWS Lambda function. - // For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html). - SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` - - // A list of VPC subnet IDs. - SubnetIds []*string `locationName:"subnetIds" type:"list"` + // An object that contains details for each member account. + Members []*Member `locationName:"members" type:"list"` - // The ID of the VPC. - VpcId *string `locationName:"vpcId" type:"string"` + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -13595,7 +19298,7 @@ type LambdaVpcConfig struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaVpcConfig) String() string { +func (s ListMembersOutput) String() string { return awsutil.Prettify(s) } @@ -13604,45 +19307,29 @@ func (s LambdaVpcConfig) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s LambdaVpcConfig) GoString() string { +func (s ListMembersOutput) GoString() string { return s.String() } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *LambdaVpcConfig) SetSecurityGroupIds(v []*string) *LambdaVpcConfig { - s.SecurityGroupIds = v - return s -} - -// SetSubnetIds sets the SubnetIds field's value. -func (s *LambdaVpcConfig) SetSubnetIds(v []*string) *LambdaVpcConfig { - s.SubnetIds = v +// SetMembers sets the Members field's value. +func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput { + s.Members = v return s } -// SetVpcId sets the VpcId field's value. -func (s *LambdaVpcConfig) SetVpcId(v string) *LambdaVpcConfig { - s.VpcId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput { + s.NextToken = &v return s } -type ListAccountPermissionsInput struct { - _ struct{} `type:"structure"` - - // The maximum number of results the response can return. If your request would - // return more than the maximum the response will return a nextToken value, - // use this value when you call the action again to get the remaining results. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // If your response returns more than the maxResults maximum value it will also - // return a nextToken value. For subsequent calls, use the NextToken value returned - // from the previous request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The service scan type to check permissions for. - Service *string `locationName:"service" type:"string" enum:"Service"` + // The Amazon resource number (ARN) of the resource to list tags of. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13650,7 +19337,7 @@ type ListAccountPermissionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAccountPermissionsInput) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } @@ -13659,15 +19346,18 @@ func (s ListAccountPermissionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAccountPermissionsInput) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListAccountPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListAccountPermissionsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -13676,37 +19366,17 @@ func (s *ListAccountPermissionsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListAccountPermissionsInput) SetMaxResults(v int64) *ListAccountPermissionsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListAccountPermissionsInput) SetNextToken(v string) *ListAccountPermissionsInput { - s.NextToken = &v - return s -} - -// SetService sets the Service field's value. -func (s *ListAccountPermissionsInput) SetService(v string) *ListAccountPermissionsInput { - s.Service = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v return s } -type ListAccountPermissionsOutput struct { +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` - - // Contains details on the permissions an account has to configure Amazon Inspector. - // - // Permissions is a required field - Permissions []*Permission `locationName:"permissions" type:"list" required:"true"` + // The tags associated with the resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -13714,7 +19384,7 @@ type ListAccountPermissionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAccountPermissionsOutput) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } @@ -13723,28 +19393,21 @@ func (s ListAccountPermissionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAccountPermissionsOutput) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListAccountPermissionsOutput) SetNextToken(v string) *ListAccountPermissionsOutput { - s.NextToken = &v - return s -} - -// SetPermissions sets the Permissions field's value. -func (s *ListAccountPermissionsOutput) SetPermissions(v []*Permission) *ListAccountPermissionsOutput { - s.Permissions = v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v return s } -type ListCoverageInput struct { +type ListUsageTotalsInput struct { _ struct{} `type:"structure"` - // An object that contains details on the filters to apply to the coverage data - // for your environment. - FilterCriteria *CoverageFilterCriteria `locationName:"filterCriteria" type:"structure"` + // The Amazon Web Services account IDs to retrieve usage totals for. + AccountIds []*string `locationName:"accountIds" min:"1" type:"list"` // The maximum number of results the response can return. If your request would // return more than the maximum the response will return a nextToken value, @@ -13756,7 +19419,7 @@ type ListCoverageInput struct { // If your response returns more than the maxResults maximum value it will also // return a nextToken value. For subsequent calls, use the nextToken value returned // from the previous request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"1" type:"string"` } // String returns the string representation. @@ -13764,7 +19427,7 @@ type ListCoverageInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCoverageInput) String() string { +func (s ListUsageTotalsInput) String() string { return awsutil.Prettify(s) } @@ -13773,20 +19436,21 @@ func (s ListCoverageInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCoverageInput) GoString() string { +func (s ListUsageTotalsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListCoverageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListCoverageInput"} +func (s *ListUsageTotalsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUsageTotalsInput"} + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.FilterCriteria != nil { - if err := s.FilterCriteria.Validate(); err != nil { - invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) - } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -13795,35 +19459,33 @@ func (s *ListCoverageInput) Validate() error { return nil } -// SetFilterCriteria sets the FilterCriteria field's value. -func (s *ListCoverageInput) SetFilterCriteria(v *CoverageFilterCriteria) *ListCoverageInput { - s.FilterCriteria = v +// SetAccountIds sets the AccountIds field's value. +func (s *ListUsageTotalsInput) SetAccountIds(v []*string) *ListUsageTotalsInput { + s.AccountIds = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListCoverageInput) SetMaxResults(v int64) *ListCoverageInput { +func (s *ListUsageTotalsInput) SetMaxResults(v int64) *ListUsageTotalsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListCoverageInput) SetNextToken(v string) *ListCoverageInput { +func (s *ListUsageTotalsInput) SetNextToken(v string) *ListUsageTotalsInput { s.NextToken = &v return s } -type ListCoverageOutput struct { +type ListUsageTotalsOutput struct { _ struct{} `type:"structure"` - // An object that contains details on the covered resources in your environment. - CoveredResources []*CoveredResource `locationName:"coveredResources" type:"list"` + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // An object with details on the total usage for the requested account. + Totals []*UsageTotal `locationName:"totals" type:"list"` } // String returns the string representation. @@ -13831,7 +19493,7 @@ type ListCoverageOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCoverageOutput) String() string { +func (s ListUsageTotalsOutput) String() string { return awsutil.Prettify(s) } @@ -13840,37 +19502,38 @@ func (s ListCoverageOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCoverageOutput) GoString() string { +func (s ListUsageTotalsOutput) GoString() string { return s.String() } -// SetCoveredResources sets the CoveredResources field's value. -func (s *ListCoverageOutput) SetCoveredResources(v []*CoveredResource) *ListCoverageOutput { - s.CoveredResources = v +// SetNextToken sets the NextToken field's value. +func (s *ListUsageTotalsOutput) SetNextToken(v string) *ListUsageTotalsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListCoverageOutput) SetNextToken(v string) *ListCoverageOutput { - s.NextToken = &v +// SetTotals sets the Totals field's value. +func (s *ListUsageTotalsOutput) SetTotals(v []*UsageTotal) *ListUsageTotalsOutput { + s.Totals = v return s } -type ListCoverageStatisticsInput struct { +// An object that describes details of a map filter. +type MapFilter struct { _ struct{} `type:"structure"` - // An object that contains details on the filters to apply to the coverage data - // for your environment. - FilterCriteria *CoverageFilterCriteria `locationName:"filterCriteria" type:"structure"` + // The operator to use when comparing values in the filter. + // + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"MapComparison"` - // The value to group the results by. - GroupBy *string `locationName:"groupBy" type:"string" enum:"GroupKey"` + // The tag key used in the filter. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // The tag value used in the filter. + Value *string `locationName:"value" type:"string"` } // String returns the string representation. @@ -13878,7 +19541,7 @@ type ListCoverageStatisticsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCoverageStatisticsInput) String() string { +func (s MapFilter) String() string { return awsutil.Prettify(s) } @@ -13887,17 +19550,21 @@ func (s ListCoverageStatisticsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCoverageStatisticsInput) GoString() string { +func (s MapFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListCoverageStatisticsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListCoverageStatisticsInput"} - if s.FilterCriteria != nil { - if err := s.FilterCriteria.Validate(); err != nil { - invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) - } +func (s *MapFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MapFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if invalidParams.Len() > 0 { @@ -13906,40 +19573,40 @@ func (s *ListCoverageStatisticsInput) Validate() error { return nil } -// SetFilterCriteria sets the FilterCriteria field's value. -func (s *ListCoverageStatisticsInput) SetFilterCriteria(v *CoverageFilterCriteria) *ListCoverageStatisticsInput { - s.FilterCriteria = v +// SetComparison sets the Comparison field's value. +func (s *MapFilter) SetComparison(v string) *MapFilter { + s.Comparison = &v return s } -// SetGroupBy sets the GroupBy field's value. -func (s *ListCoverageStatisticsInput) SetGroupBy(v string) *ListCoverageStatisticsInput { - s.GroupBy = &v +// SetKey sets the Key field's value. +func (s *MapFilter) SetKey(v string) *MapFilter { + s.Key = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListCoverageStatisticsInput) SetNextToken(v string) *ListCoverageStatisticsInput { - s.NextToken = &v +// SetValue sets the Value field's value. +func (s *MapFilter) SetValue(v string) *MapFilter { + s.Value = &v return s } -type ListCoverageStatisticsOutput struct { +// Details on a member account in your organization. +type Member struct { _ struct{} `type:"structure"` - // An array with the number for each group. - CountsByGroup []*Counts `locationName:"countsByGroup" min:"1" type:"list"` + // The Amazon Web Services account ID of the member account. + AccountId *string `locationName:"accountId" min:"12" type:"string"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // The Amazon Web Services account ID of the Amazon Inspector delegated administrator + // for this member account. + DelegatedAdminAccountId *string `locationName:"delegatedAdminAccountId" min:"12" type:"string"` - // The total number for all groups. - // - // TotalCounts is a required field - TotalCounts *int64 `locationName:"totalCounts" type:"long" required:"true"` + // The status of the member account. + RelationshipStatus *string `locationName:"relationshipStatus" type:"string" enum:"RelationshipStatus"` + + // A timestamp showing when the status of this member was last updated. + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` } // String returns the string representation. @@ -13947,7 +19614,7 @@ type ListCoverageStatisticsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCoverageStatisticsOutput) String() string { +func (s Member) String() string { return awsutil.Prettify(s) } @@ -13956,42 +19623,50 @@ func (s ListCoverageStatisticsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCoverageStatisticsOutput) GoString() string { +func (s Member) GoString() string { return s.String() } -// SetCountsByGroup sets the CountsByGroup field's value. -func (s *ListCoverageStatisticsOutput) SetCountsByGroup(v []*Counts) *ListCoverageStatisticsOutput { - s.CountsByGroup = v +// SetAccountId sets the AccountId field's value. +func (s *Member) SetAccountId(v string) *Member { + s.AccountId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListCoverageStatisticsOutput) SetNextToken(v string) *ListCoverageStatisticsOutput { - s.NextToken = &v +// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. +func (s *Member) SetDelegatedAdminAccountId(v string) *Member { + s.DelegatedAdminAccountId = &v return s } -// SetTotalCounts sets the TotalCounts field's value. -func (s *ListCoverageStatisticsOutput) SetTotalCounts(v int64) *ListCoverageStatisticsOutput { - s.TotalCounts = &v +// SetRelationshipStatus sets the RelationshipStatus field's value. +func (s *Member) SetRelationshipStatus(v string) *Member { + s.RelationshipStatus = &v return s } -type ListDelegatedAdminAccountsInput struct { +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *Member) SetUpdatedAt(v time.Time) *Member { + s.UpdatedAt = &v + return s +} + +// An object that contains details about the status of Amazon Inspector deep +// inspection for a member account in your organization. +type MemberAccountEc2DeepInspectionStatus struct { _ struct{} `type:"structure"` - // The maximum number of results the response can return. If your request would - // return more than the maximum the response will return a nextToken value, - // use this value when you call the action again to get the remaining results. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // The unique identifier for the Amazon Web Services account of the organization + // member. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // If your response returns more than the maxResults maximum value it will also - // return a nextToken value. For subsequent calls, use the nextToken value returned - // from the previous request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // Whether Amazon Inspector deep inspection is active in the account. If TRUE + // Amazon Inspector deep inspection is active, if FALSE it is not active. + // + // ActivateDeepInspection is a required field + ActivateDeepInspection *bool `locationName:"activateDeepInspection" type:"boolean" required:"true"` } // String returns the string representation. @@ -13999,7 +19674,7 @@ type ListDelegatedAdminAccountsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListDelegatedAdminAccountsInput) String() string { +func (s MemberAccountEc2DeepInspectionStatus) String() string { return awsutil.Prettify(s) } @@ -14008,15 +19683,21 @@ func (s ListDelegatedAdminAccountsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListDelegatedAdminAccountsInput) GoString() string { +func (s MemberAccountEc2DeepInspectionStatus) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListDelegatedAdminAccountsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDelegatedAdminAccountsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *MemberAccountEc2DeepInspectionStatus) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MemberAccountEc2DeepInspectionStatus"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } + if s.ActivateDeepInspection == nil { + invalidParams.Add(request.NewErrParamRequired("ActivateDeepInspection")) } if invalidParams.Len() > 0 { @@ -14025,29 +19706,35 @@ func (s *ListDelegatedAdminAccountsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListDelegatedAdminAccountsInput) SetMaxResults(v int64) *ListDelegatedAdminAccountsInput { - s.MaxResults = &v +// SetAccountId sets the AccountId field's value. +func (s *MemberAccountEc2DeepInspectionStatus) SetAccountId(v string) *MemberAccountEc2DeepInspectionStatus { + s.AccountId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListDelegatedAdminAccountsInput) SetNextToken(v string) *ListDelegatedAdminAccountsInput { - s.NextToken = &v +// SetActivateDeepInspection sets the ActivateDeepInspection field's value. +func (s *MemberAccountEc2DeepInspectionStatus) SetActivateDeepInspection(v bool) *MemberAccountEc2DeepInspectionStatus { + s.ActivateDeepInspection = &v return s } -type ListDelegatedAdminAccountsOutput struct { +// An object that contains details about the state of Amazon Inspector deep +// inspection for a member account. +type MemberAccountEc2DeepInspectionStatusState struct { _ struct{} `type:"structure"` - // Details of the Amazon Inspector delegated administrator of your organization. - DelegatedAdminAccounts []*DelegatedAdminAccount `locationName:"delegatedAdminAccounts" type:"list"` + // The unique identifier for the Amazon Web Services account of the organization + // member + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // The error message explaining why the account failed to activate Amazon Inspector + // deep inspection. + ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string"` + + // The state of Amazon Inspector deep inspection in the member account. + Status *string `locationName:"status" type:"string" enum:"Ec2DeepInspectionStatus"` } // String returns the string representation. @@ -14055,7 +19742,7 @@ type ListDelegatedAdminAccountsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListDelegatedAdminAccountsOutput) String() string { +func (s MemberAccountEc2DeepInspectionStatusState) String() string { return awsutil.Prettify(s) } @@ -14064,42 +19751,41 @@ func (s ListDelegatedAdminAccountsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListDelegatedAdminAccountsOutput) GoString() string { +func (s MemberAccountEc2DeepInspectionStatusState) GoString() string { return s.String() } -// SetDelegatedAdminAccounts sets the DelegatedAdminAccounts field's value. -func (s *ListDelegatedAdminAccountsOutput) SetDelegatedAdminAccounts(v []*DelegatedAdminAccount) *ListDelegatedAdminAccountsOutput { - s.DelegatedAdminAccounts = v +// SetAccountId sets the AccountId field's value. +func (s *MemberAccountEc2DeepInspectionStatusState) SetAccountId(v string) *MemberAccountEc2DeepInspectionStatusState { + s.AccountId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListDelegatedAdminAccountsOutput) SetNextToken(v string) *ListDelegatedAdminAccountsOutput { - s.NextToken = &v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *MemberAccountEc2DeepInspectionStatusState) SetErrorMessage(v string) *MemberAccountEc2DeepInspectionStatusState { + s.ErrorMessage = &v return s } -type ListFiltersInput struct { - _ struct{} `type:"structure"` - - // The action the filter applies to matched findings. - Action *string `locationName:"action" type:"string" enum:"FilterAction"` +// SetStatus sets the Status field's value. +func (s *MemberAccountEc2DeepInspectionStatusState) SetStatus(v string) *MemberAccountEc2DeepInspectionStatusState { + s.Status = &v + return s +} - // The Amazon resource number (ARN) of the filter. - Arns []*string `locationName:"arns" type:"list"` +// A monthly schedule. +type MonthlySchedule struct { + _ struct{} `type:"structure"` - // The maximum number of results the response can return. If your request would - // return more than the maximum the response will return a nextToken value, - // use this value when you call the action again to get the remaining results. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // The monthly schedule's day. + // + // Day is a required field + Day *string `locationName:"day" type:"string" required:"true" enum:"Day"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // If your response returns more than the maxResults maximum value it will also - // return a nextToken value. For subsequent calls, use the nextToken value returned - // from the previous request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // The monthly schedule's start time. + // + // StartTime is a required field + StartTime *Time `locationName:"startTime" type:"structure" required:"true"` } // String returns the string representation. @@ -14107,7 +19793,7 @@ type ListFiltersInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFiltersInput) String() string { +func (s MonthlySchedule) String() string { return awsutil.Prettify(s) } @@ -14116,15 +19802,23 @@ func (s ListFiltersInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFiltersInput) GoString() string { +func (s MonthlySchedule) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListFiltersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *MonthlySchedule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MonthlySchedule"} + if s.Day == nil { + invalidParams.Add(request.NewErrParamRequired("Day")) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + if s.StartTime != nil { + if err := s.StartTime.Validate(); err != nil { + invalidParams.AddNested("StartTime", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -14133,43 +19827,24 @@ func (s *ListFiltersInput) Validate() error { return nil } -// SetAction sets the Action field's value. -func (s *ListFiltersInput) SetAction(v string) *ListFiltersInput { - s.Action = &v - return s -} - -// SetArns sets the Arns field's value. -func (s *ListFiltersInput) SetArns(v []*string) *ListFiltersInput { - s.Arns = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput { - s.MaxResults = &v +// SetDay sets the Day field's value. +func (s *MonthlySchedule) SetDay(v string) *MonthlySchedule { + s.Day = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput { - s.NextToken = &v +// SetStartTime sets the StartTime field's value. +func (s *MonthlySchedule) SetStartTime(v *Time) *MonthlySchedule { + s.StartTime = v return s } -type ListFiltersOutput struct { +// Information on the network path associated with a finding. +type NetworkPath struct { _ struct{} `type:"structure"` - - // Contains details on the filters associated with your account. - // - // Filters is a required field - Filters []*Filter `locationName:"filters" type:"list" required:"true"` - - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + + // The details on the steps in the network path. + Steps []*Step `locationName:"steps" min:"1" type:"list"` } // String returns the string representation. @@ -14177,7 +19852,7 @@ type ListFiltersOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFiltersOutput) String() string { +func (s NetworkPath) String() string { return awsutil.Prettify(s) } @@ -14186,49 +19861,35 @@ func (s ListFiltersOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFiltersOutput) GoString() string { +func (s NetworkPath) GoString() string { return s.String() } -// SetFilters sets the Filters field's value. -func (s *ListFiltersOutput) SetFilters(v []*Filter) *ListFiltersOutput { - s.Filters = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput { - s.NextToken = &v +// SetSteps sets the Steps field's value. +func (s *NetworkPath) SetSteps(v []*Step) *NetworkPath { + s.Steps = v return s } -type ListFindingAggregationsInput struct { +// Contains the details of a network reachability finding. +type NetworkReachabilityDetails struct { _ struct{} `type:"structure"` - // The Amazon Web Services account IDs to retrieve finding aggregation data - // for. - AccountIds []*StringFilter `locationName:"accountIds" min:"1" type:"list"` - - // Details of the aggregation request that is used to filter your aggregation - // results. - AggregationRequest *AggregationRequest `locationName:"aggregationRequest" type:"structure"` - - // The type of the aggregation request. + // An object that contains details about a network path associated with a finding. // - // AggregationType is a required field - AggregationType *string `locationName:"aggregationType" type:"string" required:"true" enum:"AggregationType"` + // NetworkPath is a required field + NetworkPath *NetworkPath `locationName:"networkPath" type:"structure" required:"true"` - // The maximum number of results the response can return. If your request would - // return more than the maximum the response will return a nextToken value, - // use this value when you call the action again to get the remaining results. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // An object that contains details about the open port range associated with + // a finding. + // + // OpenPortRange is a required field + OpenPortRange *PortRange `locationName:"openPortRange" type:"structure" required:"true"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // If your response returns more than the maxResults maximum value it will also - // return a nextToken value. For subsequent calls, use the nextToken value returned - // from the previous request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // The protocol associated with a finding. + // + // Protocol is a required field + Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"NetworkProtocol"` } // String returns the string representation. @@ -14236,7 +19897,7 @@ type ListFindingAggregationsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFindingAggregationsInput) String() string { +func (s NetworkReachabilityDetails) String() string { return awsutil.Prettify(s) } @@ -14245,90 +19906,37 @@ func (s ListFindingAggregationsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFindingAggregationsInput) GoString() string { +func (s NetworkReachabilityDetails) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListFindingAggregationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListFindingAggregationsInput"} - if s.AccountIds != nil && len(s.AccountIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) - } - if s.AggregationType == nil { - invalidParams.Add(request.NewErrParamRequired("AggregationType")) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.AccountIds != nil { - for i, v := range s.AccountIds { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountIds", i), err.(request.ErrInvalidParams)) - } - } - } - if s.AggregationRequest != nil { - if err := s.AggregationRequest.Validate(); err != nil { - invalidParams.AddNested("AggregationRequest", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAccountIds sets the AccountIds field's value. -func (s *ListFindingAggregationsInput) SetAccountIds(v []*StringFilter) *ListFindingAggregationsInput { - s.AccountIds = v - return s -} - -// SetAggregationRequest sets the AggregationRequest field's value. -func (s *ListFindingAggregationsInput) SetAggregationRequest(v *AggregationRequest) *ListFindingAggregationsInput { - s.AggregationRequest = v - return s -} - -// SetAggregationType sets the AggregationType field's value. -func (s *ListFindingAggregationsInput) SetAggregationType(v string) *ListFindingAggregationsInput { - s.AggregationType = &v +// SetNetworkPath sets the NetworkPath field's value. +func (s *NetworkReachabilityDetails) SetNetworkPath(v *NetworkPath) *NetworkReachabilityDetails { + s.NetworkPath = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListFindingAggregationsInput) SetMaxResults(v int64) *ListFindingAggregationsInput { - s.MaxResults = &v +// SetOpenPortRange sets the OpenPortRange field's value. +func (s *NetworkReachabilityDetails) SetOpenPortRange(v *PortRange) *NetworkReachabilityDetails { + s.OpenPortRange = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListFindingAggregationsInput) SetNextToken(v string) *ListFindingAggregationsInput { - s.NextToken = &v +// SetProtocol sets the Protocol field's value. +func (s *NetworkReachabilityDetails) SetProtocol(v string) *NetworkReachabilityDetails { + s.Protocol = &v return s } -type ListFindingAggregationsOutput struct { +// An object that describes the details of a number filter. +type NumberFilter struct { _ struct{} `type:"structure"` - // The type of aggregation to perform. - // - // AggregationType is a required field - AggregationType *string `locationName:"aggregationType" type:"string" required:"true" enum:"AggregationType"` - - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // The lowest number to be included in the filter. + LowerInclusive *float64 `locationName:"lowerInclusive" type:"double"` - // Objects that contain the results of an aggregation operation. - Responses []*AggregationResponse `locationName:"responses" type:"list"` + // The highest number to be included in the filter. + UpperInclusive *float64 `locationName:"upperInclusive" type:"double"` } // String returns the string representation. @@ -14336,7 +19944,7 @@ type ListFindingAggregationsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFindingAggregationsOutput) String() string { +func (s NumberFilter) String() string { return awsutil.Prettify(s) } @@ -14345,48 +19953,58 @@ func (s ListFindingAggregationsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFindingAggregationsOutput) GoString() string { +func (s NumberFilter) GoString() string { return s.String() } -// SetAggregationType sets the AggregationType field's value. -func (s *ListFindingAggregationsOutput) SetAggregationType(v string) *ListFindingAggregationsOutput { - s.AggregationType = &v +// SetLowerInclusive sets the LowerInclusive field's value. +func (s *NumberFilter) SetLowerInclusive(v float64) *NumberFilter { + s.LowerInclusive = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListFindingAggregationsOutput) SetNextToken(v string) *ListFindingAggregationsOutput { - s.NextToken = &v +// SetUpperInclusive sets the UpperInclusive field's value. +func (s *NumberFilter) SetUpperInclusive(v float64) *NumberFilter { + s.UpperInclusive = &v return s } -// SetResponses sets the Responses field's value. -func (s *ListFindingAggregationsOutput) SetResponses(v []*AggregationResponse) *ListFindingAggregationsOutput { - s.Responses = v - return s +// A one time schedule. +type OneTimeSchedule struct { + _ struct{} `type:"structure"` } -type ListFindingsInput struct { - _ struct{} `type:"structure"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OneTimeSchedule) String() string { + return awsutil.Prettify(s) +} - // Details on the filters to apply to your finding results. - FilterCriteria *FilterCriteria `locationName:"filterCriteria" type:"structure"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OneTimeSchedule) GoString() string { + return s.String() +} - // The maximum number of results the response can return. If your request would - // return more than the maximum the response will return a nextToken value, - // use this value when you call the action again to get the remaining results. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` +// The details that define an aggregation based on operating system package +// type. +type PackageAggregation struct { + _ struct{} `type:"structure"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // If your response returns more than the maxResults maximum value it will also - // return a nextToken value. For subsequent calls, use the nextToken value returned - // from the previous request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // The names of packages to aggregate findings on. + PackageNames []*StringFilter `locationName:"packageNames" min:"1" type:"list"` - // Details on the sort criteria to apply to your finding results. - SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"` + // The value to sort results by. + SortBy *string `locationName:"sortBy" type:"string" enum:"PackageSortBy"` + + // The order to sort results by. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` } // String returns the string representation. @@ -14394,7 +20012,7 @@ type ListFindingsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFindingsInput) String() string { +func (s PackageAggregation) String() string { return awsutil.Prettify(s) } @@ -14403,24 +20021,24 @@ func (s ListFindingsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFindingsInput) GoString() string { +func (s PackageAggregation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListFindingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.FilterCriteria != nil { - if err := s.FilterCriteria.Validate(); err != nil { - invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) - } +func (s *PackageAggregation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PackageAggregation"} + if s.PackageNames != nil && len(s.PackageNames) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PackageNames", 1)) } - if s.SortCriteria != nil { - if err := s.SortCriteria.Validate(); err != nil { - invalidParams.AddNested("SortCriteria", err.(request.ErrInvalidParams)) + if s.PackageNames != nil { + for i, v := range s.PackageNames { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PackageNames", i), err.(request.ErrInvalidParams)) + } } } @@ -14430,41 +20048,38 @@ func (s *ListFindingsInput) Validate() error { return nil } -// SetFilterCriteria sets the FilterCriteria field's value. -func (s *ListFindingsInput) SetFilterCriteria(v *FilterCriteria) *ListFindingsInput { - s.FilterCriteria = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput { - s.MaxResults = &v +// SetPackageNames sets the PackageNames field's value. +func (s *PackageAggregation) SetPackageNames(v []*StringFilter) *PackageAggregation { + s.PackageNames = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput { - s.NextToken = &v +// SetSortBy sets the SortBy field's value. +func (s *PackageAggregation) SetSortBy(v string) *PackageAggregation { + s.SortBy = &v return s } -// SetSortCriteria sets the SortCriteria field's value. -func (s *ListFindingsInput) SetSortCriteria(v *SortCriteria) *ListFindingsInput { - s.SortCriteria = v +// SetSortOrder sets the SortOrder field's value. +func (s *PackageAggregation) SetSortOrder(v string) *PackageAggregation { + s.SortOrder = &v return s } -type ListFindingsOutput struct { +// A response that contains the results of a finding aggregation by image layer. +type PackageAggregationResponse struct { _ struct{} `type:"structure"` - // Contains details on the findings in your environment. - Findings []*Finding `locationName:"findings" type:"list"` + // The ID of the Amazon Web Services account associated with the findings. + AccountId *string `locationName:"accountId" min:"12" type:"string"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // The name of the operating system package. + // + // PackageName is a required field + PackageName *string `locationName:"packageName" min:"1" type:"string" required:"true"` + + // An object that contains the count of matched findings per severity. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` } // String returns the string representation. @@ -14472,7 +20087,7 @@ type ListFindingsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFindingsOutput) String() string { +func (s PackageAggregationResponse) String() string { return awsutil.Prettify(s) } @@ -14481,40 +20096,53 @@ func (s ListFindingsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListFindingsOutput) GoString() string { +func (s PackageAggregationResponse) GoString() string { return s.String() } -// SetFindings sets the Findings field's value. -func (s *ListFindingsOutput) SetFindings(v []*Finding) *ListFindingsOutput { - s.Findings = v +// SetAccountId sets the AccountId field's value. +func (s *PackageAggregationResponse) SetAccountId(v string) *PackageAggregationResponse { + s.AccountId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput { - s.NextToken = &v +// SetPackageName sets the PackageName field's value. +func (s *PackageAggregationResponse) SetPackageName(v string) *PackageAggregationResponse { + s.PackageName = &v return s } -type ListMembersInput struct { +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *PackageAggregationResponse) SetSeverityCounts(v *SeverityCounts) *PackageAggregationResponse { + s.SeverityCounts = v + return s +} + +// Contains information on the details of a package filter. +type PackageFilter struct { _ struct{} `type:"structure"` - // The maximum number of results the response can return. If your request would - // return more than the maximum the response will return a nextToken value, - // use this value when you call the action again to get the remaining results. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // An object that contains details on the package architecture type to filter + // on. + Architecture *StringFilter `locationName:"architecture" type:"structure"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // If your response returns more than the maxResults maximum value it will also - // return a nextToken value. For subsequent calls, use the nextToken value returned - // from the previous request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // An object that contains details on the package epoch to filter on. + Epoch *NumberFilter `locationName:"epoch" type:"structure"` - // Specifies whether to list only currently associated members if True or to - // list all members within the organization if False. - OnlyAssociated *bool `locationName:"onlyAssociated" type:"boolean"` + // An object that contains details on the name of the package to filter on. + Name *StringFilter `locationName:"name" type:"structure"` + + // An object that contains details on the package release to filter on. + Release *StringFilter `locationName:"release" type:"structure"` + + // An object that describes the details of a string filter. + SourceLambdaLayerArn *StringFilter `locationName:"sourceLambdaLayerArn" type:"structure"` + + // An object that contains details on the source layer hash to filter on. + SourceLayerHash *StringFilter `locationName:"sourceLayerHash" type:"structure"` + + // The package version to filter on. + Version *StringFilter `locationName:"version" type:"structure"` } // String returns the string representation. @@ -14522,7 +20150,7 @@ type ListMembersInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMembersInput) String() string { +func (s PackageFilter) String() string { return awsutil.Prettify(s) } @@ -14531,15 +20159,42 @@ func (s ListMembersInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMembersInput) GoString() string { +func (s PackageFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListMembersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *PackageFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PackageFilter"} + if s.Architecture != nil { + if err := s.Architecture.Validate(); err != nil { + invalidParams.AddNested("Architecture", err.(request.ErrInvalidParams)) + } + } + if s.Name != nil { + if err := s.Name.Validate(); err != nil { + invalidParams.AddNested("Name", err.(request.ErrInvalidParams)) + } + } + if s.Release != nil { + if err := s.Release.Validate(); err != nil { + invalidParams.AddNested("Release", err.(request.ErrInvalidParams)) + } + } + if s.SourceLambdaLayerArn != nil { + if err := s.SourceLambdaLayerArn.Validate(); err != nil { + invalidParams.AddNested("SourceLambdaLayerArn", err.(request.ErrInvalidParams)) + } + } + if s.SourceLayerHash != nil { + if err := s.SourceLayerHash.Validate(); err != nil { + invalidParams.AddNested("SourceLayerHash", err.(request.ErrInvalidParams)) + } + } + if s.Version != nil { + if err := s.Version.Validate(); err != nil { + invalidParams.AddNested("Version", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -14548,33 +20203,86 @@ func (s *ListMembersInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput { - s.MaxResults = &v +// SetArchitecture sets the Architecture field's value. +func (s *PackageFilter) SetArchitecture(v *StringFilter) *PackageFilter { + s.Architecture = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput { - s.NextToken = &v +// SetEpoch sets the Epoch field's value. +func (s *PackageFilter) SetEpoch(v *NumberFilter) *PackageFilter { + s.Epoch = v return s } -// SetOnlyAssociated sets the OnlyAssociated field's value. -func (s *ListMembersInput) SetOnlyAssociated(v bool) *ListMembersInput { - s.OnlyAssociated = &v +// SetName sets the Name field's value. +func (s *PackageFilter) SetName(v *StringFilter) *PackageFilter { + s.Name = v return s } -type ListMembersOutput struct { +// SetRelease sets the Release field's value. +func (s *PackageFilter) SetRelease(v *StringFilter) *PackageFilter { + s.Release = v + return s +} + +// SetSourceLambdaLayerArn sets the SourceLambdaLayerArn field's value. +func (s *PackageFilter) SetSourceLambdaLayerArn(v *StringFilter) *PackageFilter { + s.SourceLambdaLayerArn = v + return s +} + +// SetSourceLayerHash sets the SourceLayerHash field's value. +func (s *PackageFilter) SetSourceLayerHash(v *StringFilter) *PackageFilter { + s.SourceLayerHash = v + return s +} + +// SetVersion sets the Version field's value. +func (s *PackageFilter) SetVersion(v *StringFilter) *PackageFilter { + s.Version = v + return s +} + +// Information about a package vulnerability finding. +type PackageVulnerabilityDetails struct { _ struct{} `type:"structure"` - // An object that contains details for each member account. - Members []*Member `locationName:"members" type:"list"` + // An object that contains details about the CVSS score of a finding. + Cvss []*CvssScore `locationName:"cvss" type:"list"` - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` + // One or more URLs that contain details about this vulnerability type. + ReferenceUrls []*string `locationName:"referenceUrls" type:"list"` + + // One or more vulnerabilities related to the one identified in this finding. + RelatedVulnerabilities []*string `locationName:"relatedVulnerabilities" type:"list"` + + // The source of the vulnerability information. + // + // Source is a required field + Source *string `locationName:"source" min:"1" type:"string" required:"true"` + + // A URL to the source of the vulnerability information. + SourceUrl *string `locationName:"sourceUrl" min:"1" type:"string"` + + // The date and time that this vulnerability was first added to the vendor's + // database. + VendorCreatedAt *time.Time `locationName:"vendorCreatedAt" type:"timestamp"` + + // The severity the vendor has given to this vulnerability type. + VendorSeverity *string `locationName:"vendorSeverity" min:"1" type:"string"` + + // The date and time the vendor last updated this vulnerability in their database. + VendorUpdatedAt *time.Time `locationName:"vendorUpdatedAt" type:"timestamp"` + + // The ID given to this vulnerability. + // + // VulnerabilityId is a required field + VulnerabilityId *string `locationName:"vulnerabilityId" min:"1" type:"string" required:"true"` + + // The packages impacted by this vulnerability. + VulnerablePackages []*VulnerablePackage `locationName:"vulnerablePackages" type:"list"` } // String returns the string representation. @@ -14582,7 +20290,7 @@ type ListMembersOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMembersOutput) String() string { +func (s PackageVulnerabilityDetails) String() string { return awsutil.Prettify(s) } @@ -14591,76 +20299,84 @@ func (s ListMembersOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMembersOutput) GoString() string { +func (s PackageVulnerabilityDetails) GoString() string { return s.String() } -// SetMembers sets the Members field's value. -func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput { - s.Members = v +// SetCvss sets the Cvss field's value. +func (s *PackageVulnerabilityDetails) SetCvss(v []*CvssScore) *PackageVulnerabilityDetails { + s.Cvss = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput { - s.NextToken = &v +// SetReferenceUrls sets the ReferenceUrls field's value. +func (s *PackageVulnerabilityDetails) SetReferenceUrls(v []*string) *PackageVulnerabilityDetails { + s.ReferenceUrls = v return s } -type ListTagsForResourceInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value. +func (s *PackageVulnerabilityDetails) SetRelatedVulnerabilities(v []*string) *PackageVulnerabilityDetails { + s.RelatedVulnerabilities = v + return s +} - // The Amazon resource number (ARN) of the resource to list tags of. - // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"` +// SetSource sets the Source field's value. +func (s *PackageVulnerabilityDetails) SetSource(v string) *PackageVulnerabilityDetails { + s.Source = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListTagsForResourceInput) String() string { - return awsutil.Prettify(s) +// SetSourceUrl sets the SourceUrl field's value. +func (s *PackageVulnerabilityDetails) SetSourceUrl(v string) *PackageVulnerabilityDetails { + s.SourceUrl = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListTagsForResourceInput) GoString() string { - return s.String() +// SetVendorCreatedAt sets the VendorCreatedAt field's value. +func (s *PackageVulnerabilityDetails) SetVendorCreatedAt(v time.Time) *PackageVulnerabilityDetails { + s.VendorCreatedAt = &v + return s +} + +// SetVendorSeverity sets the VendorSeverity field's value. +func (s *PackageVulnerabilityDetails) SetVendorSeverity(v string) *PackageVulnerabilityDetails { + s.VendorSeverity = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) - } +// SetVendorUpdatedAt sets the VendorUpdatedAt field's value. +func (s *PackageVulnerabilityDetails) SetVendorUpdatedAt(v time.Time) *PackageVulnerabilityDetails { + s.VendorUpdatedAt = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetVulnerabilityId sets the VulnerabilityId field's value. +func (s *PackageVulnerabilityDetails) SetVulnerabilityId(v string) *PackageVulnerabilityDetails { + s.VulnerabilityId = &v + return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetVulnerablePackages sets the VulnerablePackages field's value. +func (s *PackageVulnerabilityDetails) SetVulnerablePackages(v []*VulnerablePackage) *PackageVulnerabilityDetails { + s.VulnerablePackages = v return s } -type ListTagsForResourceOutput struct { +// Contains information on the permissions an account has within Amazon Inspector. +type Permission struct { _ struct{} `type:"structure"` - // The tags associated with the resource. - Tags map[string]*string `locationName:"tags" type:"map"` + // The operations that can be performed with the given permissions. + // + // Operation is a required field + Operation *string `locationName:"operation" type:"string" required:"true" enum:"Operation"` + + // The services that the permissions allow an account to perform the given operations + // for. + // + // Service is a required field + Service *string `locationName:"service" type:"string" required:"true" enum:"Service"` } // String returns the string representation. @@ -14668,7 +20384,7 @@ type ListTagsForResourceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) String() string { +func (s Permission) String() string { return awsutil.Prettify(s) } @@ -14677,33 +20393,35 @@ func (s ListTagsForResourceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) GoString() string { +func (s Permission) GoString() string { return s.String() } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { - s.Tags = v +// SetOperation sets the Operation field's value. +func (s *Permission) SetOperation(v string) *Permission { + s.Operation = &v return s } -type ListUsageTotalsInput struct { - _ struct{} `type:"structure"` +// SetService sets the Service field's value. +func (s *Permission) SetService(v string) *Permission { + s.Service = &v + return s +} - // The Amazon Web Services account IDs to retrieve usage totals for. - AccountIds []*string `locationName:"accountIds" min:"1" type:"list"` +// Details about the port range associated with a finding. +type PortRange struct { + _ struct{} `type:"structure"` - // The maximum number of results the response can return. If your request would - // return more than the maximum the response will return a nextToken value, - // use this value when you call the action again to get the remaining results. - MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + // The beginning port in a port range. + // + // Begin is a required field + Begin *int64 `locationName:"begin" type:"integer" required:"true"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // If your response returns more than the maxResults maximum value it will also - // return a nextToken value. For subsequent calls, use the nextToken value returned - // from the previous request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The ending port in a port range. + // + // End is a required field + End *int64 `locationName:"end" type:"integer" required:"true"` } // String returns the string representation. @@ -14711,7 +20429,7 @@ type ListUsageTotalsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListUsageTotalsInput) String() string { +func (s PortRange) String() string { return awsutil.Prettify(s) } @@ -14720,56 +20438,31 @@ func (s ListUsageTotalsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListUsageTotalsInput) GoString() string { +func (s PortRange) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListUsageTotalsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListUsageTotalsInput"} - if s.AccountIds != nil && len(s.AccountIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAccountIds sets the AccountIds field's value. -func (s *ListUsageTotalsInput) SetAccountIds(v []*string) *ListUsageTotalsInput { - s.AccountIds = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListUsageTotalsInput) SetMaxResults(v int64) *ListUsageTotalsInput { - s.MaxResults = &v +// SetBegin sets the Begin field's value. +func (s *PortRange) SetBegin(v int64) *PortRange { + s.Begin = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListUsageTotalsInput) SetNextToken(v string) *ListUsageTotalsInput { - s.NextToken = &v +// SetEnd sets the End field's value. +func (s *PortRange) SetEnd(v int64) *PortRange { + s.End = &v return s } -type ListUsageTotalsOutput struct { +// An object that describes the details of a port range filter. +type PortRangeFilter struct { _ struct{} `type:"structure"` - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" min:"1" type:"string"` + // The port number the port range begins at. + BeginInclusive *int64 `locationName:"beginInclusive" type:"integer"` - // An object with details on the total usage for the requested account. - Totals []*UsageTotal `locationName:"totals" type:"list"` + // The port number the port range ends at. + EndInclusive *int64 `locationName:"endInclusive" type:"integer"` } // String returns the string representation. @@ -14777,7 +20470,7 @@ type ListUsageTotalsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListUsageTotalsOutput) String() string { +func (s PortRangeFilter) String() string { return awsutil.Prettify(s) } @@ -14786,38 +20479,31 @@ func (s ListUsageTotalsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListUsageTotalsOutput) GoString() string { +func (s PortRangeFilter) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListUsageTotalsOutput) SetNextToken(v string) *ListUsageTotalsOutput { - s.NextToken = &v +// SetBeginInclusive sets the BeginInclusive field's value. +func (s *PortRangeFilter) SetBeginInclusive(v int64) *PortRangeFilter { + s.BeginInclusive = &v return s } -// SetTotals sets the Totals field's value. -func (s *ListUsageTotalsOutput) SetTotals(v []*UsageTotal) *ListUsageTotalsOutput { - s.Totals = v +// SetEndInclusive sets the EndInclusive field's value. +func (s *PortRangeFilter) SetEndInclusive(v int64) *PortRangeFilter { + s.EndInclusive = &v return s } -// An object that describes details of a map filter. -type MapFilter struct { +// Details about the recommended course of action to remediate the finding. +type Recommendation struct { _ struct{} `type:"structure"` - // The operator to use when comparing values in the filter. - // - // Comparison is a required field - Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"MapComparison"` - - // The tag key used in the filter. - // - // Key is a required field - Key *string `locationName:"key" min:"1" type:"string" required:"true"` + // The recommended course of action to remediate the finding. + Text *string `locationName:"text" min:"1" type:"string"` - // The tag value used in the filter. - Value *string `locationName:"value" type:"string"` + // The URL address to the CVE remediation recommendations. + Url *string `min:"1" type:"string"` } // String returns the string representation. @@ -14825,7 +20511,7 @@ type MapFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MapFilter) String() string { +func (s Recommendation) String() string { return awsutil.Prettify(s) } @@ -14834,63 +20520,29 @@ func (s MapFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MapFilter) GoString() string { +func (s Recommendation) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *MapFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MapFilter"} - if s.Comparison == nil { - invalidParams.Add(request.NewErrParamRequired("Comparison")) - } - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) - } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetComparison sets the Comparison field's value. -func (s *MapFilter) SetComparison(v string) *MapFilter { - s.Comparison = &v - return s -} - -// SetKey sets the Key field's value. -func (s *MapFilter) SetKey(v string) *MapFilter { - s.Key = &v +// SetText sets the Text field's value. +func (s *Recommendation) SetText(v string) *Recommendation { + s.Text = &v return s } -// SetValue sets the Value field's value. -func (s *MapFilter) SetValue(v string) *MapFilter { - s.Value = &v +// SetUrl sets the Url field's value. +func (s *Recommendation) SetUrl(v string) *Recommendation { + s.Url = &v return s } -// Details on a member account in your organization. -type Member struct { +// Information on how to remediate a finding. +type Remediation struct { _ struct{} `type:"structure"` - // The Amazon Web Services account ID of the member account. - AccountId *string `locationName:"accountId" min:"12" type:"string"` - - // The Amazon Web Services account ID of the Amazon Inspector delegated administrator - // for this member account. - DelegatedAdminAccountId *string `locationName:"delegatedAdminAccountId" min:"12" type:"string"` - - // The status of the member account. - RelationshipStatus *string `locationName:"relationshipStatus" type:"string" enum:"RelationshipStatus"` - - // A timestamp showing when the status of this member was last updated. - UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` + // An object that contains information about the recommended course of action + // to remediate the finding. + Recommendation *Recommendation `locationName:"recommendation" type:"structure"` } // String returns the string representation. @@ -14898,59 +20550,37 @@ type Member struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Member) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Member) GoString() string { - return s.String() -} - -// SetAccountId sets the AccountId field's value. -func (s *Member) SetAccountId(v string) *Member { - s.AccountId = &v - return s -} - -// SetDelegatedAdminAccountId sets the DelegatedAdminAccountId field's value. -func (s *Member) SetDelegatedAdminAccountId(v string) *Member { - s.DelegatedAdminAccountId = &v - return s +func (s Remediation) String() string { + return awsutil.Prettify(s) } -// SetRelationshipStatus sets the RelationshipStatus field's value. -func (s *Member) SetRelationshipStatus(v string) *Member { - s.RelationshipStatus = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Remediation) GoString() string { + return s.String() } -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *Member) SetUpdatedAt(v time.Time) *Member { - s.UpdatedAt = &v +// SetRecommendation sets the Recommendation field's value. +func (s *Remediation) SetRecommendation(v *Recommendation) *Remediation { + s.Recommendation = v return s } -// An object that contains details about the status of Amazon Inspector deep -// inspection for a member account in your organization. -type MemberAccountEc2DeepInspectionStatus struct { +// The details that define an aggregation based on repository. +type RepositoryAggregation struct { _ struct{} `type:"structure"` - // The unique identifier for the Amazon Web Services account of the organization - // member. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + // The names of repositories to aggregate findings on. + Repositories []*StringFilter `locationName:"repositories" min:"1" type:"list"` - // Whether Amazon Inspector deep inspection is active in the account. If TRUE - // Amazon Inspector deep inspection is active, if FALSE it is not active. - // - // ActivateDeepInspection is a required field - ActivateDeepInspection *bool `locationName:"activateDeepInspection" type:"boolean" required:"true"` + // The value to sort results by. + SortBy *string `locationName:"sortBy" type:"string" enum:"RepositorySortBy"` + + // The order to sort results by. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` } // String returns the string representation. @@ -14958,7 +20588,7 @@ type MemberAccountEc2DeepInspectionStatus struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MemberAccountEc2DeepInspectionStatus) String() string { +func (s RepositoryAggregation) String() string { return awsutil.Prettify(s) } @@ -14967,21 +20597,25 @@ func (s MemberAccountEc2DeepInspectionStatus) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MemberAccountEc2DeepInspectionStatus) GoString() string { +func (s RepositoryAggregation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MemberAccountEc2DeepInspectionStatus) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MemberAccountEc2DeepInspectionStatus"} - if s.AccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AccountId")) - } - if s.AccountId != nil && len(*s.AccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) +func (s *RepositoryAggregation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RepositoryAggregation"} + if s.Repositories != nil && len(s.Repositories) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Repositories", 1)) } - if s.ActivateDeepInspection == nil { - invalidParams.Add(request.NewErrParamRequired("ActivateDeepInspection")) + if s.Repositories != nil { + for i, v := range s.Repositories { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Repositories", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -14990,35 +20624,42 @@ func (s *MemberAccountEc2DeepInspectionStatus) Validate() error { return nil } -// SetAccountId sets the AccountId field's value. -func (s *MemberAccountEc2DeepInspectionStatus) SetAccountId(v string) *MemberAccountEc2DeepInspectionStatus { - s.AccountId = &v +// SetRepositories sets the Repositories field's value. +func (s *RepositoryAggregation) SetRepositories(v []*StringFilter) *RepositoryAggregation { + s.Repositories = v return s } -// SetActivateDeepInspection sets the ActivateDeepInspection field's value. -func (s *MemberAccountEc2DeepInspectionStatus) SetActivateDeepInspection(v bool) *MemberAccountEc2DeepInspectionStatus { - s.ActivateDeepInspection = &v +// SetSortBy sets the SortBy field's value. +func (s *RepositoryAggregation) SetSortBy(v string) *RepositoryAggregation { + s.SortBy = &v return s } -// An object that contains details about the state of Amazon Inspector deep -// inspection for a member account. -type MemberAccountEc2DeepInspectionStatusState struct { +// SetSortOrder sets the SortOrder field's value. +func (s *RepositoryAggregation) SetSortOrder(v string) *RepositoryAggregation { + s.SortOrder = &v + return s +} + +// A response that contains details on the results of a finding aggregation +// by repository. +type RepositoryAggregationResponse struct { _ struct{} `type:"structure"` - // The unique identifier for the Amazon Web Services account of the organization - // member - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + // The ID of the Amazon Web Services account associated with the findings. + AccountId *string `locationName:"accountId" min:"12" type:"string"` - // The error message explaining why the account failed to activate Amazon Inspector - // deep inspection. - ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string"` + // The number of container images impacted by the findings. + AffectedImages *int64 `locationName:"affectedImages" type:"long"` - // The state of Amazon Inspector deep inspection in the member account. - Status *string `locationName:"status" type:"string" enum:"Ec2DeepInspectionStatus"` + // The name of the repository associated with the findings. + // + // Repository is a required field + Repository *string `locationName:"repository" min:"1" type:"string" required:"true"` + + // An object that represent the count of matched findings per severity. + SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` } // String returns the string representation. @@ -15026,7 +20667,7 @@ type MemberAccountEc2DeepInspectionStatusState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MemberAccountEc2DeepInspectionStatusState) String() string { +func (s RepositoryAggregationResponse) String() string { return awsutil.Prettify(s) } @@ -15035,79 +20676,46 @@ func (s MemberAccountEc2DeepInspectionStatusState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MemberAccountEc2DeepInspectionStatusState) GoString() string { +func (s RepositoryAggregationResponse) GoString() string { return s.String() } // SetAccountId sets the AccountId field's value. -func (s *MemberAccountEc2DeepInspectionStatusState) SetAccountId(v string) *MemberAccountEc2DeepInspectionStatusState { +func (s *RepositoryAggregationResponse) SetAccountId(v string) *RepositoryAggregationResponse { s.AccountId = &v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *MemberAccountEc2DeepInspectionStatusState) SetErrorMessage(v string) *MemberAccountEc2DeepInspectionStatusState { - s.ErrorMessage = &v +// SetAffectedImages sets the AffectedImages field's value. +func (s *RepositoryAggregationResponse) SetAffectedImages(v int64) *RepositoryAggregationResponse { + s.AffectedImages = &v return s } -// SetStatus sets the Status field's value. -func (s *MemberAccountEc2DeepInspectionStatusState) SetStatus(v string) *MemberAccountEc2DeepInspectionStatusState { - s.Status = &v +// SetRepository sets the Repository field's value. +func (s *RepositoryAggregationResponse) SetRepository(v string) *RepositoryAggregationResponse { + s.Repository = &v return s } -// Information on the network path associated with a finding. -type NetworkPath struct { - _ struct{} `type:"structure"` - - // The details on the steps in the network path. - Steps []*Step `locationName:"steps" min:"1" type:"list"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s NetworkPath) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s NetworkPath) GoString() string { - return s.String() -} - -// SetSteps sets the Steps field's value. -func (s *NetworkPath) SetSteps(v []*Step) *NetworkPath { - s.Steps = v +// SetSeverityCounts sets the SeverityCounts field's value. +func (s *RepositoryAggregationResponse) SetSeverityCounts(v *SeverityCounts) *RepositoryAggregationResponse { + s.SeverityCounts = v return s } -// Contains the details of a network reachability finding. -type NetworkReachabilityDetails struct { +type ResetEncryptionKeyInput struct { _ struct{} `type:"structure"` - // An object that contains details about a network path associated with a finding. - // - // NetworkPath is a required field - NetworkPath *NetworkPath `locationName:"networkPath" type:"structure" required:"true"` - - // An object that contains details about the open port range associated with - // a finding. + // The resource type the key encrypts. // - // OpenPortRange is a required field - OpenPortRange *PortRange `locationName:"openPortRange" type:"structure" required:"true"` + // ResourceType is a required field + ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"` - // The protocol associated with a finding. + // The scan type the key encrypts. // - // Protocol is a required field - Protocol *string `locationName:"protocol" type:"string" required:"true" enum:"NetworkProtocol"` + // ScanType is a required field + ScanType *string `locationName:"scanType" type:"string" required:"true" enum:"ScanType"` } // String returns the string representation. @@ -15115,7 +20723,7 @@ type NetworkReachabilityDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s NetworkReachabilityDetails) String() string { +func (s ResetEncryptionKeyInput) String() string { return awsutil.Prettify(s) } @@ -15124,37 +20732,40 @@ func (s NetworkReachabilityDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s NetworkReachabilityDetails) GoString() string { +func (s ResetEncryptionKeyInput) GoString() string { return s.String() } -// SetNetworkPath sets the NetworkPath field's value. -func (s *NetworkReachabilityDetails) SetNetworkPath(v *NetworkPath) *NetworkReachabilityDetails { - s.NetworkPath = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResetEncryptionKeyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetEncryptionKeyInput"} + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.ScanType == nil { + invalidParams.Add(request.NewErrParamRequired("ScanType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetOpenPortRange sets the OpenPortRange field's value. -func (s *NetworkReachabilityDetails) SetOpenPortRange(v *PortRange) *NetworkReachabilityDetails { - s.OpenPortRange = v +// SetResourceType sets the ResourceType field's value. +func (s *ResetEncryptionKeyInput) SetResourceType(v string) *ResetEncryptionKeyInput { + s.ResourceType = &v return s } -// SetProtocol sets the Protocol field's value. -func (s *NetworkReachabilityDetails) SetProtocol(v string) *NetworkReachabilityDetails { - s.Protocol = &v +// SetScanType sets the ScanType field's value. +func (s *ResetEncryptionKeyInput) SetScanType(v string) *ResetEncryptionKeyInput { + s.ScanType = &v return s } -// An object that describes the details of a number filter. -type NumberFilter struct { +type ResetEncryptionKeyOutput struct { _ struct{} `type:"structure"` - - // The lowest number to be included in the filter. - LowerInclusive *float64 `locationName:"lowerInclusive" type:"double"` - - // The highest number to be included in the filter. - UpperInclusive *float64 `locationName:"upperInclusive" type:"double"` } // String returns the string representation. @@ -15162,7 +20773,7 @@ type NumberFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s NumberFilter) String() string { +func (s ResetEncryptionKeyOutput) String() string { return awsutil.Prettify(s) } @@ -15171,35 +20782,35 @@ func (s NumberFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s NumberFilter) GoString() string { +func (s ResetEncryptionKeyOutput) GoString() string { return s.String() } -// SetLowerInclusive sets the LowerInclusive field's value. -func (s *NumberFilter) SetLowerInclusive(v float64) *NumberFilter { - s.LowerInclusive = &v - return s -} +// Details about the resource involved in a finding. +type Resource struct { + _ struct{} `type:"structure"` -// SetUpperInclusive sets the UpperInclusive field's value. -func (s *NumberFilter) SetUpperInclusive(v float64) *NumberFilter { - s.UpperInclusive = &v - return s -} + // An object that contains details about the resource involved in a finding. + Details *ResourceDetails `locationName:"details" type:"structure"` -// The details that define an aggregation based on operating system package -// type. -type PackageAggregation struct { - _ struct{} `type:"structure"` + // The ID of the resource. + // + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` - // The names of packages to aggregate findings on. - PackageNames []*StringFilter `locationName:"packageNames" min:"1" type:"list"` + // The partition of the resource. + Partition *string `locationName:"partition" min:"1" type:"string"` - // The value to sort results by. - SortBy *string `locationName:"sortBy" type:"string" enum:"PackageSortBy"` + // The Amazon Web Services Region the impacted resource is located in. + Region *string `locationName:"region" min:"1" type:"string"` - // The order to sort results by. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` + // The tags attached to the resource. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The type of resource. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` } // String returns the string representation. @@ -15207,7 +20818,7 @@ type PackageAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PackageAggregation) String() string { +func (s Resource) String() string { return awsutil.Prettify(s) } @@ -15216,65 +20827,60 @@ func (s PackageAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PackageAggregation) GoString() string { +func (s Resource) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PackageAggregation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PackageAggregation"} - if s.PackageNames != nil && len(s.PackageNames) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PackageNames", 1)) - } - if s.PackageNames != nil { - for i, v := range s.PackageNames { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PackageNames", i), err.(request.ErrInvalidParams)) - } - } - } +// SetDetails sets the Details field's value. +func (s *Resource) SetDetails(v *ResourceDetails) *Resource { + s.Details = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetId sets the Id field's value. +func (s *Resource) SetId(v string) *Resource { + s.Id = &v + return s } -// SetPackageNames sets the PackageNames field's value. -func (s *PackageAggregation) SetPackageNames(v []*StringFilter) *PackageAggregation { - s.PackageNames = v +// SetPartition sets the Partition field's value. +func (s *Resource) SetPartition(v string) *Resource { + s.Partition = &v return s } -// SetSortBy sets the SortBy field's value. -func (s *PackageAggregation) SetSortBy(v string) *PackageAggregation { - s.SortBy = &v +// SetRegion sets the Region field's value. +func (s *Resource) SetRegion(v string) *Resource { + s.Region = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *PackageAggregation) SetSortOrder(v string) *PackageAggregation { - s.SortOrder = &v +// SetTags sets the Tags field's value. +func (s *Resource) SetTags(v map[string]*string) *Resource { + s.Tags = v return s } -// A response that contains the results of a finding aggregation by image layer. -type PackageAggregationResponse struct { +// SetType sets the Type field's value. +func (s *Resource) SetType(v string) *Resource { + s.Type = &v + return s +} + +// Contains details about the resource involved in the finding. +type ResourceDetails struct { _ struct{} `type:"structure"` - // The ID of the Amazon Web Services account associated with the findings. - AccountId *string `locationName:"accountId" min:"12" type:"string"` + // An object that contains details about the Amazon EC2 instance involved in + // the finding. + AwsEc2Instance *AwsEc2InstanceDetails `locationName:"awsEc2Instance" type:"structure"` - // The name of the operating system package. - // - // PackageName is a required field - PackageName *string `locationName:"packageName" min:"1" type:"string" required:"true"` + // An object that contains details about the Amazon ECR container image involved + // in the finding. + AwsEcrContainerImage *AwsEcrContainerImageDetails `locationName:"awsEcrContainerImage" type:"structure"` - // An object that contains the count of matched findings per severity. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` + // A summary of the information about an AWS Lambda function affected by a finding. + AwsLambdaFunction *AwsLambdaFunctionDetails `locationName:"awsLambdaFunction" type:"structure"` } // String returns the string representation. @@ -15282,7 +20888,7 @@ type PackageAggregationResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PackageAggregationResponse) String() string { +func (s ResourceDetails) String() string { return awsutil.Prettify(s) } @@ -15291,53 +20897,55 @@ func (s PackageAggregationResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PackageAggregationResponse) GoString() string { +func (s ResourceDetails) GoString() string { return s.String() } -// SetAccountId sets the AccountId field's value. -func (s *PackageAggregationResponse) SetAccountId(v string) *PackageAggregationResponse { - s.AccountId = &v +// SetAwsEc2Instance sets the AwsEc2Instance field's value. +func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails { + s.AwsEc2Instance = v return s } -// SetPackageName sets the PackageName field's value. -func (s *PackageAggregationResponse) SetPackageName(v string) *PackageAggregationResponse { - s.PackageName = &v +// SetAwsEcrContainerImage sets the AwsEcrContainerImage field's value. +func (s *ResourceDetails) SetAwsEcrContainerImage(v *AwsEcrContainerImageDetails) *ResourceDetails { + s.AwsEcrContainerImage = v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *PackageAggregationResponse) SetSeverityCounts(v *SeverityCounts) *PackageAggregationResponse { - s.SeverityCounts = v +// SetAwsLambdaFunction sets the AwsLambdaFunction field's value. +func (s *ResourceDetails) SetAwsLambdaFunction(v *AwsLambdaFunctionDetails) *ResourceDetails { + s.AwsLambdaFunction = v return s } -// Contains information on the details of a package filter. -type PackageFilter struct { +// The resource filter criteria for a Software bill of materials (SBOM) report. +type ResourceFilterCriteria struct { _ struct{} `type:"structure"` - // An object that contains details on the package architecture type to filter - // on. - Architecture *StringFilter `locationName:"architecture" type:"structure"` + // The account IDs used as resource filter criteria. + AccountId []*ResourceStringFilter `locationName:"accountId" min:"1" type:"list"` - // An object that contains details on the package epoch to filter on. - Epoch *NumberFilter `locationName:"epoch" type:"structure"` + // The EC2 instance tags used as resource filter criteria. + Ec2InstanceTags []*ResourceMapFilter `locationName:"ec2InstanceTags" min:"1" type:"list"` - // An object that contains details on the name of the package to filter on. - Name *StringFilter `locationName:"name" type:"structure"` + // The ECR image tags used as resource filter criteria. + EcrImageTags []*ResourceStringFilter `locationName:"ecrImageTags" min:"1" type:"list"` - // An object that contains details on the package release to filter on. - Release *StringFilter `locationName:"release" type:"structure"` + // The ECR repository names used as resource filter criteria. + EcrRepositoryName []*ResourceStringFilter `locationName:"ecrRepositoryName" min:"1" type:"list"` - // An object that describes the details of a string filter. - SourceLambdaLayerArn *StringFilter `locationName:"sourceLambdaLayerArn" type:"structure"` + // The AWS Lambda function name used as resource filter criteria. + LambdaFunctionName []*ResourceStringFilter `locationName:"lambdaFunctionName" min:"1" type:"list"` - // An object that contains details on the source layer hash to filter on. - SourceLayerHash *StringFilter `locationName:"sourceLayerHash" type:"structure"` + // The AWS Lambda function tags used as resource filter criteria. + LambdaFunctionTags []*ResourceMapFilter `locationName:"lambdaFunctionTags" min:"1" type:"list"` - // The package version to filter on. - Version *StringFilter `locationName:"version" type:"structure"` + // The resource IDs used as resource filter criteria. + ResourceId []*ResourceStringFilter `locationName:"resourceId" min:"1" type:"list"` + + // The resource types used as resource filter criteria. + ResourceType []*ResourceStringFilter `locationName:"resourceType" min:"1" type:"list"` } // String returns the string representation. @@ -15345,7 +20953,7 @@ type PackageFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PackageFilter) String() string { +func (s ResourceFilterCriteria) String() string { return awsutil.Prettify(s) } @@ -15354,41 +20962,115 @@ func (s PackageFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PackageFilter) GoString() string { +func (s ResourceFilterCriteria) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PackageFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PackageFilter"} - if s.Architecture != nil { - if err := s.Architecture.Validate(); err != nil { - invalidParams.AddNested("Architecture", err.(request.ErrInvalidParams)) +func (s *ResourceFilterCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceFilterCriteria"} + if s.AccountId != nil && len(s.AccountId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) + } + if s.Ec2InstanceTags != nil && len(s.Ec2InstanceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceTags", 1)) + } + if s.EcrImageTags != nil && len(s.EcrImageTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EcrImageTags", 1)) + } + if s.EcrRepositoryName != nil && len(s.EcrRepositoryName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EcrRepositoryName", 1)) + } + if s.LambdaFunctionName != nil && len(s.LambdaFunctionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionName", 1)) + } + if s.LambdaFunctionTags != nil && len(s.LambdaFunctionTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionTags", 1)) + } + if s.ResourceId != nil && len(s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.ResourceType != nil && len(s.ResourceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) + } + if s.AccountId != nil { + for i, v := range s.AccountId { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountId", i), err.(request.ErrInvalidParams)) + } } } - if s.Name != nil { - if err := s.Name.Validate(); err != nil { - invalidParams.AddNested("Name", err.(request.ErrInvalidParams)) + if s.Ec2InstanceTags != nil { + for i, v := range s.Ec2InstanceTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2InstanceTags", i), err.(request.ErrInvalidParams)) + } } } - if s.Release != nil { - if err := s.Release.Validate(); err != nil { - invalidParams.AddNested("Release", err.(request.ErrInvalidParams)) + if s.EcrImageTags != nil { + for i, v := range s.EcrImageTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageTags", i), err.(request.ErrInvalidParams)) + } } } - if s.SourceLambdaLayerArn != nil { - if err := s.SourceLambdaLayerArn.Validate(); err != nil { - invalidParams.AddNested("SourceLambdaLayerArn", err.(request.ErrInvalidParams)) + if s.EcrRepositoryName != nil { + for i, v := range s.EcrRepositoryName { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrRepositoryName", i), err.(request.ErrInvalidParams)) + } } } - if s.SourceLayerHash != nil { - if err := s.SourceLayerHash.Validate(); err != nil { - invalidParams.AddNested("SourceLayerHash", err.(request.ErrInvalidParams)) + if s.LambdaFunctionName != nil { + for i, v := range s.LambdaFunctionName { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionName", i), err.(request.ErrInvalidParams)) + } } } - if s.Version != nil { - if err := s.Version.Validate(); err != nil { - invalidParams.AddNested("Version", err.(request.ErrInvalidParams)) + if s.LambdaFunctionTags != nil { + for i, v := range s.LambdaFunctionTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceId != nil { + for i, v := range s.ResourceId { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceId", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ResourceType != nil { + for i, v := range s.ResourceType { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceType", i), err.(request.ErrInvalidParams)) + } } } @@ -15398,86 +21080,70 @@ func (s *PackageFilter) Validate() error { return nil } -// SetArchitecture sets the Architecture field's value. -func (s *PackageFilter) SetArchitecture(v *StringFilter) *PackageFilter { - s.Architecture = v +// SetAccountId sets the AccountId field's value. +func (s *ResourceFilterCriteria) SetAccountId(v []*ResourceStringFilter) *ResourceFilterCriteria { + s.AccountId = v return s } -// SetEpoch sets the Epoch field's value. -func (s *PackageFilter) SetEpoch(v *NumberFilter) *PackageFilter { - s.Epoch = v +// SetEc2InstanceTags sets the Ec2InstanceTags field's value. +func (s *ResourceFilterCriteria) SetEc2InstanceTags(v []*ResourceMapFilter) *ResourceFilterCriteria { + s.Ec2InstanceTags = v return s } -// SetName sets the Name field's value. -func (s *PackageFilter) SetName(v *StringFilter) *PackageFilter { - s.Name = v +// SetEcrImageTags sets the EcrImageTags field's value. +func (s *ResourceFilterCriteria) SetEcrImageTags(v []*ResourceStringFilter) *ResourceFilterCriteria { + s.EcrImageTags = v return s } -// SetRelease sets the Release field's value. -func (s *PackageFilter) SetRelease(v *StringFilter) *PackageFilter { - s.Release = v +// SetEcrRepositoryName sets the EcrRepositoryName field's value. +func (s *ResourceFilterCriteria) SetEcrRepositoryName(v []*ResourceStringFilter) *ResourceFilterCriteria { + s.EcrRepositoryName = v return s } -// SetSourceLambdaLayerArn sets the SourceLambdaLayerArn field's value. -func (s *PackageFilter) SetSourceLambdaLayerArn(v *StringFilter) *PackageFilter { - s.SourceLambdaLayerArn = v +// SetLambdaFunctionName sets the LambdaFunctionName field's value. +func (s *ResourceFilterCriteria) SetLambdaFunctionName(v []*ResourceStringFilter) *ResourceFilterCriteria { + s.LambdaFunctionName = v return s } -// SetSourceLayerHash sets the SourceLayerHash field's value. -func (s *PackageFilter) SetSourceLayerHash(v *StringFilter) *PackageFilter { - s.SourceLayerHash = v +// SetLambdaFunctionTags sets the LambdaFunctionTags field's value. +func (s *ResourceFilterCriteria) SetLambdaFunctionTags(v []*ResourceMapFilter) *ResourceFilterCriteria { + s.LambdaFunctionTags = v return s } -// SetVersion sets the Version field's value. -func (s *PackageFilter) SetVersion(v *StringFilter) *PackageFilter { - s.Version = v +// SetResourceId sets the ResourceId field's value. +func (s *ResourceFilterCriteria) SetResourceId(v []*ResourceStringFilter) *ResourceFilterCriteria { + s.ResourceId = v return s } -// Information about a package vulnerability finding. -type PackageVulnerabilityDetails struct { - _ struct{} `type:"structure"` - - // An object that contains details about the CVSS score of a finding. - Cvss []*CvssScore `locationName:"cvss" type:"list"` - - // One or more URLs that contain details about this vulnerability type. - ReferenceUrls []*string `locationName:"referenceUrls" type:"list"` +// SetResourceType sets the ResourceType field's value. +func (s *ResourceFilterCriteria) SetResourceType(v []*ResourceStringFilter) *ResourceFilterCriteria { + s.ResourceType = v + return s +} - // One or more vulnerabilities related to the one identified in this finding. - RelatedVulnerabilities []*string `locationName:"relatedVulnerabilities" type:"list"` +// A resource map filter for a software bill of material report. +type ResourceMapFilter struct { + _ struct{} `type:"structure"` - // The source of the vulnerability information. + // The filter's comparison. // - // Source is a required field - Source *string `locationName:"source" min:"1" type:"string" required:"true"` - - // A URL to the source of the vulnerability information. - SourceUrl *string `locationName:"sourceUrl" min:"1" type:"string"` - - // The date and time that this vulnerability was first added to the vendor's - // database. - VendorCreatedAt *time.Time `locationName:"vendorCreatedAt" type:"timestamp"` - - // The severity the vendor has given to this vulnerability type. - VendorSeverity *string `locationName:"vendorSeverity" min:"1" type:"string"` - - // The date and time the vendor last updated this vulnerability in their database. - VendorUpdatedAt *time.Time `locationName:"vendorUpdatedAt" type:"timestamp"` + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"ResourceMapComparison"` - // The ID given to this vulnerability. + // The filter's key. // - // VulnerabilityId is a required field - VulnerabilityId *string `locationName:"vulnerabilityId" min:"1" type:"string" required:"true"` + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` - // The packages impacted by this vulnerability. - VulnerablePackages []*VulnerablePackage `locationName:"vulnerablePackages" type:"list"` + // The filter's value. + Value *string `locationName:"value" min:"1" type:"string"` } // String returns the string representation. @@ -15485,7 +21151,7 @@ type PackageVulnerabilityDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PackageVulnerabilityDetails) String() string { +func (s ResourceMapFilter) String() string { return awsutil.Prettify(s) } @@ -15494,84 +21160,132 @@ func (s PackageVulnerabilityDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PackageVulnerabilityDetails) GoString() string { +func (s ResourceMapFilter) GoString() string { return s.String() } -// SetCvss sets the Cvss field's value. -func (s *PackageVulnerabilityDetails) SetCvss(v []*CvssScore) *PackageVulnerabilityDetails { - s.Cvss = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceMapFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceMapFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetReferenceUrls sets the ReferenceUrls field's value. -func (s *PackageVulnerabilityDetails) SetReferenceUrls(v []*string) *PackageVulnerabilityDetails { - s.ReferenceUrls = v +// SetComparison sets the Comparison field's value. +func (s *ResourceMapFilter) SetComparison(v string) *ResourceMapFilter { + s.Comparison = &v return s } -// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value. -func (s *PackageVulnerabilityDetails) SetRelatedVulnerabilities(v []*string) *PackageVulnerabilityDetails { - s.RelatedVulnerabilities = v +// SetKey sets the Key field's value. +func (s *ResourceMapFilter) SetKey(v string) *ResourceMapFilter { + s.Key = &v return s } -// SetSource sets the Source field's value. -func (s *PackageVulnerabilityDetails) SetSource(v string) *PackageVulnerabilityDetails { - s.Source = &v +// SetValue sets the Value field's value. +func (s *ResourceMapFilter) SetValue(v string) *ResourceMapFilter { + s.Value = &v return s } -// SetSourceUrl sets the SourceUrl field's value. -func (s *PackageVulnerabilityDetails) SetSourceUrl(v string) *PackageVulnerabilityDetails { - s.SourceUrl = &v - return s +// The operation tried to access an invalid resource. Make sure the resource +// is specified correctly. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } -// SetVendorCreatedAt sets the VendorCreatedAt field's value. -func (s *PackageVulnerabilityDetails) SetVendorCreatedAt(v time.Time) *PackageVulnerabilityDetails { - s.VendorCreatedAt = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) } -// SetVendorSeverity sets the VendorSeverity field's value. -func (s *PackageVulnerabilityDetails) SetVendorSeverity(v string) *PackageVulnerabilityDetails { - s.VendorSeverity = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() } -// SetVendorUpdatedAt sets the VendorUpdatedAt field's value. -func (s *PackageVulnerabilityDetails) SetVendorUpdatedAt(v time.Time) *PackageVulnerabilityDetails { - s.VendorUpdatedAt = &v - return s +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } } -// SetVulnerabilityId sets the VulnerabilityId field's value. -func (s *PackageVulnerabilityDetails) SetVulnerabilityId(v string) *PackageVulnerabilityDetails { - s.VulnerabilityId = &v - return s +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" } -// SetVulnerablePackages sets the VulnerablePackages field's value. -func (s *PackageVulnerabilityDetails) SetVulnerablePackages(v []*VulnerablePackage) *PackageVulnerabilityDetails { - s.VulnerablePackages = v - return s +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// Contains information on the permissions an account has within Amazon Inspector. -type Permission struct { +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An object that contains details about the metadata for an Amazon ECR resource. +type ResourceScanMetadata struct { _ struct{} `type:"structure"` - // The operations that can be performed with the given permissions. - // - // Operation is a required field - Operation *string `locationName:"operation" type:"string" required:"true" enum:"Operation"` + // An object that contains metadata details for an Amazon EC2 instance. + Ec2 *Ec2Metadata `locationName:"ec2" type:"structure"` - // The services that the permissions allow an account to perform the given operations - // for. - // - // Service is a required field - Service *string `locationName:"service" type:"string" required:"true" enum:"Service"` + // An object that contains details about the container metadata for an Amazon + // ECR image. + EcrImage *EcrContainerImageMetadata `locationName:"ecrImage" type:"structure"` + + // An object that contains details about the repository an Amazon ECR image + // resides in. + EcrRepository *EcrRepositoryMetadata `locationName:"ecrRepository" type:"structure"` + + // An object that contains metadata details for an AWS Lambda function. + LambdaFunction *LambdaFunctionMetadata `locationName:"lambdaFunction" type:"structure"` } // String returns the string representation. @@ -15579,7 +21293,7 @@ type Permission struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Permission) String() string { +func (s ResourceScanMetadata) String() string { return awsutil.Prettify(s) } @@ -15588,35 +21302,56 @@ func (s Permission) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Permission) GoString() string { +func (s ResourceScanMetadata) GoString() string { return s.String() } -// SetOperation sets the Operation field's value. -func (s *Permission) SetOperation(v string) *Permission { - s.Operation = &v +// SetEc2 sets the Ec2 field's value. +func (s *ResourceScanMetadata) SetEc2(v *Ec2Metadata) *ResourceScanMetadata { + s.Ec2 = v + return s +} + +// SetEcrImage sets the EcrImage field's value. +func (s *ResourceScanMetadata) SetEcrImage(v *EcrContainerImageMetadata) *ResourceScanMetadata { + s.EcrImage = v return s } -// SetService sets the Service field's value. -func (s *Permission) SetService(v string) *Permission { - s.Service = &v +// SetEcrRepository sets the EcrRepository field's value. +func (s *ResourceScanMetadata) SetEcrRepository(v *EcrRepositoryMetadata) *ResourceScanMetadata { + s.EcrRepository = v return s } -// Details about the port range associated with a finding. -type PortRange struct { +// SetLambdaFunction sets the LambdaFunction field's value. +func (s *ResourceScanMetadata) SetLambdaFunction(v *LambdaFunctionMetadata) *ResourceScanMetadata { + s.LambdaFunction = v + return s +} + +// Details the state of Amazon Inspector for each resource type Amazon Inspector +// scans. +type ResourceState struct { _ struct{} `type:"structure"` - // The beginning port in a port range. + // An object detailing the state of Amazon Inspector scanning for Amazon EC2 + // resources. // - // Begin is a required field - Begin *int64 `locationName:"begin" type:"integer" required:"true"` + // Ec2 is a required field + Ec2 *State `locationName:"ec2" type:"structure" required:"true"` - // The ending port in a port range. + // An object detailing the state of Amazon Inspector scanning for Amazon ECR + // resources. // - // End is a required field - End *int64 `locationName:"end" type:"integer" required:"true"` + // Ecr is a required field + Ecr *State `locationName:"ecr" type:"structure" required:"true"` + + // An object that described the state of Amazon Inspector scans for an account. + Lambda *State `locationName:"lambda" type:"structure"` + + // An object that described the state of Amazon Inspector scans for an account. + LambdaCode *State `locationName:"lambdaCode" type:"structure"` } // String returns the string representation. @@ -15624,7 +21359,7 @@ type PortRange struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PortRange) String() string { +func (s ResourceState) String() string { return awsutil.Prettify(s) } @@ -15633,31 +21368,55 @@ func (s PortRange) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PortRange) GoString() string { +func (s ResourceState) GoString() string { return s.String() } -// SetBegin sets the Begin field's value. -func (s *PortRange) SetBegin(v int64) *PortRange { - s.Begin = &v +// SetEc2 sets the Ec2 field's value. +func (s *ResourceState) SetEc2(v *State) *ResourceState { + s.Ec2 = v return s } -// SetEnd sets the End field's value. -func (s *PortRange) SetEnd(v int64) *PortRange { - s.End = &v +// SetEcr sets the Ecr field's value. +func (s *ResourceState) SetEcr(v *State) *ResourceState { + s.Ecr = v return s } -// An object that describes the details of a port range filter. -type PortRangeFilter struct { +// SetLambda sets the Lambda field's value. +func (s *ResourceState) SetLambda(v *State) *ResourceState { + s.Lambda = v + return s +} + +// SetLambdaCode sets the LambdaCode field's value. +func (s *ResourceState) SetLambdaCode(v *State) *ResourceState { + s.LambdaCode = v + return s +} + +// Details the status of Amazon Inspector for each resource type Amazon Inspector +// scans. +type ResourceStatus struct { _ struct{} `type:"structure"` - // The port number the port range begins at. - BeginInclusive *int64 `locationName:"beginInclusive" type:"integer"` + // The status of Amazon Inspector scanning for Amazon EC2 resources. + // + // Ec2 is a required field + Ec2 *string `locationName:"ec2" type:"string" required:"true" enum:"Status"` - // The port number the port range ends at. - EndInclusive *int64 `locationName:"endInclusive" type:"integer"` + // The status of Amazon Inspector scanning for Amazon ECR resources. + // + // Ecr is a required field + Ecr *string `locationName:"ecr" type:"string" required:"true" enum:"Status"` + + // The status of Amazon Inspector scanning for AWS Lambda function. + Lambda *string `locationName:"lambda" type:"string" enum:"Status"` + + // The status of Amazon Inspector scanning for custom application code for Amazon + // Web Services Lambda functions. + LambdaCode *string `locationName:"lambdaCode" type:"string" enum:"Status"` } // String returns the string representation. @@ -15665,7 +21424,7 @@ type PortRangeFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PortRangeFilter) String() string { +func (s ResourceStatus) String() string { return awsutil.Prettify(s) } @@ -15674,31 +21433,47 @@ func (s PortRangeFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PortRangeFilter) GoString() string { +func (s ResourceStatus) GoString() string { return s.String() } -// SetBeginInclusive sets the BeginInclusive field's value. -func (s *PortRangeFilter) SetBeginInclusive(v int64) *PortRangeFilter { - s.BeginInclusive = &v +// SetEc2 sets the Ec2 field's value. +func (s *ResourceStatus) SetEc2(v string) *ResourceStatus { + s.Ec2 = &v return s } -// SetEndInclusive sets the EndInclusive field's value. -func (s *PortRangeFilter) SetEndInclusive(v int64) *PortRangeFilter { - s.EndInclusive = &v +// SetEcr sets the Ecr field's value. +func (s *ResourceStatus) SetEcr(v string) *ResourceStatus { + s.Ecr = &v return s } -// Details about the recommended course of action to remediate the finding. -type Recommendation struct { +// SetLambda sets the Lambda field's value. +func (s *ResourceStatus) SetLambda(v string) *ResourceStatus { + s.Lambda = &v + return s +} + +// SetLambdaCode sets the LambdaCode field's value. +func (s *ResourceStatus) SetLambdaCode(v string) *ResourceStatus { + s.LambdaCode = &v + return s +} + +// A resource string filter for a software bill of materials report. +type ResourceStringFilter struct { _ struct{} `type:"structure"` - // The recommended course of action to remediate the finding. - Text *string `locationName:"text" min:"1" type:"string"` + // The filter's comparison. + // + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"ResourceStringComparison"` - // The URL address to the CVE remediation recommendations. - Url *string `min:"1" type:"string"` + // The filter's value. + // + // Value is a required field + Value *string `locationName:"value" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -15706,7 +21481,7 @@ type Recommendation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Recommendation) String() string { +func (s ResourceStringFilter) String() string { return awsutil.Prettify(s) } @@ -15715,29 +21490,146 @@ func (s Recommendation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Recommendation) GoString() string { +func (s ResourceStringFilter) GoString() string { return s.String() } -// SetText sets the Text field's value. -func (s *Recommendation) SetText(v string) *Recommendation { - s.Text = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceStringFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceStringFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComparison sets the Comparison field's value. +func (s *ResourceStringFilter) SetComparison(v string) *ResourceStringFilter { + s.Comparison = &v return s } -// SetUrl sets the Url field's value. -func (s *Recommendation) SetUrl(v string) *Recommendation { - s.Url = &v +// SetValue sets the Value field's value. +func (s *ResourceStringFilter) SetValue(v string) *ResourceStringFilter { + s.Value = &v return s } -// Information on how to remediate a finding. -type Remediation struct { +// The status of the scan. +type ScanStatus struct { _ struct{} `type:"structure"` - // An object that contains information about the recommended course of action - // to remediate the finding. - Recommendation *Recommendation `locationName:"recommendation" type:"structure"` + // The scan status. Possible return values and descriptions are: + // + // PENDING_INITIAL_SCAN - This resource has been identified for scanning, results + // will be available soon. + // + // ACCESS_DENIED - Resource access policy restricting Amazon Inspector access. + // Please update the IAM policy. + // + // INTERNAL_ERROR - Amazon Inspector has encountered an internal error for this + // resource. Amazon Inspector service will automatically resolve the issue and + // resume the scanning. No action required from the user. + // + // UNMANAGED_EC2_INSTANCE - The EC2 instance is not managed by SSM, please use + // the following SSM automation to remediate the issue: https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html + // (https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html). + // Once the instance becomes managed by SSM, Inspector will automatically begin + // scanning this instance. + // + // UNSUPPORTED_OS - Amazon Inspector does not support this OS, architecture, + // or image manifest type at this time. To see a complete list of supported + // operating systems see: https://docs.aws.amazon.com/inspector/latest/user/supported.html + // (https://docs.aws.amazon.com/inspector/latest/user/supported.html). + // + // SCAN_ELIGIBILITY_EXPIRED - The configured scan duration has lapsed for this + // image. + // + // RESOURCE_TERMINATED - This resource has been terminated. The findings and + // coverage associated with this resource are in the process of being cleaned + // up. + // + // SUCCESSFUL - The scan was successful. + // + // NO_RESOURCES_FOUND - Reserved for future use. + // + // IMAGE_SIZE_EXCEEDED - Reserved for future use. + // + // SCAN_FREQUENCY_MANUAL - This image will not be covered by Amazon Inspector + // due to the repository scan frequency configuration. + // + // SCAN_FREQUENCY_SCAN_ON_PUSH - This image will be scanned one time and will + // not new findings because of the scan frequency configuration. + // + // EC2_INSTANCE_STOPPED - This EC2 instance is in a stopped state, therefore, + // Amazon Inspector will pause scanning. The existing findings will continue + // to exist until the instance is terminated. Once the instance is re-started, + // Inspector will automatically start scanning the instance again. Please note + // that you will not be charged for this instance while it’s in a stopped + // state. + // + // PENDING_DISABLE - This resource is pending cleanup during disablement. The + // customer will not be billed while a resource is in the pending disable status. + // + // NO INVENTORY - Amazon Inspector couldn’t find software application inventory + // to scan for vulnerabilities. This might be caused due to required Amazon + // Inspector associations being deleted or failing to run on your resource. + // Please verify the status of InspectorInventoryCollection-do-not-delete association + // in the SSM console for the resource. Additionally, you can verify the instance’s + // inventory in the SSM Fleet Manager console. + // + // STALE_INVENTORY - Amazon Inspector wasn’t able to collect an updated software + // application inventory in the last 7 days. Please confirm the required Amazon + // Inspector associations still exist and you can still see an updated inventory + // in the SSM console. + // + // EXCLUDED_BY_TAG - This resource was not scanned because it has been excluded + // by a tag. + // + // UNSUPPORTED_RUNTIME - The function was not scanned because it has an unsupported + // runtime. To see a complete list of supported runtimes see: https://docs.aws.amazon.com/inspector/latest/user/supported.html + // (https://docs.aws.amazon.com/inspector/latest/user/supported.html). + // + // UNSUPPORTED_MEDIA_TYPE - The ECR image has an unsupported media type. + // + // UNSUPPORTED_CONFIG_FILE - Reserved for future use. + // + // DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED - The instance has exceeded + // the 5000 package limit for Amazon Inspector Deep inspection. To resume Deep + // inspection for this instance you can try to adjust the custom paths associated + // with the account. + // + // DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED - The SSM agent couldn't + // send inventory to Amazon Inspector because the SSM quota for Inventory data + // collected per instance per day has already been reached for this instance. + // + // DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED - Amazon Inspector failed + // to extract the package inventory because the package collection time exceeding + // the maximum threshold of 15 minutes. + // + // DEEP_INSPECTION_NO_INVENTORY The Amazon Inspector plugin hasn't yet been + // able to collect an inventory of packages for this instance. This is usually + // the result of a pending scan, however, if this status persists after 6 hours, + // use SSM to ensure that the required Amazon Inspector associations exist and + // are running for the instance. + // + // Reason is a required field + Reason *string `locationName:"reason" type:"string" required:"true" enum:"ScanStatusReason"` + + // The status code of the scan. + // + // StatusCode is a required field + StatusCode *string `locationName:"statusCode" type:"string" required:"true" enum:"ScanStatusCode"` } // String returns the string representation. @@ -15745,7 +21637,7 @@ type Remediation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Remediation) String() string { +func (s ScanStatus) String() string { return awsutil.Prettify(s) } @@ -15754,28 +21646,37 @@ func (s Remediation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Remediation) GoString() string { +func (s ScanStatus) GoString() string { return s.String() } -// SetRecommendation sets the Recommendation field's value. -func (s *Remediation) SetRecommendation(v *Recommendation) *Remediation { - s.Recommendation = v +// SetReason sets the Reason field's value. +func (s *ScanStatus) SetReason(v string) *ScanStatus { + s.Reason = &v return s } -// The details that define an aggregation based on repository. -type RepositoryAggregation struct { +// SetStatusCode sets the StatusCode field's value. +func (s *ScanStatus) SetStatusCode(v string) *ScanStatus { + s.StatusCode = &v + return s +} + +// A schedule. +type Schedule struct { _ struct{} `type:"structure"` - // The names of repositories to aggregate findings on. - Repositories []*StringFilter `locationName:"repositories" min:"1" type:"list"` + // The schedule's daily. + Daily *DailySchedule `locationName:"daily" type:"structure"` - // The value to sort results by. - SortBy *string `locationName:"sortBy" type:"string" enum:"RepositorySortBy"` + // The schedule's monthly. + Monthly *MonthlySchedule `locationName:"monthly" type:"structure"` - // The order to sort results by. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` + // The schedule's one time. + OneTime *OneTimeSchedule `locationName:"oneTime" type:"structure"` + + // The schedule's weekly. + Weekly *WeeklySchedule `locationName:"weekly" type:"structure"` } // String returns the string representation. @@ -15783,7 +21684,7 @@ type RepositoryAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RepositoryAggregation) String() string { +func (s Schedule) String() string { return awsutil.Prettify(s) } @@ -15792,24 +21693,26 @@ func (s RepositoryAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RepositoryAggregation) GoString() string { +func (s Schedule) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RepositoryAggregation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RepositoryAggregation"} - if s.Repositories != nil && len(s.Repositories) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Repositories", 1)) +func (s *Schedule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Schedule"} + if s.Daily != nil { + if err := s.Daily.Validate(); err != nil { + invalidParams.AddNested("Daily", err.(request.ErrInvalidParams)) + } } - if s.Repositories != nil { - for i, v := range s.Repositories { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Repositories", i), err.(request.ErrInvalidParams)) - } + if s.Monthly != nil { + if err := s.Monthly.Validate(); err != nil { + invalidParams.AddNested("Monthly", err.(request.ErrInvalidParams)) + } + } + if s.Weekly != nil { + if err := s.Weekly.Validate(); err != nil { + invalidParams.AddNested("Weekly", err.(request.ErrInvalidParams)) } } @@ -15819,98 +21722,38 @@ func (s *RepositoryAggregation) Validate() error { return nil } -// SetRepositories sets the Repositories field's value. -func (s *RepositoryAggregation) SetRepositories(v []*StringFilter) *RepositoryAggregation { - s.Repositories = v - return s -} - -// SetSortBy sets the SortBy field's value. -func (s *RepositoryAggregation) SetSortBy(v string) *RepositoryAggregation { - s.SortBy = &v - return s -} - -// SetSortOrder sets the SortOrder field's value. -func (s *RepositoryAggregation) SetSortOrder(v string) *RepositoryAggregation { - s.SortOrder = &v - return s -} - -// A response that contains details on the results of a finding aggregation -// by repository. -type RepositoryAggregationResponse struct { - _ struct{} `type:"structure"` - - // The ID of the Amazon Web Services account associated with the findings. - AccountId *string `locationName:"accountId" min:"12" type:"string"` - - // The number of container images impacted by the findings. - AffectedImages *int64 `locationName:"affectedImages" type:"long"` - - // The name of the repository associated with the findings. - // - // Repository is a required field - Repository *string `locationName:"repository" min:"1" type:"string" required:"true"` - - // An object that represent the count of matched findings per severity. - SeverityCounts *SeverityCounts `locationName:"severityCounts" type:"structure"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s RepositoryAggregationResponse) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s RepositoryAggregationResponse) GoString() string { - return s.String() -} - -// SetAccountId sets the AccountId field's value. -func (s *RepositoryAggregationResponse) SetAccountId(v string) *RepositoryAggregationResponse { - s.AccountId = &v +// SetDaily sets the Daily field's value. +func (s *Schedule) SetDaily(v *DailySchedule) *Schedule { + s.Daily = v return s } -// SetAffectedImages sets the AffectedImages field's value. -func (s *RepositoryAggregationResponse) SetAffectedImages(v int64) *RepositoryAggregationResponse { - s.AffectedImages = &v +// SetMonthly sets the Monthly field's value. +func (s *Schedule) SetMonthly(v *MonthlySchedule) *Schedule { + s.Monthly = v return s } -// SetRepository sets the Repository field's value. -func (s *RepositoryAggregationResponse) SetRepository(v string) *RepositoryAggregationResponse { - s.Repository = &v +// SetOneTime sets the OneTime field's value. +func (s *Schedule) SetOneTime(v *OneTimeSchedule) *Schedule { + s.OneTime = v return s } -// SetSeverityCounts sets the SeverityCounts field's value. -func (s *RepositoryAggregationResponse) SetSeverityCounts(v *SeverityCounts) *RepositoryAggregationResponse { - s.SeverityCounts = v +// SetWeekly sets the Weekly field's value. +func (s *Schedule) SetWeekly(v *WeeklySchedule) *Schedule { + s.Weekly = v return s } -type ResetEncryptionKeyInput struct { +// Details on the criteria used to define the filter for a vulnerability search. +type SearchVulnerabilitiesFilterCriteria struct { _ struct{} `type:"structure"` - // The resource type the key encrypts. - // - // ResourceType is a required field - ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"` - - // The scan type the key encrypts. + // The IDs for specific vulnerabilities. // - // ScanType is a required field - ScanType *string `locationName:"scanType" type:"string" required:"true" enum:"ScanType"` + // VulnerabilityIds is a required field + VulnerabilityIds []*string `locationName:"vulnerabilityIds" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -15918,7 +21761,7 @@ type ResetEncryptionKeyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResetEncryptionKeyInput) String() string { +func (s SearchVulnerabilitiesFilterCriteria) String() string { return awsutil.Prettify(s) } @@ -15927,18 +21770,18 @@ func (s ResetEncryptionKeyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResetEncryptionKeyInput) GoString() string { +func (s SearchVulnerabilitiesFilterCriteria) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ResetEncryptionKeyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResetEncryptionKeyInput"} - if s.ResourceType == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceType")) +func (s *SearchVulnerabilitiesFilterCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchVulnerabilitiesFilterCriteria"} + if s.VulnerabilityIds == nil { + invalidParams.Add(request.NewErrParamRequired("VulnerabilityIds")) } - if s.ScanType == nil { - invalidParams.Add(request.NewErrParamRequired("ScanType")) + if s.VulnerabilityIds != nil && len(s.VulnerabilityIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VulnerabilityIds", 1)) } if invalidParams.Len() > 0 { @@ -15947,65 +21790,25 @@ func (s *ResetEncryptionKeyInput) Validate() error { return nil } -// SetResourceType sets the ResourceType field's value. -func (s *ResetEncryptionKeyInput) SetResourceType(v string) *ResetEncryptionKeyInput { - s.ResourceType = &v - return s -} - -// SetScanType sets the ScanType field's value. -func (s *ResetEncryptionKeyInput) SetScanType(v string) *ResetEncryptionKeyInput { - s.ScanType = &v +// SetVulnerabilityIds sets the VulnerabilityIds field's value. +func (s *SearchVulnerabilitiesFilterCriteria) SetVulnerabilityIds(v []*string) *SearchVulnerabilitiesFilterCriteria { + s.VulnerabilityIds = v return s } -type ResetEncryptionKeyOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ResetEncryptionKeyOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ResetEncryptionKeyOutput) GoString() string { - return s.String() -} - -// Details about the resource involved in a finding. -type Resource struct { +type SearchVulnerabilitiesInput struct { _ struct{} `type:"structure"` - // An object that contains details about the resource involved in a finding. - Details *ResourceDetails `locationName:"details" type:"structure"` - - // The ID of the resource. + // The criteria used to filter the results of a vulnerability search. // - // Id is a required field - Id *string `locationName:"id" min:"1" type:"string" required:"true"` - - // The partition of the resource. - Partition *string `locationName:"partition" min:"1" type:"string"` - - // The Amazon Web Services Region the impacted resource is located in. - Region *string `locationName:"region" min:"1" type:"string"` - - // The tags attached to the resource. - Tags map[string]*string `locationName:"tags" type:"map"` + // FilterCriteria is a required field + FilterCriteria *SearchVulnerabilitiesFilterCriteria `locationName:"filterCriteria" type:"structure" required:"true"` - // The type of resource. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` + // A token to use for paginating results that are returned in the response. + // Set the value of this parameter to null for the first request to a list action. + // For subsequent calls, use the NextToken value returned from the previous + // request to continue listing results after the first page. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -16013,7 +21816,7 @@ type Resource struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Resource) String() string { +func (s SearchVulnerabilitiesInput) String() string { return awsutil.Prettify(s) } @@ -16022,60 +21825,51 @@ func (s Resource) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Resource) GoString() string { +func (s SearchVulnerabilitiesInput) GoString() string { return s.String() } -// SetDetails sets the Details field's value. -func (s *Resource) SetDetails(v *ResourceDetails) *Resource { - s.Details = v - return s -} - -// SetId sets the Id field's value. -func (s *Resource) SetId(v string) *Resource { - s.Id = &v - return s -} - -// SetPartition sets the Partition field's value. -func (s *Resource) SetPartition(v string) *Resource { - s.Partition = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchVulnerabilitiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchVulnerabilitiesInput"} + if s.FilterCriteria == nil { + invalidParams.Add(request.NewErrParamRequired("FilterCriteria")) + } + if s.FilterCriteria != nil { + if err := s.FilterCriteria.Validate(); err != nil { + invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) + } + } -// SetRegion sets the Region field's value. -func (s *Resource) SetRegion(v string) *Resource { - s.Region = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTags sets the Tags field's value. -func (s *Resource) SetTags(v map[string]*string) *Resource { - s.Tags = v +// SetFilterCriteria sets the FilterCriteria field's value. +func (s *SearchVulnerabilitiesInput) SetFilterCriteria(v *SearchVulnerabilitiesFilterCriteria) *SearchVulnerabilitiesInput { + s.FilterCriteria = v return s } -// SetType sets the Type field's value. -func (s *Resource) SetType(v string) *Resource { - s.Type = &v +// SetNextToken sets the NextToken field's value. +func (s *SearchVulnerabilitiesInput) SetNextToken(v string) *SearchVulnerabilitiesInput { + s.NextToken = &v return s } -// Contains details about the resource involved in the finding. -type ResourceDetails struct { +type SearchVulnerabilitiesOutput struct { _ struct{} `type:"structure"` - // An object that contains details about the Amazon EC2 instance involved in - // the finding. - AwsEc2Instance *AwsEc2InstanceDetails `locationName:"awsEc2Instance" type:"structure"` - - // An object that contains details about the Amazon ECR container image involved - // in the finding. - AwsEcrContainerImage *AwsEcrContainerImageDetails `locationName:"awsEcrContainerImage" type:"structure"` + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `locationName:"nextToken" type:"string"` - // A summary of the information about an AWS Lambda function affected by a finding. - AwsLambdaFunction *AwsLambdaFunctionDetails `locationName:"awsLambdaFunction" type:"structure"` + // Details about the listed vulnerability. + // + // Vulnerabilities is a required field + Vulnerabilities []*Vulnerability `locationName:"vulnerabilities" type:"list" required:"true"` } // String returns the string representation. @@ -16083,7 +21877,7 @@ type ResourceDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceDetails) String() string { +func (s SearchVulnerabilitiesOutput) String() string { return awsutil.Prettify(s) } @@ -16092,55 +21886,34 @@ func (s ResourceDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceDetails) GoString() string { +func (s SearchVulnerabilitiesOutput) GoString() string { return s.String() } -// SetAwsEc2Instance sets the AwsEc2Instance field's value. -func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails { - s.AwsEc2Instance = v - return s -} - -// SetAwsEcrContainerImage sets the AwsEcrContainerImage field's value. -func (s *ResourceDetails) SetAwsEcrContainerImage(v *AwsEcrContainerImageDetails) *ResourceDetails { - s.AwsEcrContainerImage = v +// SetNextToken sets the NextToken field's value. +func (s *SearchVulnerabilitiesOutput) SetNextToken(v string) *SearchVulnerabilitiesOutput { + s.NextToken = &v return s } -// SetAwsLambdaFunction sets the AwsLambdaFunction field's value. -func (s *ResourceDetails) SetAwsLambdaFunction(v *AwsLambdaFunctionDetails) *ResourceDetails { - s.AwsLambdaFunction = v +// SetVulnerabilities sets the Vulnerabilities field's value. +func (s *SearchVulnerabilitiesOutput) SetVulnerabilities(v []*Vulnerability) *SearchVulnerabilitiesOutput { + s.Vulnerabilities = v return s } -// The resource filter criteria for a Software bill of materials (SBOM) report. -type ResourceFilterCriteria struct { +type SendCisSessionHealthInput struct { _ struct{} `type:"structure"` - // The account IDs used as resource filter criteria. - AccountId []*ResourceStringFilter `locationName:"accountId" min:"1" type:"list"` - - // The EC2 instance tags used as resource filter criteria. - Ec2InstanceTags []*ResourceMapFilter `locationName:"ec2InstanceTags" min:"1" type:"list"` - - // The ECR image tags used as resource filter criteria. - EcrImageTags []*ResourceStringFilter `locationName:"ecrImageTags" min:"1" type:"list"` - - // The ECR repository names used as resource filter criteria. - EcrRepositoryName []*ResourceStringFilter `locationName:"ecrRepositoryName" min:"1" type:"list"` - - // The AWS Lambda function name used as resource filter criteria. - LambdaFunctionName []*ResourceStringFilter `locationName:"lambdaFunctionName" min:"1" type:"list"` - - // The AWS Lambda function tags used as resource filter criteria. - LambdaFunctionTags []*ResourceMapFilter `locationName:"lambdaFunctionTags" min:"1" type:"list"` - - // The resource IDs used as resource filter criteria. - ResourceId []*ResourceStringFilter `locationName:"resourceId" min:"1" type:"list"` + // A unique identifier for the scan job. + // + // ScanJobId is a required field + ScanJobId *string `locationName:"scanJobId" type:"string" required:"true"` - // The resource types used as resource filter criteria. - ResourceType []*ResourceStringFilter `locationName:"resourceType" min:"1" type:"list"` + // The unique token that identifies the CIS session. + // + // SessionToken is a required field + SessionToken *string `locationName:"sessionToken" type:"string" required:"true"` } // String returns the string representation. @@ -16148,7 +21921,7 @@ type ResourceFilterCriteria struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceFilterCriteria) String() string { +func (s SendCisSessionHealthInput) String() string { return awsutil.Prettify(s) } @@ -16157,116 +21930,18 @@ func (s ResourceFilterCriteria) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceFilterCriteria) GoString() string { +func (s SendCisSessionHealthInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ResourceFilterCriteria) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResourceFilterCriteria"} - if s.AccountId != nil && len(s.AccountId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) - } - if s.Ec2InstanceTags != nil && len(s.Ec2InstanceTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceTags", 1)) - } - if s.EcrImageTags != nil && len(s.EcrImageTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EcrImageTags", 1)) - } - if s.EcrRepositoryName != nil && len(s.EcrRepositoryName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EcrRepositoryName", 1)) - } - if s.LambdaFunctionName != nil && len(s.LambdaFunctionName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionName", 1)) - } - if s.LambdaFunctionTags != nil && len(s.LambdaFunctionTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LambdaFunctionTags", 1)) - } - if s.ResourceId != nil && len(s.ResourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) - } - if s.ResourceType != nil && len(s.ResourceType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) - } - if s.AccountId != nil { - for i, v := range s.AccountId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountId", i), err.(request.ErrInvalidParams)) - } - } - } - if s.Ec2InstanceTags != nil { - for i, v := range s.Ec2InstanceTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2InstanceTags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.EcrImageTags != nil { - for i, v := range s.EcrImageTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrImageTags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.EcrRepositoryName != nil { - for i, v := range s.EcrRepositoryName { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EcrRepositoryName", i), err.(request.ErrInvalidParams)) - } - } - } - if s.LambdaFunctionName != nil { - for i, v := range s.LambdaFunctionName { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionName", i), err.(request.ErrInvalidParams)) - } - } - } - if s.LambdaFunctionTags != nil { - for i, v := range s.LambdaFunctionTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LambdaFunctionTags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.ResourceId != nil { - for i, v := range s.ResourceId { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceId", i), err.(request.ErrInvalidParams)) - } - } +func (s *SendCisSessionHealthInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendCisSessionHealthInput"} + if s.ScanJobId == nil { + invalidParams.Add(request.NewErrParamRequired("ScanJobId")) } - if s.ResourceType != nil { - for i, v := range s.ResourceType { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceType", i), err.(request.ErrInvalidParams)) - } - } + if s.SessionToken == nil { + invalidParams.Add(request.NewErrParamRequired("SessionToken")) } if invalidParams.Len() > 0 { @@ -16275,70 +21950,57 @@ func (s *ResourceFilterCriteria) Validate() error { return nil } -// SetAccountId sets the AccountId field's value. -func (s *ResourceFilterCriteria) SetAccountId(v []*ResourceStringFilter) *ResourceFilterCriteria { - s.AccountId = v - return s -} - -// SetEc2InstanceTags sets the Ec2InstanceTags field's value. -func (s *ResourceFilterCriteria) SetEc2InstanceTags(v []*ResourceMapFilter) *ResourceFilterCriteria { - s.Ec2InstanceTags = v - return s -} - -// SetEcrImageTags sets the EcrImageTags field's value. -func (s *ResourceFilterCriteria) SetEcrImageTags(v []*ResourceStringFilter) *ResourceFilterCriteria { - s.EcrImageTags = v - return s -} - -// SetEcrRepositoryName sets the EcrRepositoryName field's value. -func (s *ResourceFilterCriteria) SetEcrRepositoryName(v []*ResourceStringFilter) *ResourceFilterCriteria { - s.EcrRepositoryName = v +// SetScanJobId sets the ScanJobId field's value. +func (s *SendCisSessionHealthInput) SetScanJobId(v string) *SendCisSessionHealthInput { + s.ScanJobId = &v return s } -// SetLambdaFunctionName sets the LambdaFunctionName field's value. -func (s *ResourceFilterCriteria) SetLambdaFunctionName(v []*ResourceStringFilter) *ResourceFilterCriteria { - s.LambdaFunctionName = v +// SetSessionToken sets the SessionToken field's value. +func (s *SendCisSessionHealthInput) SetSessionToken(v string) *SendCisSessionHealthInput { + s.SessionToken = &v return s } -// SetLambdaFunctionTags sets the LambdaFunctionTags field's value. -func (s *ResourceFilterCriteria) SetLambdaFunctionTags(v []*ResourceMapFilter) *ResourceFilterCriteria { - s.LambdaFunctionTags = v - return s +type SendCisSessionHealthOutput struct { + _ struct{} `type:"structure"` } -// SetResourceId sets the ResourceId field's value. -func (s *ResourceFilterCriteria) SetResourceId(v []*ResourceStringFilter) *ResourceFilterCriteria { - s.ResourceId = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SendCisSessionHealthOutput) String() string { + return awsutil.Prettify(s) } -// SetResourceType sets the ResourceType field's value. -func (s *ResourceFilterCriteria) SetResourceType(v []*ResourceStringFilter) *ResourceFilterCriteria { - s.ResourceType = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SendCisSessionHealthOutput) GoString() string { + return s.String() } -// A resource map filter for a software bill of material report. -type ResourceMapFilter struct { +type SendCisSessionTelemetryInput struct { _ struct{} `type:"structure"` - // The filter's comparison. + // The CIS session telemetry messages. // - // Comparison is a required field - Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"ResourceMapComparison"` + // Messages is a required field + Messages []*CisSessionMessage `locationName:"messages" min:"1" type:"list" required:"true"` - // The filter's key. + // A unique identifier for the scan job. // - // Key is a required field - Key *string `locationName:"key" min:"1" type:"string" required:"true"` + // ScanJobId is a required field + ScanJobId *string `locationName:"scanJobId" type:"string" required:"true"` - // The filter's value. - Value *string `locationName:"value" min:"1" type:"string"` + // The unique token that identifies the CIS session. + // + // SessionToken is a required field + SessionToken *string `locationName:"sessionToken" type:"string" required:"true"` } // String returns the string representation. @@ -16346,7 +22008,7 @@ type ResourceMapFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceMapFilter) String() string { +func (s SendCisSessionTelemetryInput) String() string { return awsutil.Prettify(s) } @@ -16355,24 +22017,34 @@ func (s ResourceMapFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceMapFilter) GoString() string { +func (s SendCisSessionTelemetryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ResourceMapFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResourceMapFilter"} - if s.Comparison == nil { - invalidParams.Add(request.NewErrParamRequired("Comparison")) +func (s *SendCisSessionTelemetryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendCisSessionTelemetryInput"} + if s.Messages == nil { + invalidParams.Add(request.NewErrParamRequired("Messages")) } - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) + if s.Messages != nil && len(s.Messages) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Messages", 1)) } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + if s.ScanJobId == nil { + invalidParams.Add(request.NewErrParamRequired("ScanJobId")) } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + if s.SessionToken == nil { + invalidParams.Add(request.NewErrParamRequired("SessionToken")) + } + if s.Messages != nil { + for i, v := range s.Messages { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Messages", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -16381,31 +22053,59 @@ func (s *ResourceMapFilter) Validate() error { return nil } -// SetComparison sets the Comparison field's value. -func (s *ResourceMapFilter) SetComparison(v string) *ResourceMapFilter { - s.Comparison = &v +// SetMessages sets the Messages field's value. +func (s *SendCisSessionTelemetryInput) SetMessages(v []*CisSessionMessage) *SendCisSessionTelemetryInput { + s.Messages = v return s } -// SetKey sets the Key field's value. -func (s *ResourceMapFilter) SetKey(v string) *ResourceMapFilter { - s.Key = &v +// SetScanJobId sets the ScanJobId field's value. +func (s *SendCisSessionTelemetryInput) SetScanJobId(v string) *SendCisSessionTelemetryInput { + s.ScanJobId = &v return s } -// SetValue sets the Value field's value. -func (s *ResourceMapFilter) SetValue(v string) *ResourceMapFilter { - s.Value = &v +// SetSessionToken sets the SessionToken field's value. +func (s *SendCisSessionTelemetryInput) SetSessionToken(v string) *SendCisSessionTelemetryInput { + s.SessionToken = &v return s } -// The operation tried to access an invalid resource. Make sure the resource -// is specified correctly. -type ResourceNotFoundException struct { +type SendCisSessionTelemetryOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SendCisSessionTelemetryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SendCisSessionTelemetryOutput) GoString() string { + return s.String() +} + +// You have exceeded your service quota. To perform the requested action, remove +// some of the relevant resources, or use Service Quotas to request a service +// quota increase. +type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` + + // The ID of the resource that exceeds a service quota. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" type:"string" required:"true"` } // String returns the string representation. @@ -16413,7 +22113,7 @@ type ResourceNotFoundException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotFoundException) String() string { +func (s ServiceQuotaExceededException) String() string { return awsutil.Prettify(s) } @@ -16422,23 +22122,23 @@ func (s ResourceNotFoundException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotFoundException) GoString() string { +func (s ServiceQuotaExceededException) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" } // Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { +func (s *ServiceQuotaExceededException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -16446,41 +22146,39 @@ func (s *ResourceNotFoundException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { +func (s *ServiceQuotaExceededException) OrigErr() error { return nil } -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { +func (s *ServiceQuotaExceededException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { +func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } -// An object that contains details about the metadata for an Amazon ECR resource. -type ResourceScanMetadata struct { +// An object that contains the counts of aggregated finding per severity. +type SeverityCounts struct { _ struct{} `type:"structure"` - // An object that contains metadata details for an Amazon EC2 instance. - Ec2 *Ec2Metadata `locationName:"ec2" type:"structure"` + // The total count of findings from all severities. + All *int64 `locationName:"all" type:"long"` - // An object that contains details about the container metadata for an Amazon - // ECR image. - EcrImage *EcrContainerImageMetadata `locationName:"ecrImage" type:"structure"` + // The total count of critical severity findings. + Critical *int64 `locationName:"critical" type:"long"` - // An object that contains details about the repository an Amazon ECR image - // resides in. - EcrRepository *EcrRepositoryMetadata `locationName:"ecrRepository" type:"structure"` + // The total count of high severity findings. + High *int64 `locationName:"high" type:"long"` - // An object that contains metadata details for an AWS Lambda function. - LambdaFunction *LambdaFunctionMetadata `locationName:"lambdaFunction" type:"structure"` + // The total count of medium severity findings. + Medium *int64 `locationName:"medium" type:"long"` } // String returns the string representation. @@ -16488,7 +22186,7 @@ type ResourceScanMetadata struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceScanMetadata) String() string { +func (s SeverityCounts) String() string { return awsutil.Prettify(s) } @@ -16497,56 +22195,47 @@ func (s ResourceScanMetadata) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceScanMetadata) GoString() string { +func (s SeverityCounts) GoString() string { return s.String() } -// SetEc2 sets the Ec2 field's value. -func (s *ResourceScanMetadata) SetEc2(v *Ec2Metadata) *ResourceScanMetadata { - s.Ec2 = v +// SetAll sets the All field's value. +func (s *SeverityCounts) SetAll(v int64) *SeverityCounts { + s.All = &v return s } -// SetEcrImage sets the EcrImage field's value. -func (s *ResourceScanMetadata) SetEcrImage(v *EcrContainerImageMetadata) *ResourceScanMetadata { - s.EcrImage = v +// SetCritical sets the Critical field's value. +func (s *SeverityCounts) SetCritical(v int64) *SeverityCounts { + s.Critical = &v return s } -// SetEcrRepository sets the EcrRepository field's value. -func (s *ResourceScanMetadata) SetEcrRepository(v *EcrRepositoryMetadata) *ResourceScanMetadata { - s.EcrRepository = v +// SetHigh sets the High field's value. +func (s *SeverityCounts) SetHigh(v int64) *SeverityCounts { + s.High = &v return s } -// SetLambdaFunction sets the LambdaFunction field's value. -func (s *ResourceScanMetadata) SetLambdaFunction(v *LambdaFunctionMetadata) *ResourceScanMetadata { - s.LambdaFunction = v +// SetMedium sets the Medium field's value. +func (s *SeverityCounts) SetMedium(v int64) *SeverityCounts { + s.Medium = &v return s } -// Details the state of Amazon Inspector for each resource type Amazon Inspector -// scans. -type ResourceState struct { +// Details about the criteria used to sort finding results. +type SortCriteria struct { _ struct{} `type:"structure"` - // An object detailing the state of Amazon Inspector scanning for Amazon EC2 - // resources. + // The finding detail field by which results are sorted. // - // Ec2 is a required field - Ec2 *State `locationName:"ec2" type:"structure" required:"true"` + // Field is a required field + Field *string `locationName:"field" type:"string" required:"true" enum:"SortField"` - // An object detailing the state of Amazon Inspector scanning for Amazon ECR - // resources. + // The order by which findings are sorted. // - // Ecr is a required field - Ecr *State `locationName:"ecr" type:"structure" required:"true"` - - // An object that described the state of Amazon Inspector scans for an account. - Lambda *State `locationName:"lambda" type:"structure"` - - // An object that described the state of Amazon Inspector scans for an account. - LambdaCode *State `locationName:"lambdaCode" type:"structure"` + // SortOrder is a required field + SortOrder *string `locationName:"sortOrder" type:"string" required:"true" enum:"SortOrder"` } // String returns the string representation. @@ -16554,7 +22243,7 @@ type ResourceState struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceState) String() string { +func (s SortCriteria) String() string { return awsutil.Prettify(s) } @@ -16563,55 +22252,50 @@ func (s ResourceState) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceState) GoString() string { +func (s SortCriteria) GoString() string { return s.String() } -// SetEc2 sets the Ec2 field's value. -func (s *ResourceState) SetEc2(v *State) *ResourceState { - s.Ec2 = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *SortCriteria) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SortCriteria"} + if s.Field == nil { + invalidParams.Add(request.NewErrParamRequired("Field")) + } + if s.SortOrder == nil { + invalidParams.Add(request.NewErrParamRequired("SortOrder")) + } -// SetEcr sets the Ecr field's value. -func (s *ResourceState) SetEcr(v *State) *ResourceState { - s.Ecr = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLambda sets the Lambda field's value. -func (s *ResourceState) SetLambda(v *State) *ResourceState { - s.Lambda = v +// SetField sets the Field field's value. +func (s *SortCriteria) SetField(v string) *SortCriteria { + s.Field = &v return s } -// SetLambdaCode sets the LambdaCode field's value. -func (s *ResourceState) SetLambdaCode(v *State) *ResourceState { - s.LambdaCode = v +// SetSortOrder sets the SortOrder field's value. +func (s *SortCriteria) SetSortOrder(v string) *SortCriteria { + s.SortOrder = &v return s } -// Details the status of Amazon Inspector for each resource type Amazon Inspector -// scans. -type ResourceStatus struct { +type StartCisSessionInput struct { _ struct{} `type:"structure"` - // The status of Amazon Inspector scanning for Amazon EC2 resources. + // The start CIS session message. // - // Ec2 is a required field - Ec2 *string `locationName:"ec2" type:"string" required:"true" enum:"Status"` + // Message is a required field + Message *StartCisSessionMessage `locationName:"message" type:"structure" required:"true"` - // The status of Amazon Inspector scanning for Amazon ECR resources. + // A unique identifier for the scan job. // - // Ecr is a required field - Ecr *string `locationName:"ecr" type:"string" required:"true" enum:"Status"` - - // The status of Amazon Inspector scanning for AWS Lambda function. - Lambda *string `locationName:"lambda" type:"string" enum:"Status"` - - // The status of Amazon Inspector scanning for custom application code for Amazon - // Web Services Lambda functions. - LambdaCode *string `locationName:"lambdaCode" type:"string" enum:"Status"` + // ScanJobId is a required field + ScanJobId *string `locationName:"scanJobId" type:"string" required:"true"` } // String returns the string representation. @@ -16619,7 +22303,7 @@ type ResourceStatus struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceStatus) String() string { +func (s StartCisSessionInput) String() string { return awsutil.Prettify(s) } @@ -16628,47 +22312,51 @@ func (s ResourceStatus) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceStatus) GoString() string { +func (s StartCisSessionInput) GoString() string { return s.String() } -// SetEc2 sets the Ec2 field's value. -func (s *ResourceStatus) SetEc2(v string) *ResourceStatus { - s.Ec2 = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartCisSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartCisSessionInput"} + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.ScanJobId == nil { + invalidParams.Add(request.NewErrParamRequired("ScanJobId")) + } + if s.Message != nil { + if err := s.Message.Validate(); err != nil { + invalidParams.AddNested("Message", err.(request.ErrInvalidParams)) + } + } -// SetEcr sets the Ecr field's value. -func (s *ResourceStatus) SetEcr(v string) *ResourceStatus { - s.Ecr = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLambda sets the Lambda field's value. -func (s *ResourceStatus) SetLambda(v string) *ResourceStatus { - s.Lambda = &v +// SetMessage sets the Message field's value. +func (s *StartCisSessionInput) SetMessage(v *StartCisSessionMessage) *StartCisSessionInput { + s.Message = v return s } -// SetLambdaCode sets the LambdaCode field's value. -func (s *ResourceStatus) SetLambdaCode(v string) *ResourceStatus { - s.LambdaCode = &v +// SetScanJobId sets the ScanJobId field's value. +func (s *StartCisSessionInput) SetScanJobId(v string) *StartCisSessionInput { + s.ScanJobId = &v return s } -// A resource string filter for a software bill of materials report. -type ResourceStringFilter struct { +// The start CIS session message. +type StartCisSessionMessage struct { _ struct{} `type:"structure"` - // The filter's comparison. - // - // Comparison is a required field - Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"ResourceStringComparison"` - - // The filter's value. - // - // Value is a required field - Value *string `locationName:"value" min:"1" type:"string" required:"true"` + // The unique token that identifies the CIS session. + // + // SessionToken is a required field + SessionToken *string `locationName:"sessionToken" type:"string" required:"true"` } // String returns the string representation. @@ -16676,7 +22364,7 @@ type ResourceStringFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceStringFilter) String() string { +func (s StartCisSessionMessage) String() string { return awsutil.Prettify(s) } @@ -16685,21 +22373,15 @@ func (s ResourceStringFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceStringFilter) GoString() string { +func (s StartCisSessionMessage) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ResourceStringFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResourceStringFilter"} - if s.Comparison == nil { - invalidParams.Add(request.NewErrParamRequired("Comparison")) - } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) - } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) +func (s *StartCisSessionMessage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartCisSessionMessage"} + if s.SessionToken == nil { + invalidParams.Add(request.NewErrParamRequired("SessionToken")) } if invalidParams.Len() > 0 { @@ -16708,123 +22390,14 @@ func (s *ResourceStringFilter) Validate() error { return nil } -// SetComparison sets the Comparison field's value. -func (s *ResourceStringFilter) SetComparison(v string) *ResourceStringFilter { - s.Comparison = &v - return s -} - -// SetValue sets the Value field's value. -func (s *ResourceStringFilter) SetValue(v string) *ResourceStringFilter { - s.Value = &v +// SetSessionToken sets the SessionToken field's value. +func (s *StartCisSessionMessage) SetSessionToken(v string) *StartCisSessionMessage { + s.SessionToken = &v return s } -// The status of the scan. -type ScanStatus struct { +type StartCisSessionOutput struct { _ struct{} `type:"structure"` - - // The scan status. Possible return values and descriptions are: - // - // PENDING_INITIAL_SCAN - This resource has been identified for scanning, results - // will be available soon. - // - // ACCESS_DENIED - Resource access policy restricting Amazon Inspector access. - // Please update the IAM policy. - // - // INTERNAL_ERROR - Amazon Inspector has encountered an internal error for this - // resource. Amazon Inspector service will automatically resolve the issue and - // resume the scanning. No action required from the user. - // - // UNMANAGED_EC2_INSTANCE - The EC2 instance is not managed by SSM, please use - // the following SSM automation to remediate the issue: https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html - // (https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-managed-instance.html). - // Once the instance becomes managed by SSM, Inspector will automatically begin - // scanning this instance. - // - // UNSUPPORTED_OS - Amazon Inspector does not support this OS, architecture, - // or image manifest type at this time. To see a complete list of supported - // operating systems see: https://docs.aws.amazon.com/inspector/latest/user/supported.html - // (https://docs.aws.amazon.com/inspector/latest/user/supported.html). - // - // SCAN_ELIGIBILITY_EXPIRED - The configured scan duration has lapsed for this - // image. - // - // RESOURCE_TERMINATED - This resource has been terminated. The findings and - // coverage associated with this resource are in the process of being cleaned - // up. - // - // SUCCESSFUL - The scan was successful. - // - // NO_RESOURCES_FOUND - Reserved for future use. - // - // IMAGE_SIZE_EXCEEDED - Reserved for future use. - // - // SCAN_FREQUENCY_MANUAL - This image will not be covered by Amazon Inspector - // due to the repository scan frequency configuration. - // - // SCAN_FREQUENCY_SCAN_ON_PUSH - This image will be scanned one time and will - // not new findings because of the scan frequency configuration. - // - // EC2_INSTANCE_STOPPED - This EC2 instance is in a stopped state, therefore, - // Amazon Inspector will pause scanning. The existing findings will continue - // to exist until the instance is terminated. Once the instance is re-started, - // Inspector will automatically start scanning the instance again. Please note - // that you will not be charged for this instance while it’s in a stopped - // state. - // - // PENDING_DISABLE - This resource is pending cleanup during disablement. The - // customer will not be billed while a resource is in the pending disable status. - // - // NO INVENTORY - Amazon Inspector couldn’t find software application inventory - // to scan for vulnerabilities. This might be caused due to required Amazon - // Inspector associations being deleted or failing to run on your resource. - // Please verify the status of InspectorInventoryCollection-do-not-delete association - // in the SSM console for the resource. Additionally, you can verify the instance’s - // inventory in the SSM Fleet Manager console. - // - // STALE_INVENTORY - Amazon Inspector wasn’t able to collect an updated software - // application inventory in the last 7 days. Please confirm the required Amazon - // Inspector associations still exist and you can still see an updated inventory - // in the SSM console. - // - // EXCLUDED_BY_TAG - This resource was not scanned because it has been excluded - // by a tag. - // - // UNSUPPORTED_RUNTIME - The function was not scanned because it has an unsupported - // runtime. To see a complete list of supported runtimes see: https://docs.aws.amazon.com/inspector/latest/user/supported.html - // (https://docs.aws.amazon.com/inspector/latest/user/supported.html). - // - // UNSUPPORTED_MEDIA_TYPE - The ECR image has an unsupported media type. - // - // UNSUPPORTED_CONFIG_FILE - Reserved for future use. - // - // DEEP_INSPECTION_PACKAGE_COLLECTION_LIMIT_EXCEEDED - The instance has exceeded - // the 5000 package limit for Amazon Inspector Deep inspection. To resume Deep - // inspection for this instance you can try to adjust the custom paths associated - // with the account. - // - // DEEP_INSPECTION_DAILY_SSM_INVENTORY_LIMIT_EXCEEDED - The SSM agent couldn't - // send inventory to Amazon Inspector because the SSM quota for Inventory data - // collected per instance per day has already been reached for this instance. - // - // DEEP_INSPECTION_COLLECTION_TIME_LIMIT_EXCEEDED - Amazon Inspector failed - // to extract the package inventory because the package collection time exceeding - // the maximum threshold of 15 minutes. - // - // DEEP_INSPECTION_NO_INVENTORY The Amazon Inspector plugin hasn't yet been - // able to collect an inventory of packages for this instance. This is usually - // the result of a pending scan, however, if this status persists after 6 hours, - // use SSM to ensure that the required Amazon Inspector associations exist and - // are running for the instance. - // - // Reason is a required field - Reason *string `locationName:"reason" type:"string" required:"true" enum:"ScanStatusReason"` - - // The status code of the scan. - // - // StatusCode is a required field - StatusCode *string `locationName:"statusCode" type:"string" required:"true" enum:"ScanStatusCode"` } // String returns the string representation. @@ -16832,7 +22405,7 @@ type ScanStatus struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ScanStatus) String() string { +func (s StartCisSessionOutput) String() string { return awsutil.Prettify(s) } @@ -16841,30 +22414,28 @@ func (s ScanStatus) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ScanStatus) GoString() string { +func (s StartCisSessionOutput) GoString() string { return s.String() } -// SetReason sets the Reason field's value. -func (s *ScanStatus) SetReason(v string) *ScanStatus { - s.Reason = &v - return s -} +// An object that described the state of Amazon Inspector scans for an account. +type State struct { + _ struct{} `type:"structure"` -// SetStatusCode sets the StatusCode field's value. -func (s *ScanStatus) SetStatusCode(v string) *ScanStatus { - s.StatusCode = &v - return s -} + // The error code explaining why the account failed to enable Amazon Inspector. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"ErrorCode"` -// Details on the criteria used to define the filter for a vulnerability search. -type SearchVulnerabilitiesFilterCriteria struct { - _ struct{} `type:"structure"` + // The error message received when the account failed to enable Amazon Inspector. + // + // ErrorMessage is a required field + ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string" required:"true"` - // The IDs for specific vulnerabilities. + // The status of Amazon Inspector for the account. // - // VulnerabilityIds is a required field - VulnerabilityIds []*string `locationName:"vulnerabilityIds" min:"1" type:"list" required:"true"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"Status"` } // String returns the string representation. @@ -16872,7 +22443,7 @@ type SearchVulnerabilitiesFilterCriteria struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SearchVulnerabilitiesFilterCriteria) String() string { +func (s State) String() string { return awsutil.Prettify(s) } @@ -16881,45 +22452,40 @@ func (s SearchVulnerabilitiesFilterCriteria) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SearchVulnerabilitiesFilterCriteria) GoString() string { +func (s State) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *SearchVulnerabilitiesFilterCriteria) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SearchVulnerabilitiesFilterCriteria"} - if s.VulnerabilityIds == nil { - invalidParams.Add(request.NewErrParamRequired("VulnerabilityIds")) - } - if s.VulnerabilityIds != nil && len(s.VulnerabilityIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VulnerabilityIds", 1)) - } +// SetErrorCode sets the ErrorCode field's value. +func (s *State) SetErrorCode(v string) *State { + s.ErrorCode = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetErrorMessage sets the ErrorMessage field's value. +func (s *State) SetErrorMessage(v string) *State { + s.ErrorMessage = &v + return s } -// SetVulnerabilityIds sets the VulnerabilityIds field's value. -func (s *SearchVulnerabilitiesFilterCriteria) SetVulnerabilityIds(v []*string) *SearchVulnerabilitiesFilterCriteria { - s.VulnerabilityIds = v +// SetStatus sets the Status field's value. +func (s *State) SetStatus(v string) *State { + s.Status = &v return s } -type SearchVulnerabilitiesInput struct { +// The status counts. +type StatusCounts struct { _ struct{} `type:"structure"` - // The criteria used to filter the results of a vulnerability search. - // - // FilterCriteria is a required field - FilterCriteria *SearchVulnerabilitiesFilterCriteria `locationName:"filterCriteria" type:"structure" required:"true"` + // The number of checks that failed. + Failed *int64 `locationName:"failed" type:"integer"` - // A token to use for paginating results that are returned in the response. - // Set the value of this parameter to null for the first request to a list action. - // For subsequent calls, use the NextToken value returned from the previous - // request to continue listing results after the first page. - NextToken *string `locationName:"nextToken" type:"string"` + // The number of checks that passed. + Passed *int64 `locationName:"passed" type:"integer"` + + // The number of checks that were skipped. + Skipped *int64 `locationName:"skipped" type:"integer"` } // String returns the string representation. @@ -16927,7 +22493,7 @@ type SearchVulnerabilitiesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SearchVulnerabilitiesInput) String() string { +func (s StatusCounts) String() string { return awsutil.Prettify(s) } @@ -16936,51 +22502,41 @@ func (s SearchVulnerabilitiesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SearchVulnerabilitiesInput) GoString() string { +func (s StatusCounts) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *SearchVulnerabilitiesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SearchVulnerabilitiesInput"} - if s.FilterCriteria == nil { - invalidParams.Add(request.NewErrParamRequired("FilterCriteria")) - } - if s.FilterCriteria != nil { - if err := s.FilterCriteria.Validate(); err != nil { - invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetFailed sets the Failed field's value. +func (s *StatusCounts) SetFailed(v int64) *StatusCounts { + s.Failed = &v + return s } -// SetFilterCriteria sets the FilterCriteria field's value. -func (s *SearchVulnerabilitiesInput) SetFilterCriteria(v *SearchVulnerabilitiesFilterCriteria) *SearchVulnerabilitiesInput { - s.FilterCriteria = v +// SetPassed sets the Passed field's value. +func (s *StatusCounts) SetPassed(v int64) *StatusCounts { + s.Passed = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *SearchVulnerabilitiesInput) SetNextToken(v string) *SearchVulnerabilitiesInput { - s.NextToken = &v +// SetSkipped sets the Skipped field's value. +func (s *StatusCounts) SetSkipped(v int64) *StatusCounts { + s.Skipped = &v return s } -type SearchVulnerabilitiesOutput struct { +// Details about the step associated with a finding. +type Step struct { _ struct{} `type:"structure"` - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` + // The component ID. + // + // ComponentId is a required field + ComponentId *string `locationName:"componentId" type:"string" required:"true"` - // Details about the listed vulnerability. + // The component type. // - // Vulnerabilities is a required field - Vulnerabilities []*Vulnerability `locationName:"vulnerabilities" type:"list" required:"true"` + // ComponentType is a required field + ComponentType *string `locationName:"componentType" type:"string" required:"true"` } // String returns the string representation. @@ -16988,7 +22544,7 @@ type SearchVulnerabilitiesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SearchVulnerabilitiesOutput) String() string { +func (s Step) String() string { return awsutil.Prettify(s) } @@ -16997,35 +22553,49 @@ func (s SearchVulnerabilitiesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SearchVulnerabilitiesOutput) GoString() string { +func (s Step) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *SearchVulnerabilitiesOutput) SetNextToken(v string) *SearchVulnerabilitiesOutput { - s.NextToken = &v +// SetComponentId sets the ComponentId field's value. +func (s *Step) SetComponentId(v string) *Step { + s.ComponentId = &v return s } -// SetVulnerabilities sets the Vulnerabilities field's value. -func (s *SearchVulnerabilitiesOutput) SetVulnerabilities(v []*Vulnerability) *SearchVulnerabilitiesOutput { - s.Vulnerabilities = v +// SetComponentType sets the ComponentType field's value. +func (s *Step) SetComponentType(v string) *Step { + s.ComponentType = &v return s } -// You have exceeded your service quota. To perform the requested action, remove -// some of the relevant resources, or use Service Quotas to request a service -// quota increase. -type ServiceQuotaExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The stop CIS message progress. +type StopCisMessageProgress struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // The progress' error checks. + ErrorChecks *int64 `locationName:"errorChecks" type:"integer"` - // The ID of the resource that exceeds a service quota. - // - // ResourceId is a required field - ResourceId *string `locationName:"resourceId" type:"string" required:"true"` + // The progress' failed checks. + FailedChecks *int64 `locationName:"failedChecks" type:"integer"` + + // The progress' informational checks. + InformationalChecks *int64 `locationName:"informationalChecks" type:"integer"` + + // The progress' not applicable checks. + NotApplicableChecks *int64 `locationName:"notApplicableChecks" type:"integer"` + + // The progress' not evaluated checks. + NotEvaluatedChecks *int64 `locationName:"notEvaluatedChecks" type:"integer"` + + // The progress' successful checks. + SuccessfulChecks *int64 `locationName:"successfulChecks" type:"integer"` + + // The progress' total checks. + TotalChecks *int64 `locationName:"totalChecks" type:"integer"` + + // The progress' unknown checks. + UnknownChecks *int64 `locationName:"unknownChecks" type:"integer"` } // String returns the string representation. @@ -17033,7 +22603,7 @@ type ServiceQuotaExceededException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ServiceQuotaExceededException) String() string { +func (s StopCisMessageProgress) String() string { return awsutil.Prettify(s) } @@ -17042,63 +22612,75 @@ func (s ServiceQuotaExceededException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ServiceQuotaExceededException) GoString() string { +func (s StopCisMessageProgress) GoString() string { return s.String() } -func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { - return &ServiceQuotaExceededException{ - RespMetadata: v, - } +// SetErrorChecks sets the ErrorChecks field's value. +func (s *StopCisMessageProgress) SetErrorChecks(v int64) *StopCisMessageProgress { + s.ErrorChecks = &v + return s } -// Code returns the exception type name. -func (s *ServiceQuotaExceededException) Code() string { - return "ServiceQuotaExceededException" +// SetFailedChecks sets the FailedChecks field's value. +func (s *StopCisMessageProgress) SetFailedChecks(v int64) *StopCisMessageProgress { + s.FailedChecks = &v + return s } -// Message returns the exception's message. -func (s *ServiceQuotaExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetInformationalChecks sets the InformationalChecks field's value. +func (s *StopCisMessageProgress) SetInformationalChecks(v int64) *StopCisMessageProgress { + s.InformationalChecks = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ServiceQuotaExceededException) OrigErr() error { - return nil +// SetNotApplicableChecks sets the NotApplicableChecks field's value. +func (s *StopCisMessageProgress) SetNotApplicableChecks(v int64) *StopCisMessageProgress { + s.NotApplicableChecks = &v + return s } -func (s *ServiceQuotaExceededException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetNotEvaluatedChecks sets the NotEvaluatedChecks field's value. +func (s *StopCisMessageProgress) SetNotEvaluatedChecks(v int64) *StopCisMessageProgress { + s.NotEvaluatedChecks = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ServiceQuotaExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetSuccessfulChecks sets the SuccessfulChecks field's value. +func (s *StopCisMessageProgress) SetSuccessfulChecks(v int64) *StopCisMessageProgress { + s.SuccessfulChecks = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ServiceQuotaExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetTotalChecks sets the TotalChecks field's value. +func (s *StopCisMessageProgress) SetTotalChecks(v int64) *StopCisMessageProgress { + s.TotalChecks = &v + return s } -// An object that contains the counts of aggregated finding per severity. -type SeverityCounts struct { - _ struct{} `type:"structure"` +// SetUnknownChecks sets the UnknownChecks field's value. +func (s *StopCisMessageProgress) SetUnknownChecks(v int64) *StopCisMessageProgress { + s.UnknownChecks = &v + return s +} - // The total count of findings from all severities. - All *int64 `locationName:"all" type:"long"` +type StopCisSessionInput struct { + _ struct{} `type:"structure"` - // The total count of critical severity findings. - Critical *int64 `locationName:"critical" type:"long"` + // The stop CIS session message. + // + // Message is a required field + Message *StopCisSessionMessage `locationName:"message" type:"structure" required:"true"` - // The total count of high severity findings. - High *int64 `locationName:"high" type:"long"` + // A unique identifier for the scan job. + // + // ScanJobId is a required field + ScanJobId *string `locationName:"scanJobId" type:"string" required:"true"` - // The total count of medium severity findings. - Medium *int64 `locationName:"medium" type:"long"` + // The unique token that identifies the CIS session. + // + // SessionToken is a required field + SessionToken *string `locationName:"sessionToken" type:"string" required:"true"` } // String returns the string representation. @@ -17106,7 +22688,7 @@ type SeverityCounts struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SeverityCounts) String() string { +func (s StopCisSessionInput) String() string { return awsutil.Prettify(s) } @@ -17115,47 +22697,77 @@ func (s SeverityCounts) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SeverityCounts) GoString() string { +func (s StopCisSessionInput) GoString() string { return s.String() } -// SetAll sets the All field's value. -func (s *SeverityCounts) SetAll(v int64) *SeverityCounts { - s.All = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopCisSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopCisSessionInput"} + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.ScanJobId == nil { + invalidParams.Add(request.NewErrParamRequired("ScanJobId")) + } + if s.SessionToken == nil { + invalidParams.Add(request.NewErrParamRequired("SessionToken")) + } + if s.Message != nil { + if err := s.Message.Validate(); err != nil { + invalidParams.AddNested("Message", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCritical sets the Critical field's value. -func (s *SeverityCounts) SetCritical(v int64) *SeverityCounts { - s.Critical = &v +// SetMessage sets the Message field's value. +func (s *StopCisSessionInput) SetMessage(v *StopCisSessionMessage) *StopCisSessionInput { + s.Message = v return s } -// SetHigh sets the High field's value. -func (s *SeverityCounts) SetHigh(v int64) *SeverityCounts { - s.High = &v +// SetScanJobId sets the ScanJobId field's value. +func (s *StopCisSessionInput) SetScanJobId(v string) *StopCisSessionInput { + s.ScanJobId = &v return s } -// SetMedium sets the Medium field's value. -func (s *SeverityCounts) SetMedium(v int64) *SeverityCounts { - s.Medium = &v +// SetSessionToken sets the SessionToken field's value. +func (s *StopCisSessionInput) SetSessionToken(v string) *StopCisSessionInput { + s.SessionToken = &v return s } -// Details about the criteria used to sort finding results. -type SortCriteria struct { +// The stop CIS session message. +type StopCisSessionMessage struct { _ struct{} `type:"structure"` - // The finding detail field by which results are sorted. + // The message benchmark profile. + BenchmarkProfile *string `locationName:"benchmarkProfile" type:"string"` + + // The message benchmark version. + BenchmarkVersion *string `locationName:"benchmarkVersion" type:"string"` + + // The message compute platform. + ComputePlatform *ComputePlatform `locationName:"computePlatform" type:"structure"` + + // The progress of the message. // - // Field is a required field - Field *string `locationName:"field" type:"string" required:"true" enum:"SortField"` + // Progress is a required field + Progress *StopCisMessageProgress `locationName:"progress" type:"structure" required:"true"` - // The order by which findings are sorted. + // The reason for the message. + Reason *string `locationName:"reason" type:"string"` + + // The status of the message. // - // SortOrder is a required field - SortOrder *string `locationName:"sortOrder" type:"string" required:"true" enum:"SortOrder"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"StopCisSessionStatus"` } // String returns the string representation. @@ -17163,7 +22775,7 @@ type SortCriteria struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SortCriteria) String() string { +func (s StopCisSessionMessage) String() string { return awsutil.Prettify(s) } @@ -17172,18 +22784,18 @@ func (s SortCriteria) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s SortCriteria) GoString() string { +func (s StopCisSessionMessage) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *SortCriteria) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SortCriteria"} - if s.Field == nil { - invalidParams.Add(request.NewErrParamRequired("Field")) +func (s *StopCisSessionMessage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopCisSessionMessage"} + if s.Progress == nil { + invalidParams.Add(request.NewErrParamRequired("Progress")) } - if s.SortOrder == nil { - invalidParams.Add(request.NewErrParamRequired("SortOrder")) + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) } if invalidParams.Len() > 0 { @@ -17192,36 +22804,77 @@ func (s *SortCriteria) Validate() error { return nil } -// SetField sets the Field field's value. -func (s *SortCriteria) SetField(v string) *SortCriteria { - s.Field = &v +// SetBenchmarkProfile sets the BenchmarkProfile field's value. +func (s *StopCisSessionMessage) SetBenchmarkProfile(v string) *StopCisSessionMessage { + s.BenchmarkProfile = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *SortCriteria) SetSortOrder(v string) *SortCriteria { - s.SortOrder = &v +// SetBenchmarkVersion sets the BenchmarkVersion field's value. +func (s *StopCisSessionMessage) SetBenchmarkVersion(v string) *StopCisSessionMessage { + s.BenchmarkVersion = &v return s } -// An object that described the state of Amazon Inspector scans for an account. -type State struct { +// SetComputePlatform sets the ComputePlatform field's value. +func (s *StopCisSessionMessage) SetComputePlatform(v *ComputePlatform) *StopCisSessionMessage { + s.ComputePlatform = v + return s +} + +// SetProgress sets the Progress field's value. +func (s *StopCisSessionMessage) SetProgress(v *StopCisMessageProgress) *StopCisSessionMessage { + s.Progress = v + return s +} + +// SetReason sets the Reason field's value. +func (s *StopCisSessionMessage) SetReason(v string) *StopCisSessionMessage { + s.Reason = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StopCisSessionMessage) SetStatus(v string) *StopCisSessionMessage { + s.Status = &v + return s +} + +type StopCisSessionOutput struct { _ struct{} `type:"structure"` +} - // The error code explaining why the account failed to enable Amazon Inspector. - // - // ErrorCode is a required field - ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"ErrorCode"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopCisSessionOutput) String() string { + return awsutil.Prettify(s) +} - // The error message received when the account failed to enable Amazon Inspector. +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopCisSessionOutput) GoString() string { + return s.String() +} + +// An object that describes the details of a string filter. +type StringFilter struct { + _ struct{} `type:"structure"` + + // The operator to use when comparing values in the filter. // - // ErrorMessage is a required field - ErrorMessage *string `locationName:"errorMessage" min:"1" type:"string" required:"true"` + // Comparison is a required field + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"StringComparison"` - // The status of Amazon Inspector for the account. + // The value to filter on. // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"Status"` + // Value is a required field + Value *string `locationName:"value" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -17229,7 +22882,7 @@ type State struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s State) String() string { +func (s StringFilter) String() string { return awsutil.Prettify(s) } @@ -17238,41 +22891,50 @@ func (s State) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s State) GoString() string { +func (s StringFilter) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *State) SetErrorCode(v string) *State { - s.ErrorCode = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *StringFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StringFilter"} + if s.Comparison == nil { + invalidParams.Add(request.NewErrParamRequired("Comparison")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *State) SetErrorMessage(v string) *State { - s.ErrorMessage = &v +// SetComparison sets the Comparison field's value. +func (s *StringFilter) SetComparison(v string) *StringFilter { + s.Comparison = &v return s } -// SetStatus sets the Status field's value. -func (s *State) SetStatus(v string) *State { - s.Status = &v +// SetValue sets the Value field's value. +func (s *StringFilter) SetValue(v string) *StringFilter { + s.Value = &v return s } -// Details about the step associated with a finding. -type Step struct { +// A suggested fix for a vulnerability in your Lambda function code. +type SuggestedFix struct { _ struct{} `type:"structure"` - // The component ID. - // - // ComponentId is a required field - ComponentId *string `locationName:"componentId" type:"string" required:"true"` + // The fix's code. + Code *string `locationName:"code" min:"1" type:"string"` - // The component type. - // - // ComponentType is a required field - ComponentType *string `locationName:"componentType" type:"string" required:"true"` + // The fix's description. + Description *string `locationName:"description" min:"1" type:"string"` } // String returns the string representation. @@ -17280,7 +22942,7 @@ type Step struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Step) String() string { +func (s SuggestedFix) String() string { return awsutil.Prettify(s) } @@ -17289,32 +22951,37 @@ func (s Step) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Step) GoString() string { +func (s SuggestedFix) GoString() string { return s.String() } -// SetComponentId sets the ComponentId field's value. -func (s *Step) SetComponentId(v string) *Step { - s.ComponentId = &v +// SetCode sets the Code field's value. +func (s *SuggestedFix) SetCode(v string) *SuggestedFix { + s.Code = &v return s } -// SetComponentType sets the ComponentType field's value. -func (s *Step) SetComponentType(v string) *Step { - s.ComponentType = &v +// SetDescription sets the Description field's value. +func (s *SuggestedFix) SetDescription(v string) *SuggestedFix { + s.Description = &v return s } -// An object that describes the details of a string filter. -type StringFilter struct { +// The tag filter. +type TagFilter struct { _ struct{} `type:"structure"` - // The operator to use when comparing values in the filter. + // The tag filter comparison value. // // Comparison is a required field - Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"StringComparison"` + Comparison *string `locationName:"comparison" type:"string" required:"true" enum:"TagComparison"` + + // The tag filter key. + // + // Key is a required field + Key *string `locationName:"key" min:"1" type:"string" required:"true"` - // The value to filter on. + // The tag filter value. // // Value is a required field Value *string `locationName:"value" min:"1" type:"string" required:"true"` @@ -17325,7 +22992,7 @@ type StringFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StringFilter) String() string { +func (s TagFilter) String() string { return awsutil.Prettify(s) } @@ -17334,16 +23001,22 @@ func (s StringFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s StringFilter) GoString() string { +func (s TagFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *StringFilter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "StringFilter"} +func (s *TagFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagFilter"} if s.Comparison == nil { invalidParams.Add(request.NewErrParamRequired("Comparison")) } + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } if s.Value == nil { invalidParams.Add(request.NewErrParamRequired("Value")) } @@ -17358,55 +23031,20 @@ func (s *StringFilter) Validate() error { } // SetComparison sets the Comparison field's value. -func (s *StringFilter) SetComparison(v string) *StringFilter { +func (s *TagFilter) SetComparison(v string) *TagFilter { s.Comparison = &v return s } -// SetValue sets the Value field's value. -func (s *StringFilter) SetValue(v string) *StringFilter { - s.Value = &v - return s -} - -// A suggested fix for a vulnerability in your Lambda function code. -type SuggestedFix struct { - _ struct{} `type:"structure"` - - // The fix's code. - Code *string `locationName:"code" min:"1" type:"string"` - - // The fix's description. - Description *string `locationName:"description" min:"1" type:"string"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s SuggestedFix) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s SuggestedFix) GoString() string { - return s.String() -} - -// SetCode sets the Code field's value. -func (s *SuggestedFix) SetCode(v string) *SuggestedFix { - s.Code = &v +// SetKey sets the Key field's value. +func (s *TagFilter) SetKey(v string) *TagFilter { + s.Key = &v return s } -// SetDescription sets the Description field's value. -func (s *SuggestedFix) SetDescription(v string) *SuggestedFix { - s.Description = &v +// SetValue sets the Value field's value. +func (s *TagFilter) SetValue(v string) *TagFilter { + s.Value = &v return s } @@ -17562,6 +23200,70 @@ func (s *ThrottlingException) RequestID() string { return s.RespMetadata.RequestID } +// The time. +type Time struct { + _ struct{} `type:"structure"` + + // The time of day in 24-hour format (00:00). + // + // TimeOfDay is a required field + TimeOfDay *string `locationName:"timeOfDay" type:"string" required:"true"` + + // The timezone. + // + // Timezone is a required field + Timezone *string `locationName:"timezone" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Time) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Time) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Time) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Time"} + if s.TimeOfDay == nil { + invalidParams.Add(request.NewErrParamRequired("TimeOfDay")) + } + if s.Timezone == nil { + invalidParams.Add(request.NewErrParamRequired("Timezone")) + } + if s.Timezone != nil && len(*s.Timezone) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Timezone", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTimeOfDay sets the TimeOfDay field's value. +func (s *Time) SetTimeOfDay(v string) *Time { + s.TimeOfDay = &v + return s +} + +// SetTimezone sets the Timezone field's value. +func (s *Time) SetTimezone(v string) *Time { + s.Timezone = &v + return s +} + // The details that define an aggregation based on finding title. type TitleAggregation struct { _ struct{} `type:"structure"` @@ -17822,6 +23524,192 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateCisScanConfigurationInput struct { + _ struct{} `type:"structure"` + + // The CIS scan configuration ARN. + // + // ScanConfigurationArn is a required field + ScanConfigurationArn *string `locationName:"scanConfigurationArn" type:"string" required:"true"` + + // The scan name for the CIS scan configuration. + ScanName *string `locationName:"scanName" min:"1" type:"string"` + + // The schedule for the CIS scan configuration. + Schedule *Schedule `locationName:"schedule" type:"structure"` + + // The security level for the CIS scan configuration. Security level refers + // to the Benchmark levels that CIS assigns to a profile. + SecurityLevel *string `locationName:"securityLevel" type:"string" enum:"CisSecurityLevel"` + + // The targets for the CIS scan configuration. + Targets *UpdateCisTargets `locationName:"targets" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateCisScanConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateCisScanConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCisScanConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCisScanConfigurationInput"} + if s.ScanConfigurationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ScanConfigurationArn")) + } + if s.ScanName != nil && len(*s.ScanName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ScanName", 1)) + } + if s.Schedule != nil { + if err := s.Schedule.Validate(); err != nil { + invalidParams.AddNested("Schedule", err.(request.ErrInvalidParams)) + } + } + if s.Targets != nil { + if err := s.Targets.Validate(); err != nil { + invalidParams.AddNested("Targets", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScanConfigurationArn sets the ScanConfigurationArn field's value. +func (s *UpdateCisScanConfigurationInput) SetScanConfigurationArn(v string) *UpdateCisScanConfigurationInput { + s.ScanConfigurationArn = &v + return s +} + +// SetScanName sets the ScanName field's value. +func (s *UpdateCisScanConfigurationInput) SetScanName(v string) *UpdateCisScanConfigurationInput { + s.ScanName = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *UpdateCisScanConfigurationInput) SetSchedule(v *Schedule) *UpdateCisScanConfigurationInput { + s.Schedule = v + return s +} + +// SetSecurityLevel sets the SecurityLevel field's value. +func (s *UpdateCisScanConfigurationInput) SetSecurityLevel(v string) *UpdateCisScanConfigurationInput { + s.SecurityLevel = &v + return s +} + +// SetTargets sets the Targets field's value. +func (s *UpdateCisScanConfigurationInput) SetTargets(v *UpdateCisTargets) *UpdateCisScanConfigurationInput { + s.Targets = v + return s +} + +type UpdateCisScanConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The CIS scan configuration ARN. + // + // ScanConfigurationArn is a required field + ScanConfigurationArn *string `locationName:"scanConfigurationArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateCisScanConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateCisScanConfigurationOutput) GoString() string { + return s.String() +} + +// SetScanConfigurationArn sets the ScanConfigurationArn field's value. +func (s *UpdateCisScanConfigurationOutput) SetScanConfigurationArn(v string) *UpdateCisScanConfigurationOutput { + s.ScanConfigurationArn = &v + return s +} + +// Updates CIS targets. +type UpdateCisTargets struct { + _ struct{} `type:"structure"` + + // The target account ids. + AccountIds []*string `locationName:"accountIds" min:"1" type:"list"` + + // The target resource tags. + TargetResourceTags map[string][]*string `locationName:"targetResourceTags" min:"1" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateCisTargets) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateCisTargets) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCisTargets) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCisTargets"} + if s.AccountIds != nil && len(s.AccountIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) + } + if s.TargetResourceTags != nil && len(s.TargetResourceTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetResourceTags", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountIds sets the AccountIds field's value. +func (s *UpdateCisTargets) SetAccountIds(v []*string) *UpdateCisTargets { + s.AccountIds = v + return s +} + +// SetTargetResourceTags sets the TargetResourceTags field's value. +func (s *UpdateCisTargets) SetTargetResourceTags(v map[string][]*string) *UpdateCisTargets { + s.TargetResourceTags = v + return s +} + type UpdateConfigurationInput struct { _ struct{} `type:"structure"` @@ -18891,33 +24779,102 @@ func (s *VulnerablePackage) SetPackageManager(v string) *VulnerablePackage { return s } -// SetRelease sets the Release field's value. -func (s *VulnerablePackage) SetRelease(v string) *VulnerablePackage { - s.Release = &v - return s +// SetRelease sets the Release field's value. +func (s *VulnerablePackage) SetRelease(v string) *VulnerablePackage { + s.Release = &v + return s +} + +// SetRemediation sets the Remediation field's value. +func (s *VulnerablePackage) SetRemediation(v string) *VulnerablePackage { + s.Remediation = &v + return s +} + +// SetSourceLambdaLayerArn sets the SourceLambdaLayerArn field's value. +func (s *VulnerablePackage) SetSourceLambdaLayerArn(v string) *VulnerablePackage { + s.SourceLambdaLayerArn = &v + return s +} + +// SetSourceLayerHash sets the SourceLayerHash field's value. +func (s *VulnerablePackage) SetSourceLayerHash(v string) *VulnerablePackage { + s.SourceLayerHash = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *VulnerablePackage) SetVersion(v string) *VulnerablePackage { + s.Version = &v + return s +} + +// A weekly schedule. +type WeeklySchedule struct { + _ struct{} `type:"structure"` + + // The weekly schedule's days. + // + // Days is a required field + Days []*string `locationName:"days" min:"1" type:"list" required:"true" enum:"Day"` + + // The weekly schedule's start time. + // + // StartTime is a required field + StartTime *Time `locationName:"startTime" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WeeklySchedule) String() string { + return awsutil.Prettify(s) } -// SetRemediation sets the Remediation field's value. -func (s *VulnerablePackage) SetRemediation(v string) *VulnerablePackage { - s.Remediation = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WeeklySchedule) GoString() string { + return s.String() } -// SetSourceLambdaLayerArn sets the SourceLambdaLayerArn field's value. -func (s *VulnerablePackage) SetSourceLambdaLayerArn(v string) *VulnerablePackage { - s.SourceLambdaLayerArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *WeeklySchedule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WeeklySchedule"} + if s.Days == nil { + invalidParams.Add(request.NewErrParamRequired("Days")) + } + if s.Days != nil && len(s.Days) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Days", 1)) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + if s.StartTime != nil { + if err := s.StartTime.Validate(); err != nil { + invalidParams.AddNested("StartTime", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSourceLayerHash sets the SourceLayerHash field's value. -func (s *VulnerablePackage) SetSourceLayerHash(v string) *VulnerablePackage { - s.SourceLayerHash = &v +// SetDays sets the Days field's value. +func (s *WeeklySchedule) SetDays(v []*string) *WeeklySchedule { + s.Days = v return s } -// SetVersion sets the Version field's value. -func (s *VulnerablePackage) SetVersion(v string) *VulnerablePackage { - s.Version = &v +// SetStartTime sets the StartTime field's value. +func (s *WeeklySchedule) SetStartTime(v *Time) *WeeklySchedule { + s.StartTime = v return s } @@ -19093,6 +25050,370 @@ func AwsEcrContainerSortBy_Values() []string { } } +const ( + // CisFindingStatusPassed is a CisFindingStatus enum value + CisFindingStatusPassed = "PASSED" + + // CisFindingStatusFailed is a CisFindingStatus enum value + CisFindingStatusFailed = "FAILED" + + // CisFindingStatusSkipped is a CisFindingStatus enum value + CisFindingStatusSkipped = "SKIPPED" +) + +// CisFindingStatus_Values returns all elements of the CisFindingStatus enum +func CisFindingStatus_Values() []string { + return []string{ + CisFindingStatusPassed, + CisFindingStatusFailed, + CisFindingStatusSkipped, + } +} + +const ( + // CisFindingStatusComparisonEquals is a CisFindingStatusComparison enum value + CisFindingStatusComparisonEquals = "EQUALS" +) + +// CisFindingStatusComparison_Values returns all elements of the CisFindingStatusComparison enum +func CisFindingStatusComparison_Values() []string { + return []string{ + CisFindingStatusComparisonEquals, + } +} + +const ( + // CisReportStatusSucceeded is a CisReportStatus enum value + CisReportStatusSucceeded = "SUCCEEDED" + + // CisReportStatusFailed is a CisReportStatus enum value + CisReportStatusFailed = "FAILED" + + // CisReportStatusInProgress is a CisReportStatus enum value + CisReportStatusInProgress = "IN_PROGRESS" +) + +// CisReportStatus_Values returns all elements of the CisReportStatus enum +func CisReportStatus_Values() []string { + return []string{ + CisReportStatusSucceeded, + CisReportStatusFailed, + CisReportStatusInProgress, + } +} + +const ( + // CisResultStatusPassed is a CisResultStatus enum value + CisResultStatusPassed = "PASSED" + + // CisResultStatusFailed is a CisResultStatus enum value + CisResultStatusFailed = "FAILED" + + // CisResultStatusSkipped is a CisResultStatus enum value + CisResultStatusSkipped = "SKIPPED" +) + +// CisResultStatus_Values returns all elements of the CisResultStatus enum +func CisResultStatus_Values() []string { + return []string{ + CisResultStatusPassed, + CisResultStatusFailed, + CisResultStatusSkipped, + } +} + +const ( + // CisResultStatusComparisonEquals is a CisResultStatusComparison enum value + CisResultStatusComparisonEquals = "EQUALS" +) + +// CisResultStatusComparison_Values returns all elements of the CisResultStatusComparison enum +func CisResultStatusComparison_Values() []string { + return []string{ + CisResultStatusComparisonEquals, + } +} + +const ( + // CisRuleStatusFailed is a CisRuleStatus enum value + CisRuleStatusFailed = "FAILED" + + // CisRuleStatusPassed is a CisRuleStatus enum value + CisRuleStatusPassed = "PASSED" + + // CisRuleStatusNotEvaluated is a CisRuleStatus enum value + CisRuleStatusNotEvaluated = "NOT_EVALUATED" + + // CisRuleStatusInformational is a CisRuleStatus enum value + CisRuleStatusInformational = "INFORMATIONAL" + + // CisRuleStatusUnknown is a CisRuleStatus enum value + CisRuleStatusUnknown = "UNKNOWN" + + // CisRuleStatusNotApplicable is a CisRuleStatus enum value + CisRuleStatusNotApplicable = "NOT_APPLICABLE" + + // CisRuleStatusError is a CisRuleStatus enum value + CisRuleStatusError = "ERROR" +) + +// CisRuleStatus_Values returns all elements of the CisRuleStatus enum +func CisRuleStatus_Values() []string { + return []string{ + CisRuleStatusFailed, + CisRuleStatusPassed, + CisRuleStatusNotEvaluated, + CisRuleStatusInformational, + CisRuleStatusUnknown, + CisRuleStatusNotApplicable, + CisRuleStatusError, + } +} + +const ( + // CisScanConfigurationsSortByScanName is a CisScanConfigurationsSortBy enum value + CisScanConfigurationsSortByScanName = "SCAN_NAME" + + // CisScanConfigurationsSortByScanConfigurationArn is a CisScanConfigurationsSortBy enum value + CisScanConfigurationsSortByScanConfigurationArn = "SCAN_CONFIGURATION_ARN" +) + +// CisScanConfigurationsSortBy_Values returns all elements of the CisScanConfigurationsSortBy enum +func CisScanConfigurationsSortBy_Values() []string { + return []string{ + CisScanConfigurationsSortByScanName, + CisScanConfigurationsSortByScanConfigurationArn, + } +} + +const ( + // CisScanResultDetailsSortByCheckId is a CisScanResultDetailsSortBy enum value + CisScanResultDetailsSortByCheckId = "CHECK_ID" + + // CisScanResultDetailsSortByStatus is a CisScanResultDetailsSortBy enum value + CisScanResultDetailsSortByStatus = "STATUS" +) + +// CisScanResultDetailsSortBy_Values returns all elements of the CisScanResultDetailsSortBy enum +func CisScanResultDetailsSortBy_Values() []string { + return []string{ + CisScanResultDetailsSortByCheckId, + CisScanResultDetailsSortByStatus, + } +} + +const ( + // CisScanResultsAggregatedByChecksSortByCheckId is a CisScanResultsAggregatedByChecksSortBy enum value + CisScanResultsAggregatedByChecksSortByCheckId = "CHECK_ID" + + // CisScanResultsAggregatedByChecksSortByTitle is a CisScanResultsAggregatedByChecksSortBy enum value + CisScanResultsAggregatedByChecksSortByTitle = "TITLE" + + // CisScanResultsAggregatedByChecksSortByPlatform is a CisScanResultsAggregatedByChecksSortBy enum value + CisScanResultsAggregatedByChecksSortByPlatform = "PLATFORM" + + // CisScanResultsAggregatedByChecksSortByFailedCounts is a CisScanResultsAggregatedByChecksSortBy enum value + CisScanResultsAggregatedByChecksSortByFailedCounts = "FAILED_COUNTS" + + // CisScanResultsAggregatedByChecksSortBySecurityLevel is a CisScanResultsAggregatedByChecksSortBy enum value + CisScanResultsAggregatedByChecksSortBySecurityLevel = "SECURITY_LEVEL" +) + +// CisScanResultsAggregatedByChecksSortBy_Values returns all elements of the CisScanResultsAggregatedByChecksSortBy enum +func CisScanResultsAggregatedByChecksSortBy_Values() []string { + return []string{ + CisScanResultsAggregatedByChecksSortByCheckId, + CisScanResultsAggregatedByChecksSortByTitle, + CisScanResultsAggregatedByChecksSortByPlatform, + CisScanResultsAggregatedByChecksSortByFailedCounts, + CisScanResultsAggregatedByChecksSortBySecurityLevel, + } +} + +const ( + // CisScanResultsAggregatedByTargetResourceSortByResourceId is a CisScanResultsAggregatedByTargetResourceSortBy enum value + CisScanResultsAggregatedByTargetResourceSortByResourceId = "RESOURCE_ID" + + // CisScanResultsAggregatedByTargetResourceSortByFailedCounts is a CisScanResultsAggregatedByTargetResourceSortBy enum value + CisScanResultsAggregatedByTargetResourceSortByFailedCounts = "FAILED_COUNTS" + + // CisScanResultsAggregatedByTargetResourceSortByAccountId is a CisScanResultsAggregatedByTargetResourceSortBy enum value + CisScanResultsAggregatedByTargetResourceSortByAccountId = "ACCOUNT_ID" + + // CisScanResultsAggregatedByTargetResourceSortByPlatform is a CisScanResultsAggregatedByTargetResourceSortBy enum value + CisScanResultsAggregatedByTargetResourceSortByPlatform = "PLATFORM" + + // CisScanResultsAggregatedByTargetResourceSortByTargetStatus is a CisScanResultsAggregatedByTargetResourceSortBy enum value + CisScanResultsAggregatedByTargetResourceSortByTargetStatus = "TARGET_STATUS" + + // CisScanResultsAggregatedByTargetResourceSortByTargetStatusReason is a CisScanResultsAggregatedByTargetResourceSortBy enum value + CisScanResultsAggregatedByTargetResourceSortByTargetStatusReason = "TARGET_STATUS_REASON" +) + +// CisScanResultsAggregatedByTargetResourceSortBy_Values returns all elements of the CisScanResultsAggregatedByTargetResourceSortBy enum +func CisScanResultsAggregatedByTargetResourceSortBy_Values() []string { + return []string{ + CisScanResultsAggregatedByTargetResourceSortByResourceId, + CisScanResultsAggregatedByTargetResourceSortByFailedCounts, + CisScanResultsAggregatedByTargetResourceSortByAccountId, + CisScanResultsAggregatedByTargetResourceSortByPlatform, + CisScanResultsAggregatedByTargetResourceSortByTargetStatus, + CisScanResultsAggregatedByTargetResourceSortByTargetStatusReason, + } +} + +const ( + // CisScanStatusFailed is a CisScanStatus enum value + CisScanStatusFailed = "FAILED" + + // CisScanStatusCompleted is a CisScanStatus enum value + CisScanStatusCompleted = "COMPLETED" + + // CisScanStatusCancelled is a CisScanStatus enum value + CisScanStatusCancelled = "CANCELLED" + + // CisScanStatusInProgress is a CisScanStatus enum value + CisScanStatusInProgress = "IN_PROGRESS" +) + +// CisScanStatus_Values returns all elements of the CisScanStatus enum +func CisScanStatus_Values() []string { + return []string{ + CisScanStatusFailed, + CisScanStatusCompleted, + CisScanStatusCancelled, + CisScanStatusInProgress, + } +} + +const ( + // CisScanStatusComparisonEquals is a CisScanStatusComparison enum value + CisScanStatusComparisonEquals = "EQUALS" +) + +// CisScanStatusComparison_Values returns all elements of the CisScanStatusComparison enum +func CisScanStatusComparison_Values() []string { + return []string{ + CisScanStatusComparisonEquals, + } +} + +const ( + // CisSecurityLevelLevel1 is a CisSecurityLevel enum value + CisSecurityLevelLevel1 = "LEVEL_1" + + // CisSecurityLevelLevel2 is a CisSecurityLevel enum value + CisSecurityLevelLevel2 = "LEVEL_2" +) + +// CisSecurityLevel_Values returns all elements of the CisSecurityLevel enum +func CisSecurityLevel_Values() []string { + return []string{ + CisSecurityLevelLevel1, + CisSecurityLevelLevel2, + } +} + +const ( + // CisSecurityLevelComparisonEquals is a CisSecurityLevelComparison enum value + CisSecurityLevelComparisonEquals = "EQUALS" +) + +// CisSecurityLevelComparison_Values returns all elements of the CisSecurityLevelComparison enum +func CisSecurityLevelComparison_Values() []string { + return []string{ + CisSecurityLevelComparisonEquals, + } +} + +const ( + // CisSortOrderAsc is a CisSortOrder enum value + CisSortOrderAsc = "ASC" + + // CisSortOrderDesc is a CisSortOrder enum value + CisSortOrderDesc = "DESC" +) + +// CisSortOrder_Values returns all elements of the CisSortOrder enum +func CisSortOrder_Values() []string { + return []string{ + CisSortOrderAsc, + CisSortOrderDesc, + } +} + +const ( + // CisStringComparisonEquals is a CisStringComparison enum value + CisStringComparisonEquals = "EQUALS" + + // CisStringComparisonPrefix is a CisStringComparison enum value + CisStringComparisonPrefix = "PREFIX" + + // CisStringComparisonNotEquals is a CisStringComparison enum value + CisStringComparisonNotEquals = "NOT_EQUALS" +) + +// CisStringComparison_Values returns all elements of the CisStringComparison enum +func CisStringComparison_Values() []string { + return []string{ + CisStringComparisonEquals, + CisStringComparisonPrefix, + CisStringComparisonNotEquals, + } +} + +const ( + // CisTargetStatusTimedOut is a CisTargetStatus enum value + CisTargetStatusTimedOut = "TIMED_OUT" + + // CisTargetStatusCancelled is a CisTargetStatus enum value + CisTargetStatusCancelled = "CANCELLED" + + // CisTargetStatusCompleted is a CisTargetStatus enum value + CisTargetStatusCompleted = "COMPLETED" +) + +// CisTargetStatus_Values returns all elements of the CisTargetStatus enum +func CisTargetStatus_Values() []string { + return []string{ + CisTargetStatusTimedOut, + CisTargetStatusCancelled, + CisTargetStatusCompleted, + } +} + +const ( + // CisTargetStatusComparisonEquals is a CisTargetStatusComparison enum value + CisTargetStatusComparisonEquals = "EQUALS" +) + +// CisTargetStatusComparison_Values returns all elements of the CisTargetStatusComparison enum +func CisTargetStatusComparison_Values() []string { + return []string{ + CisTargetStatusComparisonEquals, + } +} + +const ( + // CisTargetStatusReasonScanInProgress is a CisTargetStatusReason enum value + CisTargetStatusReasonScanInProgress = "SCAN_IN_PROGRESS" + + // CisTargetStatusReasonUnsupportedOs is a CisTargetStatusReason enum value + CisTargetStatusReasonUnsupportedOs = "UNSUPPORTED_OS" + + // CisTargetStatusReasonSsmUnmanaged is a CisTargetStatusReason enum value + CisTargetStatusReasonSsmUnmanaged = "SSM_UNMANAGED" +) + +// CisTargetStatusReason_Values returns all elements of the CisTargetStatusReason enum +func CisTargetStatusReason_Values() []string { + return []string{ + CisTargetStatusReasonScanInProgress, + CisTargetStatusReasonUnsupportedOs, + CisTargetStatusReasonSsmUnmanaged, + } +} + const ( // CodeSnippetErrorCodeInternalError is a CodeSnippetErrorCode enum value CodeSnippetErrorCodeInternalError = "INTERNAL_ERROR" @@ -19181,6 +25502,42 @@ func Currency_Values() []string { } } +const ( + // DaySun is a Day enum value + DaySun = "SUN" + + // DayMon is a Day enum value + DayMon = "MON" + + // DayTue is a Day enum value + DayTue = "TUE" + + // DayWed is a Day enum value + DayWed = "WED" + + // DayThu is a Day enum value + DayThu = "THU" + + // DayFri is a Day enum value + DayFri = "FRI" + + // DaySat is a Day enum value + DaySat = "SAT" +) + +// Day_Values returns all elements of the Day enum +func Day_Values() []string { + return []string{ + DaySun, + DayMon, + DayTue, + DayWed, + DayThu, + DayFri, + DaySat, + } +} + const ( // DelegatedAdminStatusEnabled is a DelegatedAdminStatus enum value DelegatedAdminStatusEnabled = "ENABLED" @@ -19697,6 +26054,46 @@ func LambdaLayerSortBy_Values() []string { } } +const ( + // ListCisScansDetailLevelOrganization is a ListCisScansDetailLevel enum value + ListCisScansDetailLevelOrganization = "ORGANIZATION" + + // ListCisScansDetailLevelMember is a ListCisScansDetailLevel enum value + ListCisScansDetailLevelMember = "MEMBER" +) + +// ListCisScansDetailLevel_Values returns all elements of the ListCisScansDetailLevel enum +func ListCisScansDetailLevel_Values() []string { + return []string{ + ListCisScansDetailLevelOrganization, + ListCisScansDetailLevelMember, + } +} + +const ( + // ListCisScansSortByStatus is a ListCisScansSortBy enum value + ListCisScansSortByStatus = "STATUS" + + // ListCisScansSortByScheduledBy is a ListCisScansSortBy enum value + ListCisScansSortByScheduledBy = "SCHEDULED_BY" + + // ListCisScansSortByScanStartDate is a ListCisScansSortBy enum value + ListCisScansSortByScanStartDate = "SCAN_START_DATE" + + // ListCisScansSortByFailedChecks is a ListCisScansSortBy enum value + ListCisScansSortByFailedChecks = "FAILED_CHECKS" +) + +// ListCisScansSortBy_Values returns all elements of the ListCisScansSortBy enum +func ListCisScansSortBy_Values() []string { + return []string{ + ListCisScansSortByStatus, + ListCisScansSortByScheduledBy, + ListCisScansSortByScanStartDate, + ListCisScansSortByFailedChecks, + } +} + const ( // MapComparisonEquals is a MapComparison enum value MapComparisonEquals = "EQUALS" @@ -20465,6 +26862,30 @@ func Status_Values() []string { } } +const ( + // StopCisSessionStatusSuccess is a StopCisSessionStatus enum value + StopCisSessionStatusSuccess = "SUCCESS" + + // StopCisSessionStatusFailed is a StopCisSessionStatus enum value + StopCisSessionStatusFailed = "FAILED" + + // StopCisSessionStatusInterrupted is a StopCisSessionStatus enum value + StopCisSessionStatusInterrupted = "INTERRUPTED" + + // StopCisSessionStatusUnsupportedOs is a StopCisSessionStatus enum value + StopCisSessionStatusUnsupportedOs = "UNSUPPORTED_OS" +) + +// StopCisSessionStatus_Values returns all elements of the StopCisSessionStatus enum +func StopCisSessionStatus_Values() []string { + return []string{ + StopCisSessionStatusSuccess, + StopCisSessionStatusFailed, + StopCisSessionStatusInterrupted, + StopCisSessionStatusUnsupportedOs, + } +} + const ( // StringComparisonEquals is a StringComparison enum value StringComparisonEquals = "EQUALS" @@ -20485,6 +26906,18 @@ func StringComparison_Values() []string { } } +const ( + // TagComparisonEquals is a TagComparison enum value + TagComparisonEquals = "EQUALS" +) + +// TagComparison_Values returns all elements of the TagComparison enum +func TagComparison_Values() []string { + return []string{ + TagComparisonEquals, + } +} + const ( // TitleSortByCritical is a TitleSortBy enum value TitleSortByCritical = "CRITICAL" diff --git a/service/inspector2/inspector2iface/interface.go b/service/inspector2/inspector2iface/interface.go index 4fe25e8aa64..823504db276 100644 --- a/service/inspector2/inspector2iface/interface.go +++ b/service/inspector2/inspector2iface/interface.go @@ -96,6 +96,10 @@ type Inspector2API interface { CancelSbomExportWithContext(aws.Context, *inspector2.CancelSbomExportInput, ...request.Option) (*inspector2.CancelSbomExportOutput, error) CancelSbomExportRequest(*inspector2.CancelSbomExportInput) (*request.Request, *inspector2.CancelSbomExportOutput) + CreateCisScanConfiguration(*inspector2.CreateCisScanConfigurationInput) (*inspector2.CreateCisScanConfigurationOutput, error) + CreateCisScanConfigurationWithContext(aws.Context, *inspector2.CreateCisScanConfigurationInput, ...request.Option) (*inspector2.CreateCisScanConfigurationOutput, error) + CreateCisScanConfigurationRequest(*inspector2.CreateCisScanConfigurationInput) (*request.Request, *inspector2.CreateCisScanConfigurationOutput) + CreateFilter(*inspector2.CreateFilterInput) (*inspector2.CreateFilterOutput, error) CreateFilterWithContext(aws.Context, *inspector2.CreateFilterInput, ...request.Option) (*inspector2.CreateFilterOutput, error) CreateFilterRequest(*inspector2.CreateFilterInput) (*request.Request, *inspector2.CreateFilterOutput) @@ -108,6 +112,10 @@ type Inspector2API interface { CreateSbomExportWithContext(aws.Context, *inspector2.CreateSbomExportInput, ...request.Option) (*inspector2.CreateSbomExportOutput, error) CreateSbomExportRequest(*inspector2.CreateSbomExportInput) (*request.Request, *inspector2.CreateSbomExportOutput) + DeleteCisScanConfiguration(*inspector2.DeleteCisScanConfigurationInput) (*inspector2.DeleteCisScanConfigurationOutput, error) + DeleteCisScanConfigurationWithContext(aws.Context, *inspector2.DeleteCisScanConfigurationInput, ...request.Option) (*inspector2.DeleteCisScanConfigurationOutput, error) + DeleteCisScanConfigurationRequest(*inspector2.DeleteCisScanConfigurationInput) (*request.Request, *inspector2.DeleteCisScanConfigurationOutput) + DeleteFilter(*inspector2.DeleteFilterInput) (*inspector2.DeleteFilterOutput, error) DeleteFilterWithContext(aws.Context, *inspector2.DeleteFilterInput, ...request.Option) (*inspector2.DeleteFilterOutput, error) DeleteFilterRequest(*inspector2.DeleteFilterInput) (*request.Request, *inspector2.DeleteFilterOutput) @@ -136,6 +144,17 @@ type Inspector2API interface { EnableDelegatedAdminAccountWithContext(aws.Context, *inspector2.EnableDelegatedAdminAccountInput, ...request.Option) (*inspector2.EnableDelegatedAdminAccountOutput, error) EnableDelegatedAdminAccountRequest(*inspector2.EnableDelegatedAdminAccountInput) (*request.Request, *inspector2.EnableDelegatedAdminAccountOutput) + GetCisScanReport(*inspector2.GetCisScanReportInput) (*inspector2.GetCisScanReportOutput, error) + GetCisScanReportWithContext(aws.Context, *inspector2.GetCisScanReportInput, ...request.Option) (*inspector2.GetCisScanReportOutput, error) + GetCisScanReportRequest(*inspector2.GetCisScanReportInput) (*request.Request, *inspector2.GetCisScanReportOutput) + + GetCisScanResultDetails(*inspector2.GetCisScanResultDetailsInput) (*inspector2.GetCisScanResultDetailsOutput, error) + GetCisScanResultDetailsWithContext(aws.Context, *inspector2.GetCisScanResultDetailsInput, ...request.Option) (*inspector2.GetCisScanResultDetailsOutput, error) + GetCisScanResultDetailsRequest(*inspector2.GetCisScanResultDetailsInput) (*request.Request, *inspector2.GetCisScanResultDetailsOutput) + + GetCisScanResultDetailsPages(*inspector2.GetCisScanResultDetailsInput, func(*inspector2.GetCisScanResultDetailsOutput, bool) bool) error + GetCisScanResultDetailsPagesWithContext(aws.Context, *inspector2.GetCisScanResultDetailsInput, func(*inspector2.GetCisScanResultDetailsOutput, bool) bool, ...request.Option) error + GetConfiguration(*inspector2.GetConfigurationInput) (*inspector2.GetConfigurationOutput, error) GetConfigurationWithContext(aws.Context, *inspector2.GetConfigurationInput, ...request.Option) (*inspector2.GetConfigurationOutput, error) GetConfigurationRequest(*inspector2.GetConfigurationInput) (*request.Request, *inspector2.GetConfigurationOutput) @@ -171,6 +190,34 @@ type Inspector2API interface { ListAccountPermissionsPages(*inspector2.ListAccountPermissionsInput, func(*inspector2.ListAccountPermissionsOutput, bool) bool) error ListAccountPermissionsPagesWithContext(aws.Context, *inspector2.ListAccountPermissionsInput, func(*inspector2.ListAccountPermissionsOutput, bool) bool, ...request.Option) error + ListCisScanConfigurations(*inspector2.ListCisScanConfigurationsInput) (*inspector2.ListCisScanConfigurationsOutput, error) + ListCisScanConfigurationsWithContext(aws.Context, *inspector2.ListCisScanConfigurationsInput, ...request.Option) (*inspector2.ListCisScanConfigurationsOutput, error) + ListCisScanConfigurationsRequest(*inspector2.ListCisScanConfigurationsInput) (*request.Request, *inspector2.ListCisScanConfigurationsOutput) + + ListCisScanConfigurationsPages(*inspector2.ListCisScanConfigurationsInput, func(*inspector2.ListCisScanConfigurationsOutput, bool) bool) error + ListCisScanConfigurationsPagesWithContext(aws.Context, *inspector2.ListCisScanConfigurationsInput, func(*inspector2.ListCisScanConfigurationsOutput, bool) bool, ...request.Option) error + + ListCisScanResultsAggregatedByChecks(*inspector2.ListCisScanResultsAggregatedByChecksInput) (*inspector2.ListCisScanResultsAggregatedByChecksOutput, error) + ListCisScanResultsAggregatedByChecksWithContext(aws.Context, *inspector2.ListCisScanResultsAggregatedByChecksInput, ...request.Option) (*inspector2.ListCisScanResultsAggregatedByChecksOutput, error) + ListCisScanResultsAggregatedByChecksRequest(*inspector2.ListCisScanResultsAggregatedByChecksInput) (*request.Request, *inspector2.ListCisScanResultsAggregatedByChecksOutput) + + ListCisScanResultsAggregatedByChecksPages(*inspector2.ListCisScanResultsAggregatedByChecksInput, func(*inspector2.ListCisScanResultsAggregatedByChecksOutput, bool) bool) error + ListCisScanResultsAggregatedByChecksPagesWithContext(aws.Context, *inspector2.ListCisScanResultsAggregatedByChecksInput, func(*inspector2.ListCisScanResultsAggregatedByChecksOutput, bool) bool, ...request.Option) error + + ListCisScanResultsAggregatedByTargetResource(*inspector2.ListCisScanResultsAggregatedByTargetResourceInput) (*inspector2.ListCisScanResultsAggregatedByTargetResourceOutput, error) + ListCisScanResultsAggregatedByTargetResourceWithContext(aws.Context, *inspector2.ListCisScanResultsAggregatedByTargetResourceInput, ...request.Option) (*inspector2.ListCisScanResultsAggregatedByTargetResourceOutput, error) + ListCisScanResultsAggregatedByTargetResourceRequest(*inspector2.ListCisScanResultsAggregatedByTargetResourceInput) (*request.Request, *inspector2.ListCisScanResultsAggregatedByTargetResourceOutput) + + ListCisScanResultsAggregatedByTargetResourcePages(*inspector2.ListCisScanResultsAggregatedByTargetResourceInput, func(*inspector2.ListCisScanResultsAggregatedByTargetResourceOutput, bool) bool) error + ListCisScanResultsAggregatedByTargetResourcePagesWithContext(aws.Context, *inspector2.ListCisScanResultsAggregatedByTargetResourceInput, func(*inspector2.ListCisScanResultsAggregatedByTargetResourceOutput, bool) bool, ...request.Option) error + + ListCisScans(*inspector2.ListCisScansInput) (*inspector2.ListCisScansOutput, error) + ListCisScansWithContext(aws.Context, *inspector2.ListCisScansInput, ...request.Option) (*inspector2.ListCisScansOutput, error) + ListCisScansRequest(*inspector2.ListCisScansInput) (*request.Request, *inspector2.ListCisScansOutput) + + ListCisScansPages(*inspector2.ListCisScansInput, func(*inspector2.ListCisScansOutput, bool) bool) error + ListCisScansPagesWithContext(aws.Context, *inspector2.ListCisScansInput, func(*inspector2.ListCisScansOutput, bool) bool, ...request.Option) error + ListCoverage(*inspector2.ListCoverageInput) (*inspector2.ListCoverageOutput, error) ListCoverageWithContext(aws.Context, *inspector2.ListCoverageInput, ...request.Option) (*inspector2.ListCoverageOutput, error) ListCoverageRequest(*inspector2.ListCoverageInput) (*request.Request, *inspector2.ListCoverageOutput) @@ -242,6 +289,22 @@ type Inspector2API interface { SearchVulnerabilitiesPages(*inspector2.SearchVulnerabilitiesInput, func(*inspector2.SearchVulnerabilitiesOutput, bool) bool) error SearchVulnerabilitiesPagesWithContext(aws.Context, *inspector2.SearchVulnerabilitiesInput, func(*inspector2.SearchVulnerabilitiesOutput, bool) bool, ...request.Option) error + SendCisSessionHealth(*inspector2.SendCisSessionHealthInput) (*inspector2.SendCisSessionHealthOutput, error) + SendCisSessionHealthWithContext(aws.Context, *inspector2.SendCisSessionHealthInput, ...request.Option) (*inspector2.SendCisSessionHealthOutput, error) + SendCisSessionHealthRequest(*inspector2.SendCisSessionHealthInput) (*request.Request, *inspector2.SendCisSessionHealthOutput) + + SendCisSessionTelemetry(*inspector2.SendCisSessionTelemetryInput) (*inspector2.SendCisSessionTelemetryOutput, error) + SendCisSessionTelemetryWithContext(aws.Context, *inspector2.SendCisSessionTelemetryInput, ...request.Option) (*inspector2.SendCisSessionTelemetryOutput, error) + SendCisSessionTelemetryRequest(*inspector2.SendCisSessionTelemetryInput) (*request.Request, *inspector2.SendCisSessionTelemetryOutput) + + StartCisSession(*inspector2.StartCisSessionInput) (*inspector2.StartCisSessionOutput, error) + StartCisSessionWithContext(aws.Context, *inspector2.StartCisSessionInput, ...request.Option) (*inspector2.StartCisSessionOutput, error) + StartCisSessionRequest(*inspector2.StartCisSessionInput) (*request.Request, *inspector2.StartCisSessionOutput) + + StopCisSession(*inspector2.StopCisSessionInput) (*inspector2.StopCisSessionOutput, error) + StopCisSessionWithContext(aws.Context, *inspector2.StopCisSessionInput, ...request.Option) (*inspector2.StopCisSessionOutput, error) + StopCisSessionRequest(*inspector2.StopCisSessionInput) (*request.Request, *inspector2.StopCisSessionOutput) + TagResource(*inspector2.TagResourceInput) (*inspector2.TagResourceOutput, error) TagResourceWithContext(aws.Context, *inspector2.TagResourceInput, ...request.Option) (*inspector2.TagResourceOutput, error) TagResourceRequest(*inspector2.TagResourceInput) (*request.Request, *inspector2.TagResourceOutput) @@ -250,6 +313,10 @@ type Inspector2API interface { UntagResourceWithContext(aws.Context, *inspector2.UntagResourceInput, ...request.Option) (*inspector2.UntagResourceOutput, error) UntagResourceRequest(*inspector2.UntagResourceInput) (*request.Request, *inspector2.UntagResourceOutput) + UpdateCisScanConfiguration(*inspector2.UpdateCisScanConfigurationInput) (*inspector2.UpdateCisScanConfigurationOutput, error) + UpdateCisScanConfigurationWithContext(aws.Context, *inspector2.UpdateCisScanConfigurationInput, ...request.Option) (*inspector2.UpdateCisScanConfigurationOutput, error) + UpdateCisScanConfigurationRequest(*inspector2.UpdateCisScanConfigurationInput) (*request.Request, *inspector2.UpdateCisScanConfigurationOutput) + UpdateConfiguration(*inspector2.UpdateConfigurationInput) (*inspector2.UpdateConfigurationOutput, error) UpdateConfigurationWithContext(aws.Context, *inspector2.UpdateConfigurationInput, ...request.Option) (*inspector2.UpdateConfigurationOutput, error) UpdateConfigurationRequest(*inspector2.UpdateConfigurationInput) (*request.Request, *inspector2.UpdateConfigurationOutput)