// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 // Do not modify this file. This file is machine generated, and any changes to it will be overwritten. include "../../StandardLibrary/src/Index.dfy" module {:extern "software.amazon.cryptography.services.dynamodb.internaldafny.types" } ComAmazonawsDynamodbTypes { import opened Wrappers import opened StandardLibrary.UInt import opened UTF8 // Generic helpers for verification of mock/unit tests. datatype DafnyCallEvent = DafnyCallEvent(input: I, output: O) // Begin Generated Types type ArchivalReason = string datatype ArchivalSummary = | ArchivalSummary ( nameonly ArchivalDateTime: Option , nameonly ArchivalReason: Option , nameonly ArchivalBackupArn: Option ) datatype AttributeAction = | ADD | PUT | DELETE datatype AttributeDefinition = | AttributeDefinition ( nameonly AttributeName: KeySchemaAttributeName , nameonly AttributeType: ScalarAttributeType ) type AttributeDefinitions = seq type AttributeMap = map type AttributeName = x: string | IsValid_AttributeName(x) witness * predicate method IsValid_AttributeName(x: string) { ( 0 <= |x| <= 65535 ) } type AttributeNameList = x: seq | IsValid_AttributeNameList(x) witness * predicate method IsValid_AttributeNameList(x: seq) { ( 1 <= |x| ) } type AttributeUpdates = map datatype AttributeValue = | S(S: StringAttributeValue) | N(N: NumberAttributeValue) | B(B: BinaryAttributeValue) | SS(SS: StringSetAttributeValue) | NS(NS: NumberSetAttributeValue) | BS(BS: BinarySetAttributeValue) | M(M: MapAttributeValue) | L(L: ListAttributeValue) | NULL(NULL: NullAttributeValue) | BOOL(BOOL: BooleanAttributeValue) type AttributeValueList = seq datatype AttributeValueUpdate = | AttributeValueUpdate ( nameonly Value: Option , nameonly Action: Option ) datatype AutoScalingPolicyDescription = | AutoScalingPolicyDescription ( nameonly PolicyName: Option , nameonly TargetTrackingScalingPolicyConfiguration: Option ) type AutoScalingPolicyDescriptionList = seq type AutoScalingPolicyName = x: string | IsValid_AutoScalingPolicyName(x) witness * predicate method IsValid_AutoScalingPolicyName(x: string) { ( 1 <= |x| <= 256 ) } datatype AutoScalingPolicyUpdate = | AutoScalingPolicyUpdate ( nameonly PolicyName: Option , nameonly TargetTrackingScalingPolicyConfiguration: AutoScalingTargetTrackingScalingPolicyConfigurationUpdate ) type AutoScalingRoleArn = x: string | IsValid_AutoScalingRoleArn(x) witness * predicate method IsValid_AutoScalingRoleArn(x: string) { ( 1 <= |x| <= 1600 ) } datatype AutoScalingSettingsDescription = | AutoScalingSettingsDescription ( nameonly MinimumUnits: Option , nameonly MaximumUnits: Option , nameonly AutoScalingDisabled: Option , nameonly AutoScalingRoleArn: Option , nameonly ScalingPolicies: Option ) datatype AutoScalingSettingsUpdate = | AutoScalingSettingsUpdate ( nameonly MinimumUnits: Option , nameonly MaximumUnits: Option , nameonly AutoScalingDisabled: Option , nameonly AutoScalingRoleArn: Option , nameonly ScalingPolicyUpdate: Option ) datatype AutoScalingTargetTrackingScalingPolicyConfigurationDescription = | AutoScalingTargetTrackingScalingPolicyConfigurationDescription ( nameonly DisableScaleIn: Option , nameonly ScaleInCooldown: Option , nameonly ScaleOutCooldown: Option , nameonly TargetValue: Double ) datatype AutoScalingTargetTrackingScalingPolicyConfigurationUpdate = | AutoScalingTargetTrackingScalingPolicyConfigurationUpdate ( nameonly DisableScaleIn: Option , nameonly ScaleInCooldown: Option , nameonly ScaleOutCooldown: Option , nameonly TargetValue: Double ) type Backfilling = bool type BackupArn = x: string | IsValid_BackupArn(x) witness * predicate method IsValid_BackupArn(x: string) { ( 37 <= |x| <= 1024 ) } datatype BackupDescription = | BackupDescription ( nameonly BackupDetails: Option , nameonly SourceTableDetails: Option , nameonly SourceTableFeatureDetails: Option ) datatype BackupDetails = | BackupDetails ( nameonly BackupArn: BackupArn , nameonly BackupName: BackupName , nameonly BackupSizeBytes: Option , nameonly BackupStatus: BackupStatus , nameonly BackupType: BackupType , nameonly BackupCreationDateTime: string , nameonly BackupExpiryDateTime: Option ) type BackupName = x: string | IsValid_BackupName(x) witness * predicate method IsValid_BackupName(x: string) { ( 3 <= |x| <= 255 ) } type BackupsInputLimit = x: int32 | IsValid_BackupsInputLimit(x) witness * predicate method IsValid_BackupsInputLimit(x: int32) { ( 1 <= x <= 100 ) } type BackupSizeBytes = x: int64 | IsValid_BackupSizeBytes(x) witness * predicate method IsValid_BackupSizeBytes(x: int64) { ( 0 <= x ) } datatype BackupStatus = | CREATING | DELETED | AVAILABLE type BackupSummaries = seq datatype BackupSummary = | BackupSummary ( nameonly TableName: Option , nameonly TableId: Option , nameonly TableArn: Option , nameonly BackupArn: Option , nameonly BackupName: Option , nameonly BackupCreationDateTime: Option , nameonly BackupExpiryDateTime: Option , nameonly BackupStatus: Option , nameonly BackupType: Option , nameonly BackupSizeBytes: Option ) datatype BackupType = | USER | SYSTEM | AWS_BACKUP datatype BackupTypeFilter = | USER | SYSTEM | AWS_BACKUP | ALL datatype BatchExecuteStatementInput = | BatchExecuteStatementInput ( nameonly Statements: PartiQLBatchRequest , nameonly ReturnConsumedCapacity: Option ) datatype BatchExecuteStatementOutput = | BatchExecuteStatementOutput ( nameonly Responses: Option , nameonly ConsumedCapacity: Option ) datatype BatchGetItemInput = | BatchGetItemInput ( nameonly RequestItems: BatchGetRequestMap , nameonly ReturnConsumedCapacity: Option ) datatype BatchGetItemOutput = | BatchGetItemOutput ( nameonly Responses: Option , nameonly UnprocessedKeys: Option , nameonly ConsumedCapacity: Option ) type BatchGetRequestMap = x: map | IsValid_BatchGetRequestMap(x) witness * predicate method IsValid_BatchGetRequestMap(x: map) { ( 1 <= |x| <= 100 ) } type BatchGetResponseMap = map datatype BatchStatementError = | BatchStatementError ( nameonly Code: Option , nameonly Message: Option ) datatype BatchStatementErrorCodeEnum = | ConditionalCheckFailed | ItemCollectionSizeLimitExceeded | RequestLimitExceeded | ValidationError | ProvisionedThroughputExceeded | TransactionConflict | ThrottlingError | InternalServerError | ResourceNotFound | AccessDenied | DuplicateItem datatype BatchStatementRequest = | BatchStatementRequest ( nameonly Statement: PartiQLStatement , nameonly Parameters: Option , nameonly ConsistentRead: Option ) datatype BatchStatementResponse = | BatchStatementResponse ( nameonly Error: Option , nameonly TableName: Option , nameonly Item: Option ) datatype BatchWriteItemInput = | BatchWriteItemInput ( nameonly RequestItems: BatchWriteItemRequestMap , nameonly ReturnConsumedCapacity: Option , nameonly ReturnItemCollectionMetrics: Option ) datatype BatchWriteItemOutput = | BatchWriteItemOutput ( nameonly UnprocessedItems: Option , nameonly ItemCollectionMetrics: Option , nameonly ConsumedCapacity: Option ) type BatchWriteItemRequestMap = x: map | IsValid_BatchWriteItemRequestMap(x) witness * predicate method IsValid_BatchWriteItemRequestMap(x: map) { ( 1 <= |x| <= 25 ) } type BilledSizeBytes = x: int64 | IsValid_BilledSizeBytes(x) witness * predicate method IsValid_BilledSizeBytes(x: int64) { ( 0 <= x ) } datatype BillingMode = | PROVISIONED | PAY_PER_REQUEST datatype BillingModeSummary = | BillingModeSummary ( nameonly BillingMode: Option , nameonly LastUpdateToPayPerRequestDateTime: Option ) type BinaryAttributeValue = seq type BinarySetAttributeValue = seq type BooleanAttributeValue = bool type BooleanObject = bool datatype CancellationReason = | CancellationReason ( nameonly Item: Option , nameonly Code: Option , nameonly Message: Option ) type CancellationReasonList = x: seq | IsValid_CancellationReasonList(x) witness * predicate method IsValid_CancellationReasonList(x: seq) { ( 1 <= |x| <= 25 ) } datatype Capacity = | Capacity ( nameonly ReadCapacityUnits: Option , nameonly WriteCapacityUnits: Option , nameonly CapacityUnits: Option ) type ClientRequestToken = x: string | IsValid_ClientRequestToken(x) witness * predicate method IsValid_ClientRequestToken(x: string) { ( 1 <= |x| <= 36 ) } type ClientToken = string type CloudWatchLogGroupArn = x: string | IsValid_CloudWatchLogGroupArn(x) witness * predicate method IsValid_CloudWatchLogGroupArn(x: string) { ( 1 <= |x| <= 1024 ) } type Code = string datatype ComparisonOperator = | EQ | NE | IN | LE | LT | GE | GT | BETWEEN | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH datatype Condition = | Condition ( nameonly AttributeValueList: Option , nameonly ComparisonOperator: ComparisonOperator ) datatype ConditionalOperator = | AND | OR datatype ConditionCheck = | ConditionCheck ( nameonly Key: Key , nameonly TableName: TableName , nameonly ConditionExpression: ConditionExpression , nameonly ExpressionAttributeNames: Option , nameonly ExpressionAttributeValues: Option , nameonly ReturnValuesOnConditionCheckFailure: Option ) type ConditionExpression = string type ConsistentRead = bool datatype ConsumedCapacity = | ConsumedCapacity ( nameonly TableName: Option , nameonly CapacityUnits: Option , nameonly ReadCapacityUnits: Option , nameonly WriteCapacityUnits: Option , nameonly Table: Option , nameonly LocalSecondaryIndexes: Option , nameonly GlobalSecondaryIndexes: Option ) type ConsumedCapacityMultiple = seq type ConsumedCapacityUnits = x: seq | IsValid_ConsumedCapacityUnits(x) witness * predicate method IsValid_ConsumedCapacityUnits(x: seq) { ( 8 <= |x| <= 8 ) } datatype ContinuousBackupsDescription = | ContinuousBackupsDescription ( nameonly ContinuousBackupsStatus: ContinuousBackupsStatus , nameonly PointInTimeRecoveryDescription: Option ) datatype ContinuousBackupsStatus = | ENABLED | DISABLED datatype ContributorInsightsAction = | ENABLE | DISABLE type ContributorInsightsRule = string type ContributorInsightsRuleList = seq datatype ContributorInsightsStatus = | ENABLING | ENABLED | DISABLING | DISABLED | FAILED type ContributorInsightsSummaries = seq datatype ContributorInsightsSummary = | ContributorInsightsSummary ( nameonly TableName: Option , nameonly IndexName: Option , nameonly ContributorInsightsStatus: Option ) datatype CreateBackupInput = | CreateBackupInput ( nameonly TableName: TableName , nameonly BackupName: BackupName ) datatype CreateBackupOutput = | CreateBackupOutput ( nameonly BackupDetails: Option ) datatype CreateGlobalSecondaryIndexAction = | CreateGlobalSecondaryIndexAction ( nameonly IndexName: IndexName , nameonly KeySchema: KeySchema , nameonly Projection: Projection , nameonly ProvisionedThroughput: Option ) datatype CreateGlobalTableInput = | CreateGlobalTableInput ( nameonly GlobalTableName: TableName , nameonly ReplicationGroup: ReplicaList ) datatype CreateGlobalTableOutput = | CreateGlobalTableOutput ( nameonly GlobalTableDescription: Option ) datatype CreateReplicaAction = | CreateReplicaAction ( nameonly RegionName: RegionName ) datatype CreateReplicationGroupMemberAction = | CreateReplicationGroupMemberAction ( nameonly RegionName: RegionName , nameonly KMSMasterKeyId: Option , nameonly ProvisionedThroughputOverride: Option , nameonly GlobalSecondaryIndexes: Option , nameonly TableClassOverride: Option ) datatype CreateTableInput = | CreateTableInput ( nameonly AttributeDefinitions: AttributeDefinitions , nameonly TableName: TableName , nameonly KeySchema: KeySchema , nameonly LocalSecondaryIndexes: Option , nameonly GlobalSecondaryIndexes: Option , nameonly BillingMode: Option , nameonly ProvisionedThroughput: Option , nameonly StreamSpecification: Option , nameonly SSESpecification: Option , nameonly Tags: Option , nameonly TableClass: Option ) datatype CreateTableOutput = | CreateTableOutput ( nameonly TableDescription: Option ) type CsvDelimiter = x: string | IsValid_CsvDelimiter(x) witness * predicate method IsValid_CsvDelimiter(x: string) { ( 1 <= |x| <= 1 ) } type CsvHeader = x: string | IsValid_CsvHeader(x) witness * predicate method IsValid_CsvHeader(x: string) { ( 1 <= |x| <= 65536 ) } type CsvHeaderList = x: seq | IsValid_CsvHeaderList(x) witness * predicate method IsValid_CsvHeaderList(x: seq) { ( 1 <= |x| <= 255 ) } datatype CsvOptions = | CsvOptions ( nameonly Delimiter: Option , nameonly HeaderList: Option ) datatype Delete = | Delete ( nameonly Key: Key , nameonly TableName: TableName , nameonly ConditionExpression: Option , nameonly ExpressionAttributeNames: Option , nameonly ExpressionAttributeValues: Option , nameonly ReturnValuesOnConditionCheckFailure: Option ) datatype DeleteBackupInput = | DeleteBackupInput ( nameonly BackupArn: BackupArn ) datatype DeleteBackupOutput = | DeleteBackupOutput ( nameonly BackupDescription: Option ) datatype DeleteGlobalSecondaryIndexAction = | DeleteGlobalSecondaryIndexAction ( nameonly IndexName: IndexName ) datatype DeleteItemInput = | DeleteItemInput ( nameonly TableName: TableName , nameonly Key: Key , nameonly Expected: Option , nameonly ConditionalOperator: Option , nameonly ReturnValues: Option , nameonly ReturnConsumedCapacity: Option , nameonly ReturnItemCollectionMetrics: Option , nameonly ConditionExpression: Option , nameonly ExpressionAttributeNames: Option , nameonly ExpressionAttributeValues: Option ) datatype DeleteItemOutput = | DeleteItemOutput ( nameonly Attributes: Option , nameonly ConsumedCapacity: Option , nameonly ItemCollectionMetrics: Option ) datatype DeleteReplicaAction = | DeleteReplicaAction ( nameonly RegionName: RegionName ) datatype DeleteReplicationGroupMemberAction = | DeleteReplicationGroupMemberAction ( nameonly RegionName: RegionName ) datatype DeleteRequest = | DeleteRequest ( nameonly Key: Key ) datatype DeleteTableInput = | DeleteTableInput ( nameonly TableName: TableName ) datatype DeleteTableOutput = | DeleteTableOutput ( nameonly TableDescription: Option ) datatype DescribeBackupInput = | DescribeBackupInput ( nameonly BackupArn: BackupArn ) datatype DescribeBackupOutput = | DescribeBackupOutput ( nameonly BackupDescription: Option ) datatype DescribeContinuousBackupsInput = | DescribeContinuousBackupsInput ( nameonly TableName: TableName ) datatype DescribeContinuousBackupsOutput = | DescribeContinuousBackupsOutput ( nameonly ContinuousBackupsDescription: Option ) datatype DescribeContributorInsightsInput = | DescribeContributorInsightsInput ( nameonly TableName: TableName , nameonly IndexName: Option ) datatype DescribeContributorInsightsOutput = | DescribeContributorInsightsOutput ( nameonly TableName: Option , nameonly IndexName: Option , nameonly ContributorInsightsRuleList: Option , nameonly ContributorInsightsStatus: Option , nameonly LastUpdateDateTime: Option , nameonly FailureException: Option ) datatype DescribeEndpointsRequest = | DescribeEndpointsRequest ( ) datatype DescribeEndpointsResponse = | DescribeEndpointsResponse ( nameonly Endpoints: Endpoints ) datatype DescribeExportInput = | DescribeExportInput ( nameonly ExportArn: ExportArn ) datatype DescribeExportOutput = | DescribeExportOutput ( nameonly ExportDescription: Option ) datatype DescribeGlobalTableInput = | DescribeGlobalTableInput ( nameonly GlobalTableName: TableName ) datatype DescribeGlobalTableOutput = | DescribeGlobalTableOutput ( nameonly GlobalTableDescription: Option ) datatype DescribeGlobalTableSettingsInput = | DescribeGlobalTableSettingsInput ( nameonly GlobalTableName: TableName ) datatype DescribeGlobalTableSettingsOutput = | DescribeGlobalTableSettingsOutput ( nameonly GlobalTableName: Option , nameonly ReplicaSettings: Option ) datatype DescribeImportInput = | DescribeImportInput ( nameonly ImportArn: ImportArn ) datatype DescribeImportOutput = | DescribeImportOutput ( nameonly ImportTableDescription: ImportTableDescription ) datatype DescribeKinesisStreamingDestinationInput = | DescribeKinesisStreamingDestinationInput ( nameonly TableName: TableName ) datatype DescribeKinesisStreamingDestinationOutput = | DescribeKinesisStreamingDestinationOutput ( nameonly TableName: Option , nameonly KinesisDataStreamDestinations: Option ) datatype DescribeLimitsInput = | DescribeLimitsInput ( ) datatype DescribeLimitsOutput = | DescribeLimitsOutput ( nameonly AccountMaxReadCapacityUnits: Option , nameonly AccountMaxWriteCapacityUnits: Option , nameonly TableMaxReadCapacityUnits: Option , nameonly TableMaxWriteCapacityUnits: Option ) datatype DescribeTableInput = | DescribeTableInput ( nameonly TableName: TableName ) datatype DescribeTableOutput = | DescribeTableOutput ( nameonly Table: Option ) datatype DescribeTableReplicaAutoScalingInput = | DescribeTableReplicaAutoScalingInput ( nameonly TableName: TableName ) datatype DescribeTableReplicaAutoScalingOutput = | DescribeTableReplicaAutoScalingOutput ( nameonly TableAutoScalingDescription: Option ) datatype DescribeTimeToLiveInput = | DescribeTimeToLiveInput ( nameonly TableName: TableName ) datatype DescribeTimeToLiveOutput = | DescribeTimeToLiveOutput ( nameonly TimeToLiveDescription: Option ) datatype DestinationStatus = | ENABLING | ACTIVE | DISABLING | DISABLED | ENABLE_FAILED datatype DisableKinesisStreamingDestinationInput = | DisableKinesisStreamingDestinationInput ( nameonly TableName: TableName , nameonly StreamArn: StreamArn ) datatype DisableKinesisStreamingDestinationOutput = | DisableKinesisStreamingDestinationOutput ( nameonly TableName: Option , nameonly StreamArn: Option , nameonly DestinationStatus: Option ) type Double = x: seq | IsValid_Double(x) witness * predicate method IsValid_Double(x: seq) { ( 8 <= |x| <= 8 ) } class IDynamoDBClientCallHistory { ghost constructor() { BatchExecuteStatement := []; BatchGetItem := []; BatchWriteItem := []; CreateBackup := []; CreateGlobalTable := []; CreateTable := []; DeleteBackup := []; DeleteItem := []; DeleteTable := []; DescribeBackup := []; DescribeContinuousBackups := []; DescribeContributorInsights := []; DescribeEndpoints := []; DescribeExport := []; DescribeGlobalTable := []; DescribeGlobalTableSettings := []; DescribeImport := []; DescribeKinesisStreamingDestination := []; DescribeLimits := []; DescribeTable := []; DescribeTableReplicaAutoScaling := []; DescribeTimeToLive := []; DisableKinesisStreamingDestination := []; EnableKinesisStreamingDestination := []; ExecuteStatement := []; ExecuteTransaction := []; ExportTableToPointInTime := []; GetItem := []; ImportTable := []; ListBackups := []; ListContributorInsights := []; ListExports := []; ListGlobalTables := []; ListImports := []; ListTables := []; ListTagsOfResource := []; PutItem := []; Query := []; RestoreTableFromBackup := []; RestoreTableToPointInTime := []; Scan := []; TagResource := []; TransactGetItems := []; TransactWriteItems := []; UntagResource := []; UpdateContinuousBackups := []; UpdateContributorInsights := []; UpdateGlobalTable := []; UpdateGlobalTableSettings := []; UpdateItem := []; UpdateTable := []; UpdateTableReplicaAutoScaling := []; UpdateTimeToLive := []; } ghost var BatchExecuteStatement: seq>> ghost var BatchGetItem: seq>> ghost var BatchWriteItem: seq>> ghost var CreateBackup: seq>> ghost var CreateGlobalTable: seq>> ghost var CreateTable: seq>> ghost var DeleteBackup: seq>> ghost var DeleteItem: seq>> ghost var DeleteTable: seq>> ghost var DescribeBackup: seq>> ghost var DescribeContinuousBackups: seq>> ghost var DescribeContributorInsights: seq>> ghost var DescribeEndpoints: seq>> ghost var DescribeExport: seq>> ghost var DescribeGlobalTable: seq>> ghost var DescribeGlobalTableSettings: seq>> ghost var DescribeImport: seq>> ghost var DescribeKinesisStreamingDestination: seq>> ghost var DescribeLimits: seq>> ghost var DescribeTable: seq>> ghost var DescribeTableReplicaAutoScaling: seq>> ghost var DescribeTimeToLive: seq>> ghost var DisableKinesisStreamingDestination: seq>> ghost var EnableKinesisStreamingDestination: seq>> ghost var ExecuteStatement: seq>> ghost var ExecuteTransaction: seq>> ghost var ExportTableToPointInTime: seq>> ghost var GetItem: seq>> ghost var ImportTable: seq>> ghost var ListBackups: seq>> ghost var ListContributorInsights: seq>> ghost var ListExports: seq>> ghost var ListGlobalTables: seq>> ghost var ListImports: seq>> ghost var ListTables: seq>> ghost var ListTagsOfResource: seq>> ghost var PutItem: seq>> ghost var Query: seq>> ghost var RestoreTableFromBackup: seq>> ghost var RestoreTableToPointInTime: seq>> ghost var Scan: seq>> ghost var TagResource: seq>> ghost var TransactGetItems: seq>> ghost var TransactWriteItems: seq>> ghost var UntagResource: seq>> ghost var UpdateContinuousBackups: seq>> ghost var UpdateContributorInsights: seq>> ghost var UpdateGlobalTable: seq>> ghost var UpdateGlobalTableSettings: seq>> ghost var UpdateItem: seq>> ghost var UpdateTable: seq>> ghost var UpdateTableReplicaAutoScaling: seq>> ghost var UpdateTimeToLive: seq>> } trait {:termination false} IDynamoDBClient { // Helper to define any additional modifies/reads clauses. // If your operations need to mutate state, // add it in your constructor function: // Modifies := {your, fields, here, History}; // If you do not need to mutate anything: // Modifies := {History}; ghost const Modifies: set // For an unassigned field defined in a trait, // Dafny can only assign a value in the constructor. // This means that for Dafny to reason about this value, // it needs some way to know (an invariant), // about the state of the object. // This builds on the Valid/Repr paradigm // To make this kind requires safe to add // to methods called from unverified code, // the predicate MUST NOT take any arguments. // This means that the correctness of this requires // MUST only be evaluated by the class itself. // If you require any additional mutation, // then you MUST ensure everything you need in ValidState. // You MUST also ensure ValidState in your constructor. predicate ValidState() ensures ValidState() ==> History in Modifies ghost const History: IDynamoDBClientCallHistory predicate BatchExecuteStatementEnsuresPublicly(input: BatchExecuteStatementInput , output: Result) // The public method to be called by library consumers method BatchExecuteStatement ( input: BatchExecuteStatementInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`BatchExecuteStatement // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures BatchExecuteStatementEnsuresPublicly(input, output) ensures History.BatchExecuteStatement == old(History.BatchExecuteStatement) + [DafnyCallEvent(input, output)] predicate BatchGetItemEnsuresPublicly(input: BatchGetItemInput , output: Result) // The public method to be called by library consumers method BatchGetItem ( input: BatchGetItemInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`BatchGetItem // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures BatchGetItemEnsuresPublicly(input, output) ensures History.BatchGetItem == old(History.BatchGetItem) + [DafnyCallEvent(input, output)] predicate BatchWriteItemEnsuresPublicly(input: BatchWriteItemInput , output: Result) // The public method to be called by library consumers method BatchWriteItem ( input: BatchWriteItemInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`BatchWriteItem // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures BatchWriteItemEnsuresPublicly(input, output) ensures History.BatchWriteItem == old(History.BatchWriteItem) + [DafnyCallEvent(input, output)] predicate CreateBackupEnsuresPublicly(input: CreateBackupInput , output: Result) // The public method to be called by library consumers method CreateBackup ( input: CreateBackupInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`CreateBackup // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures CreateBackupEnsuresPublicly(input, output) ensures History.CreateBackup == old(History.CreateBackup) + [DafnyCallEvent(input, output)] predicate CreateGlobalTableEnsuresPublicly(input: CreateGlobalTableInput , output: Result) // The public method to be called by library consumers method CreateGlobalTable ( input: CreateGlobalTableInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`CreateGlobalTable // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures CreateGlobalTableEnsuresPublicly(input, output) ensures History.CreateGlobalTable == old(History.CreateGlobalTable) + [DafnyCallEvent(input, output)] predicate CreateTableEnsuresPublicly(input: CreateTableInput , output: Result) // The public method to be called by library consumers method CreateTable ( input: CreateTableInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`CreateTable // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures CreateTableEnsuresPublicly(input, output) ensures History.CreateTable == old(History.CreateTable) + [DafnyCallEvent(input, output)] predicate DeleteBackupEnsuresPublicly(input: DeleteBackupInput , output: Result) // The public method to be called by library consumers method DeleteBackup ( input: DeleteBackupInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DeleteBackup // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DeleteBackupEnsuresPublicly(input, output) ensures History.DeleteBackup == old(History.DeleteBackup) + [DafnyCallEvent(input, output)] predicate DeleteItemEnsuresPublicly(input: DeleteItemInput , output: Result) // The public method to be called by library consumers method DeleteItem ( input: DeleteItemInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DeleteItem // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DeleteItemEnsuresPublicly(input, output) ensures History.DeleteItem == old(History.DeleteItem) + [DafnyCallEvent(input, output)] predicate DeleteTableEnsuresPublicly(input: DeleteTableInput , output: Result) // The public method to be called by library consumers method DeleteTable ( input: DeleteTableInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DeleteTable // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DeleteTableEnsuresPublicly(input, output) ensures History.DeleteTable == old(History.DeleteTable) + [DafnyCallEvent(input, output)] predicate DescribeBackupEnsuresPublicly(input: DescribeBackupInput , output: Result) // The public method to be called by library consumers method DescribeBackup ( input: DescribeBackupInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeBackup // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeBackupEnsuresPublicly(input, output) ensures History.DescribeBackup == old(History.DescribeBackup) + [DafnyCallEvent(input, output)] predicate DescribeContinuousBackupsEnsuresPublicly(input: DescribeContinuousBackupsInput , output: Result) // The public method to be called by library consumers method DescribeContinuousBackups ( input: DescribeContinuousBackupsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeContinuousBackups // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeContinuousBackupsEnsuresPublicly(input, output) ensures History.DescribeContinuousBackups == old(History.DescribeContinuousBackups) + [DafnyCallEvent(input, output)] predicate DescribeContributorInsightsEnsuresPublicly(input: DescribeContributorInsightsInput , output: Result) // The public method to be called by library consumers method DescribeContributorInsights ( input: DescribeContributorInsightsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeContributorInsights // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeContributorInsightsEnsuresPublicly(input, output) ensures History.DescribeContributorInsights == old(History.DescribeContributorInsights) + [DafnyCallEvent(input, output)] predicate DescribeEndpointsEnsuresPublicly(input: DescribeEndpointsRequest , output: Result) // The public method to be called by library consumers method DescribeEndpoints ( input: DescribeEndpointsRequest ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeEndpoints // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeEndpointsEnsuresPublicly(input, output) ensures History.DescribeEndpoints == old(History.DescribeEndpoints) + [DafnyCallEvent(input, output)] predicate DescribeExportEnsuresPublicly(input: DescribeExportInput , output: Result) // The public method to be called by library consumers method DescribeExport ( input: DescribeExportInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeExport // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeExportEnsuresPublicly(input, output) ensures History.DescribeExport == old(History.DescribeExport) + [DafnyCallEvent(input, output)] predicate DescribeGlobalTableEnsuresPublicly(input: DescribeGlobalTableInput , output: Result) // The public method to be called by library consumers method DescribeGlobalTable ( input: DescribeGlobalTableInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeGlobalTable // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeGlobalTableEnsuresPublicly(input, output) ensures History.DescribeGlobalTable == old(History.DescribeGlobalTable) + [DafnyCallEvent(input, output)] predicate DescribeGlobalTableSettingsEnsuresPublicly(input: DescribeGlobalTableSettingsInput , output: Result) // The public method to be called by library consumers method DescribeGlobalTableSettings ( input: DescribeGlobalTableSettingsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeGlobalTableSettings // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeGlobalTableSettingsEnsuresPublicly(input, output) ensures History.DescribeGlobalTableSettings == old(History.DescribeGlobalTableSettings) + [DafnyCallEvent(input, output)] predicate DescribeImportEnsuresPublicly(input: DescribeImportInput , output: Result) // The public method to be called by library consumers method DescribeImport ( input: DescribeImportInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeImport // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeImportEnsuresPublicly(input, output) ensures History.DescribeImport == old(History.DescribeImport) + [DafnyCallEvent(input, output)] predicate DescribeKinesisStreamingDestinationEnsuresPublicly(input: DescribeKinesisStreamingDestinationInput , output: Result) // The public method to be called by library consumers method DescribeKinesisStreamingDestination ( input: DescribeKinesisStreamingDestinationInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeKinesisStreamingDestination // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeKinesisStreamingDestinationEnsuresPublicly(input, output) ensures History.DescribeKinesisStreamingDestination == old(History.DescribeKinesisStreamingDestination) + [DafnyCallEvent(input, output)] predicate DescribeLimitsEnsuresPublicly(input: DescribeLimitsInput , output: Result) // The public method to be called by library consumers method DescribeLimits ( input: DescribeLimitsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeLimits // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeLimitsEnsuresPublicly(input, output) ensures History.DescribeLimits == old(History.DescribeLimits) + [DafnyCallEvent(input, output)] predicate DescribeTableEnsuresPublicly(input: DescribeTableInput , output: Result) // The public method to be called by library consumers method DescribeTable ( input: DescribeTableInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeTable // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeTableEnsuresPublicly(input, output) ensures History.DescribeTable == old(History.DescribeTable) + [DafnyCallEvent(input, output)] predicate DescribeTableReplicaAutoScalingEnsuresPublicly(input: DescribeTableReplicaAutoScalingInput , output: Result) // The public method to be called by library consumers method DescribeTableReplicaAutoScaling ( input: DescribeTableReplicaAutoScalingInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeTableReplicaAutoScaling // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeTableReplicaAutoScalingEnsuresPublicly(input, output) ensures History.DescribeTableReplicaAutoScaling == old(History.DescribeTableReplicaAutoScaling) + [DafnyCallEvent(input, output)] predicate DescribeTimeToLiveEnsuresPublicly(input: DescribeTimeToLiveInput , output: Result) // The public method to be called by library consumers method DescribeTimeToLive ( input: DescribeTimeToLiveInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DescribeTimeToLive // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DescribeTimeToLiveEnsuresPublicly(input, output) ensures History.DescribeTimeToLive == old(History.DescribeTimeToLive) + [DafnyCallEvent(input, output)] predicate DisableKinesisStreamingDestinationEnsuresPublicly(input: DisableKinesisStreamingDestinationInput , output: Result) // The public method to be called by library consumers method DisableKinesisStreamingDestination ( input: DisableKinesisStreamingDestinationInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`DisableKinesisStreamingDestination // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures DisableKinesisStreamingDestinationEnsuresPublicly(input, output) ensures History.DisableKinesisStreamingDestination == old(History.DisableKinesisStreamingDestination) + [DafnyCallEvent(input, output)] predicate EnableKinesisStreamingDestinationEnsuresPublicly(input: EnableKinesisStreamingDestinationInput , output: Result) // The public method to be called by library consumers method EnableKinesisStreamingDestination ( input: EnableKinesisStreamingDestinationInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`EnableKinesisStreamingDestination // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures EnableKinesisStreamingDestinationEnsuresPublicly(input, output) ensures History.EnableKinesisStreamingDestination == old(History.EnableKinesisStreamingDestination) + [DafnyCallEvent(input, output)] predicate ExecuteStatementEnsuresPublicly(input: ExecuteStatementInput , output: Result) // The public method to be called by library consumers method ExecuteStatement ( input: ExecuteStatementInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ExecuteStatement // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ExecuteStatementEnsuresPublicly(input, output) ensures History.ExecuteStatement == old(History.ExecuteStatement) + [DafnyCallEvent(input, output)] predicate ExecuteTransactionEnsuresPublicly(input: ExecuteTransactionInput , output: Result) // The public method to be called by library consumers method ExecuteTransaction ( input: ExecuteTransactionInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ExecuteTransaction // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ExecuteTransactionEnsuresPublicly(input, output) ensures History.ExecuteTransaction == old(History.ExecuteTransaction) + [DafnyCallEvent(input, output)] predicate ExportTableToPointInTimeEnsuresPublicly(input: ExportTableToPointInTimeInput , output: Result) // The public method to be called by library consumers method ExportTableToPointInTime ( input: ExportTableToPointInTimeInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ExportTableToPointInTime // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ExportTableToPointInTimeEnsuresPublicly(input, output) ensures History.ExportTableToPointInTime == old(History.ExportTableToPointInTime) + [DafnyCallEvent(input, output)] predicate GetItemEnsuresPublicly(input: GetItemInput , output: Result) // The public method to be called by library consumers method GetItem ( input: GetItemInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`GetItem // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures GetItemEnsuresPublicly(input, output) ensures History.GetItem == old(History.GetItem) + [DafnyCallEvent(input, output)] predicate ImportTableEnsuresPublicly(input: ImportTableInput , output: Result) // The public method to be called by library consumers method ImportTable ( input: ImportTableInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ImportTable // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ImportTableEnsuresPublicly(input, output) ensures History.ImportTable == old(History.ImportTable) + [DafnyCallEvent(input, output)] predicate ListBackupsEnsuresPublicly(input: ListBackupsInput , output: Result) // The public method to be called by library consumers method ListBackups ( input: ListBackupsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ListBackups // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ListBackupsEnsuresPublicly(input, output) ensures History.ListBackups == old(History.ListBackups) + [DafnyCallEvent(input, output)] predicate ListContributorInsightsEnsuresPublicly(input: ListContributorInsightsInput , output: Result) // The public method to be called by library consumers method ListContributorInsights ( input: ListContributorInsightsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ListContributorInsights // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ListContributorInsightsEnsuresPublicly(input, output) ensures History.ListContributorInsights == old(History.ListContributorInsights) + [DafnyCallEvent(input, output)] predicate ListExportsEnsuresPublicly(input: ListExportsInput , output: Result) // The public method to be called by library consumers method ListExports ( input: ListExportsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ListExports // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ListExportsEnsuresPublicly(input, output) ensures History.ListExports == old(History.ListExports) + [DafnyCallEvent(input, output)] predicate ListGlobalTablesEnsuresPublicly(input: ListGlobalTablesInput , output: Result) // The public method to be called by library consumers method ListGlobalTables ( input: ListGlobalTablesInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ListGlobalTables // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ListGlobalTablesEnsuresPublicly(input, output) ensures History.ListGlobalTables == old(History.ListGlobalTables) + [DafnyCallEvent(input, output)] predicate ListImportsEnsuresPublicly(input: ListImportsInput , output: Result) // The public method to be called by library consumers method ListImports ( input: ListImportsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ListImports // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ListImportsEnsuresPublicly(input, output) ensures History.ListImports == old(History.ListImports) + [DafnyCallEvent(input, output)] predicate ListTablesEnsuresPublicly(input: ListTablesInput , output: Result) // The public method to be called by library consumers method ListTables ( input: ListTablesInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ListTables // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ListTablesEnsuresPublicly(input, output) ensures History.ListTables == old(History.ListTables) + [DafnyCallEvent(input, output)] predicate ListTagsOfResourceEnsuresPublicly(input: ListTagsOfResourceInput , output: Result) // The public method to be called by library consumers method ListTagsOfResource ( input: ListTagsOfResourceInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`ListTagsOfResource // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ListTagsOfResourceEnsuresPublicly(input, output) ensures History.ListTagsOfResource == old(History.ListTagsOfResource) + [DafnyCallEvent(input, output)] predicate PutItemEnsuresPublicly(input: PutItemInput , output: Result) // The public method to be called by library consumers method PutItem ( input: PutItemInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`PutItem // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures PutItemEnsuresPublicly(input, output) ensures History.PutItem == old(History.PutItem) + [DafnyCallEvent(input, output)] predicate QueryEnsuresPublicly(input: QueryInput , output: Result) // The public method to be called by library consumers method Query ( input: QueryInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`Query // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures QueryEnsuresPublicly(input, output) ensures History.Query == old(History.Query) + [DafnyCallEvent(input, output)] predicate RestoreTableFromBackupEnsuresPublicly(input: RestoreTableFromBackupInput , output: Result) // The public method to be called by library consumers method RestoreTableFromBackup ( input: RestoreTableFromBackupInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`RestoreTableFromBackup // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures RestoreTableFromBackupEnsuresPublicly(input, output) ensures History.RestoreTableFromBackup == old(History.RestoreTableFromBackup) + [DafnyCallEvent(input, output)] predicate RestoreTableToPointInTimeEnsuresPublicly(input: RestoreTableToPointInTimeInput , output: Result) // The public method to be called by library consumers method RestoreTableToPointInTime ( input: RestoreTableToPointInTimeInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`RestoreTableToPointInTime // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures RestoreTableToPointInTimeEnsuresPublicly(input, output) ensures History.RestoreTableToPointInTime == old(History.RestoreTableToPointInTime) + [DafnyCallEvent(input, output)] predicate ScanEnsuresPublicly(input: ScanInput , output: Result) // The public method to be called by library consumers method Scan ( input: ScanInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`Scan // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures ScanEnsuresPublicly(input, output) ensures History.Scan == old(History.Scan) + [DafnyCallEvent(input, output)] predicate TagResourceEnsuresPublicly(input: TagResourceInput , output: Result<(), Error>) // The public method to be called by library consumers method TagResource ( input: TagResourceInput ) returns (output: Result<(), Error>) requires && ValidState() modifies Modifies - {History} , History`TagResource // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures TagResourceEnsuresPublicly(input, output) ensures History.TagResource == old(History.TagResource) + [DafnyCallEvent(input, output)] predicate TransactGetItemsEnsuresPublicly(input: TransactGetItemsInput , output: Result) // The public method to be called by library consumers method TransactGetItems ( input: TransactGetItemsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`TransactGetItems // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures TransactGetItemsEnsuresPublicly(input, output) ensures History.TransactGetItems == old(History.TransactGetItems) + [DafnyCallEvent(input, output)] predicate TransactWriteItemsEnsuresPublicly(input: TransactWriteItemsInput , output: Result) // The public method to be called by library consumers method TransactWriteItems ( input: TransactWriteItemsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`TransactWriteItems // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures TransactWriteItemsEnsuresPublicly(input, output) ensures History.TransactWriteItems == old(History.TransactWriteItems) + [DafnyCallEvent(input, output)] predicate UntagResourceEnsuresPublicly(input: UntagResourceInput , output: Result<(), Error>) // The public method to be called by library consumers method UntagResource ( input: UntagResourceInput ) returns (output: Result<(), Error>) requires && ValidState() modifies Modifies - {History} , History`UntagResource // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures UntagResourceEnsuresPublicly(input, output) ensures History.UntagResource == old(History.UntagResource) + [DafnyCallEvent(input, output)] predicate UpdateContinuousBackupsEnsuresPublicly(input: UpdateContinuousBackupsInput , output: Result) // The public method to be called by library consumers method UpdateContinuousBackups ( input: UpdateContinuousBackupsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`UpdateContinuousBackups // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures UpdateContinuousBackupsEnsuresPublicly(input, output) ensures History.UpdateContinuousBackups == old(History.UpdateContinuousBackups) + [DafnyCallEvent(input, output)] predicate UpdateContributorInsightsEnsuresPublicly(input: UpdateContributorInsightsInput , output: Result) // The public method to be called by library consumers method UpdateContributorInsights ( input: UpdateContributorInsightsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`UpdateContributorInsights // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures UpdateContributorInsightsEnsuresPublicly(input, output) ensures History.UpdateContributorInsights == old(History.UpdateContributorInsights) + [DafnyCallEvent(input, output)] predicate UpdateGlobalTableEnsuresPublicly(input: UpdateGlobalTableInput , output: Result) // The public method to be called by library consumers method UpdateGlobalTable ( input: UpdateGlobalTableInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`UpdateGlobalTable // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures UpdateGlobalTableEnsuresPublicly(input, output) ensures History.UpdateGlobalTable == old(History.UpdateGlobalTable) + [DafnyCallEvent(input, output)] predicate UpdateGlobalTableSettingsEnsuresPublicly(input: UpdateGlobalTableSettingsInput , output: Result) // The public method to be called by library consumers method UpdateGlobalTableSettings ( input: UpdateGlobalTableSettingsInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`UpdateGlobalTableSettings // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures UpdateGlobalTableSettingsEnsuresPublicly(input, output) ensures History.UpdateGlobalTableSettings == old(History.UpdateGlobalTableSettings) + [DafnyCallEvent(input, output)] predicate UpdateItemEnsuresPublicly(input: UpdateItemInput , output: Result) // The public method to be called by library consumers method UpdateItem ( input: UpdateItemInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`UpdateItem // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures UpdateItemEnsuresPublicly(input, output) ensures History.UpdateItem == old(History.UpdateItem) + [DafnyCallEvent(input, output)] predicate UpdateTableEnsuresPublicly(input: UpdateTableInput , output: Result) // The public method to be called by library consumers method UpdateTable ( input: UpdateTableInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`UpdateTable // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures UpdateTableEnsuresPublicly(input, output) ensures History.UpdateTable == old(History.UpdateTable) + [DafnyCallEvent(input, output)] predicate UpdateTableReplicaAutoScalingEnsuresPublicly(input: UpdateTableReplicaAutoScalingInput , output: Result) // The public method to be called by library consumers method UpdateTableReplicaAutoScaling ( input: UpdateTableReplicaAutoScalingInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`UpdateTableReplicaAutoScaling // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures UpdateTableReplicaAutoScalingEnsuresPublicly(input, output) ensures History.UpdateTableReplicaAutoScaling == old(History.UpdateTableReplicaAutoScaling) + [DafnyCallEvent(input, output)] predicate UpdateTimeToLiveEnsuresPublicly(input: UpdateTimeToLiveInput , output: Result) // The public method to be called by library consumers method UpdateTimeToLive ( input: UpdateTimeToLiveInput ) returns (output: Result) requires && ValidState() modifies Modifies - {History} , History`UpdateTimeToLive // Dafny will skip type parameters when generating a default decreases clause. decreases Modifies - {History} ensures && ValidState() ensures UpdateTimeToLiveEnsuresPublicly(input, output) ensures History.UpdateTimeToLive == old(History.UpdateTimeToLive) + [DafnyCallEvent(input, output)] } datatype EnableKinesisStreamingDestinationInput = | EnableKinesisStreamingDestinationInput ( nameonly TableName: TableName , nameonly StreamArn: StreamArn ) datatype EnableKinesisStreamingDestinationOutput = | EnableKinesisStreamingDestinationOutput ( nameonly TableName: Option , nameonly StreamArn: Option , nameonly DestinationStatus: Option ) datatype Endpoint = | Endpoint ( nameonly Address: String , nameonly CachePeriodInMinutes: Long ) type Endpoints = seq type ErrorCount = x: int64 | IsValid_ErrorCount(x) witness * predicate method IsValid_ErrorCount(x: int64) { ( 0 <= x ) } type ErrorMessage = string type ExceptionDescription = string type ExceptionName = string datatype ExecuteStatementInput = | ExecuteStatementInput ( nameonly Statement: PartiQLStatement , nameonly Parameters: Option , nameonly ConsistentRead: Option , nameonly NextToken: Option , nameonly ReturnConsumedCapacity: Option , nameonly Limit: Option ) datatype ExecuteStatementOutput = | ExecuteStatementOutput ( nameonly Items: Option , nameonly NextToken: Option , nameonly ConsumedCapacity: Option , nameonly LastEvaluatedKey: Option ) datatype ExecuteTransactionInput = | ExecuteTransactionInput ( nameonly TransactStatements: ParameterizedStatements , nameonly ClientRequestToken: Option , nameonly ReturnConsumedCapacity: Option ) datatype ExecuteTransactionOutput = | ExecuteTransactionOutput ( nameonly Responses: Option , nameonly ConsumedCapacity: Option ) type ExpectedAttributeMap = map datatype ExpectedAttributeValue = | ExpectedAttributeValue ( nameonly Value: Option , nameonly Exists: Option , nameonly ComparisonOperator: Option , nameonly AttributeValueList: Option ) type ExportArn = x: string | IsValid_ExportArn(x) witness * predicate method IsValid_ExportArn(x: string) { ( 37 <= |x| <= 1024 ) } datatype ExportDescription = | ExportDescription ( nameonly ExportArn: Option , nameonly ExportStatus: Option , nameonly StartTime: Option , nameonly EndTime: Option , nameonly ExportManifest: Option , nameonly TableArn: Option , nameonly TableId: Option , nameonly ExportTime: Option , nameonly ClientToken: Option , nameonly S3Bucket: Option , nameonly S3BucketOwner: Option , nameonly S3Prefix: Option , nameonly S3SseAlgorithm: Option , nameonly S3SseKmsKeyId: Option , nameonly FailureCode: Option , nameonly FailureMessage: Option , nameonly ExportFormat: Option , nameonly BilledSizeBytes: Option , nameonly ItemCount: Option ) datatype ExportFormat = | DYNAMODB_JSON | ION type ExportManifest = string type ExportNextToken = string datatype ExportStatus = | IN_PROGRESS | COMPLETED | FAILED type ExportSummaries = seq datatype ExportSummary = | ExportSummary ( nameonly ExportArn: Option , nameonly ExportStatus: Option ) datatype ExportTableToPointInTimeInput = | ExportTableToPointInTimeInput ( nameonly TableArn: TableArn , nameonly ExportTime: Option , nameonly ClientToken: Option , nameonly S3Bucket: S3Bucket , nameonly S3BucketOwner: Option , nameonly S3Prefix: Option , nameonly S3SseAlgorithm: Option , nameonly S3SseKmsKeyId: Option , nameonly ExportFormat: Option ) datatype ExportTableToPointInTimeOutput = | ExportTableToPointInTimeOutput ( nameonly ExportDescription: Option ) type ExpressionAttributeNameMap = map type ExpressionAttributeNameVariable = string type ExpressionAttributeValueMap = map type ExpressionAttributeValueVariable = string type FailureCode = string datatype FailureException = | FailureException ( nameonly ExceptionName: Option , nameonly ExceptionDescription: Option ) type FailureMessage = string type FilterConditionMap = map datatype Get = | Get ( nameonly Key: Key , nameonly TableName: TableName , nameonly ProjectionExpression: Option , nameonly ExpressionAttributeNames: Option ) datatype GetItemInput = | GetItemInput ( nameonly TableName: TableName , nameonly Key: Key , nameonly AttributesToGet: Option , nameonly ConsistentRead: Option , nameonly ReturnConsumedCapacity: Option , nameonly ProjectionExpression: Option , nameonly ExpressionAttributeNames: Option ) datatype GetItemOutput = | GetItemOutput ( nameonly Item: Option , nameonly ConsumedCapacity: Option ) datatype GlobalSecondaryIndex = | GlobalSecondaryIndex ( nameonly IndexName: IndexName , nameonly KeySchema: KeySchema , nameonly Projection: Projection , nameonly ProvisionedThroughput: Option ) datatype GlobalSecondaryIndexAutoScalingUpdate = | GlobalSecondaryIndexAutoScalingUpdate ( nameonly IndexName: Option , nameonly ProvisionedWriteCapacityAutoScalingUpdate: Option ) type GlobalSecondaryIndexAutoScalingUpdateList = x: seq | IsValid_GlobalSecondaryIndexAutoScalingUpdateList(x) witness * predicate method IsValid_GlobalSecondaryIndexAutoScalingUpdateList(x: seq) { ( 1 <= |x| ) } datatype GlobalSecondaryIndexDescription = | GlobalSecondaryIndexDescription ( nameonly IndexName: Option , nameonly KeySchema: Option , nameonly Projection: Option , nameonly IndexStatus: Option , nameonly Backfilling: Option , nameonly ProvisionedThroughput: Option , nameonly IndexSizeBytes: Option , nameonly ItemCount: Option , nameonly IndexArn: Option ) type GlobalSecondaryIndexDescriptionList = seq type GlobalSecondaryIndexes = seq datatype GlobalSecondaryIndexInfo = | GlobalSecondaryIndexInfo ( nameonly IndexName: Option , nameonly KeySchema: Option , nameonly Projection: Option , nameonly ProvisionedThroughput: Option ) type GlobalSecondaryIndexList = seq datatype GlobalSecondaryIndexUpdate = | GlobalSecondaryIndexUpdate ( nameonly Update: Option , nameonly Create: Option , nameonly Delete: Option ) type GlobalSecondaryIndexUpdateList = seq datatype GlobalTable = | GlobalTable ( nameonly GlobalTableName: Option , nameonly ReplicationGroup: Option ) type GlobalTableArnString = string datatype GlobalTableDescription = | GlobalTableDescription ( nameonly ReplicationGroup: Option , nameonly GlobalTableArn: Option , nameonly CreationDateTime: Option , nameonly GlobalTableStatus: Option , nameonly GlobalTableName: Option ) datatype GlobalTableGlobalSecondaryIndexSettingsUpdate = | GlobalTableGlobalSecondaryIndexSettingsUpdate ( nameonly IndexName: IndexName , nameonly ProvisionedWriteCapacityUnits: Option , nameonly ProvisionedWriteCapacityAutoScalingSettingsUpdate: Option ) type GlobalTableGlobalSecondaryIndexSettingsUpdateList = x: seq | IsValid_GlobalTableGlobalSecondaryIndexSettingsUpdateList(x) witness * predicate method IsValid_GlobalTableGlobalSecondaryIndexSettingsUpdateList(x: seq) { ( 1 <= |x| <= 20 ) } type GlobalTableList = seq datatype GlobalTableStatus = | CREATING | ACTIVE | DELETING | UPDATING type ImportArn = x: string | IsValid_ImportArn(x) witness * predicate method IsValid_ImportArn(x: string) { ( 37 <= |x| <= 1024 ) } type ImportedItemCount = x: int64 | IsValid_ImportedItemCount(x) witness * predicate method IsValid_ImportedItemCount(x: int64) { ( 0 <= x ) } type ImportNextToken = x: string | IsValid_ImportNextToken(x) witness * predicate method IsValid_ImportNextToken(x: string) { ( 112 <= |x| <= 1024 ) } datatype ImportStatus = | IN_PROGRESS | COMPLETED | CANCELLING | CANCELLED | FAILED datatype ImportSummary = | ImportSummary ( nameonly ImportArn: Option , nameonly ImportStatus: Option , nameonly TableArn: Option , nameonly S3BucketSource: Option , nameonly CloudWatchLogGroupArn: Option , nameonly InputFormat: Option , nameonly StartTime: Option , nameonly EndTime: Option ) type ImportSummaryList = seq datatype ImportTableDescription = | ImportTableDescription ( nameonly ImportArn: Option , nameonly ImportStatus: Option , nameonly TableArn: Option , nameonly TableId: Option , nameonly ClientToken: Option , nameonly S3BucketSource: Option , nameonly ErrorCount: Option , nameonly CloudWatchLogGroupArn: Option , nameonly InputFormat: Option , nameonly InputFormatOptions: Option , nameonly InputCompressionType: Option , nameonly TableCreationParameters: Option , nameonly StartTime: Option , nameonly EndTime: Option , nameonly ProcessedSizeBytes: Option , nameonly ProcessedItemCount: Option , nameonly ImportedItemCount: Option , nameonly FailureCode: Option , nameonly FailureMessage: Option ) datatype ImportTableInput = | ImportTableInput ( nameonly ClientToken: Option , nameonly S3BucketSource: S3BucketSource , nameonly InputFormat: InputFormat , nameonly InputFormatOptions: Option , nameonly InputCompressionType: Option , nameonly TableCreationParameters: TableCreationParameters ) datatype ImportTableOutput = | ImportTableOutput ( nameonly ImportTableDescription: ImportTableDescription ) type IndexName = x: string | IsValid_IndexName(x) witness * predicate method IsValid_IndexName(x: string) { ( 3 <= |x| <= 255 ) } datatype IndexStatus = | CREATING | UPDATING | DELETING | ACTIVE datatype InputCompressionType = | GZIP | ZSTD | NONE datatype InputFormat = | DYNAMODB_JSON | ION | CSV datatype InputFormatOptions = | InputFormatOptions ( nameonly Csv: Option ) type Integer = int32 type IntegerObject = int32 type ItemCollectionKeyAttributeMap = map datatype ItemCollectionMetrics = | ItemCollectionMetrics ( nameonly ItemCollectionKey: Option , nameonly SizeEstimateRangeGB: Option ) type ItemCollectionMetricsMultiple = seq type ItemCollectionMetricsPerTable = map type ItemCollectionSizeEstimateBound = x: seq | IsValid_ItemCollectionSizeEstimateBound(x) witness * predicate method IsValid_ItemCollectionSizeEstimateBound(x: seq) { ( 8 <= |x| <= 8 ) } type ItemCollectionSizeEstimateRange = seq type ItemCount = x: int64 | IsValid_ItemCount(x) witness * predicate method IsValid_ItemCount(x: int64) { ( 0 <= x ) } type ItemList = seq datatype ItemResponse = | ItemResponse ( nameonly Item: Option ) type ItemResponseList = x: seq | IsValid_ItemResponseList(x) witness * predicate method IsValid_ItemResponseList(x: seq) { ( 1 <= |x| <= 25 ) } type Key = map type KeyConditions = map type KeyExpression = string type KeyList = x: seq | IsValid_KeyList(x) witness * predicate method IsValid_KeyList(x: seq) { ( 1 <= |x| <= 100 ) } datatype KeysAndAttributes = | KeysAndAttributes ( nameonly Keys: KeyList , nameonly AttributesToGet: Option , nameonly ConsistentRead: Option , nameonly ProjectionExpression: Option , nameonly ExpressionAttributeNames: Option ) type KeySchema = x: seq | IsValid_KeySchema(x) witness * predicate method IsValid_KeySchema(x: seq) { ( 1 <= |x| <= 2 ) } type KeySchemaAttributeName = x: string | IsValid_KeySchemaAttributeName(x) witness * predicate method IsValid_KeySchemaAttributeName(x: string) { ( 1 <= |x| <= 255 ) } datatype KeySchemaElement = | KeySchemaElement ( nameonly AttributeName: KeySchemaAttributeName , nameonly KeyType: KeyType ) datatype KeyType = | HASH | RANGE datatype KinesisDataStreamDestination = | KinesisDataStreamDestination ( nameonly StreamArn: Option , nameonly DestinationStatus: Option , nameonly DestinationStatusDescription: Option ) type KinesisDataStreamDestinations = seq datatype KinesisStreamingDestinationInput = | KinesisStreamingDestinationInput ( nameonly TableName: TableName , nameonly StreamArn: StreamArn ) datatype KinesisStreamingDestinationOutput = | KinesisStreamingDestinationOutput ( nameonly TableName: Option , nameonly StreamArn: Option , nameonly DestinationStatus: Option ) type KMSMasterKeyArn = string type KMSMasterKeyId = string type ListAttributeValue = seq datatype ListBackupsInput = | ListBackupsInput ( nameonly TableName: Option , nameonly Limit: Option , nameonly TimeRangeLowerBound: Option , nameonly TimeRangeUpperBound: Option , nameonly ExclusiveStartBackupArn: Option , nameonly BackupType: Option ) datatype ListBackupsOutput = | ListBackupsOutput ( nameonly BackupSummaries: Option , nameonly LastEvaluatedBackupArn: Option ) datatype ListContributorInsightsInput = | ListContributorInsightsInput ( nameonly TableName: Option , nameonly NextToken: Option , nameonly MaxResults: Option ) type ListContributorInsightsLimit = x: int32 | IsValid_ListContributorInsightsLimit(x) witness * predicate method IsValid_ListContributorInsightsLimit(x: int32) { ( x <= 100 ) } datatype ListContributorInsightsOutput = | ListContributorInsightsOutput ( nameonly ContributorInsightsSummaries: Option , nameonly NextToken: Option ) datatype ListExportsInput = | ListExportsInput ( nameonly TableArn: Option , nameonly MaxResults: Option , nameonly NextToken: Option ) type ListExportsMaxLimit = x: int32 | IsValid_ListExportsMaxLimit(x) witness * predicate method IsValid_ListExportsMaxLimit(x: int32) { ( 1 <= x <= 25 ) } datatype ListExportsOutput = | ListExportsOutput ( nameonly ExportSummaries: Option , nameonly NextToken: Option ) datatype ListGlobalTablesInput = | ListGlobalTablesInput ( nameonly ExclusiveStartGlobalTableName: Option , nameonly Limit: Option , nameonly RegionName: Option ) datatype ListGlobalTablesOutput = | ListGlobalTablesOutput ( nameonly GlobalTables: Option , nameonly LastEvaluatedGlobalTableName: Option ) datatype ListImportsInput = | ListImportsInput ( nameonly TableArn: Option , nameonly PageSize: Option , nameonly NextToken: Option ) type ListImportsMaxLimit = x: int32 | IsValid_ListImportsMaxLimit(x) witness * predicate method IsValid_ListImportsMaxLimit(x: int32) { ( 1 <= x <= 25 ) } datatype ListImportsOutput = | ListImportsOutput ( nameonly ImportSummaryList: Option , nameonly NextToken: Option ) datatype ListTablesInput = | ListTablesInput ( nameonly ExclusiveStartTableName: Option , nameonly Limit: Option ) type ListTablesInputLimit = x: int32 | IsValid_ListTablesInputLimit(x) witness * predicate method IsValid_ListTablesInputLimit(x: int32) { ( 1 <= x <= 100 ) } datatype ListTablesOutput = | ListTablesOutput ( nameonly TableNames: Option , nameonly LastEvaluatedTableName: Option ) datatype ListTagsOfResourceInput = | ListTagsOfResourceInput ( nameonly ResourceArn: ResourceArnString , nameonly NextToken: Option ) datatype ListTagsOfResourceOutput = | ListTagsOfResourceOutput ( nameonly Tags: Option , nameonly NextToken: Option ) datatype LocalSecondaryIndex = | LocalSecondaryIndex ( nameonly IndexName: IndexName , nameonly KeySchema: KeySchema , nameonly Projection: Projection ) datatype LocalSecondaryIndexDescription = | LocalSecondaryIndexDescription ( nameonly IndexName: Option , nameonly KeySchema: Option , nameonly Projection: Option , nameonly IndexSizeBytes: Option , nameonly ItemCount: Option , nameonly IndexArn: Option ) type LocalSecondaryIndexDescriptionList = seq type LocalSecondaryIndexes = seq datatype LocalSecondaryIndexInfo = | LocalSecondaryIndexInfo ( nameonly IndexName: Option , nameonly KeySchema: Option , nameonly Projection: Option ) type LocalSecondaryIndexList = seq type Long = int64 type MapAttributeValue = map type NextTokenString = string type NonKeyAttributeName = x: string | IsValid_NonKeyAttributeName(x) witness * predicate method IsValid_NonKeyAttributeName(x: string) { ( 1 <= |x| <= 255 ) } type NonKeyAttributeNameList = x: seq | IsValid_NonKeyAttributeNameList(x) witness * predicate method IsValid_NonKeyAttributeNameList(x: seq) { ( 1 <= |x| <= 20 ) } type NonNegativeLongObject = x: int64 | IsValid_NonNegativeLongObject(x) witness * predicate method IsValid_NonNegativeLongObject(x: int64) { ( 0 <= x ) } type NullAttributeValue = bool type NumberAttributeValue = string type NumberSetAttributeValue = seq datatype ParameterizedStatement = | ParameterizedStatement ( nameonly Statement: PartiQLStatement , nameonly Parameters: Option ) type ParameterizedStatements = x: seq | IsValid_ParameterizedStatements(x) witness * predicate method IsValid_ParameterizedStatements(x: seq) { ( 1 <= |x| <= 25 ) } type PartiQLBatchRequest = x: seq | IsValid_PartiQLBatchRequest(x) witness * predicate method IsValid_PartiQLBatchRequest(x: seq) { ( 1 <= |x| <= 25 ) } type PartiQLBatchResponse = seq type PartiQLNextToken = x: string | IsValid_PartiQLNextToken(x) witness * predicate method IsValid_PartiQLNextToken(x: string) { ( 1 <= |x| <= 32768 ) } type PartiQLStatement = x: string | IsValid_PartiQLStatement(x) witness * predicate method IsValid_PartiQLStatement(x: string) { ( 1 <= |x| <= 8192 ) } datatype PointInTimeRecoveryDescription = | PointInTimeRecoveryDescription ( nameonly PointInTimeRecoveryStatus: Option , nameonly EarliestRestorableDateTime: Option , nameonly LatestRestorableDateTime: Option ) datatype PointInTimeRecoverySpecification = | PointInTimeRecoverySpecification ( nameonly PointInTimeRecoveryEnabled: BooleanObject ) datatype PointInTimeRecoveryStatus = | ENABLED | DISABLED type PositiveIntegerObject = x: int32 | IsValid_PositiveIntegerObject(x) witness * predicate method IsValid_PositiveIntegerObject(x: int32) { ( 1 <= x ) } type PositiveLongObject = x: int64 | IsValid_PositiveLongObject(x) witness * predicate method IsValid_PositiveLongObject(x: int64) { ( 1 <= x ) } type PreparedStatementParameters = x: seq | IsValid_PreparedStatementParameters(x) witness * predicate method IsValid_PreparedStatementParameters(x: seq) { ( 1 <= |x| ) } type ProcessedItemCount = x: int64 | IsValid_ProcessedItemCount(x) witness * predicate method IsValid_ProcessedItemCount(x: int64) { ( 0 <= x ) } datatype Projection = | Projection ( nameonly ProjectionType: Option , nameonly NonKeyAttributes: Option ) type ProjectionExpression = string datatype ProjectionType = | ALL | KEYS_ONLY | INCLUDE datatype ProvisionedThroughput = | ProvisionedThroughput ( nameonly ReadCapacityUnits: PositiveLongObject , nameonly WriteCapacityUnits: PositiveLongObject ) datatype ProvisionedThroughputDescription = | ProvisionedThroughputDescription ( nameonly LastIncreaseDateTime: Option , nameonly LastDecreaseDateTime: Option , nameonly NumberOfDecreasesToday: Option , nameonly ReadCapacityUnits: Option , nameonly WriteCapacityUnits: Option ) datatype ProvisionedThroughputOverride = | ProvisionedThroughputOverride ( nameonly ReadCapacityUnits: Option ) datatype Put = | Put ( nameonly Item: PutItemInputAttributeMap , nameonly TableName: TableName , nameonly ConditionExpression: Option , nameonly ExpressionAttributeNames: Option , nameonly ExpressionAttributeValues: Option , nameonly ReturnValuesOnConditionCheckFailure: Option ) datatype PutItemInput = | PutItemInput ( nameonly TableName: TableName , nameonly Item: PutItemInputAttributeMap , nameonly Expected: Option , nameonly ReturnValues: Option , nameonly ReturnConsumedCapacity: Option , nameonly ReturnItemCollectionMetrics: Option , nameonly ConditionalOperator: Option , nameonly ConditionExpression: Option , nameonly ExpressionAttributeNames: Option , nameonly ExpressionAttributeValues: Option ) type PutItemInputAttributeMap = map datatype PutItemOutput = | PutItemOutput ( nameonly Attributes: Option , nameonly ConsumedCapacity: Option , nameonly ItemCollectionMetrics: Option ) datatype PutRequest = | PutRequest ( nameonly Item: PutItemInputAttributeMap ) datatype QueryInput = | QueryInput ( nameonly TableName: TableName , nameonly IndexName: Option , nameonly Select: Option , nameonly ScanFilter: Option , nameonly ConditionalOperator: Option , nameonly ExclusiveStartKey: Option , nameonly ReturnConsumedCapacity: Option , nameonly TotalSegments: Option , nameonly Segment: Option , nameonly ProjectionExpression: Option , nameonly FilterExpression: Option , nameonly ExpressionAttributeNames: Option , nameonly ExpressionAttributeValues: Option , nameonly ConsistentRead: Option ) datatype ScanOutput = | ScanOutput ( nameonly Items: Option , nameonly Count: Option , nameonly ScannedCount: Option , nameonly LastEvaluatedKey: Option , nameonly ConsumedCapacity: Option ) type ScanSegment = x: int32 | IsValid_ScanSegment(x) witness * predicate method IsValid_ScanSegment(x: int32) { ( 0 <= x <= 999999 ) } type ScanTotalSegments = x: int32 | IsValid_ScanTotalSegments(x) witness * predicate method IsValid_ScanTotalSegments(x: int32) { ( 1 <= x <= 1000000 ) } type SecondaryIndexesCapacityMap = map datatype Select = | ALL_ATTRIBUTES | ALL_PROJECTED_ATTRIBUTES | SPECIFIC_ATTRIBUTES | COUNT datatype SourceTableDetails = | SourceTableDetails ( nameonly TableName: TableName , nameonly TableId: TableId , nameonly TableArn: Option , nameonly TableSizeBytes: Option , nameonly KeySchema: KeySchema , nameonly TableCreationDateTime: string , nameonly ProvisionedThroughput: ProvisionedThroughput , nameonly ItemCount: Option , nameonly BillingMode: Option ) datatype SourceTableFeatureDetails = | SourceTableFeatureDetails ( nameonly LocalSecondaryIndexes: Option , nameonly GlobalSecondaryIndexes: Option , nameonly StreamDescription: Option , nameonly TimeToLiveDescription: Option , nameonly SSEDescription: Option ) datatype SSEDescription = | SSEDescription ( nameonly Status: Option , nameonly SSEType: Option , nameonly KMSMasterKeyArn: Option , nameonly InaccessibleEncryptionDateTime: Option ) type SSEEnabled = bool datatype SSESpecification = | SSESpecification ( nameonly Enabled: Option , nameonly SSEType: Option , nameonly KMSMasterKeyId: Option ) datatype SSEStatus = | ENABLING | ENABLED | DISABLING | DISABLED | UPDATING datatype SSEType = | AES256 | KMS type StreamArn = x: string | IsValid_StreamArn(x) witness * predicate method IsValid_StreamArn(x: string) { ( 37 <= |x| <= 1024 ) } type StreamEnabled = bool datatype StreamSpecification = | StreamSpecification ( nameonly StreamEnabled: StreamEnabled , nameonly StreamViewType: Option ) datatype StreamViewType = | NEW_IMAGE | OLD_IMAGE | NEW_AND_OLD_IMAGES | KEYS_ONLY type String = string type StringAttributeValue = string type StringSetAttributeValue = seq type TableArn = string datatype TableAutoScalingDescription = | TableAutoScalingDescription ( nameonly TableName: Option , nameonly TableStatus: Option , nameonly Replicas: Option ) datatype TableClass = | STANDARD | STANDARD_INFREQUENT_ACCESS datatype TableClassSummary = | TableClassSummary ( nameonly TableClass: Option , nameonly LastUpdateDateTime: Option ) datatype TableCreationParameters = | TableCreationParameters ( nameonly TableName: TableName , nameonly AttributeDefinitions: AttributeDefinitions , nameonly KeySchema: KeySchema , nameonly BillingMode: Option , nameonly ProvisionedThroughput: Option , nameonly SSESpecification: Option , nameonly GlobalSecondaryIndexes: Option ) datatype TableDescription = | TableDescription ( nameonly AttributeDefinitions: Option , nameonly TableName: Option , nameonly KeySchema: Option , nameonly TableStatus: Option , nameonly CreationDateTime: Option , nameonly ProvisionedThroughput: Option , nameonly TableSizeBytes: Option , nameonly ItemCount: Option , nameonly TableArn: Option , nameonly TableId: Option , nameonly BillingModeSummary: Option , nameonly LocalSecondaryIndexes: Option , nameonly GlobalSecondaryIndexes: Option , nameonly StreamSpecification: Option , nameonly LatestStreamLabel: Option , nameonly LatestStreamArn: Option , nameonly GlobalTableVersion: Option , nameonly Replicas: Option , nameonly RestoreSummary: Option , nameonly SSEDescription: Option , nameonly ArchivalSummary: Option , nameonly TableClassSummary: Option ) type TableId = string type TableName = x: string | IsValid_TableName(x) witness * predicate method IsValid_TableName(x: string) { ( 3 <= |x| <= 255 ) } type TableNameList = seq datatype TableStatus = | CREATING | UPDATING | DELETING | ACTIVE | INACCESSIBLE_ENCRYPTION_CREDENTIALS | ARCHIVING | ARCHIVED datatype Tag = | Tag ( nameonly Key: TagKeyString , nameonly Value: TagValueString ) type TagKeyList = seq type TagKeyString = x: string | IsValid_TagKeyString(x) witness * predicate method IsValid_TagKeyString(x: string) { ( 1 <= |x| <= 128 ) } type TagList = seq datatype TagResourceInput = | TagResourceInput ( nameonly ResourceArn: ResourceArnString , nameonly Tags: TagList ) type TagValueString = x: string | IsValid_TagValueString(x) witness * predicate method IsValid_TagValueString(x: string) { ( 0 <= |x| <= 256 ) } type TimeToLiveAttributeName = x: string | IsValid_TimeToLiveAttributeName(x) witness * predicate method IsValid_TimeToLiveAttributeName(x: string) { ( 1 <= |x| <= 255 ) } datatype TimeToLiveDescription = | TimeToLiveDescription ( nameonly TimeToLiveStatus: Option , nameonly AttributeName: Option ) type TimeToLiveEnabled = bool datatype TimeToLiveSpecification = | TimeToLiveSpecification ( nameonly Enabled: TimeToLiveEnabled , nameonly AttributeName: TimeToLiveAttributeName ) datatype TimeToLiveStatus = | ENABLING | DISABLING | ENABLED | DISABLED datatype TransactGetItem = | TransactGetItem ( nameonly Get: Get ) type TransactGetItemList = x: seq | IsValid_TransactGetItemList(x) witness * predicate method IsValid_TransactGetItemList(x: seq) { ( 1 <= |x| <= 25 ) } datatype TransactGetItemsInput = | TransactGetItemsInput ( nameonly TransactItems: TransactGetItemList , nameonly ReturnConsumedCapacity: Option ) datatype TransactGetItemsOutput = | TransactGetItemsOutput ( nameonly ConsumedCapacity: Option , nameonly Responses: Option ) datatype TransactWriteItem = | TransactWriteItem ( nameonly ConditionCheck: Option , nameonly Put: Option , nameonly Delete: Option , nameonly Update: Option ) type TransactWriteItemList = x: seq | IsValid_TransactWriteItemList(x) witness * predicate method IsValid_TransactWriteItemList(x: seq) { ( 1 <= |x| <= 25 ) } datatype TransactWriteItemsInput = | TransactWriteItemsInput ( nameonly TransactItems: TransactWriteItemList , nameonly ReturnConsumedCapacity: Option , nameonly ReturnItemCollectionMetrics: Option , nameonly ClientRequestToken: Option ) datatype TransactWriteItemsOutput = | TransactWriteItemsOutput ( nameonly ConsumedCapacity: Option , nameonly ItemCollectionMetrics: Option ) datatype UntagResourceInput = | UntagResourceInput ( nameonly ResourceArn: ResourceArnString , nameonly TagKeys: TagKeyList ) datatype Update = | Update ( nameonly Key: Key , nameonly UpdateExpression: UpdateExpression , nameonly TableName: TableName , nameonly ConditionExpression: Option , nameonly ExpressionAttributeNames: Option , nameonly ExpressionAttributeValues: Option , nameonly ReturnValuesOnConditionCheckFailure: Option ) datatype UpdateContinuousBackupsInput = | UpdateContinuousBackupsInput ( nameonly TableName: TableName , nameonly PointInTimeRecoverySpecification: PointInTimeRecoverySpecification ) datatype UpdateContinuousBackupsOutput = | UpdateContinuousBackupsOutput ( nameonly ContinuousBackupsDescription: Option ) datatype UpdateContributorInsightsInput = | UpdateContributorInsightsInput ( nameonly TableName: TableName , nameonly IndexName: Option , nameonly ContributorInsightsAction: ContributorInsightsAction ) datatype UpdateContributorInsightsOutput = | UpdateContributorInsightsOutput ( nameonly TableName: Option , nameonly IndexName: Option , nameonly ContributorInsightsStatus: Option ) type UpdateExpression = string datatype UpdateGlobalSecondaryIndexAction = | UpdateGlobalSecondaryIndexAction ( nameonly IndexName: IndexName , nameonly ProvisionedThroughput: ProvisionedThroughput ) datatype UpdateGlobalTableInput = | UpdateGlobalTableInput ( nameonly GlobalTableName: TableName , nameonly ReplicaUpdates: ReplicaUpdateList ) datatype UpdateGlobalTableOutput = | UpdateGlobalTableOutput ( nameonly GlobalTableDescription: Option ) datatype UpdateGlobalTableSettingsInput = | UpdateGlobalTableSettingsInput ( nameonly GlobalTableName: TableName , nameonly GlobalTableBillingMode: Option , nameonly GlobalTableProvisionedWriteCapacityUnits: Option , nameonly GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate: Option , nameonly GlobalTableGlobalSecondaryIndexSettingsUpdate: Option , nameonly ReplicaSettingsUpdate: Option ) datatype UpdateGlobalTableSettingsOutput = | UpdateGlobalTableSettingsOutput ( nameonly GlobalTableName: Option , nameonly ReplicaSettings: Option ) datatype UpdateItemInput = | UpdateItemInput ( nameonly TableName: TableName , nameonly Key: Key , nameonly AttributeUpdates: Option , nameonly Expected: Option , nameonly ConditionalOperator: Option , nameonly ReturnValues: Option , nameonly ReturnConsumedCapacity: Option , nameonly ReturnItemCollectionMetrics: Option , nameonly UpdateExpression: Option , nameonly ConditionExpression: Option , nameonly ExpressionAttributeNames: Option , nameonly ExpressionAttributeValues: Option ) datatype UpdateItemOutput = | UpdateItemOutput ( nameonly Attributes: Option , nameonly ConsumedCapacity: Option , nameonly ItemCollectionMetrics: Option ) datatype UpdateReplicationGroupMemberAction = | UpdateReplicationGroupMemberAction ( nameonly RegionName: RegionName , nameonly KMSMasterKeyId: Option , nameonly ProvisionedThroughputOverride: Option , nameonly GlobalSecondaryIndexes: Option , nameonly TableClassOverride: Option ) datatype UpdateTableInput = | UpdateTableInput ( nameonly AttributeDefinitions: Option , nameonly TableName: TableName , nameonly BillingMode: Option , nameonly ProvisionedThroughput: Option , nameonly GlobalSecondaryIndexUpdates: Option , nameonly StreamSpecification: Option , nameonly SSESpecification: Option , nameonly ReplicaUpdates: Option , nameonly TableClass: Option ) datatype UpdateTableOutput = | UpdateTableOutput ( nameonly TableDescription: Option ) datatype UpdateTableReplicaAutoScalingInput = | UpdateTableReplicaAutoScalingInput ( nameonly GlobalSecondaryIndexUpdates: Option , nameonly TableName: TableName , nameonly ProvisionedWriteCapacityAutoScalingUpdate: Option , nameonly ReplicaUpdates: Option ) datatype UpdateTableReplicaAutoScalingOutput = | UpdateTableReplicaAutoScalingOutput ( nameonly TableAutoScalingDescription: Option ) datatype UpdateTimeToLiveInput = | UpdateTimeToLiveInput ( nameonly TableName: TableName , nameonly TimeToLiveSpecification: TimeToLiveSpecification ) datatype UpdateTimeToLiveOutput = | UpdateTimeToLiveOutput ( nameonly TimeToLiveSpecification: Option ) datatype WriteRequest = | WriteRequest ( nameonly PutRequest: Option , nameonly DeleteRequest: Option ) type WriteRequests = x: seq | IsValid_WriteRequests(x) witness * predicate method IsValid_WriteRequests(x: seq) { ( 1 <= |x| <= 25 ) } datatype Error = // Local Error structures are listed here | BackupInUseException ( nameonly message: Option ) | BackupNotFoundException ( nameonly message: Option ) | ConditionalCheckFailedException ( nameonly message: Option ) | ContinuousBackupsUnavailableException ( nameonly message: Option ) | DuplicateItemException ( nameonly message: Option ) | ExportConflictException ( nameonly message: Option ) | ExportNotFoundException ( nameonly message: Option ) | GlobalTableAlreadyExistsException ( nameonly message: Option ) | GlobalTableNotFoundException ( nameonly message: Option ) | IdempotentParameterMismatchException ( nameonly Message: Option ) | ImportConflictException ( nameonly message: Option ) | ImportNotFoundException ( nameonly message: Option ) | IndexNotFoundException ( nameonly message: Option ) | InternalServerError ( nameonly message: Option ) | InvalidEndpointException ( nameonly Message: Option ) | InvalidExportTimeException ( nameonly message: Option ) | InvalidRestoreTimeException ( nameonly message: Option ) | ItemCollectionSizeLimitExceededException ( nameonly message: Option ) | LimitExceededException ( nameonly message: Option ) | PointInTimeRecoveryUnavailableException ( nameonly message: Option ) | ProvisionedThroughputExceededException ( nameonly message: Option ) | ReplicaAlreadyExistsException ( nameonly message: Option ) | ReplicaNotFoundException ( nameonly message: Option ) | RequestLimitExceeded ( nameonly message: Option ) | ResourceInUseException ( nameonly message: Option ) | ResourceNotFoundException ( nameonly message: Option ) | TableAlreadyExistsException ( nameonly message: Option ) | TableInUseException ( nameonly message: Option ) | TableNotFoundException ( nameonly message: Option ) | TransactionCanceledException ( nameonly Message: Option , nameonly CancellationReasons: Option ) | TransactionConflictException ( nameonly message: Option ) | TransactionInProgressException ( nameonly Message: Option ) // Any dependent models are listed here // The Opaque error, used for native, extern, wrapped or unknown errors | Opaque(obj: object) type OpaqueError = e: Error | e.Opaque? witness * } abstract module AbstractComAmazonawsDynamodbService { import opened Wrappers import opened StandardLibrary.UInt import opened UTF8 import opened Types = ComAmazonawsDynamodbTypes datatype DynamoDBClientConfigType = DynamoDBClientConfigType function method DefaultDynamoDBClientConfigType(): DynamoDBClientConfigType method {:extern} DynamoDBClient() returns (res: Result) ensures res.Success? ==> && fresh(res.value) && fresh(res.value.Modifies) && fresh(res.value.History) && res.value.ValidState() } abstract module AbstractComAmazonawsDynamodbOperations { import opened Wrappers import opened StandardLibrary.UInt import opened UTF8 import opened Types = ComAmazonawsDynamodbTypes type InternalConfig predicate ValidInternalConfig?(config: InternalConfig) function ModifiesInternalConfig(config: InternalConfig): set predicate BatchExecuteStatementEnsuresPublicly(input: BatchExecuteStatementInput , output: Result) // The private method to be refined by the library developer method BatchExecuteStatement ( config: InternalConfig , input: BatchExecuteStatementInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures BatchExecuteStatementEnsuresPublicly(input, output) predicate BatchGetItemEnsuresPublicly(input: BatchGetItemInput , output: Result) // The private method to be refined by the library developer method BatchGetItem ( config: InternalConfig , input: BatchGetItemInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures BatchGetItemEnsuresPublicly(input, output) predicate BatchWriteItemEnsuresPublicly(input: BatchWriteItemInput , output: Result) // The private method to be refined by the library developer method BatchWriteItem ( config: InternalConfig , input: BatchWriteItemInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures BatchWriteItemEnsuresPublicly(input, output) predicate CreateBackupEnsuresPublicly(input: CreateBackupInput , output: Result) // The private method to be refined by the library developer method CreateBackup ( config: InternalConfig , input: CreateBackupInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures CreateBackupEnsuresPublicly(input, output) predicate CreateGlobalTableEnsuresPublicly(input: CreateGlobalTableInput , output: Result) // The private method to be refined by the library developer method CreateGlobalTable ( config: InternalConfig , input: CreateGlobalTableInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures CreateGlobalTableEnsuresPublicly(input, output) predicate CreateTableEnsuresPublicly(input: CreateTableInput , output: Result) // The private method to be refined by the library developer method CreateTable ( config: InternalConfig , input: CreateTableInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures CreateTableEnsuresPublicly(input, output) predicate DeleteBackupEnsuresPublicly(input: DeleteBackupInput , output: Result) // The private method to be refined by the library developer method DeleteBackup ( config: InternalConfig , input: DeleteBackupInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DeleteBackupEnsuresPublicly(input, output) predicate DeleteItemEnsuresPublicly(input: DeleteItemInput , output: Result) // The private method to be refined by the library developer method DeleteItem ( config: InternalConfig , input: DeleteItemInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DeleteItemEnsuresPublicly(input, output) predicate DeleteTableEnsuresPublicly(input: DeleteTableInput , output: Result) // The private method to be refined by the library developer method DeleteTable ( config: InternalConfig , input: DeleteTableInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DeleteTableEnsuresPublicly(input, output) predicate DescribeBackupEnsuresPublicly(input: DescribeBackupInput , output: Result) // The private method to be refined by the library developer method DescribeBackup ( config: InternalConfig , input: DescribeBackupInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeBackupEnsuresPublicly(input, output) predicate DescribeContinuousBackupsEnsuresPublicly(input: DescribeContinuousBackupsInput , output: Result) // The private method to be refined by the library developer method DescribeContinuousBackups ( config: InternalConfig , input: DescribeContinuousBackupsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeContinuousBackupsEnsuresPublicly(input, output) predicate DescribeContributorInsightsEnsuresPublicly(input: DescribeContributorInsightsInput , output: Result) // The private method to be refined by the library developer method DescribeContributorInsights ( config: InternalConfig , input: DescribeContributorInsightsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeContributorInsightsEnsuresPublicly(input, output) predicate DescribeEndpointsEnsuresPublicly(input: DescribeEndpointsRequest , output: Result) // The private method to be refined by the library developer method DescribeEndpoints ( config: InternalConfig , input: DescribeEndpointsRequest ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeEndpointsEnsuresPublicly(input, output) predicate DescribeExportEnsuresPublicly(input: DescribeExportInput , output: Result) // The private method to be refined by the library developer method DescribeExport ( config: InternalConfig , input: DescribeExportInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeExportEnsuresPublicly(input, output) predicate DescribeGlobalTableEnsuresPublicly(input: DescribeGlobalTableInput , output: Result) // The private method to be refined by the library developer method DescribeGlobalTable ( config: InternalConfig , input: DescribeGlobalTableInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeGlobalTableEnsuresPublicly(input, output) predicate DescribeGlobalTableSettingsEnsuresPublicly(input: DescribeGlobalTableSettingsInput , output: Result) // The private method to be refined by the library developer method DescribeGlobalTableSettings ( config: InternalConfig , input: DescribeGlobalTableSettingsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeGlobalTableSettingsEnsuresPublicly(input, output) predicate DescribeImportEnsuresPublicly(input: DescribeImportInput , output: Result) // The private method to be refined by the library developer method DescribeImport ( config: InternalConfig , input: DescribeImportInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeImportEnsuresPublicly(input, output) predicate DescribeKinesisStreamingDestinationEnsuresPublicly(input: DescribeKinesisStreamingDestinationInput , output: Result) // The private method to be refined by the library developer method DescribeKinesisStreamingDestination ( config: InternalConfig , input: DescribeKinesisStreamingDestinationInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeKinesisStreamingDestinationEnsuresPublicly(input, output) predicate DescribeLimitsEnsuresPublicly(input: DescribeLimitsInput , output: Result) // The private method to be refined by the library developer method DescribeLimits ( config: InternalConfig , input: DescribeLimitsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeLimitsEnsuresPublicly(input, output) predicate DescribeTableEnsuresPublicly(input: DescribeTableInput , output: Result) // The private method to be refined by the library developer method DescribeTable ( config: InternalConfig , input: DescribeTableInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeTableEnsuresPublicly(input, output) predicate DescribeTableReplicaAutoScalingEnsuresPublicly(input: DescribeTableReplicaAutoScalingInput , output: Result) // The private method to be refined by the library developer method DescribeTableReplicaAutoScaling ( config: InternalConfig , input: DescribeTableReplicaAutoScalingInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeTableReplicaAutoScalingEnsuresPublicly(input, output) predicate DescribeTimeToLiveEnsuresPublicly(input: DescribeTimeToLiveInput , output: Result) // The private method to be refined by the library developer method DescribeTimeToLive ( config: InternalConfig , input: DescribeTimeToLiveInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DescribeTimeToLiveEnsuresPublicly(input, output) predicate DisableKinesisStreamingDestinationEnsuresPublicly(input: DisableKinesisStreamingDestinationInput , output: Result) // The private method to be refined by the library developer method DisableKinesisStreamingDestination ( config: InternalConfig , input: DisableKinesisStreamingDestinationInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures DisableKinesisStreamingDestinationEnsuresPublicly(input, output) predicate EnableKinesisStreamingDestinationEnsuresPublicly(input: EnableKinesisStreamingDestinationInput , output: Result) // The private method to be refined by the library developer method EnableKinesisStreamingDestination ( config: InternalConfig , input: EnableKinesisStreamingDestinationInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures EnableKinesisStreamingDestinationEnsuresPublicly(input, output) predicate ExecuteStatementEnsuresPublicly(input: ExecuteStatementInput , output: Result) // The private method to be refined by the library developer method ExecuteStatement ( config: InternalConfig , input: ExecuteStatementInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ExecuteStatementEnsuresPublicly(input, output) predicate ExecuteTransactionEnsuresPublicly(input: ExecuteTransactionInput , output: Result) // The private method to be refined by the library developer method ExecuteTransaction ( config: InternalConfig , input: ExecuteTransactionInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ExecuteTransactionEnsuresPublicly(input, output) predicate ExportTableToPointInTimeEnsuresPublicly(input: ExportTableToPointInTimeInput , output: Result) // The private method to be refined by the library developer method ExportTableToPointInTime ( config: InternalConfig , input: ExportTableToPointInTimeInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ExportTableToPointInTimeEnsuresPublicly(input, output) predicate GetItemEnsuresPublicly(input: GetItemInput , output: Result) // The private method to be refined by the library developer method GetItem ( config: InternalConfig , input: GetItemInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures GetItemEnsuresPublicly(input, output) predicate ImportTableEnsuresPublicly(input: ImportTableInput , output: Result) // The private method to be refined by the library developer method ImportTable ( config: InternalConfig , input: ImportTableInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ImportTableEnsuresPublicly(input, output) predicate ListBackupsEnsuresPublicly(input: ListBackupsInput , output: Result) // The private method to be refined by the library developer method ListBackups ( config: InternalConfig , input: ListBackupsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ListBackupsEnsuresPublicly(input, output) predicate ListContributorInsightsEnsuresPublicly(input: ListContributorInsightsInput , output: Result) // The private method to be refined by the library developer method ListContributorInsights ( config: InternalConfig , input: ListContributorInsightsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ListContributorInsightsEnsuresPublicly(input, output) predicate ListExportsEnsuresPublicly(input: ListExportsInput , output: Result) // The private method to be refined by the library developer method ListExports ( config: InternalConfig , input: ListExportsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ListExportsEnsuresPublicly(input, output) predicate ListGlobalTablesEnsuresPublicly(input: ListGlobalTablesInput , output: Result) // The private method to be refined by the library developer method ListGlobalTables ( config: InternalConfig , input: ListGlobalTablesInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ListGlobalTablesEnsuresPublicly(input, output) predicate ListImportsEnsuresPublicly(input: ListImportsInput , output: Result) // The private method to be refined by the library developer method ListImports ( config: InternalConfig , input: ListImportsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ListImportsEnsuresPublicly(input, output) predicate ListTablesEnsuresPublicly(input: ListTablesInput , output: Result) // The private method to be refined by the library developer method ListTables ( config: InternalConfig , input: ListTablesInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ListTablesEnsuresPublicly(input, output) predicate ListTagsOfResourceEnsuresPublicly(input: ListTagsOfResourceInput , output: Result) // The private method to be refined by the library developer method ListTagsOfResource ( config: InternalConfig , input: ListTagsOfResourceInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ListTagsOfResourceEnsuresPublicly(input, output) predicate PutItemEnsuresPublicly(input: PutItemInput , output: Result) // The private method to be refined by the library developer method PutItem ( config: InternalConfig , input: PutItemInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures PutItemEnsuresPublicly(input, output) predicate QueryEnsuresPublicly(input: QueryInput , output: Result) // The private method to be refined by the library developer method Query ( config: InternalConfig , input: QueryInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures QueryEnsuresPublicly(input, output) predicate RestoreTableFromBackupEnsuresPublicly(input: RestoreTableFromBackupInput , output: Result) // The private method to be refined by the library developer method RestoreTableFromBackup ( config: InternalConfig , input: RestoreTableFromBackupInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures RestoreTableFromBackupEnsuresPublicly(input, output) predicate RestoreTableToPointInTimeEnsuresPublicly(input: RestoreTableToPointInTimeInput , output: Result) // The private method to be refined by the library developer method RestoreTableToPointInTime ( config: InternalConfig , input: RestoreTableToPointInTimeInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures RestoreTableToPointInTimeEnsuresPublicly(input, output) predicate ScanEnsuresPublicly(input: ScanInput , output: Result) // The private method to be refined by the library developer method Scan ( config: InternalConfig , input: ScanInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures ScanEnsuresPublicly(input, output) predicate TagResourceEnsuresPublicly(input: TagResourceInput , output: Result<(), Error>) // The private method to be refined by the library developer method TagResource ( config: InternalConfig , input: TagResourceInput ) returns (output: Result<(), Error>) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures TagResourceEnsuresPublicly(input, output) predicate TransactGetItemsEnsuresPublicly(input: TransactGetItemsInput , output: Result) // The private method to be refined by the library developer method TransactGetItems ( config: InternalConfig , input: TransactGetItemsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures TransactGetItemsEnsuresPublicly(input, output) predicate TransactWriteItemsEnsuresPublicly(input: TransactWriteItemsInput , output: Result) // The private method to be refined by the library developer method TransactWriteItems ( config: InternalConfig , input: TransactWriteItemsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures TransactWriteItemsEnsuresPublicly(input, output) predicate UntagResourceEnsuresPublicly(input: UntagResourceInput , output: Result<(), Error>) // The private method to be refined by the library developer method UntagResource ( config: InternalConfig , input: UntagResourceInput ) returns (output: Result<(), Error>) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures UntagResourceEnsuresPublicly(input, output) predicate UpdateContinuousBackupsEnsuresPublicly(input: UpdateContinuousBackupsInput , output: Result) // The private method to be refined by the library developer method UpdateContinuousBackups ( config: InternalConfig , input: UpdateContinuousBackupsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures UpdateContinuousBackupsEnsuresPublicly(input, output) predicate UpdateContributorInsightsEnsuresPublicly(input: UpdateContributorInsightsInput , output: Result) // The private method to be refined by the library developer method UpdateContributorInsights ( config: InternalConfig , input: UpdateContributorInsightsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures UpdateContributorInsightsEnsuresPublicly(input, output) predicate UpdateGlobalTableEnsuresPublicly(input: UpdateGlobalTableInput , output: Result) // The private method to be refined by the library developer method UpdateGlobalTable ( config: InternalConfig , input: UpdateGlobalTableInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures UpdateGlobalTableEnsuresPublicly(input, output) predicate UpdateGlobalTableSettingsEnsuresPublicly(input: UpdateGlobalTableSettingsInput , output: Result) // The private method to be refined by the library developer method UpdateGlobalTableSettings ( config: InternalConfig , input: UpdateGlobalTableSettingsInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures UpdateGlobalTableSettingsEnsuresPublicly(input, output) predicate UpdateItemEnsuresPublicly(input: UpdateItemInput , output: Result) // The private method to be refined by the library developer method UpdateItem ( config: InternalConfig , input: UpdateItemInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures UpdateItemEnsuresPublicly(input, output) predicate UpdateTableEnsuresPublicly(input: UpdateTableInput , output: Result) // The private method to be refined by the library developer method UpdateTable ( config: InternalConfig , input: UpdateTableInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures UpdateTableEnsuresPublicly(input, output) predicate UpdateTableReplicaAutoScalingEnsuresPublicly(input: UpdateTableReplicaAutoScalingInput , output: Result) // The private method to be refined by the library developer method UpdateTableReplicaAutoScaling ( config: InternalConfig , input: UpdateTableReplicaAutoScalingInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures UpdateTableReplicaAutoScalingEnsuresPublicly(input, output) predicate UpdateTimeToLiveEnsuresPublicly(input: UpdateTimeToLiveInput , output: Result) // The private method to be refined by the library developer method UpdateTimeToLive ( config: InternalConfig , input: UpdateTimeToLiveInput ) returns (output: Result) requires && ValidInternalConfig?(config) modifies ModifiesInternalConfig(config) // Dafny will skip type parameters when generating a default decreases clause. decreases ModifiesInternalConfig(config) ensures && ValidInternalConfig?(config) ensures UpdateTimeToLiveEnsuresPublicly(input, output) }