lib/aws-sdk-guardduty/client.rb in aws-sdk-guardduty-1.85.0 vs lib/aws-sdk-guardduty/client.rb in aws-sdk-guardduty-1.86.0

- old
+ new

@@ -966,26 +966,34 @@ # As a delegated administrator, using `CreateMembers` will enable # GuardDuty in the added member accounts, with the exception of the # organization delegated administrator account. A delegated # administrator must enable GuardDuty prior to being added as a member. # + # When you use CreateMembers as an Organizations delegated + # administrator, GuardDuty applies your organization's auto-enable + # settings to the member accounts in this request, irrespective of the + # accounts being new or existing members. For more information about the + # existing auto-enable settings for your organization, see + # [DescribeOrganizationConfiguration][1]. + # # If you are adding accounts by invitation, before using - # [InviteMembers][1], use `CreateMembers` after GuardDuty has been + # [InviteMembers][2], use `CreateMembers` after GuardDuty has been # enabled in potential member accounts. # # If you disassociate a member from a GuardDuty delegated administrator, # the member account details obtained from this API, including the # associated email addresses, will be retained. This is done so that the - # delegated administrator can invoke the [InviteMembers][1] API without + # delegated administrator can invoke the [InviteMembers][2] API without # the need to invoke the CreateMembers API again. To remove the details # associated with a member account, the delegated administrator must - # invoke the [DeleteMembers][2] API. + # invoke the [DeleteMembers][3] API. # # # - # [1]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html - # [2]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeleteMembers.html + # [1]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DescribeOrganizationConfiguration.html + # [2]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html + # [3]: https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeleteMembers.html # # @option params [required, String] :detector_id # The unique ID of the detector of the GuardDuty account that you want # to associate member accounts with. # @@ -1850,12 +1858,12 @@ end # Retrieves aggregated statistics for your account. If you are a # GuardDuty administrator, you can retrieve the statistics for all the # resources associated with the active member accounts in your - # organization who have enabled EKS Runtime Monitoring and have the - # GuardDuty agent running on their EKS nodes. + # organization who have enabled Runtime Monitoring and have the + # GuardDuty security agent running on their resources. # # @option params [required, String] :detector_id # The unique ID of the GuardDuty detector associated to the coverage # statistics. # @@ -2821,10 +2829,44 @@ def get_members(params = {}, options = {}) req = build_request(:get_members, params) req.send_request(options) end + # Retrieves how many active member accounts in your Amazon Web Services + # organization have each feature enabled within GuardDuty. Only a + # delegated GuardDuty administrator of an organization can run this API. + # + # When you create a new Amazon Web Services organization, it might take + # up to 24 hours to generate the statistics for the entire organization. + # + # @return [Types::GetOrganizationStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::GetOrganizationStatisticsResponse#organization_details #organization_details} => Types::OrganizationDetails + # + # @example Response structure + # + # resp.organization_details.updated_at #=> Time + # resp.organization_details.organization_statistics.total_accounts_count #=> Integer + # resp.organization_details.organization_statistics.member_accounts_count #=> Integer + # resp.organization_details.organization_statistics.active_accounts_count #=> Integer + # resp.organization_details.organization_statistics.enabled_accounts_count #=> Integer + # resp.organization_details.organization_statistics.count_by_feature #=> Array + # resp.organization_details.organization_statistics.count_by_feature[0].name #=> String, one of "S3_DATA_EVENTS", "EKS_AUDIT_LOGS", "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "EKS_RUNTIME_MONITORING", "LAMBDA_NETWORK_LOGS", "RUNTIME_MONITORING" + # resp.organization_details.organization_statistics.count_by_feature[0].enabled_accounts_count #=> Integer + # resp.organization_details.organization_statistics.count_by_feature[0].additional_configuration #=> Array + # resp.organization_details.organization_statistics.count_by_feature[0].additional_configuration[0].name #=> String, one of "EKS_ADDON_MANAGEMENT", "ECS_FARGATE_AGENT_MANAGEMENT" + # resp.organization_details.organization_statistics.count_by_feature[0].additional_configuration[0].enabled_accounts_count #=> Integer + # + # @see http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetOrganizationStatistics AWS API Documentation + # + # @overload get_organization_statistics(params = {}) + # @param [Hash] params ({}) + def get_organization_statistics(params = {}, options = {}) + req = build_request(:get_organization_statistics, params) + req.send_request(options) + end + # Provides the number of days left for each data source used in the free # trial period. # # @option params [required, String] :detector_id # The unique ID of the detector of the GuardDuty member account. @@ -2957,11 +2999,11 @@ # # @example Request syntax with placeholder values # # resp = client.get_usage_statistics({ # detector_id: "DetectorId", # required - # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES, SUM_BY_FEATURES + # usage_statistic_type: "SUM_BY_ACCOUNT", # required, accepts SUM_BY_ACCOUNT, SUM_BY_DATA_SOURCE, SUM_BY_RESOURCE, TOP_RESOURCES, SUM_BY_FEATURES, TOP_ACCOUNTS_BY_FEATURE # usage_criteria: { # required # account_ids: ["AccountId"], # data_sources: ["FLOW_LOGS"], # accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_LOGS, KUBERNETES_AUDIT_LOGS, EC2_MALWARE_SCAN # resources: ["String"], # features: ["FLOW_LOGS"], # accepts FLOW_LOGS, CLOUD_TRAIL, DNS_LOGS, S3_DATA_EVENTS, EKS_AUDIT_LOGS, EBS_MALWARE_PROTECTION, RDS_LOGIN_EVENTS, LAMBDA_NETWORK_LOGS, EKS_RUNTIME_MONITORING, FARGATE_RUNTIME_MONITORING, EC2_RUNTIME_MONITORING @@ -2975,10 +3017,16 @@ # # resp.usage_statistics.sum_by_account #=> Array # resp.usage_statistics.sum_by_account[0].account_id #=> String # resp.usage_statistics.sum_by_account[0].total.amount #=> String # resp.usage_statistics.sum_by_account[0].total.unit #=> String + # resp.usage_statistics.top_accounts_by_feature #=> Array + # resp.usage_statistics.top_accounts_by_feature[0].feature #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_DATA_EVENTS", "EKS_AUDIT_LOGS", "EBS_MALWARE_PROTECTION", "RDS_LOGIN_EVENTS", "LAMBDA_NETWORK_LOGS", "EKS_RUNTIME_MONITORING", "FARGATE_RUNTIME_MONITORING", "EC2_RUNTIME_MONITORING" + # resp.usage_statistics.top_accounts_by_feature[0].accounts #=> Array + # resp.usage_statistics.top_accounts_by_feature[0].accounts[0].account_id #=> String + # resp.usage_statistics.top_accounts_by_feature[0].accounts[0].total.amount #=> String + # resp.usage_statistics.top_accounts_by_feature[0].accounts[0].total.unit #=> String # resp.usage_statistics.sum_by_data_source #=> Array # resp.usage_statistics.sum_by_data_source[0].data_source #=> String, one of "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", "S3_LOGS", "KUBERNETES_AUDIT_LOGS", "EC2_MALWARE_SCAN" # resp.usage_statistics.sum_by_data_source[0].total.amount #=> String # resp.usage_statistics.sum_by_data_source[0].total.unit #=> String # resp.usage_statistics.sum_by_resource #=> Array @@ -3083,12 +3131,12 @@ # Lists coverage details for your GuardDuty account. If you're a # GuardDuty administrator, you can retrieve all resources associated # with the active member accounts in your organization. # - # Make sure the accounts have EKS Runtime Monitoring enabled and - # GuardDuty agent running on their EKS nodes. + # Make sure the accounts have Runtime Monitoring enabled and GuardDuty + # agent running on their resources. # # @option params [required, String] :detector_id # The unique ID of the detector whose coverage details you want to # retrieve. # @@ -4546,10 +4594,10 @@ operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-guardduty' - context[:gem_version] = '1.85.0' + context[:gem_version] = '1.86.0' Seahorse::Client::Request.new(handlers, context) end # @api private # @deprecated