# This file is auto-generated by AWSMetadata.jl
using AWS
using AWS.AWSServices: inspector2
using AWS.Compat
using AWS.UUIDs

"""
    associate_member(account_id)
    associate_member(account_id, params::Dict{String,<:Any})

Associates an Amazon Web Services account with an Amazon Inspector delegated administrator.

# Arguments
- `account_id`: The Amazon Web Services account ID of the member account to be associated.

"""
function associate_member(accountId; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/members/associate",
        Dict{String,Any}("accountId" => accountId);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function associate_member(
    accountId,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/members/associate",
        Dict{String,Any}(
            mergewith(_merge, Dict{String,Any}("accountId" => accountId), params)
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    batch_get_account_status()
    batch_get_account_status(params::Dict{String,<:Any})

Retrieves the Amazon Inspector status of multiple Amazon Web Services accounts within your
environment.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"accountIds"`: The 12-digit Amazon Web Services account IDs of the accounts to retrieve
  Amazon Inspector status for.
"""
function batch_get_account_status(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST", "/status/batch/get"; aws_config=aws_config, feature_set=SERVICE_FEATURE_SET
    )
end
function batch_get_account_status(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/status/batch/get",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    batch_get_free_trial_info(account_ids)
    batch_get_free_trial_info(account_ids, params::Dict{String,<:Any})

Gets free trial status for multiple Amazon Web Services accounts.

# Arguments
- `account_ids`: The account IDs to get free trial status for.

"""
function batch_get_free_trial_info(
    accountIds; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/freetrialinfo/batchget",
        Dict{String,Any}("accountIds" => accountIds);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function batch_get_free_trial_info(
    accountIds,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/freetrialinfo/batchget",
        Dict{String,Any}(
            mergewith(_merge, Dict{String,Any}("accountIds" => accountIds), params)
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    cancel_findings_report(report_id)
    cancel_findings_report(report_id, params::Dict{String,<:Any})

Cancels the given findings report.

# Arguments
- `report_id`: The ID of the report to be canceled.

"""
function cancel_findings_report(reportId; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/reporting/cancel",
        Dict{String,Any}("reportId" => reportId);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function cancel_findings_report(
    reportId,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/reporting/cancel",
        Dict{String,Any}(
            mergewith(_merge, Dict{String,Any}("reportId" => reportId), params)
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    create_filter(action, filter_criteria, name)
    create_filter(action, filter_criteria, name, params::Dict{String,<:Any})

Creates a filter resource using specified filter criteria.

# Arguments
- `action`: Defines the action that is to be applied to the findings that match the filter.
- `filter_criteria`: Defines the criteria to be used in the filter for querying findings.
- `name`: 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.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"description"`: A description of the filter.
- `"tags"`: A list of tags for the filter.
"""
function create_filter(
    action, filterCriteria, name; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/filters/create",
        Dict{String,Any}(
            "action" => action, "filterCriteria" => filterCriteria, "name" => name
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function create_filter(
    action,
    filterCriteria,
    name,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/filters/create",
        Dict{String,Any}(
            mergewith(
                _merge,
                Dict{String,Any}(
                    "action" => action, "filterCriteria" => filterCriteria, "name" => name
                ),
                params,
            ),
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    create_findings_report(report_format, s3_destination)
    create_findings_report(report_format, s3_destination, params::Dict{String,<:Any})

Creates a finding report.

# Arguments
- `report_format`: The format to generate the report in.
- `s3_destination`: The Amazon S3 export destination for the report.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"filterCriteria"`: The filter criteria to apply to the results of the finding report.
"""
function create_findings_report(
    reportFormat, s3Destination; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/reporting/create",
        Dict{String,Any}("reportFormat" => reportFormat, "s3Destination" => s3Destination);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function create_findings_report(
    reportFormat,
    s3Destination,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/reporting/create",
        Dict{String,Any}(
            mergewith(
                _merge,
                Dict{String,Any}(
                    "reportFormat" => reportFormat, "s3Destination" => s3Destination
                ),
                params,
            ),
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    delete_filter(arn)
    delete_filter(arn, params::Dict{String,<:Any})

Deletes a filter resource.

# Arguments
- `arn`: The Amazon Resource Number (ARN) of the filter to be deleted.

"""
function delete_filter(arn; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/filters/delete",
        Dict{String,Any}("arn" => arn);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function delete_filter(
    arn, params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/filters/delete",
        Dict{String,Any}(mergewith(_merge, Dict{String,Any}("arn" => arn), params));
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    describe_organization_configuration()
    describe_organization_configuration(params::Dict{String,<:Any})

Describe Amazon Inspector configuration settings for an Amazon Web Services organization

"""
function describe_organization_configuration(;
    aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/organizationconfiguration/describe";
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function describe_organization_configuration(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/organizationconfiguration/describe",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    disable()
    disable(params::Dict{String,<:Any})

Disables Amazon Inspector scans for one or more Amazon Web Services accounts. Disabling all
scan types in an account disables the Amazon Inspector service.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"accountIds"`: An array of account IDs you want to disable Amazon Inspector scans for.
- `"resourceTypes"`: The resource scan types you want to disable.
"""
function disable(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST", "/disable"; aws_config=aws_config, feature_set=SERVICE_FEATURE_SET
    )
end
function disable(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST", "/disable", params; aws_config=aws_config, feature_set=SERVICE_FEATURE_SET
    )
end

"""
    disable_delegated_admin_account(delegated_admin_account_id)
    disable_delegated_admin_account(delegated_admin_account_id, params::Dict{String,<:Any})

Disables the Amazon Inspector delegated administrator for your organization.

# Arguments
- `delegated_admin_account_id`: The Amazon Web Services account ID of the current Amazon
  Inspector delegated administrator.

"""
function disable_delegated_admin_account(
    delegatedAdminAccountId; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/delegatedadminaccounts/disable",
        Dict{String,Any}("delegatedAdminAccountId" => delegatedAdminAccountId);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function disable_delegated_admin_account(
    delegatedAdminAccountId,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/delegatedadminaccounts/disable",
        Dict{String,Any}(
            mergewith(
                _merge,
                Dict{String,Any}("delegatedAdminAccountId" => delegatedAdminAccountId),
                params,
            ),
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    disassociate_member(account_id)
    disassociate_member(account_id, params::Dict{String,<:Any})

Disassociates a member account from an Amazon Inspector delegated administrator.

# Arguments
- `account_id`: The Amazon Web Services account ID of the member account to disassociate.

"""
function disassociate_member(accountId; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/members/disassociate",
        Dict{String,Any}("accountId" => accountId);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function disassociate_member(
    accountId,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/members/disassociate",
        Dict{String,Any}(
            mergewith(_merge, Dict{String,Any}("accountId" => accountId), params)
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    enable(resource_types)
    enable(resource_types, params::Dict{String,<:Any})

Enables Amazon Inspector scans for one or more Amazon Web Services accounts.

# Arguments
- `resource_types`: The resource scan types you want to enable.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"accountIds"`: A list of account IDs you want to enable Amazon Inspector scans for.
- `"clientToken"`: The idempotency token for the request.
"""
function enable(resourceTypes; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/enable",
        Dict{String,Any}(
            "resourceTypes" => resourceTypes, "clientToken" => string(uuid4())
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function enable(
    resourceTypes,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/enable",
        Dict{String,Any}(
            mergewith(
                _merge,
                Dict{String,Any}(
                    "resourceTypes" => resourceTypes, "clientToken" => string(uuid4())
                ),
                params,
            ),
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    enable_delegated_admin_account(delegated_admin_account_id)
    enable_delegated_admin_account(delegated_admin_account_id, params::Dict{String,<:Any})

Enables the Amazon Inspector delegated administrator for your Organizations organization.

# Arguments
- `delegated_admin_account_id`: The Amazon Web Services account ID of the Amazon Inspector
  delegated administrator.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"clientToken"`: The idempotency token for the request.
"""
function enable_delegated_admin_account(
    delegatedAdminAccountId; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/delegatedadminaccounts/enable",
        Dict{String,Any}(
            "delegatedAdminAccountId" => delegatedAdminAccountId,
            "clientToken" => string(uuid4()),
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function enable_delegated_admin_account(
    delegatedAdminAccountId,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/delegatedadminaccounts/enable",
        Dict{String,Any}(
            mergewith(
                _merge,
                Dict{String,Any}(
                    "delegatedAdminAccountId" => delegatedAdminAccountId,
                    "clientToken" => string(uuid4()),
                ),
                params,
            ),
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    get_delegated_admin_account()
    get_delegated_admin_account(params::Dict{String,<:Any})

Retrieves information about the Amazon Inspector delegated administrator for your
organization.

"""
function get_delegated_admin_account(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/delegatedadminaccounts/get";
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function get_delegated_admin_account(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/delegatedadminaccounts/get",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    get_findings_report_status()
    get_findings_report_status(params::Dict{String,<:Any})

Gets the status of a findings report.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"reportId"`: The ID of the report to retrieve the status of.
"""
function get_findings_report_status(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/reporting/status/get";
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function get_findings_report_status(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/reporting/status/get",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    get_member(account_id)
    get_member(account_id, params::Dict{String,<:Any})

Gets member information for your organization.

# Arguments
- `account_id`: The Amazon Web Services account ID of the member account to retrieve
  information on.

"""
function get_member(accountId; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/members/get",
        Dict{String,Any}("accountId" => accountId);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function get_member(
    accountId,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/members/get",
        Dict{String,Any}(
            mergewith(_merge, Dict{String,Any}("accountId" => accountId), params)
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    list_account_permissions()
    list_account_permissions(params::Dict{String,<:Any})

Lists the permissions an account has to configure Amazon Inspector.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"maxResults"`: The maximum number of results to return in the response.
- `"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. For
  subsequent calls, use the NextToken value returned from the previous request to continue
  listing results after the first page.
- `"service"`: The service scan type to check permissions for.
"""
function list_account_permissions(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/accountpermissions/list";
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function list_account_permissions(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/accountpermissions/list",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    list_coverage()
    list_coverage(params::Dict{String,<:Any})

Lists coverage details for you environment.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"filterCriteria"`: An object that contains details on the filters to apply to the
  coverage data for your environment.
- `"maxResults"`: The maximum number of results to return in the response.
- `"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. For
  subsequent calls, use the NextToken value returned from the previous request to continue
  listing results after the first page.
"""
function list_coverage(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST", "/coverage/list"; aws_config=aws_config, feature_set=SERVICE_FEATURE_SET
    )
end
function list_coverage(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/coverage/list",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    list_coverage_statistics()
    list_coverage_statistics(params::Dict{String,<:Any})

Lists Amazon Inspector coverage statistics for your environment.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"filterCriteria"`: An object that contains details on the filters to apply to the
  coverage data for your environment.
- `"groupBy"`: The value to group the results by.
- `"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. For
  subsequent calls, use the NextToken value returned from the previous request to continue
  listing results after the first page.
"""
function list_coverage_statistics(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/coverage/statistics/list";
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function list_coverage_statistics(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/coverage/statistics/list",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    list_delegated_admin_accounts()
    list_delegated_admin_accounts(params::Dict{String,<:Any})

Lists information about the Amazon Inspector delegated administrator of your organization.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"maxResults"`: The maximum number of results to return in the response.
- `"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. For
  subsequent calls, use the NextToken value returned from the previous request to continue
  listing results after the first page.
"""
function list_delegated_admin_accounts(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/delegatedadminaccounts/list";
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function list_delegated_admin_accounts(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/delegatedadminaccounts/list",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    list_filters()
    list_filters(params::Dict{String,<:Any})

Lists the filters associated with your account.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"action"`: The action the filter applies to matched findings.
- `"arns"`: The Amazon resource number (ARN) of the filter.
- `"maxResults"`: The maximum number of results to return in the response.
- `"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. For
  subsequent calls, use the NextToken value returned from the previous request to continue
  listing results after the first page.
"""
function list_filters(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST", "/filters/list"; aws_config=aws_config, feature_set=SERVICE_FEATURE_SET
    )
end
function list_filters(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/filters/list",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    list_finding_aggregations(aggregation_type)
    list_finding_aggregations(aggregation_type, params::Dict{String,<:Any})

Lists aggregated finding data for your environment based on specific criteria.

# Arguments
- `aggregation_type`: The type of the aggregation request.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"accountIds"`: The Amazon Web Services account IDs to retrieve finding aggregation data
  for.
- `"aggregationRequest"`: Details of the aggregation request that is used to filter your
  aggregation results.
- `"maxResults"`: The maximum number of results to return in the response.
- `"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. For
  subsequent calls, use the NextToken value returned from the previous request to continue
  listing results after the first page.
"""
function list_finding_aggregations(
    aggregationType; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/findings/aggregation/list",
        Dict{String,Any}("aggregationType" => aggregationType);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function list_finding_aggregations(
    aggregationType,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/findings/aggregation/list",
        Dict{String,Any}(
            mergewith(
                _merge, Dict{String,Any}("aggregationType" => aggregationType), params
            ),
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    list_findings()
    list_findings(params::Dict{String,<:Any})

Lists findings for your environment.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"filterCriteria"`: Details on the filters to apply to your finding results.
- `"maxResults"`: The maximum number of results to return in the response.
- `"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. For
  subsequent calls, use the NextToken value returned from the previous request to continue
  listing results after the first page.
- `"sortCriteria"`: Details on the sort criteria to apply to your finding results.
"""
function list_findings(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST", "/findings/list"; aws_config=aws_config, feature_set=SERVICE_FEATURE_SET
    )
end
function list_findings(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/findings/list",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    list_members()
    list_members(params::Dict{String,<:Any})

List members associated with the Amazon Inspector delegated administrator for your
organization.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"maxResults"`: The maximum number of results to return in the response.
- `"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. For
  subsequent calls, use the NextToken value returned from the previous request to continue
  listing results after the first page.
- `"onlyAssociated"`: Specifies whether to list only currently associated members if True
  or to list all members within the organization if False.
"""
function list_members(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST", "/members/list"; aws_config=aws_config, feature_set=SERVICE_FEATURE_SET
    )
end
function list_members(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/members/list",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    list_tags_for_resource(resource_arn)
    list_tags_for_resource(resource_arn, params::Dict{String,<:Any})

Lists all tags attached to a given resource.

# Arguments
- `resource_arn`: The Amazon resource number (ARN) of the resource to list tags of.

"""
function list_tags_for_resource(
    resourceArn; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "GET",
        "/tags/$(resourceArn)";
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function list_tags_for_resource(
    resourceArn,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "GET",
        "/tags/$(resourceArn)",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    list_usage_totals()
    list_usage_totals(params::Dict{String,<:Any})

Lists the Amazon Inspector usage totals over the last 30 days.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"accountIds"`: The Amazon Web Services account IDs to retrieve usage totals for.
- `"maxResults"`: The maximum number of results to return in the response.
- `"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. For
  subsequent calls, use the NextToken value returned from the previous request to continue
  listing results after the first page.
"""
function list_usage_totals(; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST", "/usage/list"; aws_config=aws_config, feature_set=SERVICE_FEATURE_SET
    )
end
function list_usage_totals(
    params::AbstractDict{String}; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/usage/list",
        params;
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    tag_resource(resource_arn, tags)
    tag_resource(resource_arn, tags, params::Dict{String,<:Any})

Adds tags to a resource.

# Arguments
- `resource_arn`: The Amazon Resource Name (ARN) of the resource to apply a tag to.
- `tags`: The tags to be added to a resource.

"""
function tag_resource(resourceArn, tags; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/tags/$(resourceArn)",
        Dict{String,Any}("tags" => tags);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function tag_resource(
    resourceArn,
    tags,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/tags/$(resourceArn)",
        Dict{String,Any}(mergewith(_merge, Dict{String,Any}("tags" => tags), params));
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    untag_resource(resource_arn, tag_keys)
    untag_resource(resource_arn, tag_keys, params::Dict{String,<:Any})

Removes tags from a resource.

# Arguments
- `resource_arn`: The Amazon Resource Name (ARN) for the resource to remove tags from.
- `tag_keys`: The tag keys to remove from the resource.

"""
function untag_resource(
    resourceArn, tagKeys; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "DELETE",
        "/tags/$(resourceArn)",
        Dict{String,Any}("tagKeys" => tagKeys);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function untag_resource(
    resourceArn,
    tagKeys,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "DELETE",
        "/tags/$(resourceArn)",
        Dict{String,Any}(mergewith(_merge, Dict{String,Any}("tagKeys" => tagKeys), params));
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    update_filter(filter_arn)
    update_filter(filter_arn, params::Dict{String,<:Any})

Specifies the action that is to be applied to the findings that match the filter.

# Arguments
- `filter_arn`: The Amazon Resource Number (ARN) of the filter to update.

# Optional Parameters
Optional parameters can be passed as a `params::Dict{String,<:Any}`. Valid keys are:
- `"action"`: Specifies the action that is to be applied to the findings that match the
  filter.
- `"description"`: A description of the filter.
- `"filterCriteria"`: Defines the criteria to be update in the filter.
- `"name"`: The name of the filter.
"""
function update_filter(filterArn; aws_config::AbstractAWSConfig=global_aws_config())
    return inspector2(
        "POST",
        "/filters/update",
        Dict{String,Any}("filterArn" => filterArn);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function update_filter(
    filterArn,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/filters/update",
        Dict{String,Any}(
            mergewith(_merge, Dict{String,Any}("filterArn" => filterArn), params)
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end

"""
    update_organization_configuration(auto_enable)
    update_organization_configuration(auto_enable, params::Dict{String,<:Any})

Updates the configurations for your Amazon Inspector organization.

# Arguments
- `auto_enable`: Defines which scan types are enabled automatically for new members of your
  Amazon Inspector organization.

"""
function update_organization_configuration(
    autoEnable; aws_config::AbstractAWSConfig=global_aws_config()
)
    return inspector2(
        "POST",
        "/organizationconfiguration/update",
        Dict{String,Any}("autoEnable" => autoEnable);
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
function update_organization_configuration(
    autoEnable,
    params::AbstractDict{String};
    aws_config::AbstractAWSConfig=global_aws_config(),
)
    return inspector2(
        "POST",
        "/organizationconfiguration/update",
        Dict{String,Any}(
            mergewith(_merge, Dict{String,Any}("autoEnable" => autoEnable), params)
        );
        aws_config=aws_config,
        feature_set=SERVICE_FEATURE_SET,
    )
end
