All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.glue.GlueClient.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.glue

import aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider
import aws.sdk.kotlin.runtime.auth.credentials.internal.manage
import aws.sdk.kotlin.runtime.client.AwsSdkClientConfig
import aws.sdk.kotlin.runtime.config.AbstractAwsSdkClientFactory
import aws.sdk.kotlin.runtime.config.endpoints.resolveEndpointUrl
import aws.sdk.kotlin.runtime.config.profile.AwsProfile
import aws.sdk.kotlin.runtime.config.profile.AwsSharedConfig
import aws.sdk.kotlin.runtime.http.retries.AwsRetryPolicy
import aws.sdk.kotlin.services.glue.auth.DefaultGlueAuthSchemeProvider
import aws.sdk.kotlin.services.glue.auth.GlueAuthSchemeProvider
import aws.sdk.kotlin.services.glue.endpoints.DefaultGlueEndpointProvider
import aws.sdk.kotlin.services.glue.endpoints.GlueEndpointParameters
import aws.sdk.kotlin.services.glue.endpoints.GlueEndpointProvider
import aws.sdk.kotlin.services.glue.model.BatchCreatePartitionRequest
import aws.sdk.kotlin.services.glue.model.BatchCreatePartitionResponse
import aws.sdk.kotlin.services.glue.model.BatchDeleteConnectionRequest
import aws.sdk.kotlin.services.glue.model.BatchDeleteConnectionResponse
import aws.sdk.kotlin.services.glue.model.BatchDeletePartitionRequest
import aws.sdk.kotlin.services.glue.model.BatchDeletePartitionResponse
import aws.sdk.kotlin.services.glue.model.BatchDeleteTableRequest
import aws.sdk.kotlin.services.glue.model.BatchDeleteTableResponse
import aws.sdk.kotlin.services.glue.model.BatchDeleteTableVersionRequest
import aws.sdk.kotlin.services.glue.model.BatchDeleteTableVersionResponse
import aws.sdk.kotlin.services.glue.model.BatchGetBlueprintsRequest
import aws.sdk.kotlin.services.glue.model.BatchGetBlueprintsResponse
import aws.sdk.kotlin.services.glue.model.BatchGetCrawlersRequest
import aws.sdk.kotlin.services.glue.model.BatchGetCrawlersResponse
import aws.sdk.kotlin.services.glue.model.BatchGetCustomEntityTypesRequest
import aws.sdk.kotlin.services.glue.model.BatchGetCustomEntityTypesResponse
import aws.sdk.kotlin.services.glue.model.BatchGetDataQualityResultRequest
import aws.sdk.kotlin.services.glue.model.BatchGetDataQualityResultResponse
import aws.sdk.kotlin.services.glue.model.BatchGetDevEndpointsRequest
import aws.sdk.kotlin.services.glue.model.BatchGetDevEndpointsResponse
import aws.sdk.kotlin.services.glue.model.BatchGetJobsRequest
import aws.sdk.kotlin.services.glue.model.BatchGetJobsResponse
import aws.sdk.kotlin.services.glue.model.BatchGetPartitionRequest
import aws.sdk.kotlin.services.glue.model.BatchGetPartitionResponse
import aws.sdk.kotlin.services.glue.model.BatchGetTableOptimizerRequest
import aws.sdk.kotlin.services.glue.model.BatchGetTableOptimizerResponse
import aws.sdk.kotlin.services.glue.model.BatchGetTriggersRequest
import aws.sdk.kotlin.services.glue.model.BatchGetTriggersResponse
import aws.sdk.kotlin.services.glue.model.BatchGetWorkflowsRequest
import aws.sdk.kotlin.services.glue.model.BatchGetWorkflowsResponse
import aws.sdk.kotlin.services.glue.model.BatchPutDataQualityStatisticAnnotationRequest
import aws.sdk.kotlin.services.glue.model.BatchPutDataQualityStatisticAnnotationResponse
import aws.sdk.kotlin.services.glue.model.BatchStopJobRunRequest
import aws.sdk.kotlin.services.glue.model.BatchStopJobRunResponse
import aws.sdk.kotlin.services.glue.model.BatchUpdatePartitionRequest
import aws.sdk.kotlin.services.glue.model.BatchUpdatePartitionResponse
import aws.sdk.kotlin.services.glue.model.CancelDataQualityRuleRecommendationRunRequest
import aws.sdk.kotlin.services.glue.model.CancelDataQualityRuleRecommendationRunResponse
import aws.sdk.kotlin.services.glue.model.CancelDataQualityRulesetEvaluationRunRequest
import aws.sdk.kotlin.services.glue.model.CancelDataQualityRulesetEvaluationRunResponse
import aws.sdk.kotlin.services.glue.model.CancelMlTaskRunRequest
import aws.sdk.kotlin.services.glue.model.CancelMlTaskRunResponse
import aws.sdk.kotlin.services.glue.model.CancelStatementRequest
import aws.sdk.kotlin.services.glue.model.CancelStatementResponse
import aws.sdk.kotlin.services.glue.model.CheckSchemaVersionValidityRequest
import aws.sdk.kotlin.services.glue.model.CheckSchemaVersionValidityResponse
import aws.sdk.kotlin.services.glue.model.CreateBlueprintRequest
import aws.sdk.kotlin.services.glue.model.CreateBlueprintResponse
import aws.sdk.kotlin.services.glue.model.CreateClassifierRequest
import aws.sdk.kotlin.services.glue.model.CreateClassifierResponse
import aws.sdk.kotlin.services.glue.model.CreateConnectionRequest
import aws.sdk.kotlin.services.glue.model.CreateConnectionResponse
import aws.sdk.kotlin.services.glue.model.CreateCrawlerRequest
import aws.sdk.kotlin.services.glue.model.CreateCrawlerResponse
import aws.sdk.kotlin.services.glue.model.CreateCustomEntityTypeRequest
import aws.sdk.kotlin.services.glue.model.CreateCustomEntityTypeResponse
import aws.sdk.kotlin.services.glue.model.CreateDataQualityRulesetRequest
import aws.sdk.kotlin.services.glue.model.CreateDataQualityRulesetResponse
import aws.sdk.kotlin.services.glue.model.CreateDatabaseRequest
import aws.sdk.kotlin.services.glue.model.CreateDatabaseResponse
import aws.sdk.kotlin.services.glue.model.CreateDevEndpointRequest
import aws.sdk.kotlin.services.glue.model.CreateDevEndpointResponse
import aws.sdk.kotlin.services.glue.model.CreateJobRequest
import aws.sdk.kotlin.services.glue.model.CreateJobResponse
import aws.sdk.kotlin.services.glue.model.CreateMlTransformRequest
import aws.sdk.kotlin.services.glue.model.CreateMlTransformResponse
import aws.sdk.kotlin.services.glue.model.CreatePartitionIndexRequest
import aws.sdk.kotlin.services.glue.model.CreatePartitionIndexResponse
import aws.sdk.kotlin.services.glue.model.CreatePartitionRequest
import aws.sdk.kotlin.services.glue.model.CreatePartitionResponse
import aws.sdk.kotlin.services.glue.model.CreateRegistryRequest
import aws.sdk.kotlin.services.glue.model.CreateRegistryResponse
import aws.sdk.kotlin.services.glue.model.CreateSchemaRequest
import aws.sdk.kotlin.services.glue.model.CreateSchemaResponse
import aws.sdk.kotlin.services.glue.model.CreateScriptRequest
import aws.sdk.kotlin.services.glue.model.CreateScriptResponse
import aws.sdk.kotlin.services.glue.model.CreateSecurityConfigurationRequest
import aws.sdk.kotlin.services.glue.model.CreateSecurityConfigurationResponse
import aws.sdk.kotlin.services.glue.model.CreateSessionRequest
import aws.sdk.kotlin.services.glue.model.CreateSessionResponse
import aws.sdk.kotlin.services.glue.model.CreateTableOptimizerRequest
import aws.sdk.kotlin.services.glue.model.CreateTableOptimizerResponse
import aws.sdk.kotlin.services.glue.model.CreateTableRequest
import aws.sdk.kotlin.services.glue.model.CreateTableResponse
import aws.sdk.kotlin.services.glue.model.CreateTriggerRequest
import aws.sdk.kotlin.services.glue.model.CreateTriggerResponse
import aws.sdk.kotlin.services.glue.model.CreateUsageProfileRequest
import aws.sdk.kotlin.services.glue.model.CreateUsageProfileResponse
import aws.sdk.kotlin.services.glue.model.CreateUserDefinedFunctionRequest
import aws.sdk.kotlin.services.glue.model.CreateUserDefinedFunctionResponse
import aws.sdk.kotlin.services.glue.model.CreateWorkflowRequest
import aws.sdk.kotlin.services.glue.model.CreateWorkflowResponse
import aws.sdk.kotlin.services.glue.model.DeleteBlueprintRequest
import aws.sdk.kotlin.services.glue.model.DeleteBlueprintResponse
import aws.sdk.kotlin.services.glue.model.DeleteClassifierRequest
import aws.sdk.kotlin.services.glue.model.DeleteClassifierResponse
import aws.sdk.kotlin.services.glue.model.DeleteColumnStatisticsForPartitionRequest
import aws.sdk.kotlin.services.glue.model.DeleteColumnStatisticsForPartitionResponse
import aws.sdk.kotlin.services.glue.model.DeleteColumnStatisticsForTableRequest
import aws.sdk.kotlin.services.glue.model.DeleteColumnStatisticsForTableResponse
import aws.sdk.kotlin.services.glue.model.DeleteConnectionRequest
import aws.sdk.kotlin.services.glue.model.DeleteConnectionResponse
import aws.sdk.kotlin.services.glue.model.DeleteCrawlerRequest
import aws.sdk.kotlin.services.glue.model.DeleteCrawlerResponse
import aws.sdk.kotlin.services.glue.model.DeleteCustomEntityTypeRequest
import aws.sdk.kotlin.services.glue.model.DeleteCustomEntityTypeResponse
import aws.sdk.kotlin.services.glue.model.DeleteDataQualityRulesetRequest
import aws.sdk.kotlin.services.glue.model.DeleteDataQualityRulesetResponse
import aws.sdk.kotlin.services.glue.model.DeleteDatabaseRequest
import aws.sdk.kotlin.services.glue.model.DeleteDatabaseResponse
import aws.sdk.kotlin.services.glue.model.DeleteDevEndpointRequest
import aws.sdk.kotlin.services.glue.model.DeleteDevEndpointResponse
import aws.sdk.kotlin.services.glue.model.DeleteJobRequest
import aws.sdk.kotlin.services.glue.model.DeleteJobResponse
import aws.sdk.kotlin.services.glue.model.DeleteMlTransformRequest
import aws.sdk.kotlin.services.glue.model.DeleteMlTransformResponse
import aws.sdk.kotlin.services.glue.model.DeletePartitionIndexRequest
import aws.sdk.kotlin.services.glue.model.DeletePartitionIndexResponse
import aws.sdk.kotlin.services.glue.model.DeletePartitionRequest
import aws.sdk.kotlin.services.glue.model.DeletePartitionResponse
import aws.sdk.kotlin.services.glue.model.DeleteRegistryRequest
import aws.sdk.kotlin.services.glue.model.DeleteRegistryResponse
import aws.sdk.kotlin.services.glue.model.DeleteResourcePolicyRequest
import aws.sdk.kotlin.services.glue.model.DeleteResourcePolicyResponse
import aws.sdk.kotlin.services.glue.model.DeleteSchemaRequest
import aws.sdk.kotlin.services.glue.model.DeleteSchemaResponse
import aws.sdk.kotlin.services.glue.model.DeleteSchemaVersionsRequest
import aws.sdk.kotlin.services.glue.model.DeleteSchemaVersionsResponse
import aws.sdk.kotlin.services.glue.model.DeleteSecurityConfigurationRequest
import aws.sdk.kotlin.services.glue.model.DeleteSecurityConfigurationResponse
import aws.sdk.kotlin.services.glue.model.DeleteSessionRequest
import aws.sdk.kotlin.services.glue.model.DeleteSessionResponse
import aws.sdk.kotlin.services.glue.model.DeleteTableOptimizerRequest
import aws.sdk.kotlin.services.glue.model.DeleteTableOptimizerResponse
import aws.sdk.kotlin.services.glue.model.DeleteTableRequest
import aws.sdk.kotlin.services.glue.model.DeleteTableResponse
import aws.sdk.kotlin.services.glue.model.DeleteTableVersionRequest
import aws.sdk.kotlin.services.glue.model.DeleteTableVersionResponse
import aws.sdk.kotlin.services.glue.model.DeleteTriggerRequest
import aws.sdk.kotlin.services.glue.model.DeleteTriggerResponse
import aws.sdk.kotlin.services.glue.model.DeleteUsageProfileRequest
import aws.sdk.kotlin.services.glue.model.DeleteUsageProfileResponse
import aws.sdk.kotlin.services.glue.model.DeleteUserDefinedFunctionRequest
import aws.sdk.kotlin.services.glue.model.DeleteUserDefinedFunctionResponse
import aws.sdk.kotlin.services.glue.model.DeleteWorkflowRequest
import aws.sdk.kotlin.services.glue.model.DeleteWorkflowResponse
import aws.sdk.kotlin.services.glue.model.GetBlueprintRequest
import aws.sdk.kotlin.services.glue.model.GetBlueprintResponse
import aws.sdk.kotlin.services.glue.model.GetBlueprintRunRequest
import aws.sdk.kotlin.services.glue.model.GetBlueprintRunResponse
import aws.sdk.kotlin.services.glue.model.GetBlueprintRunsRequest
import aws.sdk.kotlin.services.glue.model.GetBlueprintRunsResponse
import aws.sdk.kotlin.services.glue.model.GetCatalogImportStatusRequest
import aws.sdk.kotlin.services.glue.model.GetCatalogImportStatusResponse
import aws.sdk.kotlin.services.glue.model.GetClassifierRequest
import aws.sdk.kotlin.services.glue.model.GetClassifierResponse
import aws.sdk.kotlin.services.glue.model.GetClassifiersRequest
import aws.sdk.kotlin.services.glue.model.GetClassifiersResponse
import aws.sdk.kotlin.services.glue.model.GetColumnStatisticsForPartitionRequest
import aws.sdk.kotlin.services.glue.model.GetColumnStatisticsForPartitionResponse
import aws.sdk.kotlin.services.glue.model.GetColumnStatisticsForTableRequest
import aws.sdk.kotlin.services.glue.model.GetColumnStatisticsForTableResponse
import aws.sdk.kotlin.services.glue.model.GetColumnStatisticsTaskRunRequest
import aws.sdk.kotlin.services.glue.model.GetColumnStatisticsTaskRunResponse
import aws.sdk.kotlin.services.glue.model.GetColumnStatisticsTaskRunsRequest
import aws.sdk.kotlin.services.glue.model.GetColumnStatisticsTaskRunsResponse
import aws.sdk.kotlin.services.glue.model.GetConnectionRequest
import aws.sdk.kotlin.services.glue.model.GetConnectionResponse
import aws.sdk.kotlin.services.glue.model.GetConnectionsRequest
import aws.sdk.kotlin.services.glue.model.GetConnectionsResponse
import aws.sdk.kotlin.services.glue.model.GetCrawlerMetricsRequest
import aws.sdk.kotlin.services.glue.model.GetCrawlerMetricsResponse
import aws.sdk.kotlin.services.glue.model.GetCrawlerRequest
import aws.sdk.kotlin.services.glue.model.GetCrawlerResponse
import aws.sdk.kotlin.services.glue.model.GetCrawlersRequest
import aws.sdk.kotlin.services.glue.model.GetCrawlersResponse
import aws.sdk.kotlin.services.glue.model.GetCustomEntityTypeRequest
import aws.sdk.kotlin.services.glue.model.GetCustomEntityTypeResponse
import aws.sdk.kotlin.services.glue.model.GetDataCatalogEncryptionSettingsRequest
import aws.sdk.kotlin.services.glue.model.GetDataCatalogEncryptionSettingsResponse
import aws.sdk.kotlin.services.glue.model.GetDataQualityModelRequest
import aws.sdk.kotlin.services.glue.model.GetDataQualityModelResponse
import aws.sdk.kotlin.services.glue.model.GetDataQualityModelResultRequest
import aws.sdk.kotlin.services.glue.model.GetDataQualityModelResultResponse
import aws.sdk.kotlin.services.glue.model.GetDataQualityResultRequest
import aws.sdk.kotlin.services.glue.model.GetDataQualityResultResponse
import aws.sdk.kotlin.services.glue.model.GetDataQualityRuleRecommendationRunRequest
import aws.sdk.kotlin.services.glue.model.GetDataQualityRuleRecommendationRunResponse
import aws.sdk.kotlin.services.glue.model.GetDataQualityRulesetEvaluationRunRequest
import aws.sdk.kotlin.services.glue.model.GetDataQualityRulesetEvaluationRunResponse
import aws.sdk.kotlin.services.glue.model.GetDataQualityRulesetRequest
import aws.sdk.kotlin.services.glue.model.GetDataQualityRulesetResponse
import aws.sdk.kotlin.services.glue.model.GetDatabaseRequest
import aws.sdk.kotlin.services.glue.model.GetDatabaseResponse
import aws.sdk.kotlin.services.glue.model.GetDatabasesRequest
import aws.sdk.kotlin.services.glue.model.GetDatabasesResponse
import aws.sdk.kotlin.services.glue.model.GetDataflowGraphRequest
import aws.sdk.kotlin.services.glue.model.GetDataflowGraphResponse
import aws.sdk.kotlin.services.glue.model.GetDevEndpointRequest
import aws.sdk.kotlin.services.glue.model.GetDevEndpointResponse
import aws.sdk.kotlin.services.glue.model.GetDevEndpointsRequest
import aws.sdk.kotlin.services.glue.model.GetDevEndpointsResponse
import aws.sdk.kotlin.services.glue.model.GetJobBookmarkRequest
import aws.sdk.kotlin.services.glue.model.GetJobBookmarkResponse
import aws.sdk.kotlin.services.glue.model.GetJobRequest
import aws.sdk.kotlin.services.glue.model.GetJobResponse
import aws.sdk.kotlin.services.glue.model.GetJobRunRequest
import aws.sdk.kotlin.services.glue.model.GetJobRunResponse
import aws.sdk.kotlin.services.glue.model.GetJobRunsRequest
import aws.sdk.kotlin.services.glue.model.GetJobRunsResponse
import aws.sdk.kotlin.services.glue.model.GetJobsRequest
import aws.sdk.kotlin.services.glue.model.GetJobsResponse
import aws.sdk.kotlin.services.glue.model.GetMappingRequest
import aws.sdk.kotlin.services.glue.model.GetMappingResponse
import aws.sdk.kotlin.services.glue.model.GetMlTaskRunRequest
import aws.sdk.kotlin.services.glue.model.GetMlTaskRunResponse
import aws.sdk.kotlin.services.glue.model.GetMlTaskRunsRequest
import aws.sdk.kotlin.services.glue.model.GetMlTaskRunsResponse
import aws.sdk.kotlin.services.glue.model.GetMlTransformRequest
import aws.sdk.kotlin.services.glue.model.GetMlTransformResponse
import aws.sdk.kotlin.services.glue.model.GetMlTransformsRequest
import aws.sdk.kotlin.services.glue.model.GetMlTransformsResponse
import aws.sdk.kotlin.services.glue.model.GetPartitionIndexesRequest
import aws.sdk.kotlin.services.glue.model.GetPartitionIndexesResponse
import aws.sdk.kotlin.services.glue.model.GetPartitionRequest
import aws.sdk.kotlin.services.glue.model.GetPartitionResponse
import aws.sdk.kotlin.services.glue.model.GetPartitionsRequest
import aws.sdk.kotlin.services.glue.model.GetPartitionsResponse
import aws.sdk.kotlin.services.glue.model.GetPlanRequest
import aws.sdk.kotlin.services.glue.model.GetPlanResponse
import aws.sdk.kotlin.services.glue.model.GetRegistryRequest
import aws.sdk.kotlin.services.glue.model.GetRegistryResponse
import aws.sdk.kotlin.services.glue.model.GetResourcePoliciesRequest
import aws.sdk.kotlin.services.glue.model.GetResourcePoliciesResponse
import aws.sdk.kotlin.services.glue.model.GetResourcePolicyRequest
import aws.sdk.kotlin.services.glue.model.GetResourcePolicyResponse
import aws.sdk.kotlin.services.glue.model.GetSchemaByDefinitionRequest
import aws.sdk.kotlin.services.glue.model.GetSchemaByDefinitionResponse
import aws.sdk.kotlin.services.glue.model.GetSchemaRequest
import aws.sdk.kotlin.services.glue.model.GetSchemaResponse
import aws.sdk.kotlin.services.glue.model.GetSchemaVersionRequest
import aws.sdk.kotlin.services.glue.model.GetSchemaVersionResponse
import aws.sdk.kotlin.services.glue.model.GetSchemaVersionsDiffRequest
import aws.sdk.kotlin.services.glue.model.GetSchemaVersionsDiffResponse
import aws.sdk.kotlin.services.glue.model.GetSecurityConfigurationRequest
import aws.sdk.kotlin.services.glue.model.GetSecurityConfigurationResponse
import aws.sdk.kotlin.services.glue.model.GetSecurityConfigurationsRequest
import aws.sdk.kotlin.services.glue.model.GetSecurityConfigurationsResponse
import aws.sdk.kotlin.services.glue.model.GetSessionRequest
import aws.sdk.kotlin.services.glue.model.GetSessionResponse
import aws.sdk.kotlin.services.glue.model.GetStatementRequest
import aws.sdk.kotlin.services.glue.model.GetStatementResponse
import aws.sdk.kotlin.services.glue.model.GetTableOptimizerRequest
import aws.sdk.kotlin.services.glue.model.GetTableOptimizerResponse
import aws.sdk.kotlin.services.glue.model.GetTableRequest
import aws.sdk.kotlin.services.glue.model.GetTableResponse
import aws.sdk.kotlin.services.glue.model.GetTableVersionRequest
import aws.sdk.kotlin.services.glue.model.GetTableVersionResponse
import aws.sdk.kotlin.services.glue.model.GetTableVersionsRequest
import aws.sdk.kotlin.services.glue.model.GetTableVersionsResponse
import aws.sdk.kotlin.services.glue.model.GetTablesRequest
import aws.sdk.kotlin.services.glue.model.GetTablesResponse
import aws.sdk.kotlin.services.glue.model.GetTagsRequest
import aws.sdk.kotlin.services.glue.model.GetTagsResponse
import aws.sdk.kotlin.services.glue.model.GetTriggerRequest
import aws.sdk.kotlin.services.glue.model.GetTriggerResponse
import aws.sdk.kotlin.services.glue.model.GetTriggersRequest
import aws.sdk.kotlin.services.glue.model.GetTriggersResponse
import aws.sdk.kotlin.services.glue.model.GetUnfilteredPartitionMetadataRequest
import aws.sdk.kotlin.services.glue.model.GetUnfilteredPartitionMetadataResponse
import aws.sdk.kotlin.services.glue.model.GetUnfilteredPartitionsMetadataRequest
import aws.sdk.kotlin.services.glue.model.GetUnfilteredPartitionsMetadataResponse
import aws.sdk.kotlin.services.glue.model.GetUnfilteredTableMetadataRequest
import aws.sdk.kotlin.services.glue.model.GetUnfilteredTableMetadataResponse
import aws.sdk.kotlin.services.glue.model.GetUsageProfileRequest
import aws.sdk.kotlin.services.glue.model.GetUsageProfileResponse
import aws.sdk.kotlin.services.glue.model.GetUserDefinedFunctionRequest
import aws.sdk.kotlin.services.glue.model.GetUserDefinedFunctionResponse
import aws.sdk.kotlin.services.glue.model.GetUserDefinedFunctionsRequest
import aws.sdk.kotlin.services.glue.model.GetUserDefinedFunctionsResponse
import aws.sdk.kotlin.services.glue.model.GetWorkflowRequest
import aws.sdk.kotlin.services.glue.model.GetWorkflowResponse
import aws.sdk.kotlin.services.glue.model.GetWorkflowRunPropertiesRequest
import aws.sdk.kotlin.services.glue.model.GetWorkflowRunPropertiesResponse
import aws.sdk.kotlin.services.glue.model.GetWorkflowRunRequest
import aws.sdk.kotlin.services.glue.model.GetWorkflowRunResponse
import aws.sdk.kotlin.services.glue.model.GetWorkflowRunsRequest
import aws.sdk.kotlin.services.glue.model.GetWorkflowRunsResponse
import aws.sdk.kotlin.services.glue.model.ImportCatalogToGlueRequest
import aws.sdk.kotlin.services.glue.model.ImportCatalogToGlueResponse
import aws.sdk.kotlin.services.glue.model.ListBlueprintsRequest
import aws.sdk.kotlin.services.glue.model.ListBlueprintsResponse
import aws.sdk.kotlin.services.glue.model.ListColumnStatisticsTaskRunsRequest
import aws.sdk.kotlin.services.glue.model.ListColumnStatisticsTaskRunsResponse
import aws.sdk.kotlin.services.glue.model.ListCrawlersRequest
import aws.sdk.kotlin.services.glue.model.ListCrawlersResponse
import aws.sdk.kotlin.services.glue.model.ListCrawlsRequest
import aws.sdk.kotlin.services.glue.model.ListCrawlsResponse
import aws.sdk.kotlin.services.glue.model.ListCustomEntityTypesRequest
import aws.sdk.kotlin.services.glue.model.ListCustomEntityTypesResponse
import aws.sdk.kotlin.services.glue.model.ListDataQualityResultsRequest
import aws.sdk.kotlin.services.glue.model.ListDataQualityResultsResponse
import aws.sdk.kotlin.services.glue.model.ListDataQualityRuleRecommendationRunsRequest
import aws.sdk.kotlin.services.glue.model.ListDataQualityRuleRecommendationRunsResponse
import aws.sdk.kotlin.services.glue.model.ListDataQualityRulesetEvaluationRunsRequest
import aws.sdk.kotlin.services.glue.model.ListDataQualityRulesetEvaluationRunsResponse
import aws.sdk.kotlin.services.glue.model.ListDataQualityRulesetsRequest
import aws.sdk.kotlin.services.glue.model.ListDataQualityRulesetsResponse
import aws.sdk.kotlin.services.glue.model.ListDataQualityStatisticAnnotationsRequest
import aws.sdk.kotlin.services.glue.model.ListDataQualityStatisticAnnotationsResponse
import aws.sdk.kotlin.services.glue.model.ListDataQualityStatisticsRequest
import aws.sdk.kotlin.services.glue.model.ListDataQualityStatisticsResponse
import aws.sdk.kotlin.services.glue.model.ListDevEndpointsRequest
import aws.sdk.kotlin.services.glue.model.ListDevEndpointsResponse
import aws.sdk.kotlin.services.glue.model.ListJobsRequest
import aws.sdk.kotlin.services.glue.model.ListJobsResponse
import aws.sdk.kotlin.services.glue.model.ListMlTransformsRequest
import aws.sdk.kotlin.services.glue.model.ListMlTransformsResponse
import aws.sdk.kotlin.services.glue.model.ListRegistriesRequest
import aws.sdk.kotlin.services.glue.model.ListRegistriesResponse
import aws.sdk.kotlin.services.glue.model.ListSchemaVersionsRequest
import aws.sdk.kotlin.services.glue.model.ListSchemaVersionsResponse
import aws.sdk.kotlin.services.glue.model.ListSchemasRequest
import aws.sdk.kotlin.services.glue.model.ListSchemasResponse
import aws.sdk.kotlin.services.glue.model.ListSessionsRequest
import aws.sdk.kotlin.services.glue.model.ListSessionsResponse
import aws.sdk.kotlin.services.glue.model.ListStatementsRequest
import aws.sdk.kotlin.services.glue.model.ListStatementsResponse
import aws.sdk.kotlin.services.glue.model.ListTableOptimizerRunsRequest
import aws.sdk.kotlin.services.glue.model.ListTableOptimizerRunsResponse
import aws.sdk.kotlin.services.glue.model.ListTriggersRequest
import aws.sdk.kotlin.services.glue.model.ListTriggersResponse
import aws.sdk.kotlin.services.glue.model.ListUsageProfilesRequest
import aws.sdk.kotlin.services.glue.model.ListUsageProfilesResponse
import aws.sdk.kotlin.services.glue.model.ListWorkflowsRequest
import aws.sdk.kotlin.services.glue.model.ListWorkflowsResponse
import aws.sdk.kotlin.services.glue.model.PutDataCatalogEncryptionSettingsRequest
import aws.sdk.kotlin.services.glue.model.PutDataCatalogEncryptionSettingsResponse
import aws.sdk.kotlin.services.glue.model.PutDataQualityProfileAnnotationRequest
import aws.sdk.kotlin.services.glue.model.PutDataQualityProfileAnnotationResponse
import aws.sdk.kotlin.services.glue.model.PutResourcePolicyRequest
import aws.sdk.kotlin.services.glue.model.PutResourcePolicyResponse
import aws.sdk.kotlin.services.glue.model.PutSchemaVersionMetadataRequest
import aws.sdk.kotlin.services.glue.model.PutSchemaVersionMetadataResponse
import aws.sdk.kotlin.services.glue.model.PutWorkflowRunPropertiesRequest
import aws.sdk.kotlin.services.glue.model.PutWorkflowRunPropertiesResponse
import aws.sdk.kotlin.services.glue.model.QuerySchemaVersionMetadataRequest
import aws.sdk.kotlin.services.glue.model.QuerySchemaVersionMetadataResponse
import aws.sdk.kotlin.services.glue.model.RegisterSchemaVersionRequest
import aws.sdk.kotlin.services.glue.model.RegisterSchemaVersionResponse
import aws.sdk.kotlin.services.glue.model.RemoveSchemaVersionMetadataRequest
import aws.sdk.kotlin.services.glue.model.RemoveSchemaVersionMetadataResponse
import aws.sdk.kotlin.services.glue.model.ResetJobBookmarkRequest
import aws.sdk.kotlin.services.glue.model.ResetJobBookmarkResponse
import aws.sdk.kotlin.services.glue.model.ResumeWorkflowRunRequest
import aws.sdk.kotlin.services.glue.model.ResumeWorkflowRunResponse
import aws.sdk.kotlin.services.glue.model.RunStatementRequest
import aws.sdk.kotlin.services.glue.model.RunStatementResponse
import aws.sdk.kotlin.services.glue.model.SearchTablesRequest
import aws.sdk.kotlin.services.glue.model.SearchTablesResponse
import aws.sdk.kotlin.services.glue.model.StartBlueprintRunRequest
import aws.sdk.kotlin.services.glue.model.StartBlueprintRunResponse
import aws.sdk.kotlin.services.glue.model.StartColumnStatisticsTaskRunRequest
import aws.sdk.kotlin.services.glue.model.StartColumnStatisticsTaskRunResponse
import aws.sdk.kotlin.services.glue.model.StartCrawlerRequest
import aws.sdk.kotlin.services.glue.model.StartCrawlerResponse
import aws.sdk.kotlin.services.glue.model.StartCrawlerScheduleRequest
import aws.sdk.kotlin.services.glue.model.StartCrawlerScheduleResponse
import aws.sdk.kotlin.services.glue.model.StartDataQualityRuleRecommendationRunRequest
import aws.sdk.kotlin.services.glue.model.StartDataQualityRuleRecommendationRunResponse
import aws.sdk.kotlin.services.glue.model.StartDataQualityRulesetEvaluationRunRequest
import aws.sdk.kotlin.services.glue.model.StartDataQualityRulesetEvaluationRunResponse
import aws.sdk.kotlin.services.glue.model.StartExportLabelsTaskRunRequest
import aws.sdk.kotlin.services.glue.model.StartExportLabelsTaskRunResponse
import aws.sdk.kotlin.services.glue.model.StartImportLabelsTaskRunRequest
import aws.sdk.kotlin.services.glue.model.StartImportLabelsTaskRunResponse
import aws.sdk.kotlin.services.glue.model.StartJobRunRequest
import aws.sdk.kotlin.services.glue.model.StartJobRunResponse
import aws.sdk.kotlin.services.glue.model.StartMlEvaluationTaskRunRequest
import aws.sdk.kotlin.services.glue.model.StartMlEvaluationTaskRunResponse
import aws.sdk.kotlin.services.glue.model.StartMlLabelingSetGenerationTaskRunRequest
import aws.sdk.kotlin.services.glue.model.StartMlLabelingSetGenerationTaskRunResponse
import aws.sdk.kotlin.services.glue.model.StartTriggerRequest
import aws.sdk.kotlin.services.glue.model.StartTriggerResponse
import aws.sdk.kotlin.services.glue.model.StartWorkflowRunRequest
import aws.sdk.kotlin.services.glue.model.StartWorkflowRunResponse
import aws.sdk.kotlin.services.glue.model.StopColumnStatisticsTaskRunRequest
import aws.sdk.kotlin.services.glue.model.StopColumnStatisticsTaskRunResponse
import aws.sdk.kotlin.services.glue.model.StopCrawlerRequest
import aws.sdk.kotlin.services.glue.model.StopCrawlerResponse
import aws.sdk.kotlin.services.glue.model.StopCrawlerScheduleRequest
import aws.sdk.kotlin.services.glue.model.StopCrawlerScheduleResponse
import aws.sdk.kotlin.services.glue.model.StopSessionRequest
import aws.sdk.kotlin.services.glue.model.StopSessionResponse
import aws.sdk.kotlin.services.glue.model.StopTriggerRequest
import aws.sdk.kotlin.services.glue.model.StopTriggerResponse
import aws.sdk.kotlin.services.glue.model.StopWorkflowRunRequest
import aws.sdk.kotlin.services.glue.model.StopWorkflowRunResponse
import aws.sdk.kotlin.services.glue.model.TagResourceRequest
import aws.sdk.kotlin.services.glue.model.TagResourceResponse
import aws.sdk.kotlin.services.glue.model.UntagResourceRequest
import aws.sdk.kotlin.services.glue.model.UntagResourceResponse
import aws.sdk.kotlin.services.glue.model.UpdateBlueprintRequest
import aws.sdk.kotlin.services.glue.model.UpdateBlueprintResponse
import aws.sdk.kotlin.services.glue.model.UpdateClassifierRequest
import aws.sdk.kotlin.services.glue.model.UpdateClassifierResponse
import aws.sdk.kotlin.services.glue.model.UpdateColumnStatisticsForPartitionRequest
import aws.sdk.kotlin.services.glue.model.UpdateColumnStatisticsForPartitionResponse
import aws.sdk.kotlin.services.glue.model.UpdateColumnStatisticsForTableRequest
import aws.sdk.kotlin.services.glue.model.UpdateColumnStatisticsForTableResponse
import aws.sdk.kotlin.services.glue.model.UpdateConnectionRequest
import aws.sdk.kotlin.services.glue.model.UpdateConnectionResponse
import aws.sdk.kotlin.services.glue.model.UpdateCrawlerRequest
import aws.sdk.kotlin.services.glue.model.UpdateCrawlerResponse
import aws.sdk.kotlin.services.glue.model.UpdateCrawlerScheduleRequest
import aws.sdk.kotlin.services.glue.model.UpdateCrawlerScheduleResponse
import aws.sdk.kotlin.services.glue.model.UpdateDataQualityRulesetRequest
import aws.sdk.kotlin.services.glue.model.UpdateDataQualityRulesetResponse
import aws.sdk.kotlin.services.glue.model.UpdateDatabaseRequest
import aws.sdk.kotlin.services.glue.model.UpdateDatabaseResponse
import aws.sdk.kotlin.services.glue.model.UpdateDevEndpointRequest
import aws.sdk.kotlin.services.glue.model.UpdateDevEndpointResponse
import aws.sdk.kotlin.services.glue.model.UpdateJobFromSourceControlRequest
import aws.sdk.kotlin.services.glue.model.UpdateJobFromSourceControlResponse
import aws.sdk.kotlin.services.glue.model.UpdateJobRequest
import aws.sdk.kotlin.services.glue.model.UpdateJobResponse
import aws.sdk.kotlin.services.glue.model.UpdateMlTransformRequest
import aws.sdk.kotlin.services.glue.model.UpdateMlTransformResponse
import aws.sdk.kotlin.services.glue.model.UpdatePartitionRequest
import aws.sdk.kotlin.services.glue.model.UpdatePartitionResponse
import aws.sdk.kotlin.services.glue.model.UpdateRegistryRequest
import aws.sdk.kotlin.services.glue.model.UpdateRegistryResponse
import aws.sdk.kotlin.services.glue.model.UpdateSchemaRequest
import aws.sdk.kotlin.services.glue.model.UpdateSchemaResponse
import aws.sdk.kotlin.services.glue.model.UpdateSourceControlFromJobRequest
import aws.sdk.kotlin.services.glue.model.UpdateSourceControlFromJobResponse
import aws.sdk.kotlin.services.glue.model.UpdateTableOptimizerRequest
import aws.sdk.kotlin.services.glue.model.UpdateTableOptimizerResponse
import aws.sdk.kotlin.services.glue.model.UpdateTableRequest
import aws.sdk.kotlin.services.glue.model.UpdateTableResponse
import aws.sdk.kotlin.services.glue.model.UpdateTriggerRequest
import aws.sdk.kotlin.services.glue.model.UpdateTriggerResponse
import aws.sdk.kotlin.services.glue.model.UpdateUsageProfileRequest
import aws.sdk.kotlin.services.glue.model.UpdateUsageProfileResponse
import aws.sdk.kotlin.services.glue.model.UpdateUserDefinedFunctionRequest
import aws.sdk.kotlin.services.glue.model.UpdateUserDefinedFunctionResponse
import aws.sdk.kotlin.services.glue.model.UpdateWorkflowRequest
import aws.sdk.kotlin.services.glue.model.UpdateWorkflowResponse
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProvider
import aws.smithy.kotlin.runtime.auth.awscredentials.CredentialsProviderConfig
import aws.smithy.kotlin.runtime.awsprotocol.ClockSkewInterceptor
import aws.smithy.kotlin.runtime.client.AbstractSdkClientBuilder
import aws.smithy.kotlin.runtime.client.AbstractSdkClientFactory
import aws.smithy.kotlin.runtime.client.LogMode
import aws.smithy.kotlin.runtime.client.RetryClientConfig
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfig
import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfigImpl
import aws.smithy.kotlin.runtime.client.SdkClient
import aws.smithy.kotlin.runtime.client.SdkClientConfig
import aws.smithy.kotlin.runtime.http.auth.AuthScheme
import aws.smithy.kotlin.runtime.http.auth.HttpAuthConfig
import aws.smithy.kotlin.runtime.http.config.HttpClientConfig
import aws.smithy.kotlin.runtime.http.config.HttpEngineConfig
import aws.smithy.kotlin.runtime.http.engine.HttpClientEngine
import aws.smithy.kotlin.runtime.http.engine.HttpEngineConfigImpl
import aws.smithy.kotlin.runtime.http.interceptors.HttpInterceptor
import aws.smithy.kotlin.runtime.net.url.Url
import aws.smithy.kotlin.runtime.retries.RetryStrategy
import aws.smithy.kotlin.runtime.retries.policy.RetryPolicy
import aws.smithy.kotlin.runtime.telemetry.Global
import aws.smithy.kotlin.runtime.telemetry.TelemetryConfig
import aws.smithy.kotlin.runtime.telemetry.TelemetryProvider
import aws.smithy.kotlin.runtime.util.LazyAsyncValue
import kotlin.collections.List
import kotlin.jvm.JvmStatic


public const val ServiceId: String = "Glue"
public const val SdkVersion: String = "1.3.25"
public const val ServiceApiVersion: String = "2017-03-31"

/**
 * # Glue
 * Defines the public endpoint for the Glue service.
 */
public interface GlueClient : SdkClient {
    /**
     * GlueClient's configuration
     */
    public override val config: Config

    public companion object : AbstractAwsSdkClientFactory()
     {
        @JvmStatic
        override fun builder(): Builder = Builder()

        override fun finalizeConfig(builder: Builder) {
            super.finalizeConfig(builder)
            builder.config.interceptors.add(0, ClockSkewInterceptor())
        }

        override suspend fun finalizeEnvironmentalConfig(builder: Builder, sharedConfig: LazyAsyncValue, activeProfile: LazyAsyncValue) {
            super.finalizeEnvironmentalConfig(builder, sharedConfig, activeProfile)
            builder.config.endpointUrl = builder.config.endpointUrl ?: resolveEndpointUrl(
                sharedConfig,
                "Glue",
                "GLUE",
                "glue",
            )
        }
    }

    public class Builder internal constructor(): AbstractSdkClientBuilder() {
        override val config: Config.Builder = Config.Builder()
        override fun newClient(config: Config): GlueClient = DefaultGlueClient(config)
    }

    public class Config private constructor(builder: Builder) : AwsSdkClientConfig, CredentialsProviderConfig, HttpAuthConfig, HttpClientConfig, HttpEngineConfig by builder.buildHttpEngineConfig(), RetryClientConfig, RetryStrategyClientConfig by builder.buildRetryStrategyClientConfig(), SdkClientConfig, TelemetryConfig {
        override val clientName: String = builder.clientName
        override val region: String? = builder.region
        override val authSchemes: kotlin.collections.List = builder.authSchemes
        override val credentialsProvider: CredentialsProvider = builder.credentialsProvider ?: DefaultChainCredentialsProvider(httpClient = httpClient, region = region).manage()
        public val endpointProvider: GlueEndpointProvider = builder.endpointProvider ?: DefaultGlueEndpointProvider()
        public val endpointUrl: Url? = builder.endpointUrl
        override val interceptors: kotlin.collections.List = builder.interceptors
        override val logMode: LogMode = builder.logMode ?: LogMode.Default
        override val retryPolicy: RetryPolicy = builder.retryPolicy ?: AwsRetryPolicy.Default
        override val telemetryProvider: TelemetryProvider = builder.telemetryProvider ?: TelemetryProvider.Global
        override val useDualStack: Boolean = builder.useDualStack ?: false
        override val useFips: Boolean = builder.useFips ?: false
        override val applicationId: String? = builder.applicationId
        public val authSchemeProvider: GlueAuthSchemeProvider = builder.authSchemeProvider ?: DefaultGlueAuthSchemeProvider()
        public companion object {
            public inline operator fun invoke(block: Builder.() -> kotlin.Unit): Config = Builder().apply(block).build()
        }

        public fun toBuilder(): Builder = Builder().apply {
            clientName = [email protected]
            region = [email protected]
            authSchemes = [email protected]
            credentialsProvider = [email protected]
            endpointProvider = [email protected]
            endpointUrl = [email protected]
            httpClient = [email protected]
            interceptors = [email protected]()
            logMode = [email protected]
            retryPolicy = [email protected]
            retryStrategy = [email protected]
            telemetryProvider = [email protected]
            useDualStack = [email protected]
            useFips = [email protected]
            applicationId = [email protected]
            authSchemeProvider = [email protected]
        }

        public class Builder : AwsSdkClientConfig.Builder, CredentialsProviderConfig.Builder, HttpAuthConfig.Builder, HttpClientConfig.Builder, HttpEngineConfig.Builder by HttpEngineConfigImpl.BuilderImpl(), RetryClientConfig.Builder, RetryStrategyClientConfig.Builder by RetryStrategyClientConfigImpl.BuilderImpl(), SdkClientConfig.Builder, TelemetryConfig.Builder {
            /**
             * A reader-friendly name for the client.
             */
            override var clientName: String = "Glue"

            /**
             * The AWS region (e.g. `us-west-2`) to make requests to. See about AWS
             * [global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/) for more
             * information
             */
            override var region: String? = null

            /**
             * Register new or override default [AuthScheme]s configured for this client. By default, the set
             * of auth schemes configured comes from the service model. An auth scheme configured explicitly takes
             * precedence over the defaults and can be used to customize identity resolution and signing for specific
             * authentication schemes.
             */
            override var authSchemes: kotlin.collections.List = emptyList()

            /**
             * The AWS credentials provider to use for authenticating requests. If not provided a
             * [aws.sdk.kotlin.runtime.auth.credentials.DefaultChainCredentialsProvider] instance will be used.
             * NOTE: The caller is responsible for managing the lifetime of the provider when set. The SDK
             * client will not close it when the client is closed.
             */
            override var credentialsProvider: CredentialsProvider? = null

            /**
             * The endpoint provider used to determine where to make service requests. **This is an advanced config
             * option.**
             *
             * Endpoint resolution occurs as part of the workflow for every request made via the service client.
             *
             * The inputs to endpoint resolution are defined on a per-service basis (see [EndpointParameters]).
             */
            public var endpointProvider: GlueEndpointProvider? = null

            /**
             * A custom endpoint to route requests to. The endpoint set here is passed to the configured
             * [endpointProvider], which may inspect and modify it as needed.
             *
             * Setting a custom endpointUrl should generally be preferred to overriding the [endpointProvider] and is
             * the recommended way to route requests to development or preview instances of a service.
             *
             * **This is an advanced config option.**
             */
            public var endpointUrl: Url? = null

            /**
             * Add an [aws.smithy.kotlin.runtime.client.Interceptor] that will have access to read and modify
             * the request and response objects as they are processed by the SDK.
             * Interceptors added using this method are executed in the order they are configured and are always
             * later than any added automatically by the SDK.
             */
            override var interceptors: kotlin.collections.MutableList = kotlin.collections.mutableListOf()

            /**
             * Configure events that will be logged. By default clients will not output
             * raw requests or responses. Use this setting to opt-in to additional debug logging.
             *
             * This can be used to configure logging of requests, responses, retries, etc of SDK clients.
             *
             * **NOTE**: Logging of raw requests or responses may leak sensitive information! It may also have
             * performance considerations when dumping the request/response body. This is primarily a tool for
             * debug purposes.
             */
            override var logMode: LogMode? = null

            /**
             * The policy to use for evaluating operation results and determining whether/how to retry.
             */
            override var retryPolicy: RetryPolicy? = null

            /**
             * The telemetry provider used to instrument the SDK operations with. By default, the global telemetry
             * provider will be used.
             */
            override var telemetryProvider: TelemetryProvider? = null

            /**
             *            Flag to toggle whether to use dual-stack endpoints when making requests.
             *            See [https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html] for more information.
             * `          Disabled by default.
             */
            override var useDualStack: Boolean? = null

            /**
             *            Flag to toggle whether to use [FIPS](https://aws.amazon.com/compliance/fips/) endpoints when making requests.
             * `          Disabled by default.
             */
            override var useFips: Boolean? = null

            /**
             * An optional application specific identifier.
             * When set it will be appended to the User-Agent header of every request in the form of: `app/{applicationId}`.
             * When not explicitly set, the value will be loaded from the following locations:
             *
             * - JVM System Property: `aws.userAgentAppId`
             * - Environment variable: `AWS_SDK_UA_APP_ID`
             * - Shared configuration profile attribute: `sdk_ua_app_id`
             *
             * See [shared configuration settings](https://docs.aws.amazon.com/sdkref/latest/guide/settings-reference.html)
             * reference for more information on environment variables and shared config settings.
             */
            override var applicationId: String? = null

            /**
             * Configure the provider used to resolve the authentication scheme to use for a particular operation.
             */
            public var authSchemeProvider: GlueAuthSchemeProvider? = null

            override fun build(): Config = Config(this)
        }
    }

    /**
     * Creates one or more partitions in a batch operation.
     */
    public suspend fun batchCreatePartition(input: BatchCreatePartitionRequest): BatchCreatePartitionResponse

    /**
     * Deletes a list of connection definitions from the Data Catalog.
     */
    public suspend fun batchDeleteConnection(input: BatchDeleteConnectionRequest): BatchDeleteConnectionResponse

    /**
     * Deletes one or more partitions in a batch operation.
     */
    public suspend fun batchDeletePartition(input: BatchDeletePartitionRequest): BatchDeletePartitionResponse

    /**
     * Deletes multiple tables at once.
     *
     * After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service.
     *
     * To ensure the immediate deletion of all related resources, before calling `BatchDeleteTable`, use `DeleteTableVersion` or `BatchDeleteTableVersion`, and `DeletePartition` or `BatchDeletePartition`, to delete any resources that belong to the table.
     */
    public suspend fun batchDeleteTable(input: BatchDeleteTableRequest): BatchDeleteTableResponse

    /**
     * Deletes a specified batch of versions of a table.
     */
    public suspend fun batchDeleteTableVersion(input: BatchDeleteTableVersionRequest): BatchDeleteTableVersionResponse

    /**
     * Retrieves information about a list of blueprints.
     */
    public suspend fun batchGetBlueprints(input: BatchGetBlueprintsRequest): BatchGetBlueprintsResponse

    /**
     * Returns a list of resource metadata for a given list of crawler names. After calling the `ListCrawlers` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.
     */
    public suspend fun batchGetCrawlers(input: BatchGetCrawlersRequest): BatchGetCrawlersResponse

    /**
     * Retrieves the details for the custom patterns specified by a list of names.
     */
    public suspend fun batchGetCustomEntityTypes(input: BatchGetCustomEntityTypesRequest): BatchGetCustomEntityTypesResponse

    /**
     * Retrieves a list of data quality results for the specified result IDs.
     */
    public suspend fun batchGetDataQualityResult(input: BatchGetDataQualityResultRequest): BatchGetDataQualityResultResponse

    /**
     * Returns a list of resource metadata for a given list of development endpoint names. After calling the `ListDevEndpoints` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.
     */
    public suspend fun batchGetDevEndpoints(input: BatchGetDevEndpointsRequest): BatchGetDevEndpointsResponse

    /**
     * Returns a list of resource metadata for a given list of job names. After calling the `ListJobs` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.
     */
    public suspend fun batchGetJobs(input: BatchGetJobsRequest): BatchGetJobsResponse

    /**
     * Retrieves partitions in a batch request.
     */
    public suspend fun batchGetPartition(input: BatchGetPartitionRequest): BatchGetPartitionResponse

    /**
     * Returns the configuration for the specified table optimizers.
     */
    public suspend fun batchGetTableOptimizer(input: BatchGetTableOptimizerRequest): BatchGetTableOptimizerResponse

    /**
     * Returns a list of resource metadata for a given list of trigger names. After calling the `ListTriggers` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.
     */
    public suspend fun batchGetTriggers(input: BatchGetTriggersRequest): BatchGetTriggersResponse

    /**
     * Returns a list of resource metadata for a given list of workflow names. After calling the `ListWorkflows` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.
     */
    public suspend fun batchGetWorkflows(input: BatchGetWorkflowsRequest): BatchGetWorkflowsResponse

    /**
     * Annotate datapoints over time for a specific data quality statistic.
     */
    public suspend fun batchPutDataQualityStatisticAnnotation(input: BatchPutDataQualityStatisticAnnotationRequest): BatchPutDataQualityStatisticAnnotationResponse

    /**
     * Stops one or more job runs for a specified job definition.
     */
    public suspend fun batchStopJobRun(input: BatchStopJobRunRequest): BatchStopJobRunResponse

    /**
     * Updates one or more partitions in a batch operation.
     */
    public suspend fun batchUpdatePartition(input: BatchUpdatePartitionRequest): BatchUpdatePartitionResponse

    /**
     * Cancels the specified recommendation run that was being used to generate rules.
     */
    public suspend fun cancelDataQualityRuleRecommendationRun(input: CancelDataQualityRuleRecommendationRunRequest): CancelDataQualityRuleRecommendationRunResponse

    /**
     * Cancels a run where a ruleset is being evaluated against a data source.
     */
    public suspend fun cancelDataQualityRulesetEvaluationRun(input: CancelDataQualityRulesetEvaluationRunRequest): CancelDataQualityRulesetEvaluationRunResponse

    /**
     * Cancels (stops) a task run. Machine learning task runs are asynchronous tasks that Glue runs on your behalf as part of various machine learning workflows. You can cancel a machine learning task run at any time by calling `CancelMLTaskRun` with a task run's parent transform's `TransformID` and the task run's `TaskRunId`.
     */
    public suspend fun cancelMlTaskRun(input: CancelMlTaskRunRequest): CancelMlTaskRunResponse

    /**
     * Cancels the statement.
     */
    public suspend fun cancelStatement(input: CancelStatementRequest): CancelStatementResponse

    /**
     * Validates the supplied schema. This call has no side effects, it simply validates using the supplied schema using `DataFormat` as the format. Since it does not take a schema set name, no compatibility checks are performed.
     */
    public suspend fun checkSchemaVersionValidity(input: CheckSchemaVersionValidityRequest): CheckSchemaVersionValidityResponse

    /**
     * Registers a blueprint with Glue.
     */
    public suspend fun createBlueprint(input: CreateBlueprintRequest): CreateBlueprintResponse

    /**
     * Creates a classifier in the user's account. This can be a `GrokClassifier`, an `XMLClassifier`, a `JsonClassifier`, or a `CsvClassifier`, depending on which field of the request is present.
     */
    public suspend fun createClassifier(input: CreateClassifierRequest = CreateClassifierRequest { }): CreateClassifierResponse

    /**
     * Creates a connection definition in the Data Catalog.
     *
     * Connections used for creating federated resources require the IAM `glue:PassConnection` permission.
     */
    public suspend fun createConnection(input: CreateConnectionRequest): CreateConnectionResponse

    /**
     * Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in the `s3Targets` field, the `jdbcTargets` field, or the `DynamoDBTargets` field.
     */
    public suspend fun createCrawler(input: CreateCrawlerRequest): CreateCrawlerResponse

    /**
     * Creates a custom pattern that is used to detect sensitive data across the columns and rows of your structured data.
     *
     * Each custom pattern you create specifies a regular expression and an optional list of context words. If no context words are passed only a regular expression is checked.
     */
    public suspend fun createCustomEntityType(input: CreateCustomEntityTypeRequest): CreateCustomEntityTypeResponse

    /**
     * Creates a data quality ruleset with DQDL rules applied to a specified Glue table.
     *
     * You create the ruleset using the Data Quality Definition Language (DQDL). For more information, see the Glue developer guide.
     */
    public suspend fun createDataQualityRuleset(input: CreateDataQualityRulesetRequest): CreateDataQualityRulesetResponse

    /**
     * Creates a new database in a Data Catalog.
     */
    public suspend fun createDatabase(input: CreateDatabaseRequest): CreateDatabaseResponse

    /**
     * Creates a new development endpoint.
     */
    public suspend fun createDevEndpoint(input: CreateDevEndpointRequest): CreateDevEndpointResponse

    /**
     * Creates a new job definition.
     */
    public suspend fun createJob(input: CreateJobRequest): CreateJobResponse

    /**
     * Creates an Glue machine learning transform. This operation creates the transform and all the necessary parameters to train it.
     *
     * Call this operation as the first step in the process of using a machine learning transform (such as the `FindMatches` transform) for deduplicating data. You can provide an optional `Description`, in addition to the parameters that you want to use for your algorithm.
     *
     * You must also specify certain parameters for the tasks that Glue runs on your behalf as part of learning from your data and creating a high-quality machine learning transform. These parameters include `Role`, and optionally, `AllocatedCapacity`, `Timeout`, and `MaxRetries`. For more information, see [Jobs](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html).
     */
    public suspend fun createMlTransform(input: CreateMlTransformRequest): CreateMlTransformResponse

    /**
     * Creates a new partition.
     */
    public suspend fun createPartition(input: CreatePartitionRequest): CreatePartitionResponse

    /**
     * Creates a specified partition index in an existing table.
     */
    public suspend fun createPartitionIndex(input: CreatePartitionIndexRequest): CreatePartitionIndexResponse

    /**
     * Creates a new registry which may be used to hold a collection of schemas.
     */
    public suspend fun createRegistry(input: CreateRegistryRequest): CreateRegistryResponse

    /**
     * Creates a new schema set and registers the schema definition. Returns an error if the schema set already exists without actually registering the version.
     *
     * When the schema set is created, a version checkpoint will be set to the first version. Compatibility mode "DISABLED" restricts any additional schema versions from being added after the first schema version. For all other compatibility modes, validation of compatibility settings will be applied only from the second version onwards when the `RegisterSchemaVersion` API is used.
     *
     * When this API is called without a `RegistryId`, this will create an entry for a "default-registry" in the registry database tables, if it is not already present.
     */
    public suspend fun createSchema(input: CreateSchemaRequest): CreateSchemaResponse

    /**
     * Transforms a directed acyclic graph (DAG) into code.
     */
    public suspend fun createScript(input: CreateScriptRequest = CreateScriptRequest { }): CreateScriptResponse

    /**
     * Creates a new security configuration. A security configuration is a set of security properties that can be used by Glue. You can use a security configuration to encrypt data at rest. For information about using security configurations in Glue, see [Encrypting Data Written by Crawlers, Jobs, and Development Endpoints](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html).
     */
    public suspend fun createSecurityConfiguration(input: CreateSecurityConfigurationRequest): CreateSecurityConfigurationResponse

    /**
     * Creates a new session.
     */
    public suspend fun createSession(input: CreateSessionRequest): CreateSessionResponse

    /**
     * Creates a new table definition in the Data Catalog.
     */
    public suspend fun createTable(input: CreateTableRequest): CreateTableResponse

    /**
     * Creates a new table optimizer for a specific function. `compaction` is the only currently supported optimizer type.
     */
    public suspend fun createTableOptimizer(input: CreateTableOptimizerRequest): CreateTableOptimizerResponse

    /**
     * Creates a new trigger.
     */
    public suspend fun createTrigger(input: CreateTriggerRequest): CreateTriggerResponse

    /**
     * Creates an Glue usage profile.
     */
    public suspend fun createUsageProfile(input: CreateUsageProfileRequest): CreateUsageProfileResponse

    /**
     * Creates a new function definition in the Data Catalog.
     */
    public suspend fun createUserDefinedFunction(input: CreateUserDefinedFunctionRequest): CreateUserDefinedFunctionResponse

    /**
     * Creates a new workflow.
     */
    public suspend fun createWorkflow(input: CreateWorkflowRequest): CreateWorkflowResponse

    /**
     * Deletes an existing blueprint.
     */
    public suspend fun deleteBlueprint(input: DeleteBlueprintRequest): DeleteBlueprintResponse

    /**
     * Removes a classifier from the Data Catalog.
     */
    public suspend fun deleteClassifier(input: DeleteClassifierRequest): DeleteClassifierResponse

    /**
     * Delete the partition column statistics of a column.
     *
     * The Identity and Access Management (IAM) permission required for this operation is `DeletePartition`.
     */
    public suspend fun deleteColumnStatisticsForPartition(input: DeleteColumnStatisticsForPartitionRequest): DeleteColumnStatisticsForPartitionResponse

    /**
     * Retrieves table statistics of columns.
     *
     * The Identity and Access Management (IAM) permission required for this operation is `DeleteTable`.
     */
    public suspend fun deleteColumnStatisticsForTable(input: DeleteColumnStatisticsForTableRequest): DeleteColumnStatisticsForTableResponse

    /**
     * Deletes a connection from the Data Catalog.
     */
    public suspend fun deleteConnection(input: DeleteConnectionRequest): DeleteConnectionResponse

    /**
     * Removes a specified crawler from the Glue Data Catalog, unless the crawler state is `RUNNING`.
     */
    public suspend fun deleteCrawler(input: DeleteCrawlerRequest): DeleteCrawlerResponse

    /**
     * Deletes a custom pattern by specifying its name.
     */
    public suspend fun deleteCustomEntityType(input: DeleteCustomEntityTypeRequest): DeleteCustomEntityTypeResponse

    /**
     * Deletes a data quality ruleset.
     */
    public suspend fun deleteDataQualityRuleset(input: DeleteDataQualityRulesetRequest): DeleteDataQualityRulesetResponse

    /**
     * Removes a specified database from a Data Catalog.
     *
     * After completing this operation, you no longer have access to the tables (and all table versions and partitions that might belong to the tables) and the user-defined functions in the deleted database. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service.
     *
     * To ensure the immediate deletion of all related resources, before calling `DeleteDatabase`, use `DeleteTableVersion` or `BatchDeleteTableVersion`, `DeletePartition` or `BatchDeletePartition`, `DeleteUserDefinedFunction`, and `DeleteTable` or `BatchDeleteTable`, to delete any resources that belong to the database.
     */
    public suspend fun deleteDatabase(input: DeleteDatabaseRequest): DeleteDatabaseResponse

    /**
     * Deletes a specified development endpoint.
     */
    public suspend fun deleteDevEndpoint(input: DeleteDevEndpointRequest): DeleteDevEndpointResponse

    /**
     * Deletes a specified job definition. If the job definition is not found, no exception is thrown.
     */
    public suspend fun deleteJob(input: DeleteJobRequest): DeleteJobResponse

    /**
     * Deletes an Glue machine learning transform. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by Glue. If you no longer need a transform, you can delete it by calling `DeleteMLTransforms`. However, any Glue jobs that still reference the deleted transform will no longer succeed.
     */
    public suspend fun deleteMlTransform(input: DeleteMlTransformRequest): DeleteMlTransformResponse

    /**
     * Deletes a specified partition.
     */
    public suspend fun deletePartition(input: DeletePartitionRequest): DeletePartitionResponse

    /**
     * Deletes a specified partition index from an existing table.
     */
    public suspend fun deletePartitionIndex(input: DeletePartitionIndexRequest): DeletePartitionIndexResponse

    /**
     * Delete the entire registry including schema and all of its versions. To get the status of the delete operation, you can call the `GetRegistry` API after the asynchronous call. Deleting a registry will deactivate all online operations for the registry such as the `UpdateRegistry`, `CreateSchema`, `UpdateSchema`, and `RegisterSchemaVersion` APIs.
     */
    public suspend fun deleteRegistry(input: DeleteRegistryRequest): DeleteRegistryResponse

    /**
     * Deletes a specified policy.
     */
    public suspend fun deleteResourcePolicy(input: DeleteResourcePolicyRequest = DeleteResourcePolicyRequest { }): DeleteResourcePolicyResponse

    /**
     * Deletes the entire schema set, including the schema set and all of its versions. To get the status of the delete operation, you can call `GetSchema` API after the asynchronous call. Deleting a registry will deactivate all online operations for the schema, such as the `GetSchemaByDefinition`, and `RegisterSchemaVersion` APIs.
     */
    public suspend fun deleteSchema(input: DeleteSchemaRequest): DeleteSchemaResponse

    /**
     * Remove versions from the specified schema. A version number or range may be supplied. If the compatibility mode forbids deleting of a version that is necessary, such as BACKWARDS_FULL, an error is returned. Calling the `GetSchemaVersions` API after this call will list the status of the deleted versions.
     *
     * When the range of version numbers contain check pointed version, the API will return a 409 conflict and will not proceed with the deletion. You have to remove the checkpoint first using the `DeleteSchemaCheckpoint` API before using this API.
     *
     * You cannot use the `DeleteSchemaVersions` API to delete the first schema version in the schema set. The first schema version can only be deleted by the `DeleteSchema` API. This operation will also delete the attached `SchemaVersionMetadata` under the schema versions. Hard deletes will be enforced on the database.
     *
     * If the compatibility mode forbids deleting of a version that is necessary, such as BACKWARDS_FULL, an error is returned.
     */
    public suspend fun deleteSchemaVersions(input: DeleteSchemaVersionsRequest): DeleteSchemaVersionsResponse

    /**
     * Deletes a specified security configuration.
     */
    public suspend fun deleteSecurityConfiguration(input: DeleteSecurityConfigurationRequest): DeleteSecurityConfigurationResponse

    /**
     * Deletes the session.
     */
    public suspend fun deleteSession(input: DeleteSessionRequest): DeleteSessionResponse

    /**
     * Removes a table definition from the Data Catalog.
     *
     * After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service.
     *
     * To ensure the immediate deletion of all related resources, before calling `DeleteTable`, use `DeleteTableVersion` or `BatchDeleteTableVersion`, and `DeletePartition` or `BatchDeletePartition`, to delete any resources that belong to the table.
     */
    public suspend fun deleteTable(input: DeleteTableRequest): DeleteTableResponse

    /**
     * Deletes an optimizer and all associated metadata for a table. The optimization will no longer be performed on the table.
     */
    public suspend fun deleteTableOptimizer(input: DeleteTableOptimizerRequest): DeleteTableOptimizerResponse

    /**
     * Deletes a specified version of a table.
     */
    public suspend fun deleteTableVersion(input: DeleteTableVersionRequest): DeleteTableVersionResponse

    /**
     * Deletes a specified trigger. If the trigger is not found, no exception is thrown.
     */
    public suspend fun deleteTrigger(input: DeleteTriggerRequest): DeleteTriggerResponse

    /**
     * Deletes the Glue specified usage profile.
     */
    public suspend fun deleteUsageProfile(input: DeleteUsageProfileRequest): DeleteUsageProfileResponse

    /**
     * Deletes an existing function definition from the Data Catalog.
     */
    public suspend fun deleteUserDefinedFunction(input: DeleteUserDefinedFunctionRequest): DeleteUserDefinedFunctionResponse

    /**
     * Deletes a workflow.
     */
    public suspend fun deleteWorkflow(input: DeleteWorkflowRequest): DeleteWorkflowResponse

    /**
     * Retrieves the details of a blueprint.
     */
    public suspend fun getBlueprint(input: GetBlueprintRequest): GetBlueprintResponse

    /**
     * Retrieves the details of a blueprint run.
     */
    public suspend fun getBlueprintRun(input: GetBlueprintRunRequest): GetBlueprintRunResponse

    /**
     * Retrieves the details of blueprint runs for a specified blueprint.
     */
    public suspend fun getBlueprintRuns(input: GetBlueprintRunsRequest): GetBlueprintRunsResponse

    /**
     * Retrieves the status of a migration operation.
     */
    public suspend fun getCatalogImportStatus(input: GetCatalogImportStatusRequest = GetCatalogImportStatusRequest { }): GetCatalogImportStatusResponse

    /**
     * Retrieve a classifier by name.
     */
    public suspend fun getClassifier(input: GetClassifierRequest): GetClassifierResponse

    /**
     * Lists all classifier objects in the Data Catalog.
     */
    public suspend fun getClassifiers(input: GetClassifiersRequest = GetClassifiersRequest { }): GetClassifiersResponse

    /**
     * Retrieves partition statistics of columns.
     *
     * The Identity and Access Management (IAM) permission required for this operation is `GetPartition`.
     */
    public suspend fun getColumnStatisticsForPartition(input: GetColumnStatisticsForPartitionRequest): GetColumnStatisticsForPartitionResponse

    /**
     * Retrieves table statistics of columns.
     *
     * The Identity and Access Management (IAM) permission required for this operation is `GetTable`.
     */
    public suspend fun getColumnStatisticsForTable(input: GetColumnStatisticsForTableRequest): GetColumnStatisticsForTableResponse

    /**
     * Get the associated metadata/information for a task run, given a task run ID.
     */
    public suspend fun getColumnStatisticsTaskRun(input: GetColumnStatisticsTaskRunRequest): GetColumnStatisticsTaskRunResponse

    /**
     * Retrieves information about all runs associated with the specified table.
     */
    public suspend fun getColumnStatisticsTaskRuns(input: GetColumnStatisticsTaskRunsRequest): GetColumnStatisticsTaskRunsResponse

    /**
     * Retrieves a connection definition from the Data Catalog.
     */
    public suspend fun getConnection(input: GetConnectionRequest): GetConnectionResponse

    /**
     * Retrieves a list of connection definitions from the Data Catalog.
     */
    public suspend fun getConnections(input: GetConnectionsRequest = GetConnectionsRequest { }): GetConnectionsResponse

    /**
     * Retrieves metadata for a specified crawler.
     */
    public suspend fun getCrawler(input: GetCrawlerRequest): GetCrawlerResponse

    /**
     * Retrieves metrics about specified crawlers.
     */
    public suspend fun getCrawlerMetrics(input: GetCrawlerMetricsRequest = GetCrawlerMetricsRequest { }): GetCrawlerMetricsResponse

    /**
     * Retrieves metadata for all crawlers defined in the customer account.
     */
    public suspend fun getCrawlers(input: GetCrawlersRequest = GetCrawlersRequest { }): GetCrawlersResponse

    /**
     * Retrieves the details of a custom pattern by specifying its name.
     */
    public suspend fun getCustomEntityType(input: GetCustomEntityTypeRequest): GetCustomEntityTypeResponse

    /**
     * Retrieves the security configuration for a specified catalog.
     */
    public suspend fun getDataCatalogEncryptionSettings(input: GetDataCatalogEncryptionSettingsRequest = GetDataCatalogEncryptionSettingsRequest { }): GetDataCatalogEncryptionSettingsResponse

    /**
     * Retrieve the training status of the model along with more information (CompletedOn, StartedOn, FailureReason).
     */
    public suspend fun getDataQualityModel(input: GetDataQualityModelRequest): GetDataQualityModelResponse

    /**
     * Retrieve a statistic's predictions for a given Profile ID.
     */
    public suspend fun getDataQualityModelResult(input: GetDataQualityModelResultRequest): GetDataQualityModelResultResponse

    /**
     * Retrieves the result of a data quality rule evaluation.
     */
    public suspend fun getDataQualityResult(input: GetDataQualityResultRequest): GetDataQualityResultResponse

    /**
     * Gets the specified recommendation run that was used to generate rules.
     */
    public suspend fun getDataQualityRuleRecommendationRun(input: GetDataQualityRuleRecommendationRunRequest): GetDataQualityRuleRecommendationRunResponse

    /**
     * Returns an existing ruleset by identifier or name.
     */
    public suspend fun getDataQualityRuleset(input: GetDataQualityRulesetRequest): GetDataQualityRulesetResponse

    /**
     * Retrieves a specific run where a ruleset is evaluated against a data source.
     */
    public suspend fun getDataQualityRulesetEvaluationRun(input: GetDataQualityRulesetEvaluationRunRequest): GetDataQualityRulesetEvaluationRunResponse

    /**
     * Retrieves the definition of a specified database.
     */
    public suspend fun getDatabase(input: GetDatabaseRequest): GetDatabaseResponse

    /**
     * Retrieves all databases defined in a given Data Catalog.
     */
    public suspend fun getDatabases(input: GetDatabasesRequest = GetDatabasesRequest { }): GetDatabasesResponse

    /**
     * Transforms a Python script into a directed acyclic graph (DAG).
     */
    public suspend fun getDataflowGraph(input: GetDataflowGraphRequest = GetDataflowGraphRequest { }): GetDataflowGraphResponse

    /**
     * Retrieves information about a specified development endpoint.
     *
     * When you create a development endpoint in a virtual private cloud (VPC), Glue returns only a private IP address, and the public IP address field is not populated. When you create a non-VPC development endpoint, Glue returns only a public IP address.
     */
    public suspend fun getDevEndpoint(input: GetDevEndpointRequest): GetDevEndpointResponse

    /**
     * Retrieves all the development endpoints in this Amazon Web Services account.
     *
     * When you create a development endpoint in a virtual private cloud (VPC), Glue returns only a private IP address and the public IP address field is not populated. When you create a non-VPC development endpoint, Glue returns only a public IP address.
     */
    public suspend fun getDevEndpoints(input: GetDevEndpointsRequest = GetDevEndpointsRequest { }): GetDevEndpointsResponse

    /**
     * Retrieves an existing job definition.
     */
    public suspend fun getJob(input: GetJobRequest): GetJobResponse

    /**
     * Returns information on a job bookmark entry.
     *
     * For more information about enabling and using job bookmarks, see:
     * + [Tracking processed data using job bookmarks](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)
     * + [Job parameters used by Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
     * + [Job structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job)
     */
    public suspend fun getJobBookmark(input: GetJobBookmarkRequest): GetJobBookmarkResponse

    /**
     * Retrieves the metadata for a given job run. Job run history is accessible for 90 days for your workflow and job run.
     */
    public suspend fun getJobRun(input: GetJobRunRequest): GetJobRunResponse

    /**
     * Retrieves metadata for all runs of a given job definition.
     */
    public suspend fun getJobRuns(input: GetJobRunsRequest): GetJobRunsResponse

    /**
     * Retrieves all current job definitions.
     */
    public suspend fun getJobs(input: GetJobsRequest = GetJobsRequest { }): GetJobsResponse

    /**
     * Creates mappings.
     */
    public suspend fun getMapping(input: GetMappingRequest): GetMappingResponse

    /**
     * Gets details for a specific task run on a machine learning transform. Machine learning task runs are asynchronous tasks that Glue runs on your behalf as part of various machine learning workflows. You can check the stats of any task run by calling `GetMLTaskRun` with the `TaskRunID` and its parent transform's `TransformID`.
     */
    public suspend fun getMlTaskRun(input: GetMlTaskRunRequest): GetMlTaskRunResponse

    /**
     * Gets a list of runs for a machine learning transform. Machine learning task runs are asynchronous tasks that Glue runs on your behalf as part of various machine learning workflows. You can get a sortable, filterable list of machine learning task runs by calling `GetMLTaskRuns` with their parent transform's `TransformID` and other optional parameters as documented in this section.
     *
     * This operation returns a list of historic runs and must be paginated.
     */
    public suspend fun getMlTaskRuns(input: GetMlTaskRunsRequest): GetMlTaskRunsResponse

    /**
     * Gets an Glue machine learning transform artifact and all its corresponding metadata. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by Glue. You can retrieve their metadata by calling `GetMLTransform`.
     */
    public suspend fun getMlTransform(input: GetMlTransformRequest): GetMlTransformResponse

    /**
     * Gets a sortable, filterable list of existing Glue machine learning transforms. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by Glue, and you can retrieve their metadata by calling `GetMLTransforms`.
     */
    public suspend fun getMlTransforms(input: GetMlTransformsRequest = GetMlTransformsRequest { }): GetMlTransformsResponse

    /**
     * Retrieves information about a specified partition.
     */
    public suspend fun getPartition(input: GetPartitionRequest): GetPartitionResponse

    /**
     * Retrieves the partition indexes associated with a table.
     */
    public suspend fun getPartitionIndexes(input: GetPartitionIndexesRequest): GetPartitionIndexesResponse

    /**
     * Retrieves information about the partitions in a table.
     */
    public suspend fun getPartitions(input: GetPartitionsRequest): GetPartitionsResponse

    /**
     * Gets code to perform a specified mapping.
     */
    public suspend fun getPlan(input: GetPlanRequest): GetPlanResponse

    /**
     * Describes the specified registry in detail.
     */
    public suspend fun getRegistry(input: GetRegistryRequest): GetRegistryResponse

    /**
     * Retrieves the resource policies set on individual resources by Resource Access Manager during cross-account permission grants. Also retrieves the Data Catalog resource policy.
     *
     * If you enabled metadata encryption in Data Catalog settings, and you do not have permission on the KMS key, the operation can't return the Data Catalog resource policy.
     */
    public suspend fun getResourcePolicies(input: GetResourcePoliciesRequest = GetResourcePoliciesRequest { }): GetResourcePoliciesResponse

    /**
     * Retrieves a specified resource policy.
     */
    public suspend fun getResourcePolicy(input: GetResourcePolicyRequest = GetResourcePolicyRequest { }): GetResourcePolicyResponse

    /**
     * Describes the specified schema in detail.
     */
    public suspend fun getSchema(input: GetSchemaRequest): GetSchemaResponse

    /**
     * Retrieves a schema by the `SchemaDefinition`. The schema definition is sent to the Schema Registry, canonicalized, and hashed. If the hash is matched within the scope of the `SchemaName` or ARN (or the default registry, if none is supplied), that schema’s metadata is returned. Otherwise, a 404 or NotFound error is returned. Schema versions in `Deleted` statuses will not be included in the results.
     */
    public suspend fun getSchemaByDefinition(input: GetSchemaByDefinitionRequest): GetSchemaByDefinitionResponse

    /**
     * Get the specified schema by its unique ID assigned when a version of the schema is created or registered. Schema versions in Deleted status will not be included in the results.
     */
    public suspend fun getSchemaVersion(input: GetSchemaVersionRequest = GetSchemaVersionRequest { }): GetSchemaVersionResponse

    /**
     * Fetches the schema version difference in the specified difference type between two stored schema versions in the Schema Registry.
     *
     * This API allows you to compare two schema versions between two schema definitions under the same schema.
     */
    public suspend fun getSchemaVersionsDiff(input: GetSchemaVersionsDiffRequest): GetSchemaVersionsDiffResponse

    /**
     * Retrieves a specified security configuration.
     */
    public suspend fun getSecurityConfiguration(input: GetSecurityConfigurationRequest): GetSecurityConfigurationResponse

    /**
     * Retrieves a list of all security configurations.
     */
    public suspend fun getSecurityConfigurations(input: GetSecurityConfigurationsRequest = GetSecurityConfigurationsRequest { }): GetSecurityConfigurationsResponse

    /**
     * Retrieves the session.
     */
    public suspend fun getSession(input: GetSessionRequest): GetSessionResponse

    /**
     * Retrieves the statement.
     */
    public suspend fun getStatement(input: GetStatementRequest): GetStatementResponse

    /**
     * Retrieves the `Table` definition in a Data Catalog for a specified table.
     */
    public suspend fun getTable(input: GetTableRequest): GetTableResponse

    /**
     * Returns the configuration of all optimizers associated with a specified table.
     */
    public suspend fun getTableOptimizer(input: GetTableOptimizerRequest): GetTableOptimizerResponse

    /**
     * Retrieves a specified version of a table.
     */
    public suspend fun getTableVersion(input: GetTableVersionRequest): GetTableVersionResponse

    /**
     * Retrieves a list of strings that identify available versions of a specified table.
     */
    public suspend fun getTableVersions(input: GetTableVersionsRequest): GetTableVersionsResponse

    /**
     * Retrieves the definitions of some or all of the tables in a given `Database`.
     */
    public suspend fun getTables(input: GetTablesRequest): GetTablesResponse

    /**
     * Retrieves a list of tags associated with a resource.
     */
    public suspend fun getTags(input: GetTagsRequest): GetTagsResponse

    /**
     * Retrieves the definition of a trigger.
     */
    public suspend fun getTrigger(input: GetTriggerRequest): GetTriggerResponse

    /**
     * Gets all the triggers associated with a job.
     */
    public suspend fun getTriggers(input: GetTriggersRequest = GetTriggersRequest { }): GetTriggersResponse

    /**
     * Retrieves partition metadata from the Data Catalog that contains unfiltered metadata.
     *
     * For IAM authorization, the public IAM action associated with this API is `glue:GetPartition`.
     */
    public suspend fun getUnfilteredPartitionMetadata(input: GetUnfilteredPartitionMetadataRequest): GetUnfilteredPartitionMetadataResponse

    /**
     * Retrieves partition metadata from the Data Catalog that contains unfiltered metadata.
     *
     * For IAM authorization, the public IAM action associated with this API is `glue:GetPartitions`.
     */
    public suspend fun getUnfilteredPartitionsMetadata(input: GetUnfilteredPartitionsMetadataRequest): GetUnfilteredPartitionsMetadataResponse

    /**
     * Allows a third-party analytical engine to retrieve unfiltered table metadata from the Data Catalog.
     *
     * For IAM authorization, the public IAM action associated with this API is `glue:GetTable`.
     */
    public suspend fun getUnfilteredTableMetadata(input: GetUnfilteredTableMetadataRequest): GetUnfilteredTableMetadataResponse

    /**
     * Retrieves information about the specified Glue usage profile.
     */
    public suspend fun getUsageProfile(input: GetUsageProfileRequest): GetUsageProfileResponse

    /**
     * Retrieves a specified function definition from the Data Catalog.
     */
    public suspend fun getUserDefinedFunction(input: GetUserDefinedFunctionRequest): GetUserDefinedFunctionResponse

    /**
     * Retrieves multiple function definitions from the Data Catalog.
     */
    public suspend fun getUserDefinedFunctions(input: GetUserDefinedFunctionsRequest): GetUserDefinedFunctionsResponse

    /**
     * Retrieves resource metadata for a workflow.
     */
    public suspend fun getWorkflow(input: GetWorkflowRequest): GetWorkflowResponse

    /**
     * Retrieves the metadata for a given workflow run. Job run history is accessible for 90 days for your workflow and job run.
     */
    public suspend fun getWorkflowRun(input: GetWorkflowRunRequest): GetWorkflowRunResponse

    /**
     * Retrieves the workflow run properties which were set during the run.
     */
    public suspend fun getWorkflowRunProperties(input: GetWorkflowRunPropertiesRequest): GetWorkflowRunPropertiesResponse

    /**
     * Retrieves metadata for all runs of a given workflow.
     */
    public suspend fun getWorkflowRuns(input: GetWorkflowRunsRequest): GetWorkflowRunsResponse

    /**
     * Imports an existing Amazon Athena Data Catalog to Glue.
     */
    public suspend fun importCatalogToGlue(input: ImportCatalogToGlueRequest = ImportCatalogToGlueRequest { }): ImportCatalogToGlueResponse

    /**
     * Lists all the blueprint names in an account.
     */
    public suspend fun listBlueprints(input: ListBlueprintsRequest = ListBlueprintsRequest { }): ListBlueprintsResponse

    /**
     * List all task runs for a particular account.
     */
    public suspend fun listColumnStatisticsTaskRuns(input: ListColumnStatisticsTaskRunsRequest = ListColumnStatisticsTaskRunsRequest { }): ListColumnStatisticsTaskRunsResponse

    /**
     * Retrieves the names of all crawler resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.
     *
     * This operation takes the optional `Tags` field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.
     */
    public suspend fun listCrawlers(input: ListCrawlersRequest = ListCrawlersRequest { }): ListCrawlersResponse

    /**
     * Returns all the crawls of a specified crawler. Returns only the crawls that have occurred since the launch date of the crawler history feature, and only retains up to 12 months of crawls. Older crawls will not be returned.
     *
     * You may use this API to:
     * + Retrive all the crawls of a specified crawler.
     * + Retrieve all the crawls of a specified crawler within a limited count.
     * + Retrieve all the crawls of a specified crawler in a specific time range.
     * + Retrieve all the crawls of a specified crawler with a particular state, crawl ID, or DPU hour value.
     */
    public suspend fun listCrawls(input: ListCrawlsRequest): ListCrawlsResponse

    /**
     * Lists all the custom patterns that have been created.
     */
    public suspend fun listCustomEntityTypes(input: ListCustomEntityTypesRequest = ListCustomEntityTypesRequest { }): ListCustomEntityTypesResponse

    /**
     * Returns all data quality execution results for your account.
     */
    public suspend fun listDataQualityResults(input: ListDataQualityResultsRequest = ListDataQualityResultsRequest { }): ListDataQualityResultsResponse

    /**
     * Lists the recommendation runs meeting the filter criteria.
     */
    public suspend fun listDataQualityRuleRecommendationRuns(input: ListDataQualityRuleRecommendationRunsRequest = ListDataQualityRuleRecommendationRunsRequest { }): ListDataQualityRuleRecommendationRunsResponse

    /**
     * Lists all the runs meeting the filter criteria, where a ruleset is evaluated against a data source.
     */
    public suspend fun listDataQualityRulesetEvaluationRuns(input: ListDataQualityRulesetEvaluationRunsRequest = ListDataQualityRulesetEvaluationRunsRequest { }): ListDataQualityRulesetEvaluationRunsResponse

    /**
     * Returns a paginated list of rulesets for the specified list of Glue tables.
     */
    public suspend fun listDataQualityRulesets(input: ListDataQualityRulesetsRequest = ListDataQualityRulesetsRequest { }): ListDataQualityRulesetsResponse

    /**
     * Retrieve annotations for a data quality statistic.
     */
    public suspend fun listDataQualityStatisticAnnotations(input: ListDataQualityStatisticAnnotationsRequest = ListDataQualityStatisticAnnotationsRequest { }): ListDataQualityStatisticAnnotationsResponse

    /**
     * Retrieves a list of data quality statistics.
     */
    public suspend fun listDataQualityStatistics(input: ListDataQualityStatisticsRequest = ListDataQualityStatisticsRequest { }): ListDataQualityStatisticsResponse

    /**
     * Retrieves the names of all `DevEndpoint` resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.
     *
     * This operation takes the optional `Tags` field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.
     */
    public suspend fun listDevEndpoints(input: ListDevEndpointsRequest = ListDevEndpointsRequest { }): ListDevEndpointsResponse

    /**
     * Retrieves the names of all job resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.
     *
     * This operation takes the optional `Tags` field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.
     */
    public suspend fun listJobs(input: ListJobsRequest = ListJobsRequest { }): ListJobsResponse

    /**
     * Retrieves a sortable, filterable list of existing Glue machine learning transforms in this Amazon Web Services account, or the resources with the specified tag. This operation takes the optional `Tags` field, which you can use as a filter of the responses so that tagged resources can be retrieved as a group. If you choose to use tag filtering, only resources with the tags are retrieved.
     */
    public suspend fun listMlTransforms(input: ListMlTransformsRequest = ListMlTransformsRequest { }): ListMlTransformsResponse

    /**
     * Returns a list of registries that you have created, with minimal registry information. Registries in the `Deleting` status will not be included in the results. Empty results will be returned if there are no registries available.
     */
    public suspend fun listRegistries(input: ListRegistriesRequest = ListRegistriesRequest { }): ListRegistriesResponse

    /**
     * Returns a list of schema versions that you have created, with minimal information. Schema versions in Deleted status will not be included in the results. Empty results will be returned if there are no schema versions available.
     */
    public suspend fun listSchemaVersions(input: ListSchemaVersionsRequest): ListSchemaVersionsResponse

    /**
     * Returns a list of schemas with minimal details. Schemas in Deleting status will not be included in the results. Empty results will be returned if there are no schemas available.
     *
     * When the `RegistryId` is not provided, all the schemas across registries will be part of the API response.
     */
    public suspend fun listSchemas(input: ListSchemasRequest = ListSchemasRequest { }): ListSchemasResponse

    /**
     * Retrieve a list of sessions.
     */
    public suspend fun listSessions(input: ListSessionsRequest = ListSessionsRequest { }): ListSessionsResponse

    /**
     * Lists statements for the session.
     */
    public suspend fun listStatements(input: ListStatementsRequest): ListStatementsResponse

    /**
     * Lists the history of previous optimizer runs for a specific table.
     */
    public suspend fun listTableOptimizerRuns(input: ListTableOptimizerRunsRequest): ListTableOptimizerRunsResponse

    /**
     * Retrieves the names of all trigger resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.
     *
     * This operation takes the optional `Tags` field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.
     */
    public suspend fun listTriggers(input: ListTriggersRequest = ListTriggersRequest { }): ListTriggersResponse

    /**
     * List all the Glue usage profiles.
     */
    public suspend fun listUsageProfiles(input: ListUsageProfilesRequest = ListUsageProfilesRequest { }): ListUsageProfilesResponse

    /**
     * Lists names of workflows created in the account.
     */
    public suspend fun listWorkflows(input: ListWorkflowsRequest = ListWorkflowsRequest { }): ListWorkflowsResponse

    /**
     * Sets the security configuration for a specified catalog. After the configuration has been set, the specified encryption is applied to every catalog write thereafter.
     */
    public suspend fun putDataCatalogEncryptionSettings(input: PutDataCatalogEncryptionSettingsRequest): PutDataCatalogEncryptionSettingsResponse

    /**
     * Annotate all datapoints for a Profile.
     */
    public suspend fun putDataQualityProfileAnnotation(input: PutDataQualityProfileAnnotationRequest): PutDataQualityProfileAnnotationResponse

    /**
     * Sets the Data Catalog resource policy for access control.
     */
    public suspend fun putResourcePolicy(input: PutResourcePolicyRequest): PutResourcePolicyResponse

    /**
     * Puts the metadata key value pair for a specified schema version ID. A maximum of 10 key value pairs will be allowed per schema version. They can be added over one or more calls.
     */
    public suspend fun putSchemaVersionMetadata(input: PutSchemaVersionMetadataRequest): PutSchemaVersionMetadataResponse

    /**
     * Puts the specified workflow run properties for the given workflow run. If a property already exists for the specified run, then it overrides the value otherwise adds the property to existing properties.
     */
    public suspend fun putWorkflowRunProperties(input: PutWorkflowRunPropertiesRequest): PutWorkflowRunPropertiesResponse

    /**
     * Queries for the schema version metadata information.
     */
    public suspend fun querySchemaVersionMetadata(input: QuerySchemaVersionMetadataRequest = QuerySchemaVersionMetadataRequest { }): QuerySchemaVersionMetadataResponse

    /**
     * Adds a new version to the existing schema. Returns an error if new version of schema does not meet the compatibility requirements of the schema set. This API will not create a new schema set and will return a 404 error if the schema set is not already present in the Schema Registry.
     *
     * If this is the first schema definition to be registered in the Schema Registry, this API will store the schema version and return immediately. Otherwise, this call has the potential to run longer than other operations due to compatibility modes. You can call the `GetSchemaVersion` API with the `SchemaVersionId` to check compatibility modes.
     *
     * If the same schema definition is already stored in Schema Registry as a version, the schema ID of the existing schema is returned to the caller.
     */
    public suspend fun registerSchemaVersion(input: RegisterSchemaVersionRequest): RegisterSchemaVersionResponse

    /**
     * Removes a key value pair from the schema version metadata for the specified schema version ID.
     */
    public suspend fun removeSchemaVersionMetadata(input: RemoveSchemaVersionMetadataRequest): RemoveSchemaVersionMetadataResponse

    /**
     * Resets a bookmark entry.
     *
     * For more information about enabling and using job bookmarks, see:
     * + [Tracking processed data using job bookmarks](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)
     * + [Job parameters used by Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
     * + [Job structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job)
     */
    public suspend fun resetJobBookmark(input: ResetJobBookmarkRequest): ResetJobBookmarkResponse

    /**
     * Restarts selected nodes of a previous partially completed workflow run and resumes the workflow run. The selected nodes and all nodes that are downstream from the selected nodes are run.
     */
    public suspend fun resumeWorkflowRun(input: ResumeWorkflowRunRequest): ResumeWorkflowRunResponse

    /**
     * Executes the statement.
     */
    public suspend fun runStatement(input: RunStatementRequest): RunStatementResponse

    /**
     * Searches a set of tables based on properties in the table metadata as well as on the parent database. You can search against text or filter conditions.
     *
     * You can only get tables that you have access to based on the security policies defined in Lake Formation. You need at least a read-only access to the table for it to be returned. If you do not have access to all the columns in the table, these columns will not be searched against when returning the list of tables back to you. If you have access to the columns but not the data in the columns, those columns and the associated metadata for those columns will be included in the search.
     */
    public suspend fun searchTables(input: SearchTablesRequest = SearchTablesRequest { }): SearchTablesResponse

    /**
     * Starts a new run of the specified blueprint.
     */
    public suspend fun startBlueprintRun(input: StartBlueprintRunRequest): StartBlueprintRunResponse

    /**
     * Starts a column statistics task run, for a specified table and columns.
     */
    public suspend fun startColumnStatisticsTaskRun(input: StartColumnStatisticsTaskRunRequest): StartColumnStatisticsTaskRunResponse

    /**
     * Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, returns a [CrawlerRunningException](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-exceptions.html#aws-glue-api-exceptions-CrawlerRunningException).
     */
    public suspend fun startCrawler(input: StartCrawlerRequest): StartCrawlerResponse

    /**
     * Changes the schedule state of the specified crawler to `SCHEDULED`, unless the crawler is already running or the schedule state is already `SCHEDULED`.
     */
    public suspend fun startCrawlerSchedule(input: StartCrawlerScheduleRequest): StartCrawlerScheduleResponse

    /**
     * Starts a recommendation run that is used to generate rules when you don't know what rules to write. Glue Data Quality analyzes the data and comes up with recommendations for a potential ruleset. You can then triage the ruleset and modify the generated ruleset to your liking.
     *
     * Recommendation runs are automatically deleted after 90 days.
     */
    public suspend fun startDataQualityRuleRecommendationRun(input: StartDataQualityRuleRecommendationRunRequest): StartDataQualityRuleRecommendationRunResponse

    /**
     * Once you have a ruleset definition (either recommended or your own), you call this operation to evaluate the ruleset against a data source (Glue table). The evaluation computes results which you can retrieve with the `GetDataQualityResult` API.
     */
    public suspend fun startDataQualityRulesetEvaluationRun(input: StartDataQualityRulesetEvaluationRunRequest): StartDataQualityRulesetEvaluationRunResponse

    /**
     * Begins an asynchronous task to export all labeled data for a particular transform. This task is the only label-related API call that is not part of the typical active learning workflow. You typically use `StartExportLabelsTaskRun` when you want to work with all of your existing labels at the same time, such as when you want to remove or change labels that were previously submitted as truth. This API operation accepts the `TransformId` whose labels you want to export and an Amazon Simple Storage Service (Amazon S3) path to export the labels to. The operation returns a `TaskRunId`. You can check on the status of your task run by calling the `GetMLTaskRun` API.
     */
    public suspend fun startExportLabelsTaskRun(input: StartExportLabelsTaskRunRequest): StartExportLabelsTaskRunResponse

    /**
     * Enables you to provide additional labels (examples of truth) to be used to teach the machine learning transform and improve its quality. This API operation is generally used as part of the active learning workflow that starts with the `StartMLLabelingSetGenerationTaskRun` call and that ultimately results in improving the quality of your machine learning transform.
     *
     * After the `StartMLLabelingSetGenerationTaskRun` finishes, Glue machine learning will have generated a series of questions for humans to answer. (Answering these questions is often called 'labeling' in the machine learning workflows). In the case of the `FindMatches` transform, these questions are of the form, “What is the correct way to group these rows together into groups composed entirely of matching records?” After the labeling process is finished, users upload their answers/labels with a call to `StartImportLabelsTaskRun`. After `StartImportLabelsTaskRun` finishes, all future runs of the machine learning transform use the new and improved labels and perform a higher-quality transformation.
     *
     * By default, `StartMLLabelingSetGenerationTaskRun` continually learns from and combines all labels that you upload unless you set `Replace` to true. If you set `Replace` to true, `StartImportLabelsTaskRun` deletes and forgets all previously uploaded labels and learns only from the exact set that you upload. Replacing labels can be helpful if you realize that you previously uploaded incorrect labels, and you believe that they are having a negative effect on your transform quality.
     *
     * You can check on the status of your task run by calling the `GetMLTaskRun` operation.
     */
    public suspend fun startImportLabelsTaskRun(input: StartImportLabelsTaskRunRequest): StartImportLabelsTaskRunResponse

    /**
     * Starts a job run using a job definition.
     */
    public suspend fun startJobRun(input: StartJobRunRequest): StartJobRunResponse

    /**
     * Starts a task to estimate the quality of the transform.
     *
     * When you provide label sets as examples of truth, Glue machine learning uses some of those examples to learn from them. The rest of the labels are used as a test to estimate quality.
     *
     * Returns a unique identifier for the run. You can call `GetMLTaskRun` to get more information about the stats of the `EvaluationTaskRun`.
     */
    public suspend fun startMlEvaluationTaskRun(input: StartMlEvaluationTaskRunRequest): StartMlEvaluationTaskRunResponse

    /**
     * Starts the active learning workflow for your machine learning transform to improve the transform's quality by generating label sets and adding labels.
     *
     * When the `StartMLLabelingSetGenerationTaskRun` finishes, Glue will have generated a "labeling set" or a set of questions for humans to answer.
     *
     * In the case of the `FindMatches` transform, these questions are of the form, “What is the correct way to group these rows together into groups composed entirely of matching records?”
     *
     * After the labeling process is finished, you can upload your labels with a call to `StartImportLabelsTaskRun`. After `StartImportLabelsTaskRun` finishes, all future runs of the machine learning transform will use the new and improved labels and perform a higher-quality transformation.
     */
    public suspend fun startMlLabelingSetGenerationTaskRun(input: StartMlLabelingSetGenerationTaskRunRequest): StartMlLabelingSetGenerationTaskRunResponse

    /**
     * Starts an existing trigger. See [Triggering Jobs](https://docs.aws.amazon.com/glue/latest/dg/trigger-job.html) for information about how different types of trigger are started.
     */
    public suspend fun startTrigger(input: StartTriggerRequest): StartTriggerResponse

    /**
     * Starts a new run of the specified workflow.
     */
    public suspend fun startWorkflowRun(input: StartWorkflowRunRequest): StartWorkflowRunResponse

    /**
     * Stops a task run for the specified table.
     */
    public suspend fun stopColumnStatisticsTaskRun(input: StopColumnStatisticsTaskRunRequest): StopColumnStatisticsTaskRunResponse

    /**
     * If the specified crawler is running, stops the crawl.
     */
    public suspend fun stopCrawler(input: StopCrawlerRequest): StopCrawlerResponse

    /**
     * Sets the schedule state of the specified crawler to `NOT_SCHEDULED`, but does not stop the crawler if it is already running.
     */
    public suspend fun stopCrawlerSchedule(input: StopCrawlerScheduleRequest): StopCrawlerScheduleResponse

    /**
     * Stops the session.
     */
    public suspend fun stopSession(input: StopSessionRequest): StopSessionResponse

    /**
     * Stops a specified trigger.
     */
    public suspend fun stopTrigger(input: StopTriggerRequest): StopTriggerResponse

    /**
     * Stops the execution of the specified workflow run.
     */
    public suspend fun stopWorkflowRun(input: StopWorkflowRunRequest): StopWorkflowRunResponse

    /**
     * Adds tags to a resource. A tag is a label you can assign to an Amazon Web Services resource. In Glue, you can tag only certain resources. For information about what resources you can tag, see [Amazon Web Services Tags in Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html).
     */
    public suspend fun tagResource(input: TagResourceRequest): TagResourceResponse

    /**
     * Removes tags from a resource.
     */
    public suspend fun untagResource(input: UntagResourceRequest): UntagResourceResponse

    /**
     * Updates a registered blueprint.
     */
    public suspend fun updateBlueprint(input: UpdateBlueprintRequest): UpdateBlueprintResponse

    /**
     * Modifies an existing classifier (a `GrokClassifier`, an `XMLClassifier`, a `JsonClassifier`, or a `CsvClassifier`, depending on which field is present).
     */
    public suspend fun updateClassifier(input: UpdateClassifierRequest = UpdateClassifierRequest { }): UpdateClassifierResponse

    /**
     * Creates or updates partition statistics of columns.
     *
     * The Identity and Access Management (IAM) permission required for this operation is `UpdatePartition`.
     */
    public suspend fun updateColumnStatisticsForPartition(input: UpdateColumnStatisticsForPartitionRequest): UpdateColumnStatisticsForPartitionResponse

    /**
     * Creates or updates table statistics of columns.
     *
     * The Identity and Access Management (IAM) permission required for this operation is `UpdateTable`.
     */
    public suspend fun updateColumnStatisticsForTable(input: UpdateColumnStatisticsForTableRequest): UpdateColumnStatisticsForTableResponse

    /**
     * Updates a connection definition in the Data Catalog.
     */
    public suspend fun updateConnection(input: UpdateConnectionRequest): UpdateConnectionResponse

    /**
     * Updates a crawler. If a crawler is running, you must stop it using `StopCrawler` before updating it.
     */
    public suspend fun updateCrawler(input: UpdateCrawlerRequest): UpdateCrawlerResponse

    /**
     * Updates the schedule of a crawler using a `cron` expression.
     */
    public suspend fun updateCrawlerSchedule(input: UpdateCrawlerScheduleRequest): UpdateCrawlerScheduleResponse

    /**
     * Updates the specified data quality ruleset.
     */
    public suspend fun updateDataQualityRuleset(input: UpdateDataQualityRulesetRequest): UpdateDataQualityRulesetResponse

    /**
     * Updates an existing database definition in a Data Catalog.
     */
    public suspend fun updateDatabase(input: UpdateDatabaseRequest): UpdateDatabaseResponse

    /**
     * Updates a specified development endpoint.
     */
    public suspend fun updateDevEndpoint(input: UpdateDevEndpointRequest): UpdateDevEndpointResponse

    /**
     * Updates an existing job definition. The previous job definition is completely overwritten by this information.
     */
    public suspend fun updateJob(input: UpdateJobRequest): UpdateJobResponse

    /**
     * Synchronizes a job from the source control repository. This operation takes the job artifacts that are located in the remote repository and updates the Glue internal stores with these artifacts.
     *
     * This API supports optional parameters which take in the repository information.
     */
    public suspend fun updateJobFromSourceControl(input: UpdateJobFromSourceControlRequest = UpdateJobFromSourceControlRequest { }): UpdateJobFromSourceControlResponse

    /**
     * Updates an existing machine learning transform. Call this operation to tune the algorithm parameters to achieve better results.
     *
     * After calling this operation, you can call the `StartMLEvaluationTaskRun` operation to assess how well your new parameters achieved your goals (such as improving the quality of your machine learning transform, or making it more cost-effective).
     */
    public suspend fun updateMlTransform(input: UpdateMlTransformRequest): UpdateMlTransformResponse

    /**
     * Updates a partition.
     */
    public suspend fun updatePartition(input: UpdatePartitionRequest): UpdatePartitionResponse

    /**
     * Updates an existing registry which is used to hold a collection of schemas. The updated properties relate to the registry, and do not modify any of the schemas within the registry.
     */
    public suspend fun updateRegistry(input: UpdateRegistryRequest): UpdateRegistryResponse

    /**
     * Updates the description, compatibility setting, or version checkpoint for a schema set.
     *
     * For updating the compatibility setting, the call will not validate compatibility for the entire set of schema versions with the new compatibility setting. If the value for `Compatibility` is provided, the `VersionNumber` (a checkpoint) is also required. The API will validate the checkpoint version number for consistency.
     *
     * If the value for the `VersionNumber` (checkpoint) is provided, `Compatibility` is optional and this can be used to set/reset a checkpoint for the schema.
     *
     * This update will happen only if the schema is in the AVAILABLE state.
     */
    public suspend fun updateSchema(input: UpdateSchemaRequest): UpdateSchemaResponse

    /**
     * Synchronizes a job to the source control repository. This operation takes the job artifacts from the Glue internal stores and makes a commit to the remote repository that is configured on the job.
     *
     * This API supports optional parameters which take in the repository information.
     */
    public suspend fun updateSourceControlFromJob(input: UpdateSourceControlFromJobRequest = UpdateSourceControlFromJobRequest { }): UpdateSourceControlFromJobResponse

    /**
     * Updates a metadata table in the Data Catalog.
     */
    public suspend fun updateTable(input: UpdateTableRequest): UpdateTableResponse

    /**
     * Updates the configuration for an existing table optimizer.
     */
    public suspend fun updateTableOptimizer(input: UpdateTableOptimizerRequest): UpdateTableOptimizerResponse

    /**
     * Updates a trigger definition.
     */
    public suspend fun updateTrigger(input: UpdateTriggerRequest): UpdateTriggerResponse

    /**
     * Update an Glue usage profile.
     */
    public suspend fun updateUsageProfile(input: UpdateUsageProfileRequest): UpdateUsageProfileResponse

    /**
     * Updates an existing function definition in the Data Catalog.
     */
    public suspend fun updateUserDefinedFunction(input: UpdateUserDefinedFunctionRequest): UpdateUserDefinedFunctionResponse

    /**
     * Updates an existing workflow.
     */
    public suspend fun updateWorkflow(input: UpdateWorkflowRequest): UpdateWorkflowResponse
}

/**
 * Create a copy of the client with one or more configuration values overridden.
 * This method allows the caller to perform scoped config overrides for one or more client operations.
 *
 * Any resources created on your behalf will be shared between clients, and will only be closed when ALL clients using them are closed.
 * If you provide a resource (e.g. [HttpClientEngine]) to the SDK, you are responsible for managing the lifetime of that resource.
 */
public fun GlueClient.withConfig(block: GlueClient.Config.Builder.() -> Unit): GlueClient {
    val newConfig = config.toBuilder().apply(block).build()
    return DefaultGlueClient(newConfig)
}

/**
 * Creates one or more partitions in a batch operation.
 */
public suspend inline fun GlueClient.batchCreatePartition(crossinline block: BatchCreatePartitionRequest.Builder.() -> Unit): BatchCreatePartitionResponse = batchCreatePartition(BatchCreatePartitionRequest.Builder().apply(block).build())

/**
 * Deletes a list of connection definitions from the Data Catalog.
 */
public suspend inline fun GlueClient.batchDeleteConnection(crossinline block: BatchDeleteConnectionRequest.Builder.() -> Unit): BatchDeleteConnectionResponse = batchDeleteConnection(BatchDeleteConnectionRequest.Builder().apply(block).build())

/**
 * Deletes one or more partitions in a batch operation.
 */
public suspend inline fun GlueClient.batchDeletePartition(crossinline block: BatchDeletePartitionRequest.Builder.() -> Unit): BatchDeletePartitionResponse = batchDeletePartition(BatchDeletePartitionRequest.Builder().apply(block).build())

/**
 * Deletes multiple tables at once.
 *
 * After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service.
 *
 * To ensure the immediate deletion of all related resources, before calling `BatchDeleteTable`, use `DeleteTableVersion` or `BatchDeleteTableVersion`, and `DeletePartition` or `BatchDeletePartition`, to delete any resources that belong to the table.
 */
public suspend inline fun GlueClient.batchDeleteTable(crossinline block: BatchDeleteTableRequest.Builder.() -> Unit): BatchDeleteTableResponse = batchDeleteTable(BatchDeleteTableRequest.Builder().apply(block).build())

/**
 * Deletes a specified batch of versions of a table.
 */
public suspend inline fun GlueClient.batchDeleteTableVersion(crossinline block: BatchDeleteTableVersionRequest.Builder.() -> Unit): BatchDeleteTableVersionResponse = batchDeleteTableVersion(BatchDeleteTableVersionRequest.Builder().apply(block).build())

/**
 * Retrieves information about a list of blueprints.
 */
public suspend inline fun GlueClient.batchGetBlueprints(crossinline block: BatchGetBlueprintsRequest.Builder.() -> Unit): BatchGetBlueprintsResponse = batchGetBlueprints(BatchGetBlueprintsRequest.Builder().apply(block).build())

/**
 * Returns a list of resource metadata for a given list of crawler names. After calling the `ListCrawlers` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.
 */
public suspend inline fun GlueClient.batchGetCrawlers(crossinline block: BatchGetCrawlersRequest.Builder.() -> Unit): BatchGetCrawlersResponse = batchGetCrawlers(BatchGetCrawlersRequest.Builder().apply(block).build())

/**
 * Retrieves the details for the custom patterns specified by a list of names.
 */
public suspend inline fun GlueClient.batchGetCustomEntityTypes(crossinline block: BatchGetCustomEntityTypesRequest.Builder.() -> Unit): BatchGetCustomEntityTypesResponse = batchGetCustomEntityTypes(BatchGetCustomEntityTypesRequest.Builder().apply(block).build())

/**
 * Retrieves a list of data quality results for the specified result IDs.
 */
public suspend inline fun GlueClient.batchGetDataQualityResult(crossinline block: BatchGetDataQualityResultRequest.Builder.() -> Unit): BatchGetDataQualityResultResponse = batchGetDataQualityResult(BatchGetDataQualityResultRequest.Builder().apply(block).build())

/**
 * Returns a list of resource metadata for a given list of development endpoint names. After calling the `ListDevEndpoints` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.
 */
public suspend inline fun GlueClient.batchGetDevEndpoints(crossinline block: BatchGetDevEndpointsRequest.Builder.() -> Unit): BatchGetDevEndpointsResponse = batchGetDevEndpoints(BatchGetDevEndpointsRequest.Builder().apply(block).build())

/**
 * Returns a list of resource metadata for a given list of job names. After calling the `ListJobs` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.
 */
public suspend inline fun GlueClient.batchGetJobs(crossinline block: BatchGetJobsRequest.Builder.() -> Unit): BatchGetJobsResponse = batchGetJobs(BatchGetJobsRequest.Builder().apply(block).build())

/**
 * Retrieves partitions in a batch request.
 */
public suspend inline fun GlueClient.batchGetPartition(crossinline block: BatchGetPartitionRequest.Builder.() -> Unit): BatchGetPartitionResponse = batchGetPartition(BatchGetPartitionRequest.Builder().apply(block).build())

/**
 * Returns the configuration for the specified table optimizers.
 */
public suspend inline fun GlueClient.batchGetTableOptimizer(crossinline block: BatchGetTableOptimizerRequest.Builder.() -> Unit): BatchGetTableOptimizerResponse = batchGetTableOptimizer(BatchGetTableOptimizerRequest.Builder().apply(block).build())

/**
 * Returns a list of resource metadata for a given list of trigger names. After calling the `ListTriggers` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.
 */
public suspend inline fun GlueClient.batchGetTriggers(crossinline block: BatchGetTriggersRequest.Builder.() -> Unit): BatchGetTriggersResponse = batchGetTriggers(BatchGetTriggersRequest.Builder().apply(block).build())

/**
 * Returns a list of resource metadata for a given list of workflow names. After calling the `ListWorkflows` operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.
 */
public suspend inline fun GlueClient.batchGetWorkflows(crossinline block: BatchGetWorkflowsRequest.Builder.() -> Unit): BatchGetWorkflowsResponse = batchGetWorkflows(BatchGetWorkflowsRequest.Builder().apply(block).build())

/**
 * Annotate datapoints over time for a specific data quality statistic.
 */
public suspend inline fun GlueClient.batchPutDataQualityStatisticAnnotation(crossinline block: BatchPutDataQualityStatisticAnnotationRequest.Builder.() -> Unit): BatchPutDataQualityStatisticAnnotationResponse = batchPutDataQualityStatisticAnnotation(BatchPutDataQualityStatisticAnnotationRequest.Builder().apply(block).build())

/**
 * Stops one or more job runs for a specified job definition.
 */
public suspend inline fun GlueClient.batchStopJobRun(crossinline block: BatchStopJobRunRequest.Builder.() -> Unit): BatchStopJobRunResponse = batchStopJobRun(BatchStopJobRunRequest.Builder().apply(block).build())

/**
 * Updates one or more partitions in a batch operation.
 */
public suspend inline fun GlueClient.batchUpdatePartition(crossinline block: BatchUpdatePartitionRequest.Builder.() -> Unit): BatchUpdatePartitionResponse = batchUpdatePartition(BatchUpdatePartitionRequest.Builder().apply(block).build())

/**
 * Cancels the specified recommendation run that was being used to generate rules.
 */
public suspend inline fun GlueClient.cancelDataQualityRuleRecommendationRun(crossinline block: CancelDataQualityRuleRecommendationRunRequest.Builder.() -> Unit): CancelDataQualityRuleRecommendationRunResponse = cancelDataQualityRuleRecommendationRun(CancelDataQualityRuleRecommendationRunRequest.Builder().apply(block).build())

/**
 * Cancels a run where a ruleset is being evaluated against a data source.
 */
public suspend inline fun GlueClient.cancelDataQualityRulesetEvaluationRun(crossinline block: CancelDataQualityRulesetEvaluationRunRequest.Builder.() -> Unit): CancelDataQualityRulesetEvaluationRunResponse = cancelDataQualityRulesetEvaluationRun(CancelDataQualityRulesetEvaluationRunRequest.Builder().apply(block).build())

/**
 * Cancels (stops) a task run. Machine learning task runs are asynchronous tasks that Glue runs on your behalf as part of various machine learning workflows. You can cancel a machine learning task run at any time by calling `CancelMLTaskRun` with a task run's parent transform's `TransformID` and the task run's `TaskRunId`.
 */
public suspend inline fun GlueClient.cancelMlTaskRun(crossinline block: CancelMlTaskRunRequest.Builder.() -> Unit): CancelMlTaskRunResponse = cancelMlTaskRun(CancelMlTaskRunRequest.Builder().apply(block).build())

/**
 * Cancels the statement.
 */
public suspend inline fun GlueClient.cancelStatement(crossinline block: CancelStatementRequest.Builder.() -> Unit): CancelStatementResponse = cancelStatement(CancelStatementRequest.Builder().apply(block).build())

/**
 * Validates the supplied schema. This call has no side effects, it simply validates using the supplied schema using `DataFormat` as the format. Since it does not take a schema set name, no compatibility checks are performed.
 */
public suspend inline fun GlueClient.checkSchemaVersionValidity(crossinline block: CheckSchemaVersionValidityRequest.Builder.() -> Unit): CheckSchemaVersionValidityResponse = checkSchemaVersionValidity(CheckSchemaVersionValidityRequest.Builder().apply(block).build())

/**
 * Registers a blueprint with Glue.
 */
public suspend inline fun GlueClient.createBlueprint(crossinline block: CreateBlueprintRequest.Builder.() -> Unit): CreateBlueprintResponse = createBlueprint(CreateBlueprintRequest.Builder().apply(block).build())

/**
 * Creates a classifier in the user's account. This can be a `GrokClassifier`, an `XMLClassifier`, a `JsonClassifier`, or a `CsvClassifier`, depending on which field of the request is present.
 */
public suspend inline fun GlueClient.createClassifier(crossinline block: CreateClassifierRequest.Builder.() -> Unit): CreateClassifierResponse = createClassifier(CreateClassifierRequest.Builder().apply(block).build())

/**
 * Creates a connection definition in the Data Catalog.
 *
 * Connections used for creating federated resources require the IAM `glue:PassConnection` permission.
 */
public suspend inline fun GlueClient.createConnection(crossinline block: CreateConnectionRequest.Builder.() -> Unit): CreateConnectionResponse = createConnection(CreateConnectionRequest.Builder().apply(block).build())

/**
 * Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in the `s3Targets` field, the `jdbcTargets` field, or the `DynamoDBTargets` field.
 */
public suspend inline fun GlueClient.createCrawler(crossinline block: CreateCrawlerRequest.Builder.() -> Unit): CreateCrawlerResponse = createCrawler(CreateCrawlerRequest.Builder().apply(block).build())

/**
 * Creates a custom pattern that is used to detect sensitive data across the columns and rows of your structured data.
 *
 * Each custom pattern you create specifies a regular expression and an optional list of context words. If no context words are passed only a regular expression is checked.
 */
public suspend inline fun GlueClient.createCustomEntityType(crossinline block: CreateCustomEntityTypeRequest.Builder.() -> Unit): CreateCustomEntityTypeResponse = createCustomEntityType(CreateCustomEntityTypeRequest.Builder().apply(block).build())

/**
 * Creates a data quality ruleset with DQDL rules applied to a specified Glue table.
 *
 * You create the ruleset using the Data Quality Definition Language (DQDL). For more information, see the Glue developer guide.
 */
public suspend inline fun GlueClient.createDataQualityRuleset(crossinline block: CreateDataQualityRulesetRequest.Builder.() -> Unit): CreateDataQualityRulesetResponse = createDataQualityRuleset(CreateDataQualityRulesetRequest.Builder().apply(block).build())

/**
 * Creates a new database in a Data Catalog.
 */
public suspend inline fun GlueClient.createDatabase(crossinline block: CreateDatabaseRequest.Builder.() -> Unit): CreateDatabaseResponse = createDatabase(CreateDatabaseRequest.Builder().apply(block).build())

/**
 * Creates a new development endpoint.
 */
public suspend inline fun GlueClient.createDevEndpoint(crossinline block: CreateDevEndpointRequest.Builder.() -> Unit): CreateDevEndpointResponse = createDevEndpoint(CreateDevEndpointRequest.Builder().apply(block).build())

/**
 * Creates a new job definition.
 */
public suspend inline fun GlueClient.createJob(crossinline block: CreateJobRequest.Builder.() -> Unit): CreateJobResponse = createJob(CreateJobRequest.Builder().apply(block).build())

/**
 * Creates an Glue machine learning transform. This operation creates the transform and all the necessary parameters to train it.
 *
 * Call this operation as the first step in the process of using a machine learning transform (such as the `FindMatches` transform) for deduplicating data. You can provide an optional `Description`, in addition to the parameters that you want to use for your algorithm.
 *
 * You must also specify certain parameters for the tasks that Glue runs on your behalf as part of learning from your data and creating a high-quality machine learning transform. These parameters include `Role`, and optionally, `AllocatedCapacity`, `Timeout`, and `MaxRetries`. For more information, see [Jobs](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html).
 */
public suspend inline fun GlueClient.createMlTransform(crossinline block: CreateMlTransformRequest.Builder.() -> Unit): CreateMlTransformResponse = createMlTransform(CreateMlTransformRequest.Builder().apply(block).build())

/**
 * Creates a new partition.
 */
public suspend inline fun GlueClient.createPartition(crossinline block: CreatePartitionRequest.Builder.() -> Unit): CreatePartitionResponse = createPartition(CreatePartitionRequest.Builder().apply(block).build())

/**
 * Creates a specified partition index in an existing table.
 */
public suspend inline fun GlueClient.createPartitionIndex(crossinline block: CreatePartitionIndexRequest.Builder.() -> Unit): CreatePartitionIndexResponse = createPartitionIndex(CreatePartitionIndexRequest.Builder().apply(block).build())

/**
 * Creates a new registry which may be used to hold a collection of schemas.
 */
public suspend inline fun GlueClient.createRegistry(crossinline block: CreateRegistryRequest.Builder.() -> Unit): CreateRegistryResponse = createRegistry(CreateRegistryRequest.Builder().apply(block).build())

/**
 * Creates a new schema set and registers the schema definition. Returns an error if the schema set already exists without actually registering the version.
 *
 * When the schema set is created, a version checkpoint will be set to the first version. Compatibility mode "DISABLED" restricts any additional schema versions from being added after the first schema version. For all other compatibility modes, validation of compatibility settings will be applied only from the second version onwards when the `RegisterSchemaVersion` API is used.
 *
 * When this API is called without a `RegistryId`, this will create an entry for a "default-registry" in the registry database tables, if it is not already present.
 */
public suspend inline fun GlueClient.createSchema(crossinline block: CreateSchemaRequest.Builder.() -> Unit): CreateSchemaResponse = createSchema(CreateSchemaRequest.Builder().apply(block).build())

/**
 * Transforms a directed acyclic graph (DAG) into code.
 */
public suspend inline fun GlueClient.createScript(crossinline block: CreateScriptRequest.Builder.() -> Unit): CreateScriptResponse = createScript(CreateScriptRequest.Builder().apply(block).build())

/**
 * Creates a new security configuration. A security configuration is a set of security properties that can be used by Glue. You can use a security configuration to encrypt data at rest. For information about using security configurations in Glue, see [Encrypting Data Written by Crawlers, Jobs, and Development Endpoints](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html).
 */
public suspend inline fun GlueClient.createSecurityConfiguration(crossinline block: CreateSecurityConfigurationRequest.Builder.() -> Unit): CreateSecurityConfigurationResponse = createSecurityConfiguration(CreateSecurityConfigurationRequest.Builder().apply(block).build())

/**
 * Creates a new session.
 */
public suspend inline fun GlueClient.createSession(crossinline block: CreateSessionRequest.Builder.() -> Unit): CreateSessionResponse = createSession(CreateSessionRequest.Builder().apply(block).build())

/**
 * Creates a new table definition in the Data Catalog.
 */
public suspend inline fun GlueClient.createTable(crossinline block: CreateTableRequest.Builder.() -> Unit): CreateTableResponse = createTable(CreateTableRequest.Builder().apply(block).build())

/**
 * Creates a new table optimizer for a specific function. `compaction` is the only currently supported optimizer type.
 */
public suspend inline fun GlueClient.createTableOptimizer(crossinline block: CreateTableOptimizerRequest.Builder.() -> Unit): CreateTableOptimizerResponse = createTableOptimizer(CreateTableOptimizerRequest.Builder().apply(block).build())

/**
 * Creates a new trigger.
 */
public suspend inline fun GlueClient.createTrigger(crossinline block: CreateTriggerRequest.Builder.() -> Unit): CreateTriggerResponse = createTrigger(CreateTriggerRequest.Builder().apply(block).build())

/**
 * Creates an Glue usage profile.
 */
public suspend inline fun GlueClient.createUsageProfile(crossinline block: CreateUsageProfileRequest.Builder.() -> Unit): CreateUsageProfileResponse = createUsageProfile(CreateUsageProfileRequest.Builder().apply(block).build())

/**
 * Creates a new function definition in the Data Catalog.
 */
public suspend inline fun GlueClient.createUserDefinedFunction(crossinline block: CreateUserDefinedFunctionRequest.Builder.() -> Unit): CreateUserDefinedFunctionResponse = createUserDefinedFunction(CreateUserDefinedFunctionRequest.Builder().apply(block).build())

/**
 * Creates a new workflow.
 */
public suspend inline fun GlueClient.createWorkflow(crossinline block: CreateWorkflowRequest.Builder.() -> Unit): CreateWorkflowResponse = createWorkflow(CreateWorkflowRequest.Builder().apply(block).build())

/**
 * Deletes an existing blueprint.
 */
public suspend inline fun GlueClient.deleteBlueprint(crossinline block: DeleteBlueprintRequest.Builder.() -> Unit): DeleteBlueprintResponse = deleteBlueprint(DeleteBlueprintRequest.Builder().apply(block).build())

/**
 * Removes a classifier from the Data Catalog.
 */
public suspend inline fun GlueClient.deleteClassifier(crossinline block: DeleteClassifierRequest.Builder.() -> Unit): DeleteClassifierResponse = deleteClassifier(DeleteClassifierRequest.Builder().apply(block).build())

/**
 * Delete the partition column statistics of a column.
 *
 * The Identity and Access Management (IAM) permission required for this operation is `DeletePartition`.
 */
public suspend inline fun GlueClient.deleteColumnStatisticsForPartition(crossinline block: DeleteColumnStatisticsForPartitionRequest.Builder.() -> Unit): DeleteColumnStatisticsForPartitionResponse = deleteColumnStatisticsForPartition(DeleteColumnStatisticsForPartitionRequest.Builder().apply(block).build())

/**
 * Retrieves table statistics of columns.
 *
 * The Identity and Access Management (IAM) permission required for this operation is `DeleteTable`.
 */
public suspend inline fun GlueClient.deleteColumnStatisticsForTable(crossinline block: DeleteColumnStatisticsForTableRequest.Builder.() -> Unit): DeleteColumnStatisticsForTableResponse = deleteColumnStatisticsForTable(DeleteColumnStatisticsForTableRequest.Builder().apply(block).build())

/**
 * Deletes a connection from the Data Catalog.
 */
public suspend inline fun GlueClient.deleteConnection(crossinline block: DeleteConnectionRequest.Builder.() -> Unit): DeleteConnectionResponse = deleteConnection(DeleteConnectionRequest.Builder().apply(block).build())

/**
 * Removes a specified crawler from the Glue Data Catalog, unless the crawler state is `RUNNING`.
 */
public suspend inline fun GlueClient.deleteCrawler(crossinline block: DeleteCrawlerRequest.Builder.() -> Unit): DeleteCrawlerResponse = deleteCrawler(DeleteCrawlerRequest.Builder().apply(block).build())

/**
 * Deletes a custom pattern by specifying its name.
 */
public suspend inline fun GlueClient.deleteCustomEntityType(crossinline block: DeleteCustomEntityTypeRequest.Builder.() -> Unit): DeleteCustomEntityTypeResponse = deleteCustomEntityType(DeleteCustomEntityTypeRequest.Builder().apply(block).build())

/**
 * Deletes a data quality ruleset.
 */
public suspend inline fun GlueClient.deleteDataQualityRuleset(crossinline block: DeleteDataQualityRulesetRequest.Builder.() -> Unit): DeleteDataQualityRulesetResponse = deleteDataQualityRuleset(DeleteDataQualityRulesetRequest.Builder().apply(block).build())

/**
 * Removes a specified database from a Data Catalog.
 *
 * After completing this operation, you no longer have access to the tables (and all table versions and partitions that might belong to the tables) and the user-defined functions in the deleted database. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service.
 *
 * To ensure the immediate deletion of all related resources, before calling `DeleteDatabase`, use `DeleteTableVersion` or `BatchDeleteTableVersion`, `DeletePartition` or `BatchDeletePartition`, `DeleteUserDefinedFunction`, and `DeleteTable` or `BatchDeleteTable`, to delete any resources that belong to the database.
 */
public suspend inline fun GlueClient.deleteDatabase(crossinline block: DeleteDatabaseRequest.Builder.() -> Unit): DeleteDatabaseResponse = deleteDatabase(DeleteDatabaseRequest.Builder().apply(block).build())

/**
 * Deletes a specified development endpoint.
 */
public suspend inline fun GlueClient.deleteDevEndpoint(crossinline block: DeleteDevEndpointRequest.Builder.() -> Unit): DeleteDevEndpointResponse = deleteDevEndpoint(DeleteDevEndpointRequest.Builder().apply(block).build())

/**
 * Deletes a specified job definition. If the job definition is not found, no exception is thrown.
 */
public suspend inline fun GlueClient.deleteJob(crossinline block: DeleteJobRequest.Builder.() -> Unit): DeleteJobResponse = deleteJob(DeleteJobRequest.Builder().apply(block).build())

/**
 * Deletes an Glue machine learning transform. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by Glue. If you no longer need a transform, you can delete it by calling `DeleteMLTransforms`. However, any Glue jobs that still reference the deleted transform will no longer succeed.
 */
public suspend inline fun GlueClient.deleteMlTransform(crossinline block: DeleteMlTransformRequest.Builder.() -> Unit): DeleteMlTransformResponse = deleteMlTransform(DeleteMlTransformRequest.Builder().apply(block).build())

/**
 * Deletes a specified partition.
 */
public suspend inline fun GlueClient.deletePartition(crossinline block: DeletePartitionRequest.Builder.() -> Unit): DeletePartitionResponse = deletePartition(DeletePartitionRequest.Builder().apply(block).build())

/**
 * Deletes a specified partition index from an existing table.
 */
public suspend inline fun GlueClient.deletePartitionIndex(crossinline block: DeletePartitionIndexRequest.Builder.() -> Unit): DeletePartitionIndexResponse = deletePartitionIndex(DeletePartitionIndexRequest.Builder().apply(block).build())

/**
 * Delete the entire registry including schema and all of its versions. To get the status of the delete operation, you can call the `GetRegistry` API after the asynchronous call. Deleting a registry will deactivate all online operations for the registry such as the `UpdateRegistry`, `CreateSchema`, `UpdateSchema`, and `RegisterSchemaVersion` APIs.
 */
public suspend inline fun GlueClient.deleteRegistry(crossinline block: DeleteRegistryRequest.Builder.() -> Unit): DeleteRegistryResponse = deleteRegistry(DeleteRegistryRequest.Builder().apply(block).build())

/**
 * Deletes a specified policy.
 */
public suspend inline fun GlueClient.deleteResourcePolicy(crossinline block: DeleteResourcePolicyRequest.Builder.() -> Unit): DeleteResourcePolicyResponse = deleteResourcePolicy(DeleteResourcePolicyRequest.Builder().apply(block).build())

/**
 * Deletes the entire schema set, including the schema set and all of its versions. To get the status of the delete operation, you can call `GetSchema` API after the asynchronous call. Deleting a registry will deactivate all online operations for the schema, such as the `GetSchemaByDefinition`, and `RegisterSchemaVersion` APIs.
 */
public suspend inline fun GlueClient.deleteSchema(crossinline block: DeleteSchemaRequest.Builder.() -> Unit): DeleteSchemaResponse = deleteSchema(DeleteSchemaRequest.Builder().apply(block).build())

/**
 * Remove versions from the specified schema. A version number or range may be supplied. If the compatibility mode forbids deleting of a version that is necessary, such as BACKWARDS_FULL, an error is returned. Calling the `GetSchemaVersions` API after this call will list the status of the deleted versions.
 *
 * When the range of version numbers contain check pointed version, the API will return a 409 conflict and will not proceed with the deletion. You have to remove the checkpoint first using the `DeleteSchemaCheckpoint` API before using this API.
 *
 * You cannot use the `DeleteSchemaVersions` API to delete the first schema version in the schema set. The first schema version can only be deleted by the `DeleteSchema` API. This operation will also delete the attached `SchemaVersionMetadata` under the schema versions. Hard deletes will be enforced on the database.
 *
 * If the compatibility mode forbids deleting of a version that is necessary, such as BACKWARDS_FULL, an error is returned.
 */
public suspend inline fun GlueClient.deleteSchemaVersions(crossinline block: DeleteSchemaVersionsRequest.Builder.() -> Unit): DeleteSchemaVersionsResponse = deleteSchemaVersions(DeleteSchemaVersionsRequest.Builder().apply(block).build())

/**
 * Deletes a specified security configuration.
 */
public suspend inline fun GlueClient.deleteSecurityConfiguration(crossinline block: DeleteSecurityConfigurationRequest.Builder.() -> Unit): DeleteSecurityConfigurationResponse = deleteSecurityConfiguration(DeleteSecurityConfigurationRequest.Builder().apply(block).build())

/**
 * Deletes the session.
 */
public suspend inline fun GlueClient.deleteSession(crossinline block: DeleteSessionRequest.Builder.() -> Unit): DeleteSessionResponse = deleteSession(DeleteSessionRequest.Builder().apply(block).build())

/**
 * Removes a table definition from the Data Catalog.
 *
 * After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service.
 *
 * To ensure the immediate deletion of all related resources, before calling `DeleteTable`, use `DeleteTableVersion` or `BatchDeleteTableVersion`, and `DeletePartition` or `BatchDeletePartition`, to delete any resources that belong to the table.
 */
public suspend inline fun GlueClient.deleteTable(crossinline block: DeleteTableRequest.Builder.() -> Unit): DeleteTableResponse = deleteTable(DeleteTableRequest.Builder().apply(block).build())

/**
 * Deletes an optimizer and all associated metadata for a table. The optimization will no longer be performed on the table.
 */
public suspend inline fun GlueClient.deleteTableOptimizer(crossinline block: DeleteTableOptimizerRequest.Builder.() -> Unit): DeleteTableOptimizerResponse = deleteTableOptimizer(DeleteTableOptimizerRequest.Builder().apply(block).build())

/**
 * Deletes a specified version of a table.
 */
public suspend inline fun GlueClient.deleteTableVersion(crossinline block: DeleteTableVersionRequest.Builder.() -> Unit): DeleteTableVersionResponse = deleteTableVersion(DeleteTableVersionRequest.Builder().apply(block).build())

/**
 * Deletes a specified trigger. If the trigger is not found, no exception is thrown.
 */
public suspend inline fun GlueClient.deleteTrigger(crossinline block: DeleteTriggerRequest.Builder.() -> Unit): DeleteTriggerResponse = deleteTrigger(DeleteTriggerRequest.Builder().apply(block).build())

/**
 * Deletes the Glue specified usage profile.
 */
public suspend inline fun GlueClient.deleteUsageProfile(crossinline block: DeleteUsageProfileRequest.Builder.() -> Unit): DeleteUsageProfileResponse = deleteUsageProfile(DeleteUsageProfileRequest.Builder().apply(block).build())

/**
 * Deletes an existing function definition from the Data Catalog.
 */
public suspend inline fun GlueClient.deleteUserDefinedFunction(crossinline block: DeleteUserDefinedFunctionRequest.Builder.() -> Unit): DeleteUserDefinedFunctionResponse = deleteUserDefinedFunction(DeleteUserDefinedFunctionRequest.Builder().apply(block).build())

/**
 * Deletes a workflow.
 */
public suspend inline fun GlueClient.deleteWorkflow(crossinline block: DeleteWorkflowRequest.Builder.() -> Unit): DeleteWorkflowResponse = deleteWorkflow(DeleteWorkflowRequest.Builder().apply(block).build())

/**
 * Retrieves the details of a blueprint.
 */
public suspend inline fun GlueClient.getBlueprint(crossinline block: GetBlueprintRequest.Builder.() -> Unit): GetBlueprintResponse = getBlueprint(GetBlueprintRequest.Builder().apply(block).build())

/**
 * Retrieves the details of a blueprint run.
 */
public suspend inline fun GlueClient.getBlueprintRun(crossinline block: GetBlueprintRunRequest.Builder.() -> Unit): GetBlueprintRunResponse = getBlueprintRun(GetBlueprintRunRequest.Builder().apply(block).build())

/**
 * Retrieves the details of blueprint runs for a specified blueprint.
 */
public suspend inline fun GlueClient.getBlueprintRuns(crossinline block: GetBlueprintRunsRequest.Builder.() -> Unit): GetBlueprintRunsResponse = getBlueprintRuns(GetBlueprintRunsRequest.Builder().apply(block).build())

/**
 * Retrieves the status of a migration operation.
 */
public suspend inline fun GlueClient.getCatalogImportStatus(crossinline block: GetCatalogImportStatusRequest.Builder.() -> Unit): GetCatalogImportStatusResponse = getCatalogImportStatus(GetCatalogImportStatusRequest.Builder().apply(block).build())

/**
 * Retrieve a classifier by name.
 */
public suspend inline fun GlueClient.getClassifier(crossinline block: GetClassifierRequest.Builder.() -> Unit): GetClassifierResponse = getClassifier(GetClassifierRequest.Builder().apply(block).build())

/**
 * Lists all classifier objects in the Data Catalog.
 */
public suspend inline fun GlueClient.getClassifiers(crossinline block: GetClassifiersRequest.Builder.() -> Unit): GetClassifiersResponse = getClassifiers(GetClassifiersRequest.Builder().apply(block).build())

/**
 * Retrieves partition statistics of columns.
 *
 * The Identity and Access Management (IAM) permission required for this operation is `GetPartition`.
 */
public suspend inline fun GlueClient.getColumnStatisticsForPartition(crossinline block: GetColumnStatisticsForPartitionRequest.Builder.() -> Unit): GetColumnStatisticsForPartitionResponse = getColumnStatisticsForPartition(GetColumnStatisticsForPartitionRequest.Builder().apply(block).build())

/**
 * Retrieves table statistics of columns.
 *
 * The Identity and Access Management (IAM) permission required for this operation is `GetTable`.
 */
public suspend inline fun GlueClient.getColumnStatisticsForTable(crossinline block: GetColumnStatisticsForTableRequest.Builder.() -> Unit): GetColumnStatisticsForTableResponse = getColumnStatisticsForTable(GetColumnStatisticsForTableRequest.Builder().apply(block).build())

/**
 * Get the associated metadata/information for a task run, given a task run ID.
 */
public suspend inline fun GlueClient.getColumnStatisticsTaskRun(crossinline block: GetColumnStatisticsTaskRunRequest.Builder.() -> Unit): GetColumnStatisticsTaskRunResponse = getColumnStatisticsTaskRun(GetColumnStatisticsTaskRunRequest.Builder().apply(block).build())

/**
 * Retrieves information about all runs associated with the specified table.
 */
public suspend inline fun GlueClient.getColumnStatisticsTaskRuns(crossinline block: GetColumnStatisticsTaskRunsRequest.Builder.() -> Unit): GetColumnStatisticsTaskRunsResponse = getColumnStatisticsTaskRuns(GetColumnStatisticsTaskRunsRequest.Builder().apply(block).build())

/**
 * Retrieves a connection definition from the Data Catalog.
 */
public suspend inline fun GlueClient.getConnection(crossinline block: GetConnectionRequest.Builder.() -> Unit): GetConnectionResponse = getConnection(GetConnectionRequest.Builder().apply(block).build())

/**
 * Retrieves a list of connection definitions from the Data Catalog.
 */
public suspend inline fun GlueClient.getConnections(crossinline block: GetConnectionsRequest.Builder.() -> Unit): GetConnectionsResponse = getConnections(GetConnectionsRequest.Builder().apply(block).build())

/**
 * Retrieves metadata for a specified crawler.
 */
public suspend inline fun GlueClient.getCrawler(crossinline block: GetCrawlerRequest.Builder.() -> Unit): GetCrawlerResponse = getCrawler(GetCrawlerRequest.Builder().apply(block).build())

/**
 * Retrieves metrics about specified crawlers.
 */
public suspend inline fun GlueClient.getCrawlerMetrics(crossinline block: GetCrawlerMetricsRequest.Builder.() -> Unit): GetCrawlerMetricsResponse = getCrawlerMetrics(GetCrawlerMetricsRequest.Builder().apply(block).build())

/**
 * Retrieves metadata for all crawlers defined in the customer account.
 */
public suspend inline fun GlueClient.getCrawlers(crossinline block: GetCrawlersRequest.Builder.() -> Unit): GetCrawlersResponse = getCrawlers(GetCrawlersRequest.Builder().apply(block).build())

/**
 * Retrieves the details of a custom pattern by specifying its name.
 */
public suspend inline fun GlueClient.getCustomEntityType(crossinline block: GetCustomEntityTypeRequest.Builder.() -> Unit): GetCustomEntityTypeResponse = getCustomEntityType(GetCustomEntityTypeRequest.Builder().apply(block).build())

/**
 * Retrieves the security configuration for a specified catalog.
 */
public suspend inline fun GlueClient.getDataCatalogEncryptionSettings(crossinline block: GetDataCatalogEncryptionSettingsRequest.Builder.() -> Unit): GetDataCatalogEncryptionSettingsResponse = getDataCatalogEncryptionSettings(GetDataCatalogEncryptionSettingsRequest.Builder().apply(block).build())

/**
 * Retrieve the training status of the model along with more information (CompletedOn, StartedOn, FailureReason).
 */
public suspend inline fun GlueClient.getDataQualityModel(crossinline block: GetDataQualityModelRequest.Builder.() -> Unit): GetDataQualityModelResponse = getDataQualityModel(GetDataQualityModelRequest.Builder().apply(block).build())

/**
 * Retrieve a statistic's predictions for a given Profile ID.
 */
public suspend inline fun GlueClient.getDataQualityModelResult(crossinline block: GetDataQualityModelResultRequest.Builder.() -> Unit): GetDataQualityModelResultResponse = getDataQualityModelResult(GetDataQualityModelResultRequest.Builder().apply(block).build())

/**
 * Retrieves the result of a data quality rule evaluation.
 */
public suspend inline fun GlueClient.getDataQualityResult(crossinline block: GetDataQualityResultRequest.Builder.() -> Unit): GetDataQualityResultResponse = getDataQualityResult(GetDataQualityResultRequest.Builder().apply(block).build())

/**
 * Gets the specified recommendation run that was used to generate rules.
 */
public suspend inline fun GlueClient.getDataQualityRuleRecommendationRun(crossinline block: GetDataQualityRuleRecommendationRunRequest.Builder.() -> Unit): GetDataQualityRuleRecommendationRunResponse = getDataQualityRuleRecommendationRun(GetDataQualityRuleRecommendationRunRequest.Builder().apply(block).build())

/**
 * Returns an existing ruleset by identifier or name.
 */
public suspend inline fun GlueClient.getDataQualityRuleset(crossinline block: GetDataQualityRulesetRequest.Builder.() -> Unit): GetDataQualityRulesetResponse = getDataQualityRuleset(GetDataQualityRulesetRequest.Builder().apply(block).build())

/**
 * Retrieves a specific run where a ruleset is evaluated against a data source.
 */
public suspend inline fun GlueClient.getDataQualityRulesetEvaluationRun(crossinline block: GetDataQualityRulesetEvaluationRunRequest.Builder.() -> Unit): GetDataQualityRulesetEvaluationRunResponse = getDataQualityRulesetEvaluationRun(GetDataQualityRulesetEvaluationRunRequest.Builder().apply(block).build())

/**
 * Retrieves the definition of a specified database.
 */
public suspend inline fun GlueClient.getDatabase(crossinline block: GetDatabaseRequest.Builder.() -> Unit): GetDatabaseResponse = getDatabase(GetDatabaseRequest.Builder().apply(block).build())

/**
 * Retrieves all databases defined in a given Data Catalog.
 */
public suspend inline fun GlueClient.getDatabases(crossinline block: GetDatabasesRequest.Builder.() -> Unit): GetDatabasesResponse = getDatabases(GetDatabasesRequest.Builder().apply(block).build())

/**
 * Transforms a Python script into a directed acyclic graph (DAG).
 */
public suspend inline fun GlueClient.getDataflowGraph(crossinline block: GetDataflowGraphRequest.Builder.() -> Unit): GetDataflowGraphResponse = getDataflowGraph(GetDataflowGraphRequest.Builder().apply(block).build())

/**
 * Retrieves information about a specified development endpoint.
 *
 * When you create a development endpoint in a virtual private cloud (VPC), Glue returns only a private IP address, and the public IP address field is not populated. When you create a non-VPC development endpoint, Glue returns only a public IP address.
 */
public suspend inline fun GlueClient.getDevEndpoint(crossinline block: GetDevEndpointRequest.Builder.() -> Unit): GetDevEndpointResponse = getDevEndpoint(GetDevEndpointRequest.Builder().apply(block).build())

/**
 * Retrieves all the development endpoints in this Amazon Web Services account.
 *
 * When you create a development endpoint in a virtual private cloud (VPC), Glue returns only a private IP address and the public IP address field is not populated. When you create a non-VPC development endpoint, Glue returns only a public IP address.
 */
public suspend inline fun GlueClient.getDevEndpoints(crossinline block: GetDevEndpointsRequest.Builder.() -> Unit): GetDevEndpointsResponse = getDevEndpoints(GetDevEndpointsRequest.Builder().apply(block).build())

/**
 * Retrieves an existing job definition.
 */
public suspend inline fun GlueClient.getJob(crossinline block: GetJobRequest.Builder.() -> Unit): GetJobResponse = getJob(GetJobRequest.Builder().apply(block).build())

/**
 * Returns information on a job bookmark entry.
 *
 * For more information about enabling and using job bookmarks, see:
 * + [Tracking processed data using job bookmarks](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)
 * + [Job parameters used by Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
 * + [Job structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job)
 */
public suspend inline fun GlueClient.getJobBookmark(crossinline block: GetJobBookmarkRequest.Builder.() -> Unit): GetJobBookmarkResponse = getJobBookmark(GetJobBookmarkRequest.Builder().apply(block).build())

/**
 * Retrieves the metadata for a given job run. Job run history is accessible for 90 days for your workflow and job run.
 */
public suspend inline fun GlueClient.getJobRun(crossinline block: GetJobRunRequest.Builder.() -> Unit): GetJobRunResponse = getJobRun(GetJobRunRequest.Builder().apply(block).build())

/**
 * Retrieves metadata for all runs of a given job definition.
 */
public suspend inline fun GlueClient.getJobRuns(crossinline block: GetJobRunsRequest.Builder.() -> Unit): GetJobRunsResponse = getJobRuns(GetJobRunsRequest.Builder().apply(block).build())

/**
 * Retrieves all current job definitions.
 */
public suspend inline fun GlueClient.getJobs(crossinline block: GetJobsRequest.Builder.() -> Unit): GetJobsResponse = getJobs(GetJobsRequest.Builder().apply(block).build())

/**
 * Creates mappings.
 */
public suspend inline fun GlueClient.getMapping(crossinline block: GetMappingRequest.Builder.() -> Unit): GetMappingResponse = getMapping(GetMappingRequest.Builder().apply(block).build())

/**
 * Gets details for a specific task run on a machine learning transform. Machine learning task runs are asynchronous tasks that Glue runs on your behalf as part of various machine learning workflows. You can check the stats of any task run by calling `GetMLTaskRun` with the `TaskRunID` and its parent transform's `TransformID`.
 */
public suspend inline fun GlueClient.getMlTaskRun(crossinline block: GetMlTaskRunRequest.Builder.() -> Unit): GetMlTaskRunResponse = getMlTaskRun(GetMlTaskRunRequest.Builder().apply(block).build())

/**
 * Gets a list of runs for a machine learning transform. Machine learning task runs are asynchronous tasks that Glue runs on your behalf as part of various machine learning workflows. You can get a sortable, filterable list of machine learning task runs by calling `GetMLTaskRuns` with their parent transform's `TransformID` and other optional parameters as documented in this section.
 *
 * This operation returns a list of historic runs and must be paginated.
 */
public suspend inline fun GlueClient.getMlTaskRuns(crossinline block: GetMlTaskRunsRequest.Builder.() -> Unit): GetMlTaskRunsResponse = getMlTaskRuns(GetMlTaskRunsRequest.Builder().apply(block).build())

/**
 * Gets an Glue machine learning transform artifact and all its corresponding metadata. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by Glue. You can retrieve their metadata by calling `GetMLTransform`.
 */
public suspend inline fun GlueClient.getMlTransform(crossinline block: GetMlTransformRequest.Builder.() -> Unit): GetMlTransformResponse = getMlTransform(GetMlTransformRequest.Builder().apply(block).build())

/**
 * Gets a sortable, filterable list of existing Glue machine learning transforms. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by Glue, and you can retrieve their metadata by calling `GetMLTransforms`.
 */
public suspend inline fun GlueClient.getMlTransforms(crossinline block: GetMlTransformsRequest.Builder.() -> Unit): GetMlTransformsResponse = getMlTransforms(GetMlTransformsRequest.Builder().apply(block).build())

/**
 * Retrieves information about a specified partition.
 */
public suspend inline fun GlueClient.getPartition(crossinline block: GetPartitionRequest.Builder.() -> Unit): GetPartitionResponse = getPartition(GetPartitionRequest.Builder().apply(block).build())

/**
 * Retrieves the partition indexes associated with a table.
 */
public suspend inline fun GlueClient.getPartitionIndexes(crossinline block: GetPartitionIndexesRequest.Builder.() -> Unit): GetPartitionIndexesResponse = getPartitionIndexes(GetPartitionIndexesRequest.Builder().apply(block).build())

/**
 * Retrieves information about the partitions in a table.
 */
public suspend inline fun GlueClient.getPartitions(crossinline block: GetPartitionsRequest.Builder.() -> Unit): GetPartitionsResponse = getPartitions(GetPartitionsRequest.Builder().apply(block).build())

/**
 * Gets code to perform a specified mapping.
 */
public suspend inline fun GlueClient.getPlan(crossinline block: GetPlanRequest.Builder.() -> Unit): GetPlanResponse = getPlan(GetPlanRequest.Builder().apply(block).build())

/**
 * Describes the specified registry in detail.
 */
public suspend inline fun GlueClient.getRegistry(crossinline block: GetRegistryRequest.Builder.() -> Unit): GetRegistryResponse = getRegistry(GetRegistryRequest.Builder().apply(block).build())

/**
 * Retrieves the resource policies set on individual resources by Resource Access Manager during cross-account permission grants. Also retrieves the Data Catalog resource policy.
 *
 * If you enabled metadata encryption in Data Catalog settings, and you do not have permission on the KMS key, the operation can't return the Data Catalog resource policy.
 */
public suspend inline fun GlueClient.getResourcePolicies(crossinline block: GetResourcePoliciesRequest.Builder.() -> Unit): GetResourcePoliciesResponse = getResourcePolicies(GetResourcePoliciesRequest.Builder().apply(block).build())

/**
 * Retrieves a specified resource policy.
 */
public suspend inline fun GlueClient.getResourcePolicy(crossinline block: GetResourcePolicyRequest.Builder.() -> Unit): GetResourcePolicyResponse = getResourcePolicy(GetResourcePolicyRequest.Builder().apply(block).build())

/**
 * Describes the specified schema in detail.
 */
public suspend inline fun GlueClient.getSchema(crossinline block: GetSchemaRequest.Builder.() -> Unit): GetSchemaResponse = getSchema(GetSchemaRequest.Builder().apply(block).build())

/**
 * Retrieves a schema by the `SchemaDefinition`. The schema definition is sent to the Schema Registry, canonicalized, and hashed. If the hash is matched within the scope of the `SchemaName` or ARN (or the default registry, if none is supplied), that schema’s metadata is returned. Otherwise, a 404 or NotFound error is returned. Schema versions in `Deleted` statuses will not be included in the results.
 */
public suspend inline fun GlueClient.getSchemaByDefinition(crossinline block: GetSchemaByDefinitionRequest.Builder.() -> Unit): GetSchemaByDefinitionResponse = getSchemaByDefinition(GetSchemaByDefinitionRequest.Builder().apply(block).build())

/**
 * Get the specified schema by its unique ID assigned when a version of the schema is created or registered. Schema versions in Deleted status will not be included in the results.
 */
public suspend inline fun GlueClient.getSchemaVersion(crossinline block: GetSchemaVersionRequest.Builder.() -> Unit): GetSchemaVersionResponse = getSchemaVersion(GetSchemaVersionRequest.Builder().apply(block).build())

/**
 * Fetches the schema version difference in the specified difference type between two stored schema versions in the Schema Registry.
 *
 * This API allows you to compare two schema versions between two schema definitions under the same schema.
 */
public suspend inline fun GlueClient.getSchemaVersionsDiff(crossinline block: GetSchemaVersionsDiffRequest.Builder.() -> Unit): GetSchemaVersionsDiffResponse = getSchemaVersionsDiff(GetSchemaVersionsDiffRequest.Builder().apply(block).build())

/**
 * Retrieves a specified security configuration.
 */
public suspend inline fun GlueClient.getSecurityConfiguration(crossinline block: GetSecurityConfigurationRequest.Builder.() -> Unit): GetSecurityConfigurationResponse = getSecurityConfiguration(GetSecurityConfigurationRequest.Builder().apply(block).build())

/**
 * Retrieves a list of all security configurations.
 */
public suspend inline fun GlueClient.getSecurityConfigurations(crossinline block: GetSecurityConfigurationsRequest.Builder.() -> Unit): GetSecurityConfigurationsResponse = getSecurityConfigurations(GetSecurityConfigurationsRequest.Builder().apply(block).build())

/**
 * Retrieves the session.
 */
public suspend inline fun GlueClient.getSession(crossinline block: GetSessionRequest.Builder.() -> Unit): GetSessionResponse = getSession(GetSessionRequest.Builder().apply(block).build())

/**
 * Retrieves the statement.
 */
public suspend inline fun GlueClient.getStatement(crossinline block: GetStatementRequest.Builder.() -> Unit): GetStatementResponse = getStatement(GetStatementRequest.Builder().apply(block).build())

/**
 * Retrieves the `Table` definition in a Data Catalog for a specified table.
 */
public suspend inline fun GlueClient.getTable(crossinline block: GetTableRequest.Builder.() -> Unit): GetTableResponse = getTable(GetTableRequest.Builder().apply(block).build())

/**
 * Returns the configuration of all optimizers associated with a specified table.
 */
public suspend inline fun GlueClient.getTableOptimizer(crossinline block: GetTableOptimizerRequest.Builder.() -> Unit): GetTableOptimizerResponse = getTableOptimizer(GetTableOptimizerRequest.Builder().apply(block).build())

/**
 * Retrieves a specified version of a table.
 */
public suspend inline fun GlueClient.getTableVersion(crossinline block: GetTableVersionRequest.Builder.() -> Unit): GetTableVersionResponse = getTableVersion(GetTableVersionRequest.Builder().apply(block).build())

/**
 * Retrieves a list of strings that identify available versions of a specified table.
 */
public suspend inline fun GlueClient.getTableVersions(crossinline block: GetTableVersionsRequest.Builder.() -> Unit): GetTableVersionsResponse = getTableVersions(GetTableVersionsRequest.Builder().apply(block).build())

/**
 * Retrieves the definitions of some or all of the tables in a given `Database`.
 */
public suspend inline fun GlueClient.getTables(crossinline block: GetTablesRequest.Builder.() -> Unit): GetTablesResponse = getTables(GetTablesRequest.Builder().apply(block).build())

/**
 * Retrieves a list of tags associated with a resource.
 */
public suspend inline fun GlueClient.getTags(crossinline block: GetTagsRequest.Builder.() -> Unit): GetTagsResponse = getTags(GetTagsRequest.Builder().apply(block).build())

/**
 * Retrieves the definition of a trigger.
 */
public suspend inline fun GlueClient.getTrigger(crossinline block: GetTriggerRequest.Builder.() -> Unit): GetTriggerResponse = getTrigger(GetTriggerRequest.Builder().apply(block).build())

/**
 * Gets all the triggers associated with a job.
 */
public suspend inline fun GlueClient.getTriggers(crossinline block: GetTriggersRequest.Builder.() -> Unit): GetTriggersResponse = getTriggers(GetTriggersRequest.Builder().apply(block).build())

/**
 * Retrieves partition metadata from the Data Catalog that contains unfiltered metadata.
 *
 * For IAM authorization, the public IAM action associated with this API is `glue:GetPartition`.
 */
public suspend inline fun GlueClient.getUnfilteredPartitionMetadata(crossinline block: GetUnfilteredPartitionMetadataRequest.Builder.() -> Unit): GetUnfilteredPartitionMetadataResponse = getUnfilteredPartitionMetadata(GetUnfilteredPartitionMetadataRequest.Builder().apply(block).build())

/**
 * Retrieves partition metadata from the Data Catalog that contains unfiltered metadata.
 *
 * For IAM authorization, the public IAM action associated with this API is `glue:GetPartitions`.
 */
public suspend inline fun GlueClient.getUnfilteredPartitionsMetadata(crossinline block: GetUnfilteredPartitionsMetadataRequest.Builder.() -> Unit): GetUnfilteredPartitionsMetadataResponse = getUnfilteredPartitionsMetadata(GetUnfilteredPartitionsMetadataRequest.Builder().apply(block).build())

/**
 * Allows a third-party analytical engine to retrieve unfiltered table metadata from the Data Catalog.
 *
 * For IAM authorization, the public IAM action associated with this API is `glue:GetTable`.
 */
public suspend inline fun GlueClient.getUnfilteredTableMetadata(crossinline block: GetUnfilteredTableMetadataRequest.Builder.() -> Unit): GetUnfilteredTableMetadataResponse = getUnfilteredTableMetadata(GetUnfilteredTableMetadataRequest.Builder().apply(block).build())

/**
 * Retrieves information about the specified Glue usage profile.
 */
public suspend inline fun GlueClient.getUsageProfile(crossinline block: GetUsageProfileRequest.Builder.() -> Unit): GetUsageProfileResponse = getUsageProfile(GetUsageProfileRequest.Builder().apply(block).build())

/**
 * Retrieves a specified function definition from the Data Catalog.
 */
public suspend inline fun GlueClient.getUserDefinedFunction(crossinline block: GetUserDefinedFunctionRequest.Builder.() -> Unit): GetUserDefinedFunctionResponse = getUserDefinedFunction(GetUserDefinedFunctionRequest.Builder().apply(block).build())

/**
 * Retrieves multiple function definitions from the Data Catalog.
 */
public suspend inline fun GlueClient.getUserDefinedFunctions(crossinline block: GetUserDefinedFunctionsRequest.Builder.() -> Unit): GetUserDefinedFunctionsResponse = getUserDefinedFunctions(GetUserDefinedFunctionsRequest.Builder().apply(block).build())

/**
 * Retrieves resource metadata for a workflow.
 */
public suspend inline fun GlueClient.getWorkflow(crossinline block: GetWorkflowRequest.Builder.() -> Unit): GetWorkflowResponse = getWorkflow(GetWorkflowRequest.Builder().apply(block).build())

/**
 * Retrieves the metadata for a given workflow run. Job run history is accessible for 90 days for your workflow and job run.
 */
public suspend inline fun GlueClient.getWorkflowRun(crossinline block: GetWorkflowRunRequest.Builder.() -> Unit): GetWorkflowRunResponse = getWorkflowRun(GetWorkflowRunRequest.Builder().apply(block).build())

/**
 * Retrieves the workflow run properties which were set during the run.
 */
public suspend inline fun GlueClient.getWorkflowRunProperties(crossinline block: GetWorkflowRunPropertiesRequest.Builder.() -> Unit): GetWorkflowRunPropertiesResponse = getWorkflowRunProperties(GetWorkflowRunPropertiesRequest.Builder().apply(block).build())

/**
 * Retrieves metadata for all runs of a given workflow.
 */
public suspend inline fun GlueClient.getWorkflowRuns(crossinline block: GetWorkflowRunsRequest.Builder.() -> Unit): GetWorkflowRunsResponse = getWorkflowRuns(GetWorkflowRunsRequest.Builder().apply(block).build())

/**
 * Imports an existing Amazon Athena Data Catalog to Glue.
 */
public suspend inline fun GlueClient.importCatalogToGlue(crossinline block: ImportCatalogToGlueRequest.Builder.() -> Unit): ImportCatalogToGlueResponse = importCatalogToGlue(ImportCatalogToGlueRequest.Builder().apply(block).build())

/**
 * Lists all the blueprint names in an account.
 */
public suspend inline fun GlueClient.listBlueprints(crossinline block: ListBlueprintsRequest.Builder.() -> Unit): ListBlueprintsResponse = listBlueprints(ListBlueprintsRequest.Builder().apply(block).build())

/**
 * List all task runs for a particular account.
 */
public suspend inline fun GlueClient.listColumnStatisticsTaskRuns(crossinline block: ListColumnStatisticsTaskRunsRequest.Builder.() -> Unit): ListColumnStatisticsTaskRunsResponse = listColumnStatisticsTaskRuns(ListColumnStatisticsTaskRunsRequest.Builder().apply(block).build())

/**
 * Retrieves the names of all crawler resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.
 *
 * This operation takes the optional `Tags` field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.
 */
public suspend inline fun GlueClient.listCrawlers(crossinline block: ListCrawlersRequest.Builder.() -> Unit): ListCrawlersResponse = listCrawlers(ListCrawlersRequest.Builder().apply(block).build())

/**
 * Returns all the crawls of a specified crawler. Returns only the crawls that have occurred since the launch date of the crawler history feature, and only retains up to 12 months of crawls. Older crawls will not be returned.
 *
 * You may use this API to:
 * + Retrive all the crawls of a specified crawler.
 * + Retrieve all the crawls of a specified crawler within a limited count.
 * + Retrieve all the crawls of a specified crawler in a specific time range.
 * + Retrieve all the crawls of a specified crawler with a particular state, crawl ID, or DPU hour value.
 */
public suspend inline fun GlueClient.listCrawls(crossinline block: ListCrawlsRequest.Builder.() -> Unit): ListCrawlsResponse = listCrawls(ListCrawlsRequest.Builder().apply(block).build())

/**
 * Lists all the custom patterns that have been created.
 */
public suspend inline fun GlueClient.listCustomEntityTypes(crossinline block: ListCustomEntityTypesRequest.Builder.() -> Unit): ListCustomEntityTypesResponse = listCustomEntityTypes(ListCustomEntityTypesRequest.Builder().apply(block).build())

/**
 * Returns all data quality execution results for your account.
 */
public suspend inline fun GlueClient.listDataQualityResults(crossinline block: ListDataQualityResultsRequest.Builder.() -> Unit): ListDataQualityResultsResponse = listDataQualityResults(ListDataQualityResultsRequest.Builder().apply(block).build())

/**
 * Lists the recommendation runs meeting the filter criteria.
 */
public suspend inline fun GlueClient.listDataQualityRuleRecommendationRuns(crossinline block: ListDataQualityRuleRecommendationRunsRequest.Builder.() -> Unit): ListDataQualityRuleRecommendationRunsResponse = listDataQualityRuleRecommendationRuns(ListDataQualityRuleRecommendationRunsRequest.Builder().apply(block).build())

/**
 * Lists all the runs meeting the filter criteria, where a ruleset is evaluated against a data source.
 */
public suspend inline fun GlueClient.listDataQualityRulesetEvaluationRuns(crossinline block: ListDataQualityRulesetEvaluationRunsRequest.Builder.() -> Unit): ListDataQualityRulesetEvaluationRunsResponse = listDataQualityRulesetEvaluationRuns(ListDataQualityRulesetEvaluationRunsRequest.Builder().apply(block).build())

/**
 * Returns a paginated list of rulesets for the specified list of Glue tables.
 */
public suspend inline fun GlueClient.listDataQualityRulesets(crossinline block: ListDataQualityRulesetsRequest.Builder.() -> Unit): ListDataQualityRulesetsResponse = listDataQualityRulesets(ListDataQualityRulesetsRequest.Builder().apply(block).build())

/**
 * Retrieve annotations for a data quality statistic.
 */
public suspend inline fun GlueClient.listDataQualityStatisticAnnotations(crossinline block: ListDataQualityStatisticAnnotationsRequest.Builder.() -> Unit): ListDataQualityStatisticAnnotationsResponse = listDataQualityStatisticAnnotations(ListDataQualityStatisticAnnotationsRequest.Builder().apply(block).build())

/**
 * Retrieves a list of data quality statistics.
 */
public suspend inline fun GlueClient.listDataQualityStatistics(crossinline block: ListDataQualityStatisticsRequest.Builder.() -> Unit): ListDataQualityStatisticsResponse = listDataQualityStatistics(ListDataQualityStatisticsRequest.Builder().apply(block).build())

/**
 * Retrieves the names of all `DevEndpoint` resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.
 *
 * This operation takes the optional `Tags` field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.
 */
public suspend inline fun GlueClient.listDevEndpoints(crossinline block: ListDevEndpointsRequest.Builder.() -> Unit): ListDevEndpointsResponse = listDevEndpoints(ListDevEndpointsRequest.Builder().apply(block).build())

/**
 * Retrieves the names of all job resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.
 *
 * This operation takes the optional `Tags` field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.
 */
public suspend inline fun GlueClient.listJobs(crossinline block: ListJobsRequest.Builder.() -> Unit): ListJobsResponse = listJobs(ListJobsRequest.Builder().apply(block).build())

/**
 * Retrieves a sortable, filterable list of existing Glue machine learning transforms in this Amazon Web Services account, or the resources with the specified tag. This operation takes the optional `Tags` field, which you can use as a filter of the responses so that tagged resources can be retrieved as a group. If you choose to use tag filtering, only resources with the tags are retrieved.
 */
public suspend inline fun GlueClient.listMlTransforms(crossinline block: ListMlTransformsRequest.Builder.() -> Unit): ListMlTransformsResponse = listMlTransforms(ListMlTransformsRequest.Builder().apply(block).build())

/**
 * Returns a list of registries that you have created, with minimal registry information. Registries in the `Deleting` status will not be included in the results. Empty results will be returned if there are no registries available.
 */
public suspend inline fun GlueClient.listRegistries(crossinline block: ListRegistriesRequest.Builder.() -> Unit): ListRegistriesResponse = listRegistries(ListRegistriesRequest.Builder().apply(block).build())

/**
 * Returns a list of schema versions that you have created, with minimal information. Schema versions in Deleted status will not be included in the results. Empty results will be returned if there are no schema versions available.
 */
public suspend inline fun GlueClient.listSchemaVersions(crossinline block: ListSchemaVersionsRequest.Builder.() -> Unit): ListSchemaVersionsResponse = listSchemaVersions(ListSchemaVersionsRequest.Builder().apply(block).build())

/**
 * Returns a list of schemas with minimal details. Schemas in Deleting status will not be included in the results. Empty results will be returned if there are no schemas available.
 *
 * When the `RegistryId` is not provided, all the schemas across registries will be part of the API response.
 */
public suspend inline fun GlueClient.listSchemas(crossinline block: ListSchemasRequest.Builder.() -> Unit): ListSchemasResponse = listSchemas(ListSchemasRequest.Builder().apply(block).build())

/**
 * Retrieve a list of sessions.
 */
public suspend inline fun GlueClient.listSessions(crossinline block: ListSessionsRequest.Builder.() -> Unit): ListSessionsResponse = listSessions(ListSessionsRequest.Builder().apply(block).build())

/**
 * Lists statements for the session.
 */
public suspend inline fun GlueClient.listStatements(crossinline block: ListStatementsRequest.Builder.() -> Unit): ListStatementsResponse = listStatements(ListStatementsRequest.Builder().apply(block).build())

/**
 * Lists the history of previous optimizer runs for a specific table.
 */
public suspend inline fun GlueClient.listTableOptimizerRuns(crossinline block: ListTableOptimizerRunsRequest.Builder.() -> Unit): ListTableOptimizerRunsResponse = listTableOptimizerRuns(ListTableOptimizerRunsRequest.Builder().apply(block).build())

/**
 * Retrieves the names of all trigger resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.
 *
 * This operation takes the optional `Tags` field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.
 */
public suspend inline fun GlueClient.listTriggers(crossinline block: ListTriggersRequest.Builder.() -> Unit): ListTriggersResponse = listTriggers(ListTriggersRequest.Builder().apply(block).build())

/**
 * List all the Glue usage profiles.
 */
public suspend inline fun GlueClient.listUsageProfiles(crossinline block: ListUsageProfilesRequest.Builder.() -> Unit): ListUsageProfilesResponse = listUsageProfiles(ListUsageProfilesRequest.Builder().apply(block).build())

/**
 * Lists names of workflows created in the account.
 */
public suspend inline fun GlueClient.listWorkflows(crossinline block: ListWorkflowsRequest.Builder.() -> Unit): ListWorkflowsResponse = listWorkflows(ListWorkflowsRequest.Builder().apply(block).build())

/**
 * Sets the security configuration for a specified catalog. After the configuration has been set, the specified encryption is applied to every catalog write thereafter.
 */
public suspend inline fun GlueClient.putDataCatalogEncryptionSettings(crossinline block: PutDataCatalogEncryptionSettingsRequest.Builder.() -> Unit): PutDataCatalogEncryptionSettingsResponse = putDataCatalogEncryptionSettings(PutDataCatalogEncryptionSettingsRequest.Builder().apply(block).build())

/**
 * Annotate all datapoints for a Profile.
 */
public suspend inline fun GlueClient.putDataQualityProfileAnnotation(crossinline block: PutDataQualityProfileAnnotationRequest.Builder.() -> Unit): PutDataQualityProfileAnnotationResponse = putDataQualityProfileAnnotation(PutDataQualityProfileAnnotationRequest.Builder().apply(block).build())

/**
 * Sets the Data Catalog resource policy for access control.
 */
public suspend inline fun GlueClient.putResourcePolicy(crossinline block: PutResourcePolicyRequest.Builder.() -> Unit): PutResourcePolicyResponse = putResourcePolicy(PutResourcePolicyRequest.Builder().apply(block).build())

/**
 * Puts the metadata key value pair for a specified schema version ID. A maximum of 10 key value pairs will be allowed per schema version. They can be added over one or more calls.
 */
public suspend inline fun GlueClient.putSchemaVersionMetadata(crossinline block: PutSchemaVersionMetadataRequest.Builder.() -> Unit): PutSchemaVersionMetadataResponse = putSchemaVersionMetadata(PutSchemaVersionMetadataRequest.Builder().apply(block).build())

/**
 * Puts the specified workflow run properties for the given workflow run. If a property already exists for the specified run, then it overrides the value otherwise adds the property to existing properties.
 */
public suspend inline fun GlueClient.putWorkflowRunProperties(crossinline block: PutWorkflowRunPropertiesRequest.Builder.() -> Unit): PutWorkflowRunPropertiesResponse = putWorkflowRunProperties(PutWorkflowRunPropertiesRequest.Builder().apply(block).build())

/**
 * Queries for the schema version metadata information.
 */
public suspend inline fun GlueClient.querySchemaVersionMetadata(crossinline block: QuerySchemaVersionMetadataRequest.Builder.() -> Unit): QuerySchemaVersionMetadataResponse = querySchemaVersionMetadata(QuerySchemaVersionMetadataRequest.Builder().apply(block).build())

/**
 * Adds a new version to the existing schema. Returns an error if new version of schema does not meet the compatibility requirements of the schema set. This API will not create a new schema set and will return a 404 error if the schema set is not already present in the Schema Registry.
 *
 * If this is the first schema definition to be registered in the Schema Registry, this API will store the schema version and return immediately. Otherwise, this call has the potential to run longer than other operations due to compatibility modes. You can call the `GetSchemaVersion` API with the `SchemaVersionId` to check compatibility modes.
 *
 * If the same schema definition is already stored in Schema Registry as a version, the schema ID of the existing schema is returned to the caller.
 */
public suspend inline fun GlueClient.registerSchemaVersion(crossinline block: RegisterSchemaVersionRequest.Builder.() -> Unit): RegisterSchemaVersionResponse = registerSchemaVersion(RegisterSchemaVersionRequest.Builder().apply(block).build())

/**
 * Removes a key value pair from the schema version metadata for the specified schema version ID.
 */
public suspend inline fun GlueClient.removeSchemaVersionMetadata(crossinline block: RemoveSchemaVersionMetadataRequest.Builder.() -> Unit): RemoveSchemaVersionMetadataResponse = removeSchemaVersionMetadata(RemoveSchemaVersionMetadataRequest.Builder().apply(block).build())

/**
 * Resets a bookmark entry.
 *
 * For more information about enabling and using job bookmarks, see:
 * + [Tracking processed data using job bookmarks](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)
 * + [Job parameters used by Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
 * + [Job structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job)
 */
public suspend inline fun GlueClient.resetJobBookmark(crossinline block: ResetJobBookmarkRequest.Builder.() -> Unit): ResetJobBookmarkResponse = resetJobBookmark(ResetJobBookmarkRequest.Builder().apply(block).build())

/**
 * Restarts selected nodes of a previous partially completed workflow run and resumes the workflow run. The selected nodes and all nodes that are downstream from the selected nodes are run.
 */
public suspend inline fun GlueClient.resumeWorkflowRun(crossinline block: ResumeWorkflowRunRequest.Builder.() -> Unit): ResumeWorkflowRunResponse = resumeWorkflowRun(ResumeWorkflowRunRequest.Builder().apply(block).build())

/**
 * Executes the statement.
 */
public suspend inline fun GlueClient.runStatement(crossinline block: RunStatementRequest.Builder.() -> Unit): RunStatementResponse = runStatement(RunStatementRequest.Builder().apply(block).build())

/**
 * Searches a set of tables based on properties in the table metadata as well as on the parent database. You can search against text or filter conditions.
 *
 * You can only get tables that you have access to based on the security policies defined in Lake Formation. You need at least a read-only access to the table for it to be returned. If you do not have access to all the columns in the table, these columns will not be searched against when returning the list of tables back to you. If you have access to the columns but not the data in the columns, those columns and the associated metadata for those columns will be included in the search.
 */
public suspend inline fun GlueClient.searchTables(crossinline block: SearchTablesRequest.Builder.() -> Unit): SearchTablesResponse = searchTables(SearchTablesRequest.Builder().apply(block).build())

/**
 * Starts a new run of the specified blueprint.
 */
public suspend inline fun GlueClient.startBlueprintRun(crossinline block: StartBlueprintRunRequest.Builder.() -> Unit): StartBlueprintRunResponse = startBlueprintRun(StartBlueprintRunRequest.Builder().apply(block).build())

/**
 * Starts a column statistics task run, for a specified table and columns.
 */
public suspend inline fun GlueClient.startColumnStatisticsTaskRun(crossinline block: StartColumnStatisticsTaskRunRequest.Builder.() -> Unit): StartColumnStatisticsTaskRunResponse = startColumnStatisticsTaskRun(StartColumnStatisticsTaskRunRequest.Builder().apply(block).build())

/**
 * Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, returns a [CrawlerRunningException](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-exceptions.html#aws-glue-api-exceptions-CrawlerRunningException).
 */
public suspend inline fun GlueClient.startCrawler(crossinline block: StartCrawlerRequest.Builder.() -> Unit): StartCrawlerResponse = startCrawler(StartCrawlerRequest.Builder().apply(block).build())

/**
 * Changes the schedule state of the specified crawler to `SCHEDULED`, unless the crawler is already running or the schedule state is already `SCHEDULED`.
 */
public suspend inline fun GlueClient.startCrawlerSchedule(crossinline block: StartCrawlerScheduleRequest.Builder.() -> Unit): StartCrawlerScheduleResponse = startCrawlerSchedule(StartCrawlerScheduleRequest.Builder().apply(block).build())

/**
 * Starts a recommendation run that is used to generate rules when you don't know what rules to write. Glue Data Quality analyzes the data and comes up with recommendations for a potential ruleset. You can then triage the ruleset and modify the generated ruleset to your liking.
 *
 * Recommendation runs are automatically deleted after 90 days.
 */
public suspend inline fun GlueClient.startDataQualityRuleRecommendationRun(crossinline block: StartDataQualityRuleRecommendationRunRequest.Builder.() -> Unit): StartDataQualityRuleRecommendationRunResponse = startDataQualityRuleRecommendationRun(StartDataQualityRuleRecommendationRunRequest.Builder().apply(block).build())

/**
 * Once you have a ruleset definition (either recommended or your own), you call this operation to evaluate the ruleset against a data source (Glue table). The evaluation computes results which you can retrieve with the `GetDataQualityResult` API.
 */
public suspend inline fun GlueClient.startDataQualityRulesetEvaluationRun(crossinline block: StartDataQualityRulesetEvaluationRunRequest.Builder.() -> Unit): StartDataQualityRulesetEvaluationRunResponse = startDataQualityRulesetEvaluationRun(StartDataQualityRulesetEvaluationRunRequest.Builder().apply(block).build())

/**
 * Begins an asynchronous task to export all labeled data for a particular transform. This task is the only label-related API call that is not part of the typical active learning workflow. You typically use `StartExportLabelsTaskRun` when you want to work with all of your existing labels at the same time, such as when you want to remove or change labels that were previously submitted as truth. This API operation accepts the `TransformId` whose labels you want to export and an Amazon Simple Storage Service (Amazon S3) path to export the labels to. The operation returns a `TaskRunId`. You can check on the status of your task run by calling the `GetMLTaskRun` API.
 */
public suspend inline fun GlueClient.startExportLabelsTaskRun(crossinline block: StartExportLabelsTaskRunRequest.Builder.() -> Unit): StartExportLabelsTaskRunResponse = startExportLabelsTaskRun(StartExportLabelsTaskRunRequest.Builder().apply(block).build())

/**
 * Enables you to provide additional labels (examples of truth) to be used to teach the machine learning transform and improve its quality. This API operation is generally used as part of the active learning workflow that starts with the `StartMLLabelingSetGenerationTaskRun` call and that ultimately results in improving the quality of your machine learning transform.
 *
 * After the `StartMLLabelingSetGenerationTaskRun` finishes, Glue machine learning will have generated a series of questions for humans to answer. (Answering these questions is often called 'labeling' in the machine learning workflows). In the case of the `FindMatches` transform, these questions are of the form, “What is the correct way to group these rows together into groups composed entirely of matching records?” After the labeling process is finished, users upload their answers/labels with a call to `StartImportLabelsTaskRun`. After `StartImportLabelsTaskRun` finishes, all future runs of the machine learning transform use the new and improved labels and perform a higher-quality transformation.
 *
 * By default, `StartMLLabelingSetGenerationTaskRun` continually learns from and combines all labels that you upload unless you set `Replace` to true. If you set `Replace` to true, `StartImportLabelsTaskRun` deletes and forgets all previously uploaded labels and learns only from the exact set that you upload. Replacing labels can be helpful if you realize that you previously uploaded incorrect labels, and you believe that they are having a negative effect on your transform quality.
 *
 * You can check on the status of your task run by calling the `GetMLTaskRun` operation.
 */
public suspend inline fun GlueClient.startImportLabelsTaskRun(crossinline block: StartImportLabelsTaskRunRequest.Builder.() -> Unit): StartImportLabelsTaskRunResponse = startImportLabelsTaskRun(StartImportLabelsTaskRunRequest.Builder().apply(block).build())

/**
 * Starts a job run using a job definition.
 */
public suspend inline fun GlueClient.startJobRun(crossinline block: StartJobRunRequest.Builder.() -> Unit): StartJobRunResponse = startJobRun(StartJobRunRequest.Builder().apply(block).build())

/**
 * Starts a task to estimate the quality of the transform.
 *
 * When you provide label sets as examples of truth, Glue machine learning uses some of those examples to learn from them. The rest of the labels are used as a test to estimate quality.
 *
 * Returns a unique identifier for the run. You can call `GetMLTaskRun` to get more information about the stats of the `EvaluationTaskRun`.
 */
public suspend inline fun GlueClient.startMlEvaluationTaskRun(crossinline block: StartMlEvaluationTaskRunRequest.Builder.() -> Unit): StartMlEvaluationTaskRunResponse = startMlEvaluationTaskRun(StartMlEvaluationTaskRunRequest.Builder().apply(block).build())

/**
 * Starts the active learning workflow for your machine learning transform to improve the transform's quality by generating label sets and adding labels.
 *
 * When the `StartMLLabelingSetGenerationTaskRun` finishes, Glue will have generated a "labeling set" or a set of questions for humans to answer.
 *
 * In the case of the `FindMatches` transform, these questions are of the form, “What is the correct way to group these rows together into groups composed entirely of matching records?”
 *
 * After the labeling process is finished, you can upload your labels with a call to `StartImportLabelsTaskRun`. After `StartImportLabelsTaskRun` finishes, all future runs of the machine learning transform will use the new and improved labels and perform a higher-quality transformation.
 */
public suspend inline fun GlueClient.startMlLabelingSetGenerationTaskRun(crossinline block: StartMlLabelingSetGenerationTaskRunRequest.Builder.() -> Unit): StartMlLabelingSetGenerationTaskRunResponse = startMlLabelingSetGenerationTaskRun(StartMlLabelingSetGenerationTaskRunRequest.Builder().apply(block).build())

/**
 * Starts an existing trigger. See [Triggering Jobs](https://docs.aws.amazon.com/glue/latest/dg/trigger-job.html) for information about how different types of trigger are started.
 */
public suspend inline fun GlueClient.startTrigger(crossinline block: StartTriggerRequest.Builder.() -> Unit): StartTriggerResponse = startTrigger(StartTriggerRequest.Builder().apply(block).build())

/**
 * Starts a new run of the specified workflow.
 */
public suspend inline fun GlueClient.startWorkflowRun(crossinline block: StartWorkflowRunRequest.Builder.() -> Unit): StartWorkflowRunResponse = startWorkflowRun(StartWorkflowRunRequest.Builder().apply(block).build())

/**
 * Stops a task run for the specified table.
 */
public suspend inline fun GlueClient.stopColumnStatisticsTaskRun(crossinline block: StopColumnStatisticsTaskRunRequest.Builder.() -> Unit): StopColumnStatisticsTaskRunResponse = stopColumnStatisticsTaskRun(StopColumnStatisticsTaskRunRequest.Builder().apply(block).build())

/**
 * If the specified crawler is running, stops the crawl.
 */
public suspend inline fun GlueClient.stopCrawler(crossinline block: StopCrawlerRequest.Builder.() -> Unit): StopCrawlerResponse = stopCrawler(StopCrawlerRequest.Builder().apply(block).build())

/**
 * Sets the schedule state of the specified crawler to `NOT_SCHEDULED`, but does not stop the crawler if it is already running.
 */
public suspend inline fun GlueClient.stopCrawlerSchedule(crossinline block: StopCrawlerScheduleRequest.Builder.() -> Unit): StopCrawlerScheduleResponse = stopCrawlerSchedule(StopCrawlerScheduleRequest.Builder().apply(block).build())

/**
 * Stops the session.
 */
public suspend inline fun GlueClient.stopSession(crossinline block: StopSessionRequest.Builder.() -> Unit): StopSessionResponse = stopSession(StopSessionRequest.Builder().apply(block).build())

/**
 * Stops a specified trigger.
 */
public suspend inline fun GlueClient.stopTrigger(crossinline block: StopTriggerRequest.Builder.() -> Unit): StopTriggerResponse = stopTrigger(StopTriggerRequest.Builder().apply(block).build())

/**
 * Stops the execution of the specified workflow run.
 */
public suspend inline fun GlueClient.stopWorkflowRun(crossinline block: StopWorkflowRunRequest.Builder.() -> Unit): StopWorkflowRunResponse = stopWorkflowRun(StopWorkflowRunRequest.Builder().apply(block).build())

/**
 * Adds tags to a resource. A tag is a label you can assign to an Amazon Web Services resource. In Glue, you can tag only certain resources. For information about what resources you can tag, see [Amazon Web Services Tags in Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html).
 */
public suspend inline fun GlueClient.tagResource(crossinline block: TagResourceRequest.Builder.() -> Unit): TagResourceResponse = tagResource(TagResourceRequest.Builder().apply(block).build())

/**
 * Removes tags from a resource.
 */
public suspend inline fun GlueClient.untagResource(crossinline block: UntagResourceRequest.Builder.() -> Unit): UntagResourceResponse = untagResource(UntagResourceRequest.Builder().apply(block).build())

/**
 * Updates a registered blueprint.
 */
public suspend inline fun GlueClient.updateBlueprint(crossinline block: UpdateBlueprintRequest.Builder.() -> Unit): UpdateBlueprintResponse = updateBlueprint(UpdateBlueprintRequest.Builder().apply(block).build())

/**
 * Modifies an existing classifier (a `GrokClassifier`, an `XMLClassifier`, a `JsonClassifier`, or a `CsvClassifier`, depending on which field is present).
 */
public suspend inline fun GlueClient.updateClassifier(crossinline block: UpdateClassifierRequest.Builder.() -> Unit): UpdateClassifierResponse = updateClassifier(UpdateClassifierRequest.Builder().apply(block).build())

/**
 * Creates or updates partition statistics of columns.
 *
 * The Identity and Access Management (IAM) permission required for this operation is `UpdatePartition`.
 */
public suspend inline fun GlueClient.updateColumnStatisticsForPartition(crossinline block: UpdateColumnStatisticsForPartitionRequest.Builder.() -> Unit): UpdateColumnStatisticsForPartitionResponse = updateColumnStatisticsForPartition(UpdateColumnStatisticsForPartitionRequest.Builder().apply(block).build())

/**
 * Creates or updates table statistics of columns.
 *
 * The Identity and Access Management (IAM) permission required for this operation is `UpdateTable`.
 */
public suspend inline fun GlueClient.updateColumnStatisticsForTable(crossinline block: UpdateColumnStatisticsForTableRequest.Builder.() -> Unit): UpdateColumnStatisticsForTableResponse = updateColumnStatisticsForTable(UpdateColumnStatisticsForTableRequest.Builder().apply(block).build())

/**
 * Updates a connection definition in the Data Catalog.
 */
public suspend inline fun GlueClient.updateConnection(crossinline block: UpdateConnectionRequest.Builder.() -> Unit): UpdateConnectionResponse = updateConnection(UpdateConnectionRequest.Builder().apply(block).build())

/**
 * Updates a crawler. If a crawler is running, you must stop it using `StopCrawler` before updating it.
 */
public suspend inline fun GlueClient.updateCrawler(crossinline block: UpdateCrawlerRequest.Builder.() -> Unit): UpdateCrawlerResponse = updateCrawler(UpdateCrawlerRequest.Builder().apply(block).build())

/**
 * Updates the schedule of a crawler using a `cron` expression.
 */
public suspend inline fun GlueClient.updateCrawlerSchedule(crossinline block: UpdateCrawlerScheduleRequest.Builder.() -> Unit): UpdateCrawlerScheduleResponse = updateCrawlerSchedule(UpdateCrawlerScheduleRequest.Builder().apply(block).build())

/**
 * Updates the specified data quality ruleset.
 */
public suspend inline fun GlueClient.updateDataQualityRuleset(crossinline block: UpdateDataQualityRulesetRequest.Builder.() -> Unit): UpdateDataQualityRulesetResponse = updateDataQualityRuleset(UpdateDataQualityRulesetRequest.Builder().apply(block).build())

/**
 * Updates an existing database definition in a Data Catalog.
 */
public suspend inline fun GlueClient.updateDatabase(crossinline block: UpdateDatabaseRequest.Builder.() -> Unit): UpdateDatabaseResponse = updateDatabase(UpdateDatabaseRequest.Builder().apply(block).build())

/**
 * Updates a specified development endpoint.
 */
public suspend inline fun GlueClient.updateDevEndpoint(crossinline block: UpdateDevEndpointRequest.Builder.() -> Unit): UpdateDevEndpointResponse = updateDevEndpoint(UpdateDevEndpointRequest.Builder().apply(block).build())

/**
 * Updates an existing job definition. The previous job definition is completely overwritten by this information.
 */
public suspend inline fun GlueClient.updateJob(crossinline block: UpdateJobRequest.Builder.() -> Unit): UpdateJobResponse = updateJob(UpdateJobRequest.Builder().apply(block).build())

/**
 * Synchronizes a job from the source control repository. This operation takes the job artifacts that are located in the remote repository and updates the Glue internal stores with these artifacts.
 *
 * This API supports optional parameters which take in the repository information.
 */
public suspend inline fun GlueClient.updateJobFromSourceControl(crossinline block: UpdateJobFromSourceControlRequest.Builder.() -> Unit): UpdateJobFromSourceControlResponse = updateJobFromSourceControl(UpdateJobFromSourceControlRequest.Builder().apply(block).build())

/**
 * Updates an existing machine learning transform. Call this operation to tune the algorithm parameters to achieve better results.
 *
 * After calling this operation, you can call the `StartMLEvaluationTaskRun` operation to assess how well your new parameters achieved your goals (such as improving the quality of your machine learning transform, or making it more cost-effective).
 */
public suspend inline fun GlueClient.updateMlTransform(crossinline block: UpdateMlTransformRequest.Builder.() -> Unit): UpdateMlTransformResponse = updateMlTransform(UpdateMlTransformRequest.Builder().apply(block).build())

/**
 * Updates a partition.
 */
public suspend inline fun GlueClient.updatePartition(crossinline block: UpdatePartitionRequest.Builder.() -> Unit): UpdatePartitionResponse = updatePartition(UpdatePartitionRequest.Builder().apply(block).build())

/**
 * Updates an existing registry which is used to hold a collection of schemas. The updated properties relate to the registry, and do not modify any of the schemas within the registry.
 */
public suspend inline fun GlueClient.updateRegistry(crossinline block: UpdateRegistryRequest.Builder.() -> Unit): UpdateRegistryResponse = updateRegistry(UpdateRegistryRequest.Builder().apply(block).build())

/**
 * Updates the description, compatibility setting, or version checkpoint for a schema set.
 *
 * For updating the compatibility setting, the call will not validate compatibility for the entire set of schema versions with the new compatibility setting. If the value for `Compatibility` is provided, the `VersionNumber` (a checkpoint) is also required. The API will validate the checkpoint version number for consistency.
 *
 * If the value for the `VersionNumber` (checkpoint) is provided, `Compatibility` is optional and this can be used to set/reset a checkpoint for the schema.
 *
 * This update will happen only if the schema is in the AVAILABLE state.
 */
public suspend inline fun GlueClient.updateSchema(crossinline block: UpdateSchemaRequest.Builder.() -> Unit): UpdateSchemaResponse = updateSchema(UpdateSchemaRequest.Builder().apply(block).build())

/**
 * Synchronizes a job to the source control repository. This operation takes the job artifacts from the Glue internal stores and makes a commit to the remote repository that is configured on the job.
 *
 * This API supports optional parameters which take in the repository information.
 */
public suspend inline fun GlueClient.updateSourceControlFromJob(crossinline block: UpdateSourceControlFromJobRequest.Builder.() -> Unit): UpdateSourceControlFromJobResponse = updateSourceControlFromJob(UpdateSourceControlFromJobRequest.Builder().apply(block).build())

/**
 * Updates a metadata table in the Data Catalog.
 */
public suspend inline fun GlueClient.updateTable(crossinline block: UpdateTableRequest.Builder.() -> Unit): UpdateTableResponse = updateTable(UpdateTableRequest.Builder().apply(block).build())

/**
 * Updates the configuration for an existing table optimizer.
 */
public suspend inline fun GlueClient.updateTableOptimizer(crossinline block: UpdateTableOptimizerRequest.Builder.() -> Unit): UpdateTableOptimizerResponse = updateTableOptimizer(UpdateTableOptimizerRequest.Builder().apply(block).build())

/**
 * Updates a trigger definition.
 */
public suspend inline fun GlueClient.updateTrigger(crossinline block: UpdateTriggerRequest.Builder.() -> Unit): UpdateTriggerResponse = updateTrigger(UpdateTriggerRequest.Builder().apply(block).build())

/**
 * Update an Glue usage profile.
 */
public suspend inline fun GlueClient.updateUsageProfile(crossinline block: UpdateUsageProfileRequest.Builder.() -> Unit): UpdateUsageProfileResponse = updateUsageProfile(UpdateUsageProfileRequest.Builder().apply(block).build())

/**
 * Updates an existing function definition in the Data Catalog.
 */
public suspend inline fun GlueClient.updateUserDefinedFunction(crossinline block: UpdateUserDefinedFunctionRequest.Builder.() -> Unit): UpdateUserDefinedFunctionResponse = updateUserDefinedFunction(UpdateUserDefinedFunctionRequest.Builder().apply(block).build())

/**
 * Updates an existing workflow.
 */
public suspend inline fun GlueClient.updateWorkflow(crossinline block: UpdateWorkflowRequest.Builder.() -> Unit): UpdateWorkflowResponse = updateWorkflow(UpdateWorkflowRequest.Builder().apply(block).build())




© 2015 - 2024 Weber Informatics LLC | Privacy Policy