![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTableReplicaSpecification.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.dynamodb.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property contributorInsightsSpecification The settings used to enable or disable CloudWatch Contributor Insights for the specified replica. When not specified, defaults to contributor insights disabled for the replica.
* @property deletionProtectionEnabled Determines if a replica is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see [Using deletion protection](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection) in the *Amazon DynamoDB Developer Guide* .
* @property globalSecondaryIndexes Defines additional settings for the global secondary indexes of this replica.
* @property kinesisStreamSpecification Defines the Kinesis Data Streams configuration for the specified replica.
* @property pointInTimeRecoverySpecification The settings used to enable point in time recovery. When not specified, defaults to point in time recovery disabled for the replica.
* @property readOnDemandThroughputSettings Sets read request settings for the replica table.
* @property readProvisionedThroughputSettings Defines read capacity settings for the replica table.
* @property region The region in which this replica exists.
* @property replicaStreamSpecification Represents the DynamoDB Streams configuration for a global table replica.
* @property resourcePolicy A resource-based policy document that contains permissions to add to the specified replica of a DynamoDB global table. Resource-based policies let you define access permissions by specifying who has access to each resource, and the actions they are allowed to perform on each resource.
* In a CloudFormation template, you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to DynamoDB . For more information about resource-based policies, see [Using resource-based policies for DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-resource-based.html) and [Resource-based policy examples](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-examples.html) .
* @property sseSpecification Allows you to specify a customer-managed key for the replica. When using customer-managed keys for server-side encryption, this property must have a value in all replicas.
* @property tableClass The table class of the specified table. Valid values are `STANDARD` and `STANDARD_INFREQUENT_ACCESS` .
* @property tags An array of key-value pairs to apply to this replica.
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
*/
public data class GlobalTableReplicaSpecification(
public val contributorInsightsSpecification: GlobalTableContributorInsightsSpecification? = null,
public val deletionProtectionEnabled: Boolean? = null,
public val globalSecondaryIndexes: List? =
null,
public val kinesisStreamSpecification: GlobalTableKinesisStreamSpecification? = null,
public val pointInTimeRecoverySpecification: GlobalTablePointInTimeRecoverySpecification? = null,
public val readOnDemandThroughputSettings: GlobalTableReadOnDemandThroughputSettings? = null,
public val readProvisionedThroughputSettings: GlobalTableReadProvisionedThroughputSettings? =
null,
public val region: String,
public val replicaStreamSpecification: GlobalTableReplicaStreamSpecification? = null,
public val resourcePolicy: GlobalTableResourcePolicy? = null,
public val sseSpecification: GlobalTableReplicaSseSpecification? = null,
public val tableClass: String? = null,
public val tags: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.dynamodb.outputs.GlobalTableReplicaSpecification): GlobalTableReplicaSpecification = GlobalTableReplicaSpecification(
contributorInsightsSpecification = javaType.contributorInsightsSpecification().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTableContributorInsightsSpecification.Companion.toKotlin(args0)
})
}).orElse(null),
deletionProtectionEnabled = javaType.deletionProtectionEnabled().map({ args0 ->
args0
}).orElse(null),
globalSecondaryIndexes = javaType.globalSecondaryIndexes().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTableReplicaGlobalSecondaryIndexSpecification.Companion.toKotlin(args0)
})
}),
kinesisStreamSpecification = javaType.kinesisStreamSpecification().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTableKinesisStreamSpecification.Companion.toKotlin(args0)
})
}).orElse(null),
pointInTimeRecoverySpecification = javaType.pointInTimeRecoverySpecification().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTablePointInTimeRecoverySpecification.Companion.toKotlin(args0)
})
}).orElse(null),
readOnDemandThroughputSettings = javaType.readOnDemandThroughputSettings().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTableReadOnDemandThroughputSettings.Companion.toKotlin(args0)
})
}).orElse(null),
readProvisionedThroughputSettings = javaType.readProvisionedThroughputSettings().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTableReadProvisionedThroughputSettings.Companion.toKotlin(args0)
})
}).orElse(null),
region = javaType.region(),
replicaStreamSpecification = javaType.replicaStreamSpecification().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTableReplicaStreamSpecification.Companion.toKotlin(args0)
})
}).orElse(null),
resourcePolicy = javaType.resourcePolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTableResourcePolicy.Companion.toKotlin(args0)
})
}).orElse(null),
sseSpecification = javaType.sseSpecification().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTableReplicaSseSpecification.Companion.toKotlin(args0)
})
}).orElse(null),
tableClass = javaType.tableClass().map({ args0 -> args0 }).orElse(null),
tags = javaType.tags().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.dynamodb.kotlin.outputs.GlobalTableTag.Companion.toKotlin(args0)
})
}),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy