import { AccessType, AwsLogSourceName, DataLakeStatus, HttpMethod, SourceCollectionStatus, SubscriberStatus, } from "./enums"; export interface AwsIdentity { principal: string | undefined; externalId: string | undefined; } export interface AwsLogSourceConfiguration { accounts?: string[] | undefined; regions: string[] | undefined; sourceName: AwsLogSourceName | undefined; sourceVersion?: string | undefined; } export interface AwsLogSourceResource { sourceName?: AwsLogSourceName | undefined; sourceVersion?: string | undefined; } export interface CreateAwsLogSourceRequest { sources: AwsLogSourceConfiguration[] | undefined; } export interface CreateAwsLogSourceResponse { failed?: string[] | undefined; } export interface CustomLogSourceCrawlerConfiguration { roleArn: string | undefined; } export interface CustomLogSourceConfiguration { crawlerConfiguration: CustomLogSourceCrawlerConfiguration | undefined; providerIdentity: AwsIdentity | undefined; } export interface CreateCustomLogSourceRequest { sourceName: string | undefined; sourceVersion?: string | undefined; eventClasses?: string[] | undefined; configuration: CustomLogSourceConfiguration | undefined; } export interface CustomLogSourceAttributes { crawlerArn?: string | undefined; databaseArn?: string | undefined; tableArn?: string | undefined; } export interface CustomLogSourceProvider { roleArn?: string | undefined; location?: string | undefined; } export interface CustomLogSourceResource { sourceName?: string | undefined; sourceVersion?: string | undefined; provider?: CustomLogSourceProvider | undefined; attributes?: CustomLogSourceAttributes | undefined; } export interface CreateCustomLogSourceResponse { source?: CustomLogSourceResource | undefined; } export interface DataLakeEncryptionConfiguration { kmsKeyId?: string | undefined; } export interface DataLakeLifecycleExpiration { days?: number | undefined; } export interface DataLakeLifecycleTransition { storageClass?: string | undefined; days?: number | undefined; } export interface DataLakeLifecycleConfiguration { expiration?: DataLakeLifecycleExpiration | undefined; transitions?: DataLakeLifecycleTransition[] | undefined; } export interface DataLakeReplicationConfiguration { regions?: string[] | undefined; roleArn?: string | undefined; } export interface DataLakeConfiguration { region: string | undefined; encryptionConfiguration?: DataLakeEncryptionConfiguration | undefined; lifecycleConfiguration?: DataLakeLifecycleConfiguration | undefined; replicationConfiguration?: DataLakeReplicationConfiguration | undefined; } export interface Tag { key: string | undefined; value: string | undefined; } export interface CreateDataLakeRequest { configurations: DataLakeConfiguration[] | undefined; metaStoreManagerRoleArn: string | undefined; tags?: Tag[] | undefined; } export interface DataLakeUpdateException { reason?: string | undefined; code?: string | undefined; } export interface DataLakeUpdateStatus { requestId?: string | undefined; status?: DataLakeStatus | undefined; exception?: DataLakeUpdateException | undefined; } export interface DataLakeResource { dataLakeArn: string | undefined; region: string | undefined; s3BucketArn?: string | undefined; encryptionConfiguration?: DataLakeEncryptionConfiguration | undefined; lifecycleConfiguration?: DataLakeLifecycleConfiguration | undefined; replicationConfiguration?: DataLakeReplicationConfiguration | undefined; createStatus?: DataLakeStatus | undefined; updateStatus?: DataLakeUpdateStatus | undefined; } export interface CreateDataLakeResponse { dataLakes?: DataLakeResource[] | undefined; } export interface CreateDataLakeExceptionSubscriptionRequest { subscriptionProtocol: string | undefined; notificationEndpoint: string | undefined; exceptionTimeToLive?: number | undefined; } export interface CreateDataLakeExceptionSubscriptionResponse {} export interface DataLakeAutoEnableNewAccountConfiguration { region: string | undefined; sources: AwsLogSourceResource[] | undefined; } export interface CreateDataLakeOrganizationConfigurationRequest { autoEnableNewAccount?: DataLakeAutoEnableNewAccountConfiguration[] | undefined; } export interface CreateDataLakeOrganizationConfigurationResponse {} export type LogSourceResource = | LogSourceResource.AwsLogSourceMember | LogSourceResource.CustomLogSourceMember | LogSourceResource.$UnknownMember; export declare namespace LogSourceResource { interface AwsLogSourceMember { awsLogSource: AwsLogSourceResource; customLogSource?: never; $unknown?: never; } interface CustomLogSourceMember { awsLogSource?: never; customLogSource: CustomLogSourceResource; $unknown?: never; } interface $UnknownMember { awsLogSource?: never; customLogSource?: never; $unknown: [string, any]; } interface Visitor { awsLogSource: (value: AwsLogSourceResource) => T; customLogSource: (value: CustomLogSourceResource) => T; _: (name: string, value: any) => T; } } export interface CreateSubscriberRequest { subscriberIdentity: AwsIdentity | undefined; subscriberName: string | undefined; subscriberDescription?: string | undefined; sources: LogSourceResource[] | undefined; accessTypes?: AccessType[] | undefined; tags?: Tag[] | undefined; } export interface SubscriberResource { subscriberId: string | undefined; subscriberArn: string | undefined; subscriberIdentity: AwsIdentity | undefined; subscriberName: string | undefined; subscriberDescription?: string | undefined; sources: LogSourceResource[] | undefined; accessTypes?: AccessType[] | undefined; roleArn?: string | undefined; s3BucketArn?: string | undefined; subscriberEndpoint?: string | undefined; subscriberStatus?: SubscriberStatus | undefined; resourceShareArn?: string | undefined; resourceShareName?: string | undefined; createdAt?: Date | undefined; updatedAt?: Date | undefined; } export interface CreateSubscriberResponse { subscriber?: SubscriberResource | undefined; } export interface HttpsNotificationConfiguration { endpoint: string | undefined; authorizationApiKeyName?: string | undefined; authorizationApiKeyValue?: string | undefined; httpMethod?: HttpMethod | undefined; targetRoleArn: string | undefined; } export interface SqsNotificationConfiguration {} export type NotificationConfiguration = | NotificationConfiguration.HttpsNotificationConfigurationMember | NotificationConfiguration.SqsNotificationConfigurationMember | NotificationConfiguration.$UnknownMember; export declare namespace NotificationConfiguration { interface SqsNotificationConfigurationMember { sqsNotificationConfiguration: SqsNotificationConfiguration; httpsNotificationConfiguration?: never; $unknown?: never; } interface HttpsNotificationConfigurationMember { sqsNotificationConfiguration?: never; httpsNotificationConfiguration: HttpsNotificationConfiguration; $unknown?: never; } interface $UnknownMember { sqsNotificationConfiguration?: never; httpsNotificationConfiguration?: never; $unknown: [string, any]; } interface Visitor { sqsNotificationConfiguration: (value: SqsNotificationConfiguration) => T; httpsNotificationConfiguration: (value: HttpsNotificationConfiguration) => T; _: (name: string, value: any) => T; } } export interface CreateSubscriberNotificationRequest { subscriberId: string | undefined; configuration: NotificationConfiguration | undefined; } export interface CreateSubscriberNotificationResponse { subscriberEndpoint?: string | undefined; } export interface DeleteAwsLogSourceRequest { sources: AwsLogSourceConfiguration[] | undefined; } export interface DeleteAwsLogSourceResponse { failed?: string[] | undefined; } export interface DeleteCustomLogSourceRequest { sourceName: string | undefined; sourceVersion?: string | undefined; } export interface DeleteCustomLogSourceResponse {} export interface DeleteDataLakeRequest { regions: string[] | undefined; } export interface DeleteDataLakeResponse {} export interface DeleteDataLakeOrganizationConfigurationRequest { autoEnableNewAccount?: DataLakeAutoEnableNewAccountConfiguration[] | undefined; } export interface DeleteDataLakeOrganizationConfigurationResponse {} export interface GetDataLakeOrganizationConfigurationRequest {} export interface GetDataLakeOrganizationConfigurationResponse { autoEnableNewAccount?: DataLakeAutoEnableNewAccountConfiguration[] | undefined; } export interface GetDataLakeSourcesRequest { accounts?: string[] | undefined; maxResults?: number | undefined; nextToken?: string | undefined; } export interface DataLakeSourceStatus { resource?: string | undefined; status?: SourceCollectionStatus | undefined; } export interface DataLakeSource { account?: string | undefined; sourceName?: string | undefined; eventClasses?: string[] | undefined; sourceStatuses?: DataLakeSourceStatus[] | undefined; } export interface GetDataLakeSourcesResponse { dataLakeArn?: string | undefined; dataLakeSources?: DataLakeSource[] | undefined; nextToken?: string | undefined; } export interface ListDataLakesRequest { regions?: string[] | undefined; } export interface ListDataLakesResponse { dataLakes?: DataLakeResource[] | undefined; } export interface ListLogSourcesRequest { accounts?: string[] | undefined; regions?: string[] | undefined; sources?: LogSourceResource[] | undefined; maxResults?: number | undefined; nextToken?: string | undefined; } export interface LogSource { account?: string | undefined; region?: string | undefined; sources?: LogSourceResource[] | undefined; } export interface ListLogSourcesResponse { sources?: LogSource[] | undefined; nextToken?: string | undefined; } export interface UpdateDataLakeRequest { configurations: DataLakeConfiguration[] | undefined; metaStoreManagerRoleArn?: string | undefined; } export interface UpdateDataLakeResponse { dataLakes?: DataLakeResource[] | undefined; } export interface DataLakeException { region?: string | undefined; exception?: string | undefined; remediation?: string | undefined; timestamp?: Date | undefined; } export interface DeleteDataLakeExceptionSubscriptionRequest {} export interface DeleteDataLakeExceptionSubscriptionResponse {} export interface DeleteSubscriberRequest { subscriberId: string | undefined; } export interface DeleteSubscriberResponse {} export interface DeleteSubscriberNotificationRequest { subscriberId: string | undefined; } export interface DeleteSubscriberNotificationResponse {} export interface DeregisterDataLakeDelegatedAdministratorRequest {} export interface DeregisterDataLakeDelegatedAdministratorResponse {} export interface GetDataLakeExceptionSubscriptionRequest {} export interface GetDataLakeExceptionSubscriptionResponse { subscriptionProtocol?: string | undefined; notificationEndpoint?: string | undefined; exceptionTimeToLive?: number | undefined; } export interface GetSubscriberRequest { subscriberId: string | undefined; } export interface GetSubscriberResponse { subscriber?: SubscriberResource | undefined; } export interface ListDataLakeExceptionsRequest { regions?: string[] | undefined; maxResults?: number | undefined; nextToken?: string | undefined; } export interface ListDataLakeExceptionsResponse { exceptions?: DataLakeException[] | undefined; nextToken?: string | undefined; } export interface ListSubscribersRequest { nextToken?: string | undefined; maxResults?: number | undefined; } export interface ListSubscribersResponse { subscribers?: SubscriberResource[] | undefined; nextToken?: string | undefined; } export interface ListTagsForResourceRequest { resourceArn: string | undefined; } export interface ListTagsForResourceResponse { tags?: Tag[] | undefined; } export interface RegisterDataLakeDelegatedAdministratorRequest { accountId: string | undefined; } export interface RegisterDataLakeDelegatedAdministratorResponse {} export interface UpdateSubscriberRequest { subscriberId: string | undefined; subscriberIdentity?: AwsIdentity | undefined; subscriberName?: string | undefined; subscriberDescription?: string | undefined; sources?: LogSourceResource[] | undefined; } export interface UpdateSubscriberResponse { subscriber?: SubscriberResource | undefined; } export interface UpdateSubscriberNotificationRequest { subscriberId: string | undefined; configuration: NotificationConfiguration | undefined; } export interface UpdateSubscriberNotificationResponse { subscriberEndpoint?: string | undefined; } export interface TagResourceRequest { resourceArn: string | undefined; tags: Tag[] | undefined; } export interface TagResourceResponse {} export interface UntagResourceRequest { resourceArn: string | undefined; tagKeys: string[] | undefined; } export interface UntagResourceResponse {} export interface UpdateDataLakeExceptionSubscriptionRequest { subscriptionProtocol: string | undefined; notificationEndpoint: string | undefined; exceptionTimeToLive?: number | undefined; } export interface UpdateDataLakeExceptionSubscriptionResponse {}