HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/local/aws-cli/v2/dist/awscli/botocore/data/securitylake/2018-05-10/service-2.json
{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2018-05-10",
    "endpointPrefix":"securitylake",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "serviceFullName":"Amazon Security Lake",
    "serviceId":"SecurityLake",
    "signatureVersion":"v4",
    "signingName":"securitylake",
    "uid":"securitylake-2018-05-10"
  },
  "operations":{
    "CreateAwsLogSource":{
      "name":"CreateAwsLogSource",
      "http":{
        "method":"POST",
        "requestUri":"/v1/logsources/aws",
        "responseCode":200
      },
      "input":{"shape":"CreateAwsLogSourceRequest"},
      "output":{"shape":"CreateAwsLogSourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"S3Exception"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Adds a natively supported Amazon Web Service as an Amazon Security Lake source. Enables source types for member accounts in required Amazon Web Services Regions, based on the parameters you specify. You can choose any source type in any Region for either accounts that are part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, you can supply any combination of the three dimensions to this API. </p> <p>By default, a dimension refers to the entire set. When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when you do not specify members, the API enables all Security Lake member accounts for all sources. Similarly, when you do not specify Regions, Security Lake is enabled for all the Regions where Security Lake is available as a service.</p> <p>You can use this API only to enable natively supported Amazon Web Services as a source. Use <code>CreateCustomLogSource</code> to enable data collection from a custom source. </p>"
    },
    "CreateCustomLogSource":{
      "name":"CreateCustomLogSource",
      "http":{
        "method":"POST",
        "requestUri":"/v1/logsources/custom",
        "responseCode":200
      },
      "input":{"shape":"CreateCustomLogSourceRequest"},
      "output":{"shape":"CreateCustomLogSourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictSourceNamesException"},
        {"shape":"AccessDeniedException"},
        {"shape":"BucketNotFoundException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Adds a third-party custom source in Amazon Security Lake, from the Amazon Web Services Region where you want to create a custom source. Security Lake can collect logs and events from third-party custom sources. After creating the appropriate IAM role to invoke Glue crawler, use this API to add a custom source name in Security Lake. This operation creates a partition in the Amazon S3 bucket for Security Lake as the target location for log files from the custom source in addition to an associated Glue table and an Glue crawler.</p>"
    },
    "CreateDatalake":{
      "name":"CreateDatalake",
      "http":{
        "method":"POST",
        "requestUri":"/v1/datalake",
        "responseCode":200
      },
      "input":{"shape":"CreateDatalakeRequest"},
      "output":{"shape":"CreateDatalakeResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Initializes an Amazon Security Lake instance with the provided (or default) configuration. You can enable Security Lake in Amazon Web Services Regions with customized settings before enabling log collection in Regions. You can either use the <code>enableAll</code> parameter to specify all Regions or specify the Regions where you want to enable Security Lake. To specify particular Regions, use the <code>Regions</code> parameter and then configure these Regions using the <code>configurations</code> parameter. If you have already enabled Security Lake in a Region when you call this command, the command will update the Region if you provide new configuration parameters. If you have not already enabled Security Lake in the Region when you call this API, it will set up the data lake in the Region with the specified configurations.</p> <p>When you enable Security Lake, it starts ingesting security data after the <code>CreateAwsLogSource</code> call. This includes ingesting security data from sources, storing data, and making data accessible to subscribers. Security Lake also enables all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. For more information, see the <a href=\"https://docs.aws.amazon.com/security-lake/latest/userguide/what-is-security-lake.html\">Amazon Security Lake User Guide</a>.</p>"
    },
    "CreateDatalakeAutoEnable":{
      "name":"CreateDatalakeAutoEnable",
      "http":{
        "method":"POST",
        "requestUri":"/v1/datalake/autoenable",
        "responseCode":200
      },
      "input":{"shape":"CreateDatalakeAutoEnableRequest"},
      "output":{"shape":"CreateDatalakeAutoEnableResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Automatically enables Amazon Security Lake for new member accounts in your organization. Security Lake is not automatically enabled for any existing member accounts in your organization.</p>"
    },
    "CreateDatalakeDelegatedAdmin":{
      "name":"CreateDatalakeDelegatedAdmin",
      "http":{
        "method":"POST",
        "requestUri":"/v1/datalake/delegate",
        "responseCode":200
      },
      "input":{"shape":"CreateDatalakeDelegatedAdminRequest"},
      "output":{"shape":"CreateDatalakeDelegatedAdminResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Designates the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account.</p>"
    },
    "CreateDatalakeExceptionsSubscription":{
      "name":"CreateDatalakeExceptionsSubscription",
      "http":{
        "method":"POST",
        "requestUri":"/v1/datalake/exceptions/subscription",
        "responseCode":200
      },
      "input":{"shape":"CreateDatalakeExceptionsSubscriptionRequest"},
      "output":{"shape":"CreateDatalakeExceptionsSubscriptionResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Creates the specified notification subscription in Amazon Security Lake for the organization you specify.</p>"
    },
    "CreateSubscriber":{
      "name":"CreateSubscriber",
      "http":{
        "method":"POST",
        "requestUri":"/v1/subscribers",
        "responseCode":200
      },
      "input":{"shape":"CreateSubscriberRequest"},
      "output":{"shape":"CreateSubscriberResponse"},
      "errors":[
        {"shape":"ConflictSubscriptionException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"BucketNotFoundException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Creates a subscription permission for accounts that are already enabled in Amazon Security Lake. You can create a subscriber with access to data in the current Amazon Web Services Region.</p>"
    },
    "CreateSubscriptionNotificationConfiguration":{
      "name":"CreateSubscriptionNotificationConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/subscription-notifications/{subscriptionId}",
        "responseCode":200
      },
      "input":{"shape":"CreateSubscriptionNotificationConfigurationRequest"},
      "output":{"shape":"CreateSubscriptionNotificationConfigurationResponse"},
      "errors":[
        {"shape":"ConcurrentModificationException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Notifies the subscriber when new data is written to the data lake for the sources that the subscriber consumes in Security Lake.</p>"
    },
    "DeleteAwsLogSource":{
      "name":"DeleteAwsLogSource",
      "http":{
        "method":"POST",
        "requestUri":"/v1/logsources/aws/delete",
        "responseCode":200
      },
      "input":{"shape":"DeleteAwsLogSourceRequest"},
      "output":{"shape":"DeleteAwsLogSourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Removes a natively supported Amazon Web Service as an Amazon Security Lake source. When you remove the source, Security Lake stops collecting data from that source, and subscribers can no longer consume new data from the source. Subscribers can still consume data that Security Lake collected from the source before disablement.</p> <p>You can choose any source type in any Amazon Web Services Region for either accounts that are part of a trusted organization or standalone accounts. At least one of the three dimensions is a mandatory input to this API. However, you can supply any combination of the three dimensions to this API. </p> <p>By default, a dimension refers to the entire set. This is overridden when you supply any one of the inputs. For instance, when you do not specify members, the API disables all Security Lake member accounts for sources. Similarly, when you do not specify Regions, Security Lake is disabled for all the Regions where Security Lake is available as a service.</p> <p>When you don't provide a dimension, Security Lake assumes that the missing dimension refers to the entire set. For example, if you don't provide specific accounts, the API applies to the entire set of accounts in your organization.</p>"
    },
    "DeleteCustomLogSource":{
      "name":"DeleteCustomLogSource",
      "http":{
        "method":"DELETE",
        "requestUri":"/v1/logsources/custom",
        "responseCode":200
      },
      "input":{"shape":"DeleteCustomLogSourceRequest"},
      "output":{"shape":"DeleteCustomLogSourceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictSourceNamesException"},
        {"shape":"AccessDeniedException"},
        {"shape":"BucketNotFoundException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Removes a custom log source from Amazon Security Lake.</p>",
      "idempotent":true
    },
    "DeleteDatalake":{
      "name":"DeleteDatalake",
      "http":{
        "method":"DELETE",
        "requestUri":"/v1/datalake",
        "responseCode":200
      },
      "input":{"shape":"DeleteDatalakeRequest"},
      "output":{"shape":"DeleteDatalakeResponse"},
      "errors":[
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ConflictException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>When you delete Amazon Security Lake from your account, Security Lake is disabled in all Amazon Web Services Regions. Also, this API automatically takes steps to remove the account from Security Lake . </p> <p>This operation disables security data collection from sources, deletes data stored, and stops making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. The <code>DeleteDatalake</code> operation does not delete the Amazon S3 bucket, which is owned by your Amazon Web Services account. For more information, see the <a href=\"https://docs.aws.amazon.com/security-lake/latest/userguide/disable-security-lake.html\">Amazon Security Lake User Guide</a>.</p>",
      "idempotent":true
    },
    "DeleteDatalakeAutoEnable":{
      "name":"DeleteDatalakeAutoEnable",
      "http":{
        "method":"POST",
        "requestUri":"/v1/datalake/autoenable/delete",
        "responseCode":200
      },
      "input":{"shape":"DeleteDatalakeAutoEnableRequest"},
      "output":{"shape":"DeleteDatalakeAutoEnableResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Automatically deletes Amazon Security Lake to stop collecting security data. When you delete Amazon Security Lake from your account, Security Lake is disabled in all Regions. Also, this API automatically takes steps to remove the account from Security Lake . </p> <p>This operation disables security data collection from sources, deletes data stored, and stops making data accessible to subscribers. Security Lake also deletes all the existing settings and resources that it stores or maintains for your Amazon Web Services account in the current Region, including security log and event data. The <code>DeleteDatalake</code> operation does not delete the Amazon S3 bucket, which is owned by your Amazon Web Services account. For more information, see the <a href=\"https://docs.aws.amazon.com/security-lake/latest/userguide/disable-security-lake.html\">Amazon Security Lake User Guide</a>.</p>"
    },
    "DeleteDatalakeDelegatedAdmin":{
      "name":"DeleteDatalakeDelegatedAdmin",
      "http":{
        "method":"DELETE",
        "requestUri":"/v1/datalake/delegate/{account}",
        "responseCode":200
      },
      "input":{"shape":"DeleteDatalakeDelegatedAdminRequest"},
      "output":{"shape":"DeleteDatalakeDelegatedAdminResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Deletes the Amazon Security Lake delegated administrator account for the organization. This API can only be called by the organization management account. The organization management account cannot be the delegated administrator account.</p>"
    },
    "DeleteDatalakeExceptionsSubscription":{
      "name":"DeleteDatalakeExceptionsSubscription",
      "http":{
        "method":"DELETE",
        "requestUri":"/v1/datalake/exceptions/subscription",
        "responseCode":200
      },
      "input":{"shape":"DeleteDatalakeExceptionsSubscriptionRequest"},
      "output":{"shape":"DeleteDatalakeExceptionsSubscriptionResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Deletes the specified notification subscription in Amazon Security Lake for the organization you specify.</p>"
    },
    "DeleteSubscriber":{
      "name":"DeleteSubscriber",
      "http":{
        "method":"DELETE",
        "requestUri":"/v1/subscribers",
        "responseCode":200
      },
      "input":{"shape":"DeleteSubscriberRequest"},
      "output":{"shape":"DeleteSubscriberResponse"},
      "errors":[
        {"shape":"ConcurrentModificationException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"BucketNotFoundException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Deletes the subscription permission for accounts that are already enabled in Amazon Security Lake. You can delete a subscriber and remove access to data in the current Amazon Web Services Region.</p>",
      "idempotent":true
    },
    "DeleteSubscriptionNotificationConfiguration":{
      "name":"DeleteSubscriptionNotificationConfiguration",
      "http":{
        "method":"DELETE",
        "requestUri":"/subscription-notifications/{subscriptionId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteSubscriptionNotificationConfigurationRequest"},
      "output":{"shape":"DeleteSubscriptionNotificationConfigurationResponse"},
      "errors":[
        {"shape":"ConcurrentModificationException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Deletes the specified notification subscription in Amazon Security Lake for the organization you specify.</p>",
      "idempotent":true
    },
    "GetDatalake":{
      "name":"GetDatalake",
      "http":{
        "method":"GET",
        "requestUri":"/v1/datalake",
        "responseCode":200
      },
      "input":{"shape":"GetDatalakeRequest"},
      "output":{"shape":"GetDatalakeResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Retrieves the Amazon Security Lake configuration object for the specified Amazon Web Services account ID. You can use the <code>GetDatalake</code> API to know whether Security Lake is enabled for the current Region. This API does not take input parameters. </p>"
    },
    "GetDatalakeAutoEnable":{
      "name":"GetDatalakeAutoEnable",
      "http":{
        "method":"GET",
        "requestUri":"/v1/datalake/autoenable",
        "responseCode":200
      },
      "input":{"shape":"GetDatalakeAutoEnableRequest"},
      "output":{"shape":"GetDatalakeAutoEnableResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Retrieves the configuration that will be automatically set up for accounts added to the organization after the organization has onboarded to Amazon Security Lake. This API does not take input parameters.</p>"
    },
    "GetDatalakeExceptionsExpiry":{
      "name":"GetDatalakeExceptionsExpiry",
      "http":{
        "method":"GET",
        "requestUri":"/v1/datalake/exceptions/expiry",
        "responseCode":200
      },
      "input":{"shape":"GetDatalakeExceptionsExpiryRequest"},
      "output":{"shape":"GetDatalakeExceptionsExpiryResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Retrieves the expiration period and time-to-live (TTL) for which the exception message will remain. Exceptions are stored by default, for 2 weeks from when a record was created in Amazon Security Lake. This API does not take input parameters.</p>"
    },
    "GetDatalakeExceptionsSubscription":{
      "name":"GetDatalakeExceptionsSubscription",
      "http":{
        "method":"GET",
        "requestUri":"/v1/datalake/exceptions/subscription",
        "responseCode":200
      },
      "input":{"shape":"GetDatalakeExceptionsSubscriptionRequest"},
      "output":{"shape":"GetDatalakeExceptionsSubscriptionResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Retrieves the details of exception notifications for the account in Amazon Security Lake.</p>"
    },
    "GetDatalakeStatus":{
      "name":"GetDatalakeStatus",
      "http":{
        "method":"POST",
        "requestUri":"/v1/datalake/status",
        "responseCode":200
      },
      "input":{"shape":"GetDatalakeStatusRequest"},
      "output":{"shape":"GetDatalakeStatusResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Retrieves a snapshot of the current Region, including whether Amazon Security Lake is enabled for those accounts and which sources Security Lake is collecting data from. </p>"
    },
    "GetSubscriber":{
      "name":"GetSubscriber",
      "http":{
        "method":"GET",
        "requestUri":"/v1/subscribers/{id}",
        "responseCode":200
      },
      "input":{"shape":"GetSubscriberRequest"},
      "output":{"shape":"GetSubscriberResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Retrieves the subscription information for the specified subscription ID. You can get information about a specific subscriber.</p>"
    },
    "ListDatalakeExceptions":{
      "name":"ListDatalakeExceptions",
      "http":{
        "method":"POST",
        "requestUri":"/v1/datalake/exceptions",
        "responseCode":200
      },
      "input":{"shape":"ListDatalakeExceptionsRequest"},
      "output":{"shape":"ListDatalakeExceptionsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Lists the Amazon Security Lake exceptions that you can use to find the source of problems and fix them.</p>"
    },
    "ListLogSources":{
      "name":"ListLogSources",
      "http":{
        "method":"POST",
        "requestUri":"/v1/logsources/list",
        "responseCode":200
      },
      "input":{"shape":"ListLogSourcesRequest"},
      "output":{"shape":"ListLogSourcesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Retrieves the log sources in the current Amazon Web Services Region. </p>"
    },
    "ListSubscribers":{
      "name":"ListSubscribers",
      "http":{
        "method":"GET",
        "requestUri":"/v1/subscribers",
        "responseCode":200
      },
      "input":{"shape":"ListSubscribersRequest"},
      "output":{"shape":"ListSubscribersResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>List all subscribers for the specific Amazon Security Lake account ID. You can retrieve a list of subscriptions associated with a specific organization or Amazon Web Services account.</p>"
    },
    "UpdateDatalake":{
      "name":"UpdateDatalake",
      "http":{
        "method":"PUT",
        "requestUri":"/v1/datalake",
        "responseCode":200
      },
      "input":{"shape":"UpdateDatalakeRequest"},
      "output":{"shape":"UpdateDatalakeResponse"},
      "errors":[
        {"shape":"EventBridgeException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Specifies where to store your security data and for how long. You can add a rollup Region to consolidate data from multiple Amazon Web Services Regions. </p>",
      "idempotent":true
    },
    "UpdateDatalakeExceptionsExpiry":{
      "name":"UpdateDatalakeExceptionsExpiry",
      "http":{
        "method":"PUT",
        "requestUri":"/v1/datalake/exceptions/expiry",
        "responseCode":200
      },
      "input":{"shape":"UpdateDatalakeExceptionsExpiryRequest"},
      "output":{"shape":"UpdateDatalakeExceptionsExpiryResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Update the expiration period for the exception message to your preferred time, and control the time-to-live (TTL) for the exception message to remain. Exceptions are stored by default for 2 weeks from when a record was created in Amazon Security Lake. </p>"
    },
    "UpdateDatalakeExceptionsSubscription":{
      "name":"UpdateDatalakeExceptionsSubscription",
      "http":{
        "method":"PUT",
        "requestUri":"/v1/datalake/exceptions/subscription",
        "responseCode":200
      },
      "input":{"shape":"UpdateDatalakeExceptionsSubscriptionRequest"},
      "output":{"shape":"UpdateDatalakeExceptionsSubscriptionResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"}
      ],
      "documentation":"<p>Updates the specified notification subscription in Amazon Security Lake for the organization you specify.</p>"
    },
    "UpdateSubscriber":{
      "name":"UpdateSubscriber",
      "http":{
        "method":"PUT",
        "requestUri":"/v1/subscribers/{id}",
        "responseCode":200
      },
      "input":{"shape":"UpdateSubscriberRequest"},
      "output":{"shape":"UpdateSubscriberResponse"},
      "errors":[
        {"shape":"ConflictSubscriptionException"},
        {"shape":"ConcurrentModificationException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"AccountNotFoundException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Updates an existing subscription for the given Amazon Security Lake account ID. You can update a subscriber by changing the sources that the subscriber consumes data from. </p>",
      "idempotent":true
    },
    "UpdateSubscriptionNotificationConfiguration":{
      "name":"UpdateSubscriptionNotificationConfiguration",
      "http":{
        "method":"PUT",
        "requestUri":"/subscription-notifications/{subscriptionId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateSubscriptionNotificationConfigurationRequest"},
      "output":{"shape":"UpdateSubscriptionNotificationConfigurationResponse"},
      "errors":[
        {"shape":"ConcurrentModificationException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"AccountNotFoundException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Creates a new subscription notification or adds the existing subscription notification setting for the specified subscription ID.</p>"
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>You do not have sufficient access to perform this action. Access denied errors appear when Amazon Security Lake explicitly or implicitly denies an authorization request. An explicit denial occurs when a policy contains a Deny statement for the specific Amazon Web Services action. An implicit denial occurs when there is no applicable Deny statement and also no applicable Allow statement.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AccessType":{
      "type":"string",
      "enum":[
        "LAKEFORMATION",
        "S3"
      ]
    },
    "AccessTypeList":{
      "type":"list",
      "member":{"shape":"AccessType"}
    },
    "AccountList":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "AccountNotFoundException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Amazon Security Lake cannot find an Amazon Web Services account with the accountID that you specified, or the account whose credentials you used to make this request isn't a member of an organization.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "AccountSources":{
      "type":"structure",
      "required":[
        "account",
        "sourceType"
      ],
      "members":{
        "account":{
          "shape":"String",
          "documentation":"<p>The ID of the Security Lake account for which logs are collected.</p>"
        },
        "eventClass":{
          "shape":"OcsfEventClass",
          "documentation":"<p>Initializes a new instance of the Event class.</p>"
        },
        "logsStatus":{
          "shape":"LogsStatusList",
          "documentation":"<p>The log status for the Security Lake account.</p>"
        },
        "sourceType":{
          "shape":"String",
          "documentation":"<p>The supported Amazon Web Services from which logs and events are collected. Amazon Security Lake supports log and event collection for natively supported Amazon Web Services. </p>"
        }
      },
      "documentation":"<p>Amazon Security Lake collects logs and events from supported Amazon Web Services and custom sources. For the list of supported Amazon Web Services, see the <a href=\"https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html\">Amazon Security Lake User Guide</a>.</p>"
    },
    "AccountSourcesList":{
      "type":"list",
      "member":{"shape":"AccountSources"}
    },
    "AllDimensionsMap":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"TwoDimensionsMap"}
    },
    "AutoEnableNewRegionConfiguration":{
      "type":"structure",
      "required":[
        "region",
        "sources"
      ],
      "members":{
        "region":{
          "shape":"Region",
          "documentation":"<p>The Amazon Web Services Regions where Security Lake is automatically enabled.</p>"
        },
        "sources":{
          "shape":"AwsSourceTypeList",
          "documentation":"<p>The Amazon Web Services sources that are automatically enabled in Security Lake.</p>"
        }
      },
      "documentation":"<p>Automatically enable new organization accounts as member accounts from an Amazon Security Lake administrator account.</p>"
    },
    "AutoEnableNewRegionConfigurationList":{
      "type":"list",
      "member":{"shape":"AutoEnableNewRegionConfiguration"}
    },
    "AwsAccountId":{
      "type":"string",
      "max":12,
      "min":12,
      "pattern":"^\\d+$"
    },
    "AwsLogSourceType":{
      "type":"string",
      "enum":[
        "ROUTE53",
        "VPC_FLOW",
        "CLOUD_TRAIL",
        "SH_FINDINGS"
      ]
    },
    "AwsSourceTypeList":{
      "type":"list",
      "member":{"shape":"AwsLogSourceType"}
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "BucketNotFoundException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Amazon Security Lake generally returns 404 errors if the requested object is missing from the bucket.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ConcurrentModificationException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>More than one process tried to modify a resource at the same time. </p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":false}
    },
    "ConflictException":{
      "type":"structure",
      "required":[
        "message",
        "resourceId",
        "resourceType"
      ],
      "members":{
        "message":{"shape":"String"},
        "resourceId":{
          "shape":"String",
          "documentation":"<p>A conflict occurred when prompting for the Resource ID.</p>"
        },
        "resourceType":{
          "shape":"String",
          "documentation":"<p>The resource type. </p>"
        }
      },
      "documentation":"<p>Occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ConflictSourceNamesException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>There was a conflict when you attempted to modify a Security Lake source name. </p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ConflictSubscriptionException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>A conflicting subscription exception operation is in progress. </p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "CreateAwsLogSourceRequest":{
      "type":"structure",
      "required":["inputOrder"],
      "members":{
        "enableAllDimensions":{
          "shape":"AllDimensionsMap",
          "documentation":"<p>Enables data collection from specific Amazon Web Services sources in all specific accounts and specific Regions.</p>"
        },
        "enableSingleDimension":{
          "shape":"InputSet",
          "documentation":"<p>Enables data collection from all Amazon Web Services sources in specific accounts or Regions.</p>"
        },
        "enableTwoDimensions":{
          "shape":"TwoDimensionsMap",
          "documentation":"<p>Enables data collection from specific Amazon Web Services sources in specific accounts or Regions.</p>"
        },
        "inputOrder":{
          "shape":"DimensionSet",
          "documentation":"<p>Specifies the input order to enable dimensions in Security Lake, namely Region, source type, and member account.</p>"
        }
      }
    },
    "CreateAwsLogSourceResponse":{
      "type":"structure",
      "members":{
        "failed":{
          "shape":"AccountList",
          "documentation":"<p>Lists all accounts in which enabling a natively supported Amazon Web Service as a Security Lake source failed. The failure occurred as these accounts are not part of an organization.</p>"
        },
        "processing":{
          "shape":"AccountList",
          "documentation":"<p>Lists the accounts that are in the process of enabling a natively supported Amazon Web Service as a Security Lake source.</p>"
        }
      }
    },
    "CreateCustomLogSourceRequest":{
      "type":"structure",
      "required":[
        "customSourceName",
        "eventClass",
        "glueInvocationRoleArn",
        "logProviderAccountId"
      ],
      "members":{
        "customSourceName":{
          "shape":"CustomSourceType",
          "documentation":"<p>The name for a third-party custom source. This must be a Regionally unique value.</p>"
        },
        "eventClass":{
          "shape":"OcsfEventClass",
          "documentation":"<p>The Open Cybersecurity Schema Framework (OCSF) event class which describes the type of data that the custom source will send to Security Lake.</p>"
        },
        "glueInvocationRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role to be used by the Glue crawler. The recommended IAM policies are:</p> <ul> <li> <p>The managed policy <code>AWSGlueServiceRole</code> </p> </li> <li> <p>A custom policy granting access to your Amazon S3 Data Lake</p> </li> </ul>"
        },
        "logProviderAccountId":{
          "shape":"AwsAccountId",
          "documentation":"<p>The Amazon Web Services account ID of the custom source that will write logs and events into the Amazon S3 Data Lake.</p>"
        }
      }
    },
    "CreateCustomLogSourceResponse":{
      "type":"structure",
      "required":[
        "customDataLocation",
        "glueCrawlerName",
        "glueDatabaseName",
        "glueTableName",
        "logProviderAccessRoleArn"
      ],
      "members":{
        "customDataLocation":{
          "shape":"String",
          "documentation":"<p>The location of the partition in the Amazon S3 bucket for Security Lake.</p>"
        },
        "glueCrawlerName":{
          "shape":"String",
          "documentation":"<p>The name of the Glue crawler.</p>"
        },
        "glueDatabaseName":{
          "shape":"String",
          "documentation":"<p>The Glue database where results are written, such as: <code>arn:aws:daylight:us-east-1::database/sometable/*</code>.</p>"
        },
        "glueTableName":{
          "shape":"String",
          "documentation":"<p>The table name of the Glue crawler.</p>"
        },
        "logProviderAccessRoleArn":{
          "shape":"String",
          "documentation":"<p>The ARN of the IAM role to be used by the entity putting logs into your custom source partition. Security Lake will apply the correct access policies to this role, but you must first manually create the trust policy for this role. The IAM role name must start with the text 'Security Lake'. The IAM role must trust the <code>logProviderAccountId</code> to assume the role.</p>"
        }
      }
    },
    "CreateDatalakeAutoEnableRequest":{
      "type":"structure",
      "required":["configurationForNewAccounts"],
      "members":{
        "configurationForNewAccounts":{
          "shape":"AutoEnableNewRegionConfigurationList",
          "documentation":"<p>Enable Security Lake with the specified configuration settings to begin collecting security data for new accounts in your organization. </p>"
        }
      }
    },
    "CreateDatalakeAutoEnableResponse":{
      "type":"structure",
      "members":{
      }
    },
    "CreateDatalakeDelegatedAdminRequest":{
      "type":"structure",
      "required":["account"],
      "members":{
        "account":{
          "shape":"SafeString",
          "documentation":"<p>The Amazon Web Services account ID of the Security Lake delegated administrator.</p>"
        }
      }
    },
    "CreateDatalakeDelegatedAdminResponse":{
      "type":"structure",
      "members":{
      }
    },
    "CreateDatalakeExceptionsSubscriptionRequest":{
      "type":"structure",
      "required":[
        "notificationEndpoint",
        "subscriptionProtocol"
      ],
      "members":{
        "notificationEndpoint":{
          "shape":"SafeString",
          "documentation":"<p>The Amazon Web Services account where you want to receive exception notifications.</p>"
        },
        "subscriptionProtocol":{
          "shape":"SubscriptionProtocolType",
          "documentation":"<p>The subscription protocol to which exception notifications are posted. </p>"
        }
      }
    },
    "CreateDatalakeExceptionsSubscriptionResponse":{
      "type":"structure",
      "members":{
      }
    },
    "CreateDatalakeRequest":{
      "type":"structure",
      "members":{
        "configurations":{
          "shape":"LakeConfigurationRequestMap",
          "documentation":"<p>Specify the Region or Regions that will contribute data to the rollup region.</p>"
        },
        "enableAll":{
          "shape":"Boolean",
          "documentation":"<p>Enable Security Lake in all Regions.</p>"
        },
        "metaStoreManagerRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) used to create and update the Glue table. This table contains partitions generated by the ingestion and normalization of Amazon Web Services log sources and custom sources.</p>"
        },
        "regions":{
          "shape":"RegionSet",
          "documentation":"<p>Enable Security Lake in the specified Regions. To enable Security Lake in specific Amazon Web Services Regions, such as us-east-1 or ap-northeast-3, provide the Region codes. For a list of Region codes, see <a href=\"https://docs.aws.amazon.com/general/latest/gr/securitylake.html\">Amazon Security Lake endpoints</a> in the Amazon Web Services General Reference.</p>"
        }
      }
    },
    "CreateDatalakeResponse":{
      "type":"structure",
      "members":{
      }
    },
    "CreateSubscriberRequest":{
      "type":"structure",
      "required":[
        "accountId",
        "externalId",
        "sourceTypes",
        "subscriberName"
      ],
      "members":{
        "accessTypes":{
          "shape":"AccessTypeList",
          "documentation":"<p>The Amazon S3 or Lake Formation access type.</p>"
        },
        "accountId":{
          "shape":"AwsAccountId",
          "documentation":"<p>The Amazon Web Services account ID used to access your data.</p>"
        },
        "externalId":{
          "shape":"SafeString",
          "documentation":"<p>The external ID of the subscriber. This lets the user that is assuming the role assert the circumstances in which they are operating. It also provides a way for the account owner to permit the role to be assumed only under specific circumstances.</p>"
        },
        "sourceTypes":{
          "shape":"SourceTypeList",
          "documentation":"<p>The supported Amazon Web Services from which logs and events are collected. Security Lake supports log and event collection for natively supported Amazon Web Services.</p>"
        },
        "subscriberDescription":{
          "shape":"DescriptionString",
          "documentation":"<p>The description for your subscriber account in Security Lake. </p>"
        },
        "subscriberName":{
          "shape":"CreateSubscriberRequestSubscriberNameString",
          "documentation":"<p>The name of your Security Lake subscriber account.</p>"
        }
      }
    },
    "CreateSubscriberRequestSubscriberNameString":{
      "type":"string",
      "max":64,
      "min":0
    },
    "CreateSubscriberResponse":{
      "type":"structure",
      "required":["subscriptionId"],
      "members":{
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) created by you to provide to the subscriber. For more information about ARNs and how to use them in policies, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html\">IAM identifiers in the Identity and Access Management (IAM) User Guide</a>. .</p>"
        },
        "s3BucketArn":{
          "shape":"S3BucketArn",
          "documentation":"<p>The ARN for the Amazon S3 bucket. </p>"
        },
        "snsArn":{
          "shape":"SnsTopicArn",
          "documentation":"<p>The ARN for the Amazon Simple Notification Service.</p>"
        },
        "subscriptionId":{
          "shape":"UUID",
          "documentation":"<p>The <code>subscriptionId</code> created by the <code>CreateSubscriber</code> API call.</p>"
        }
      }
    },
    "CreateSubscriptionNotificationConfigurationRequest":{
      "type":"structure",
      "required":["subscriptionId"],
      "members":{
        "createSqs":{
          "shape":"Boolean",
          "documentation":"<p>Create an Amazon Simple Queue Service queue.</p>"
        },
        "httpsApiKeyName":{
          "shape":"String",
          "documentation":"<p>The key name for the notification subscription.</p>"
        },
        "httpsApiKeyValue":{
          "shape":"String",
          "documentation":"<p>The key value for the notification subscription.</p>"
        },
        "httpsMethod":{
          "shape":"HttpsMethod",
          "documentation":"<p>The HTTPS method used for the notification subscription. </p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the EventBridge API destinations IAM role that you created.</p>"
        },
        "subscriptionEndpoint":{
          "shape":"CreateSubscriptionNotificationConfigurationRequestSubscriptionEndpointString",
          "documentation":"<p>The subscription endpoint in Security Lake. If you prefer notification with an HTTPs endpoint, populate this field.</p>"
        },
        "subscriptionId":{
          "shape":"UUID",
          "documentation":"<p>The subscription ID for the notification subscription/</p>",
          "location":"uri",
          "locationName":"subscriptionId"
        }
      }
    },
    "CreateSubscriptionNotificationConfigurationRequestSubscriptionEndpointString":{
      "type":"string",
      "pattern":"^(arn:aws:.+$|https?://.+$)"
    },
    "CreateSubscriptionNotificationConfigurationResponse":{
      "type":"structure",
      "members":{
        "queueArn":{
          "shape":"SafeString",
          "documentation":"<p>Returns the Amazon Resource Name (ARN) of the queue.</p>"
        }
      }
    },
    "CustomSourceType":{
      "type":"string",
      "pattern":"^[\\\\\\w\\-_:/.]*$"
    },
    "DeleteAwsLogSourceRequest":{
      "type":"structure",
      "required":["inputOrder"],
      "members":{
        "disableAllDimensions":{
          "shape":"AllDimensionsMap",
          "documentation":"<p>Removes the specific Amazon Web Services sources from specific accounts and specific Regions.</p>"
        },
        "disableSingleDimension":{
          "shape":"InputSet",
          "documentation":"<p>Removes all Amazon Web Services sources from specific accounts or Regions.</p>"
        },
        "disableTwoDimensions":{
          "shape":"TwoDimensionsMap",
          "documentation":"<p>Remove a specific Amazon Web Services source from specific accounts or Regions.</p>"
        },
        "inputOrder":{
          "shape":"DimensionSet",
          "documentation":"<p>This is a mandatory input. Specify the input order to disable dimensions in Security Lake, namely Region (Amazon Web Services Region code, source type, and member (account ID of a specific Amazon Web Services account). </p>"
        }
      }
    },
    "DeleteAwsLogSourceResponse":{
      "type":"structure",
      "members":{
        "failed":{
          "shape":"AccountList",
          "documentation":"<p>Deletion of the Amazon Web Services sources failed as the account is not a part of the organization.</p>"
        },
        "processing":{
          "shape":"AccountList",
          "documentation":"<p>Deletion of the Amazon Web Services sources is in progress.</p>"
        }
      }
    },
    "DeleteCustomLogSourceRequest":{
      "type":"structure",
      "required":["customSourceName"],
      "members":{
        "customSourceName":{
          "shape":"String",
          "documentation":"<p>The custom source name for the custom log source.</p>",
          "location":"querystring",
          "locationName":"customSourceName"
        }
      }
    },
    "DeleteCustomLogSourceResponse":{
      "type":"structure",
      "required":["customDataLocation"],
      "members":{
        "customDataLocation":{
          "shape":"String",
          "documentation":"<p>The location of the partition in the Amazon S3 bucket for Security Lake.</p>"
        }
      }
    },
    "DeleteDatalakeAutoEnableRequest":{
      "type":"structure",
      "required":["removeFromConfigurationForNewAccounts"],
      "members":{
        "removeFromConfigurationForNewAccounts":{
          "shape":"AutoEnableNewRegionConfigurationList",
          "documentation":"<p>Delete Amazon Security Lake with the specified configuration settings to stop ingesting security data for new accounts in Security Lake. </p>"
        }
      }
    },
    "DeleteDatalakeAutoEnableResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteDatalakeDelegatedAdminRequest":{
      "type":"structure",
      "required":["account"],
      "members":{
        "account":{
          "shape":"SafeString",
          "documentation":"<p>The account ID the Security Lake delegated administrator.</p>",
          "location":"uri",
          "locationName":"account"
        }
      }
    },
    "DeleteDatalakeDelegatedAdminResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteDatalakeExceptionsSubscriptionRequest":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteDatalakeExceptionsSubscriptionResponse":{
      "type":"structure",
      "required":["status"],
      "members":{
        "status":{
          "shape":"SafeString",
          "documentation":"<p>Retrieves the status of the delete Security Lake operation for an account. </p>"
        }
      }
    },
    "DeleteDatalakeRequest":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteDatalakeResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteSubscriberRequest":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"String",
          "documentation":"<p>A value created by Security Lake that uniquely identifies your <code>DeleteSubscriber</code> API request. </p>",
          "location":"querystring",
          "locationName":"id"
        }
      }
    },
    "DeleteSubscriberResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteSubscriptionNotificationConfigurationRequest":{
      "type":"structure",
      "required":["subscriptionId"],
      "members":{
        "subscriptionId":{
          "shape":"UUID",
          "documentation":"<p>The ID of the Security Lake subscriber account.</p>",
          "location":"uri",
          "locationName":"subscriptionId"
        }
      }
    },
    "DeleteSubscriptionNotificationConfigurationResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DescriptionString":{
      "type":"string",
      "pattern":"^[\\\\\\w\\s\\-_:/,.@=+]*$"
    },
    "Dimension":{
      "type":"string",
      "enum":[
        "REGION",
        "SOURCE_TYPE",
        "MEMBER"
      ]
    },
    "DimensionSet":{
      "type":"list",
      "member":{"shape":"Dimension"}
    },
    "EndpointProtocol":{
      "type":"string",
      "enum":[
        "HTTPS",
        "SQS"
      ]
    },
    "EventBridgeException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Represents an error interacting with the Amazon EventBridge service.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "Failures":{
      "type":"structure",
      "required":[
        "exceptionMessage",
        "remediation",
        "timestamp"
      ],
      "members":{
        "exceptionMessage":{
          "shape":"SafeString",
          "documentation":"<p>List of all exception messages.</p>"
        },
        "remediation":{
          "shape":"SafeString",
          "documentation":"<p>List of all remediation steps for failures.</p>"
        },
        "timestamp":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>This error can occur if you configure the wrong timestamp format, or if the subset of entries used for validation had errors or missing values.</p>"
        }
      },
      "documentation":"<p>List of all failures.</p>"
    },
    "FailuresResponse":{
      "type":"structure",
      "members":{
        "failures":{
          "shape":"Failureslist",
          "documentation":"<p>List of all failures. </p>"
        },
        "region":{
          "shape":"SafeString",
          "documentation":"<p>List of Amazon Web Services Regions where the failure occurred. </p>"
        }
      },
      "documentation":"<p>Response element for actions that make changes, namely create, update, or delete actions. </p>"
    },
    "FailuresResponseList":{
      "type":"list",
      "member":{"shape":"FailuresResponse"}
    },
    "Failureslist":{
      "type":"list",
      "member":{"shape":"Failures"}
    },
    "GetDatalakeAutoEnableRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetDatalakeAutoEnableResponse":{
      "type":"structure",
      "required":["autoEnableNewAccounts"],
      "members":{
        "autoEnableNewAccounts":{
          "shape":"AutoEnableNewRegionConfigurationList",
          "documentation":"<p>The configuration for new accounts.</p>"
        }
      }
    },
    "GetDatalakeExceptionsExpiryRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetDatalakeExceptionsExpiryResponse":{
      "type":"structure",
      "required":["exceptionMessageExpiry"],
      "members":{
        "exceptionMessageExpiry":{
          "shape":"Long",
          "documentation":"<p>The expiration period and time-to-live (TTL).</p>"
        }
      }
    },
    "GetDatalakeExceptionsSubscriptionRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetDatalakeExceptionsSubscriptionResponse":{
      "type":"structure",
      "required":["protocolAndNotificationEndpoint"],
      "members":{
        "protocolAndNotificationEndpoint":{
          "shape":"ProtocolAndNotificationEndpoint",
          "documentation":"<p>Retrieves the exception notification subscription information.</p>"
        }
      }
    },
    "GetDatalakeRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetDatalakeResponse":{
      "type":"structure",
      "required":["configurations"],
      "members":{
        "configurations":{
          "shape":"LakeConfigurationResponseMap",
          "documentation":"<p>Retrieves the Security Lake configuration object. </p>"
        }
      }
    },
    "GetDatalakeStatusRequest":{
      "type":"structure",
      "members":{
        "accountSet":{
          "shape":"InputSet",
          "documentation":"<p>The Amazon Web Services account ID for which a static snapshot of the current Amazon Web Services Region, including enabled accounts and log sources, is retrieved.</p>"
        },
        "maxAccountResults":{
          "shape":"Integer",
          "documentation":"<p>The maximum limit of accounts for which the static snapshot of the current Region, including enabled accounts and log sources, is retrieved.</p>"
        },
        "nextToken":{
          "shape":"SafeString",
          "documentation":"<p>Lists if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. </p> <p>Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.</p>"
        }
      }
    },
    "GetDatalakeStatusResponse":{
      "type":"structure",
      "required":["accountSourcesList"],
      "members":{
        "accountSourcesList":{
          "shape":"AccountSourcesList",
          "documentation":"<p>The list of enabled accounts and enabled sources.</p>"
        },
        "nextToken":{
          "shape":"SafeString",
          "documentation":"<p>Lists if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. </p> <p>Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.</p>"
        }
      }
    },
    "GetSubscriberRequest":{
      "type":"structure",
      "required":["id"],
      "members":{
        "id":{
          "shape":"String",
          "documentation":"<p>A value created by Amazon Security Lake that uniquely identifies your <code>GetSubscriber</code> API request.</p>",
          "location":"uri",
          "locationName":"id"
        }
      }
    },
    "GetSubscriberResponse":{
      "type":"structure",
      "members":{
        "subscriber":{
          "shape":"SubscriberResource",
          "documentation":"<p>The subscription information for the specified subscription ID.</p>"
        }
      }
    },
    "HttpsMethod":{
      "type":"string",
      "enum":[
        "POST",
        "PUT"
      ]
    },
    "InputSet":{
      "type":"list",
      "member":{"shape":"SafeString"}
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "InternalServerException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "retryAfterSeconds":{
          "shape":"Integer",
          "documentation":"<p>Retry the request after the specified time. </p>",
          "location":"header",
          "locationName":"Retry-After"
        }
      },
      "documentation":"<p>Internal service exceptions are sometimes caused by transient issues. Before you start troubleshooting, perform the operation again. </p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true,
      "retryable":{"throttling":false}
    },
    "InvalidInputException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The request was rejected because a value that's not valid or is out of range was supplied for an input parameter. </p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "LakeConfigurationRequest":{
      "type":"structure",
      "members":{
        "encryptionKey":{
          "shape":"String",
          "documentation":"<p>The type of encryption key used by Amazon Security Lake to encrypt the Security Lake configuration object.</p>"
        },
        "replicationDestinationRegions":{
          "shape":"RegionSet",
          "documentation":"<p>Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. Amazon S3 buckets that are configured for object replication can be owned by the same Amazon Web Services account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Amazon Web Services Regions or within the same Region as the source bucket.</p> <p>Set up one or more rollup Regions by providing the Region or Regions that should contribute to the central rollup Region. </p>"
        },
        "replicationRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>Replication settings for the Amazon S3 buckets. This parameter uses the Identity and Access Management (IAM) role you created that is managed by Security Lake, to ensure the replication setting is correct. </p>"
        },
        "retentionSettings":{
          "shape":"RetentionSettingList",
          "documentation":"<p>Retention settings for the destination Amazon S3 buckets. </p>"
        },
        "tagsMap":{
          "shape":"TagsMap",
          "documentation":"<p>A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value, both of which you define.</p>"
        }
      },
      "documentation":"<p>Provides details of Amazon Security Lake configuration object.</p>"
    },
    "LakeConfigurationRequestMap":{
      "type":"map",
      "key":{"shape":"Region"},
      "value":{"shape":"LakeConfigurationRequest"}
    },
    "LakeConfigurationResponse":{
      "type":"structure",
      "members":{
        "encryptionKey":{
          "shape":"String",
          "documentation":"<p>The type of encryption key used by secure the Security Lake configuration object.</p>"
        },
        "replicationDestinationRegions":{
          "shape":"RegionSet",
          "documentation":"<p>Replication enables automatic, asynchronous copying of objects across Amazon S3 buckets. Amazon S3 buckets that are configured for object replication can be owned by the same Amazon Web Services account or by different accounts. You can replicate objects to a single destination bucket or to multiple destination buckets. The destination buckets can be in different Amazon Web Services Regions or within the same Region as the source bucket.</p> <p>Set up one or more rollup Regions by providing the Region or Regions that should contribute to the central rollup Region. </p>"
        },
        "replicationRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>Replication settings for the Amazon S3 buckets. This parameter uses the IAM role you created that is managed by Security Lake, to ensure the replication setting is correct. </p>"
        },
        "retentionSettings":{
          "shape":"RetentionSettingList",
          "documentation":"<p>Retention settings for the destination Amazon S3 buckets. </p>"
        },
        "s3BucketArn":{
          "shape":"S3BucketArn",
          "documentation":"<p>Amazon Resource Names (ARNs) uniquely identify Amazon Web Services resources. Security Lake requires an ARN when you need to specify a resource unambiguously across all of Amazon Web Services, such as in IAM policies, Amazon Relational Database Service (Amazon RDS) tags, and API calls. </p>"
        },
        "status":{
          "shape":"settingsStatus",
          "documentation":"<p>Retrieves the status of the configuration operation for an account in Amazon Security Lake. </p>"
        },
        "tagsMap":{
          "shape":"TagsMap",
          "documentation":"<p>A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value, both of which you define.</p>"
        }
      },
      "documentation":"<p>Provides details of Amazon Security Lake lake configuration object.</p>"
    },
    "LakeConfigurationResponseMap":{
      "type":"map",
      "key":{"shape":"Region"},
      "value":{"shape":"LakeConfigurationResponse"}
    },
    "ListDatalakeExceptionsRequest":{
      "type":"structure",
      "members":{
        "maxFailures":{
          "shape":"Integer",
          "documentation":"<p>List the maximum number of failures in Security Lake.</p>"
        },
        "nextToken":{
          "shape":"SafeString",
          "documentation":"<p>List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. </p> <p>Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.</p>"
        },
        "regionSet":{
          "shape":"RegionSet",
          "documentation":"<p>List the Amazon Web Services Regions from which exceptions are retrieved.</p>"
        }
      }
    },
    "ListDatalakeExceptionsResponse":{
      "type":"structure",
      "required":["nonRetryableFailures"],
      "members":{
        "nextToken":{
          "shape":"SafeString",
          "documentation":"<p>List if there are more results available. The value of nextToken is a unique pagination token for each page. Repeat the call using the returned token to retrieve the next page. Keep all other arguments unchanged. </p> <p>Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.</p>"
        },
        "nonRetryableFailures":{
          "shape":"FailuresResponseList",
          "documentation":"<p>Lists the failures that cannot be retried in the current Region.</p>"
        }
      }
    },
    "ListLogSourcesRequest":{
      "type":"structure",
      "members":{
        "inputOrder":{
          "shape":"DimensionSet",
          "documentation":"<p>Lists the log sources in input order, namely Region, source type, and member account.</p>"
        },
        "listAllDimensions":{
          "shape":"AllDimensionsMap",
          "documentation":"<p>List the view of log sources for enabled Amazon Security Lake accounts for specific Amazon Web Services sources from specific accounts and specific Regions.</p>"
        },
        "listSingleDimension":{
          "shape":"InputSet",
          "documentation":"<p>List the view of log sources for enabled Security Lake accounts for all Amazon Web Services sources from specific accounts or specific Regions.</p>"
        },
        "listTwoDimensions":{
          "shape":"TwoDimensionsMap",
          "documentation":"<p>Lists the view of log sources for enabled Security Lake accounts for specific Amazon Web Services sources from specific accounts or specific Regions.</p>"
        },
        "maxResults":{
          "shape":"Integer",
          "documentation":"<p>The maximum number of accounts for which the log sources are displayed.</p>"
        },
        "nextToken":{
          "shape":"SafeString",
          "documentation":"<p>If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page.</p>"
        }
      }
    },
    "ListLogSourcesResponse":{
      "type":"structure",
      "required":["regionSourceTypesAccountsList"],
      "members":{
        "nextToken":{
          "shape":"String",
          "documentation":"<p>If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page.</p>"
        },
        "regionSourceTypesAccountsList":{
          "shape":"RegionSourceTypesAccountsList",
          "documentation":"<p>Lists the log sources by Regions for enabled Security Lake accounts.</p>"
        }
      }
    },
    "ListSubscribersRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"Integer",
          "documentation":"<p>The maximum number of accounts for which the configuration is displayed.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        },
        "nextToken":{
          "shape":"String",
          "documentation":"<p>If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        }
      }
    },
    "ListSubscribersResponse":{
      "type":"structure",
      "required":["subscribers"],
      "members":{
        "nextToken":{
          "shape":"String",
          "documentation":"<p>If nextToken is returned, there are more results available. You can repeat the call using the returned token to retrieve the next page.</p>"
        },
        "subscribers":{
          "shape":"SubscriberList",
          "documentation":"<p>The subscribers available for the specified Security Lake account ID.</p>"
        }
      }
    },
    "LogsStatus":{
      "type":"structure",
      "required":[
        "healthStatus",
        "pathToLogs"
      ],
      "members":{
        "healthStatus":{
          "shape":"SourceStatus",
          "documentation":"<p>The health status of services, including error codes and patterns.</p>"
        },
        "pathToLogs":{
          "shape":"String",
          "documentation":"<p>Defines path the stored logs are available which has information on your systems, applications, and services. </p>"
        }
      },
      "documentation":"<p>Retrieves the Logs status for the Amazon Security Lake account.</p>"
    },
    "LogsStatusList":{
      "type":"list",
      "member":{"shape":"LogsStatus"}
    },
    "Long":{
      "type":"long",
      "box":true
    },
    "OcsfEventClass":{
      "type":"string",
      "enum":[
        "ACCESS_ACTIVITY",
        "FILE_ACTIVITY",
        "KERNEL_ACTIVITY",
        "KERNEL_EXTENSION",
        "MEMORY_ACTIVITY",
        "MODULE_ACTIVITY",
        "PROCESS_ACTIVITY",
        "REGISTRY_KEY_ACTIVITY",
        "REGISTRY_VALUE_ACTIVITY",
        "RESOURCE_ACTIVITY",
        "SCHEDULED_JOB_ACTIVITY",
        "SECURITY_FINDING",
        "ACCOUNT_CHANGE",
        "AUTHENTICATION",
        "AUTHORIZATION",
        "ENTITY_MANAGEMENT_AUDIT",
        "DHCP_ACTIVITY",
        "NETWORK_ACTIVITY",
        "DNS_ACTIVITY",
        "FTP_ACTIVITY",
        "HTTP_ACTIVITY",
        "RDP_ACTIVITY",
        "SMB_ACTIVITY",
        "SSH_ACTIVITY",
        "CLOUD_API",
        "CONTAINER_LIFECYCLE",
        "DATABASE_LIFECYCLE",
        "CONFIG_STATE",
        "CLOUD_STORAGE",
        "INVENTORY_INFO",
        "RFB_ACTIVITY",
        "SMTP_ACTIVITY",
        "VIRTUAL_MACHINE_ACTIVITY"
      ]
    },
    "ProtocolAndNotificationEndpoint":{
      "type":"structure",
      "members":{
        "endpoint":{
          "shape":"SafeString",
          "documentation":"<p>The account that is subscribed to receive exception notifications. </p>"
        },
        "protocol":{
          "shape":"SafeString",
          "documentation":"<p>The protocol to which notification messages are posted. </p>"
        }
      },
      "documentation":"<p>Protocol used in Amazon Security Lake that dictates how notifications are posted at the endpoint. </p>"
    },
    "Region":{
      "type":"string",
      "enum":[
        "us-east-1",
        "us-west-2",
        "eu-central-1",
        "us-east-2",
        "eu-west-1",
        "ap-northeast-1",
        "ap-southeast-2"
      ]
    },
    "RegionSet":{
      "type":"list",
      "member":{"shape":"Region"}
    },
    "RegionSourceTypesAccountsList":{
      "type":"list",
      "member":{"shape":"AllDimensionsMap"}
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "required":[
        "message",
        "resourceId",
        "resourceType"
      ],
      "members":{
        "message":{"shape":"String"},
        "resourceId":{
          "shape":"String",
          "documentation":"<p>The ID of the resource for which the type of resource could not be found.</p>"
        },
        "resourceType":{
          "shape":"String",
          "documentation":"<p>The type of the resource that could not be found.</p>"
        }
      },
      "documentation":"<p>The resource could not be found.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "RetentionSetting":{
      "type":"structure",
      "members":{
        "retentionPeriod":{
          "shape":"RetentionSettingRetentionPeriodInteger",
          "documentation":"<p>The retention period specifies a fixed period of time during which the Security Lake object remains locked. You can specify the retention period in days for one or more sources. </p>"
        },
        "storageClass":{
          "shape":"StorageClass",
          "documentation":"<p>The range of storage classes that you can choose from based on the data access, resiliency, and cost requirements of your workloads.</p>"
        }
      },
      "documentation":"<p>Retention settings for the destination Amazon S3 buckets in Amazon Security Lake. </p>"
    },
    "RetentionSettingList":{
      "type":"list",
      "member":{"shape":"RetentionSetting"}
    },
    "RetentionSettingRetentionPeriodInteger":{
      "type":"integer",
      "box":true,
      "min":1
    },
    "RoleArn":{
      "type":"string",
      "pattern":"^arn:.*"
    },
    "S3BucketArn":{"type":"string"},
    "S3Exception":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Provides an extension of the AmazonServiceException for errors reported by Amazon S3 while processing a request. In particular, this class provides access to the Amazon S3 extended request ID. If Amazon S3 is incorrectly handling a request and you need to contact Amazon, this extended request ID may provide useful debugging information. </p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "SafeString":{
      "type":"string",
      "pattern":"^[\\\\\\w\\-_:/.@=+]*$"
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "required":[
        "message",
        "quotaCode",
        "resourceId",
        "resourceType",
        "serviceCode"
      ],
      "members":{
        "message":{"shape":"String"},
        "quotaCode":{
          "shape":"String",
          "documentation":"<p>That the rate of requests to Security Lake is exceeding the request quotas for your Amazon Web Services account.</p>"
        },
        "resourceId":{
          "shape":"String",
          "documentation":"<p>The ID of the resource that exceeds the service quota.</p>"
        },
        "resourceType":{
          "shape":"String",
          "documentation":"<p>The type of the resource that exceeds the service quota.</p>"
        },
        "serviceCode":{
          "shape":"String",
          "documentation":"<p>The code for the service in Service Quotas.</p>"
        }
      },
      "documentation":"<p>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. </p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "SnsTopicArn":{"type":"string"},
    "SourceStatus":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "DEACTIVATED",
        "PENDING"
      ]
    },
    "SourceType":{
      "type":"structure",
      "members":{
        "awsSourceType":{
          "shape":"AwsLogSourceType",
          "documentation":"<p>Amazon Security Lake supports log and event collection for natively supported Amazon Web Services. </p>"
        },
        "customSourceType":{
          "shape":"CustomSourceType",
          "documentation":"<p>Amazon Security Lake supports custom source types. For a detailed list, see the Amazon Security Lake User Guide.</p>"
        }
      },
      "documentation":"<p>The supported source types from which logs and events are collected in Amazon Security Lake. For the list of supported Amazon Web Services, see the <a href=\"https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html\">Amazon Security Lake User Guide</a>.</p>",
      "union":true
    },
    "SourceTypeList":{
      "type":"list",
      "member":{"shape":"SourceType"}
    },
    "StorageClass":{
      "type":"string",
      "enum":[
        "STANDARD_IA",
        "ONEZONE_IA",
        "INTELLIGENT_TIERING",
        "GLACIER_IR",
        "GLACIER",
        "DEEP_ARCHIVE",
        "EXPIRE"
      ]
    },
    "String":{"type":"string"},
    "SubscriberList":{
      "type":"list",
      "member":{"shape":"SubscriberResource"}
    },
    "SubscriberResource":{
      "type":"structure",
      "required":[
        "accountId",
        "sourceTypes",
        "subscriptionId"
      ],
      "members":{
        "accessTypes":{
          "shape":"AccessTypeList",
          "documentation":"<p>You can choose to notify subscribers of new objects with an Amazon Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS endpoint provided by the subscriber. </p> <p> Subscribers can consume data by directly querying Lake Formation tables in your Amazon S3 bucket through services like Amazon Athena. This subscription type is defined as <code>LAKEFORMATION</code>. </p>"
        },
        "accountId":{
          "shape":"AwsAccountId",
          "documentation":"<p>The Amazon Web Services account ID you are using to create your Amazon Security Lake account.</p>"
        },
        "createdAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time when the subscription was created. </p>"
        },
        "externalId":{
          "shape":"SafeString",
          "documentation":"<p>The external ID of the subscriber. The external ID lets the user that is assuming the role assert the circumstances in which they are operating. It also provides a way for the account owner to permit the role to be assumed only under specific circumstances.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) specifying the role of the subscriber.</p>"
        },
        "s3BucketArn":{
          "shape":"S3BucketArn",
          "documentation":"<p>The ARN for the Amazon S3 bucket. </p>"
        },
        "snsArn":{
          "shape":"SnsTopicArn",
          "documentation":"<p>The ARN for the Amazon Simple Notification Service.</p>"
        },
        "sourceTypes":{
          "shape":"SourceTypeList",
          "documentation":"<p>Amazon Security Lake supports log and event collection for natively supported Amazon Web Services. For more information, see the Amazon Security Lake User Guide.</p>"
        },
        "subscriberDescription":{
          "shape":"SafeString",
          "documentation":"<p>The subscriber descriptions for a subscriber account. The description for a subscriber includes <code>subscriberName</code>, <code>accountID</code>, <code>externalID</code>, and <code>subscriptionId</code>.</p>"
        },
        "subscriberName":{
          "shape":"SafeString",
          "documentation":"<p>The name of your Amazon Security Lake subscriber account.</p>"
        },
        "subscriptionEndpoint":{
          "shape":"String",
          "documentation":"<p>The subscription endpoint to which exception messages are posted. </p>"
        },
        "subscriptionId":{
          "shape":"UUID",
          "documentation":"<p>The subscription ID of the Amazon Security Lake subscriber account.</p>"
        },
        "subscriptionProtocol":{
          "shape":"EndpointProtocol",
          "documentation":"<p>The subscription protocol to which exception messages are posted. </p>"
        },
        "subscriptionStatus":{
          "shape":"SubscriptionStatus",
          "documentation":"<p>The subscription status of the Amazon Security Lake subscriber account.</p>"
        },
        "updatedAt":{
          "shape":"SyntheticTimestamp_date_time",
          "documentation":"<p>The date and time when the subscription was created. </p>"
        }
      },
      "documentation":"<p>Provides details about the Amazon Security Lake account subscription. Subscribers are notified of new objects for a source as the data is written to your Amazon S3 bucket for Security Lake. </p>"
    },
    "SubscriptionProtocolType":{
      "type":"string",
      "enum":[
        "HTTP",
        "HTTPS",
        "EMAIL",
        "EMAIL_JSON",
        "SMS",
        "SQS",
        "LAMBDA",
        "APP",
        "FIREHOSE"
      ]
    },
    "SubscriptionStatus":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "DEACTIVATED",
        "PENDING",
        "READY"
      ]
    },
    "SyntheticTimestamp_date_time":{
      "type":"timestamp",
      "timestampFormat":"iso8601"
    },
    "TagsMap":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "ThrottlingException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"},
        "quotaCode":{
          "shape":"String",
          "documentation":"<p>That the rate of requests to Security Lake is exceeding the request quotas for your Amazon Web Services account.</p>"
        },
        "retryAfterSeconds":{
          "shape":"Integer",
          "documentation":"<p>Retry the request after the specified time. </p>",
          "location":"header",
          "locationName":"Retry-After"
        },
        "serviceCode":{
          "shape":"String",
          "documentation":"<p>The code for the service in Service Quotas.</p>"
        }
      },
      "documentation":"<p>The limit on the number of requests per second was exceeded. </p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":true}
    },
    "TwoDimensionsMap":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"ValueSet"}
    },
    "UUID":{
      "type":"string",
      "pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
    },
    "UpdateDatalakeExceptionsExpiryRequest":{
      "type":"structure",
      "required":["exceptionMessageExpiry"],
      "members":{
        "exceptionMessageExpiry":{
          "shape":"UpdateDatalakeExceptionsExpiryRequestExceptionMessageExpiryLong",
          "documentation":"<p>The time-to-live (TTL) for the exception message to remain.</p>"
        }
      }
    },
    "UpdateDatalakeExceptionsExpiryRequestExceptionMessageExpiryLong":{
      "type":"long",
      "box":true,
      "min":1
    },
    "UpdateDatalakeExceptionsExpiryResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateDatalakeExceptionsSubscriptionRequest":{
      "type":"structure",
      "required":[
        "notificationEndpoint",
        "subscriptionProtocol"
      ],
      "members":{
        "notificationEndpoint":{
          "shape":"SafeString",
          "documentation":"<p>The account that is subscribed to receive exception notifications.</p>"
        },
        "subscriptionProtocol":{
          "shape":"SubscriptionProtocolType",
          "documentation":"<p>The subscription protocol to which exception messages are posted. </p>"
        }
      }
    },
    "UpdateDatalakeExceptionsSubscriptionResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateDatalakeRequest":{
      "type":"structure",
      "required":["configurations"],
      "members":{
        "configurations":{
          "shape":"LakeConfigurationRequestMap",
          "documentation":"<p>Specify the Region or Regions that will contribute data to the rollup region.</p>"
        }
      }
    },
    "UpdateDatalakeResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateSubscriberRequest":{
      "type":"structure",
      "required":[
        "id",
        "sourceTypes"
      ],
      "members":{
        "externalId":{
          "shape":"SafeString",
          "documentation":"<p>The external ID of the Security Lake account.</p>"
        },
        "id":{
          "shape":"String",
          "documentation":"<p>A value created by Security Lake that uniquely identifies your subscription. </p>",
          "location":"uri",
          "locationName":"id"
        },
        "sourceTypes":{
          "shape":"SourceTypeList",
          "documentation":"<p>The supported Amazon Web Services from which logs and events are collected. For the list of supported Amazon Web Services, see the <a href=\"https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html\">Amazon Security Lake User Guide</a>.</p>"
        },
        "subscriberDescription":{
          "shape":"DescriptionString",
          "documentation":"<p>The description of the Security Lake account subscriber.</p>"
        },
        "subscriberName":{
          "shape":"UpdateSubscriberRequestSubscriberNameString",
          "documentation":"<p>The name of the Security Lake account subscriber. </p>"
        }
      }
    },
    "UpdateSubscriberRequestSubscriberNameString":{
      "type":"string",
      "max":64,
      "min":0,
      "pattern":"^[\\\\\\w\\-_:/.@=+]*$"
    },
    "UpdateSubscriberResponse":{
      "type":"structure",
      "members":{
        "subscriber":{
          "shape":"SubscriberResource",
          "documentation":"<p>The account of the subscriber.</p>"
        }
      }
    },
    "UpdateSubscriptionNotificationConfigurationRequest":{
      "type":"structure",
      "required":["subscriptionId"],
      "members":{
        "createSqs":{
          "shape":"Boolean",
          "documentation":"<p>Create a new subscription notification for the specified subscription ID in Amazon Security Lake.</p>"
        },
        "httpsApiKeyName":{
          "shape":"String",
          "documentation":"<p>The key name for the subscription notification.</p>"
        },
        "httpsApiKeyValue":{
          "shape":"String",
          "documentation":"<p>The key value for the subscription notification.</p>"
        },
        "httpsMethod":{
          "shape":"HttpsMethod",
          "documentation":"<p>The HTTPS method used for the subscription notification. </p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The Amazon Resource Name (ARN) specifying the role of the subscriber. </p>"
        },
        "subscriptionEndpoint":{
          "shape":"UpdateSubscriptionNotificationConfigurationRequestSubscriptionEndpointString",
          "documentation":"<p>The subscription endpoint in Security Lake.</p>"
        },
        "subscriptionId":{
          "shape":"UUID",
          "documentation":"<p>The subscription ID for which the subscription notification is specified. </p>",
          "location":"uri",
          "locationName":"subscriptionId"
        }
      }
    },
    "UpdateSubscriptionNotificationConfigurationRequestSubscriptionEndpointString":{
      "type":"string",
      "pattern":"^(arn:aws:.+$|https?://.+$)"
    },
    "UpdateSubscriptionNotificationConfigurationResponse":{
      "type":"structure",
      "members":{
        "queueArn":{
          "shape":"SafeString",
          "documentation":"<p>Returns the ARN of the queue.</p>"
        }
      }
    },
    "ValidationException":{
      "type":"structure",
      "required":[
        "message",
        "reason"
      ],
      "members":{
        "fieldList":{
          "shape":"ValidationExceptionFieldList",
          "documentation":"<p>The list of parameters that failed to validate. </p>"
        },
        "message":{"shape":"String"},
        "reason":{
          "shape":"ValidationExceptionReason",
          "documentation":"<p>The reason for the validation exception. </p>"
        }
      },
      "documentation":"<p>Your signing certificate could not be validated. </p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "message",
        "name"
      ],
      "members":{
        "message":{
          "shape":"String",
          "documentation":"<p>Describes the error encountered.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>Name of the validation exception.</p>"
        }
      },
      "documentation":"<p>The input fails to meet the constraints specified in Amazon Security Lake. </p>"
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"}
    },
    "ValidationExceptionReason":{
      "type":"string",
      "enum":[
        "unknownOperation",
        "cannotParse",
        "fieldValidationFailed",
        "other"
      ]
    },
    "ValueSet":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "settingsStatus":{
      "type":"string",
      "enum":[
        "INITIALIZED",
        "PENDING",
        "COMPLETED",
        "FAILED"
      ]
    }
  },
  "documentation":"<note> <p>Amazon Security Lake is in preview release. Your use of the Security Lake preview is subject to Section 2 of the <a href=\"http://aws.amazon.com/service-terms/\">Amazon Web Services Service Terms</a>(\"Betas and Previews\").</p> </note> <p>Amazon Security Lake is a fully managed security data lake service. You can use Security Lake to automatically centralize security data from cloud, on-premises, and custom sources into a data lake that's stored in your Amazon Web Servicesaccount. Amazon Web Services Organizations is an account management service that lets you consolidate multiple Amazon Web Services accounts into an organization that you create and centrally manage. With Organizations, you can create member accounts and invite existing accounts to join your organization. Security Lake helps you analyze security data for a more complete understanding of your security posture across the entire organization. It can also help you improve the protection of your workloads, applications, and data.</p> <p>The data lake is backed by Amazon Simple Storage Service (Amazon S3) buckets, and you retain ownership over your data. </p> <p>Amazon Security Lake integrates with CloudTrail, a service that provides a record of actions taken by a user, role, or an Amazon Web Services service in Security Lake CloudTrail captures API calls for Security Lake as events. The calls captured include calls from the Security Lake console and code calls to the Security Lake API operations. If you create a trail, you can enable continuous delivery of CloudTrail events to an Amazon S3 bucket, including events for Security Lake. If you don't configure a trail, you can still view the most recent events in the CloudTrail console in Event history. Using the information collected by CloudTrail you can determine the request that was made to Security Lake, the IP address from which the request was made, who made the request, when it was made, and additional details. To learn more about Security Lake information in CloudTrail, see the <a href=\"https://docs.aws.amazon.com/security-lake/latest/userguide/securitylake-cloudtrail.html\">Amazon Security Lake User Guide</a>.</p> <p>Security Lake automates the collection of security-related log and event data from integrated Amazon Web Services and third-party services. It also helps you manage the lifecycle of data with customizable retention and replication settings. Security Lake converts ingested data into Apache Parquet format and a standard open-source schema called the Open Cybersecurity Schema Framework (OCSF).</p> <p>Other Amazon Web Services and third-party services can subscribe to the data that's stored in Security Lake for incident response and security data analytics.</p>"
}