
com.pulumi.azure.storage.kotlin.outputs.AccountBlobProperties.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.storage.kotlin.outputs
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property changeFeedEnabled Is the blob service properties for change feed events enabled? Default to `false`.
* > **Note:** This field cannot be configured when `kind` is set to `Storage` (V1).
* @property changeFeedRetentionInDays The duration of change feed events retention in days. The possible values are between 1 and 146000 days (400 years). Setting this to null (or omit this in the configuration file) indicates an infinite retention of the change feed.
* > **Note:** This field cannot be configured when `kind` is set to `Storage` (V1).
* @property containerDeleteRetentionPolicy A `container_delete_retention_policy` block as defined below.
* @property corsRules A `cors_rule` block as defined below.
* @property defaultServiceVersion The API Version which should be used by default for requests to the Data Plane API if an incoming request doesn't specify an API Version.
* @property deleteRetentionPolicy A `delete_retention_policy` block as defined below.
* @property lastAccessTimeEnabled Is the last access time based tracking enabled? Default to `false`.
* > **Note:** This field cannot be configured when `kind` is set to `Storage` (V1).
* @property restorePolicy A `restore_policy` block as defined below. This must be used together with `delete_retention_policy` set, `versioning_enabled` and `change_feed_enabled` set to `true`.
* > **Note:** This field cannot be configured when `kind` is set to `Storage` (V1).
* > **Note:** `restore_policy` can not be configured when `dns_endpoint_type` is `AzureDnsZone`.
* @property versioningEnabled Is versioning enabled? Default to `false`.
* > **Note:** This field cannot be configured when `kind` is set to `Storage` (V1).
*/
public data class AccountBlobProperties(
public val changeFeedEnabled: Boolean? = null,
public val changeFeedRetentionInDays: Int? = null,
public val containerDeleteRetentionPolicy: AccountBlobPropertiesContainerDeleteRetentionPolicy? =
null,
public val corsRules: List? = null,
public val defaultServiceVersion: String? = null,
public val deleteRetentionPolicy: AccountBlobPropertiesDeleteRetentionPolicy? = null,
public val lastAccessTimeEnabled: Boolean? = null,
public val restorePolicy: AccountBlobPropertiesRestorePolicy? = null,
public val versioningEnabled: Boolean? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.azure.storage.outputs.AccountBlobProperties): AccountBlobProperties = AccountBlobProperties(
changeFeedEnabled = javaType.changeFeedEnabled().map({ args0 -> args0 }).orElse(null),
changeFeedRetentionInDays = javaType.changeFeedRetentionInDays().map({ args0 ->
args0
}).orElse(null),
containerDeleteRetentionPolicy = javaType.containerDeleteRetentionPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azure.storage.kotlin.outputs.AccountBlobPropertiesContainerDeleteRetentionPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
corsRules = javaType.corsRules().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azure.storage.kotlin.outputs.AccountBlobPropertiesCorsRule.Companion.toKotlin(args0)
})
}),
defaultServiceVersion = javaType.defaultServiceVersion().map({ args0 -> args0 }).orElse(null),
deleteRetentionPolicy = javaType.deleteRetentionPolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azure.storage.kotlin.outputs.AccountBlobPropertiesDeleteRetentionPolicy.Companion.toKotlin(args0)
})
}).orElse(null),
lastAccessTimeEnabled = javaType.lastAccessTimeEnabled().map({ args0 -> args0 }).orElse(null),
restorePolicy = javaType.restorePolicy().map({ args0 ->
args0.let({ args0 ->
com.pulumi.azure.storage.kotlin.outputs.AccountBlobPropertiesRestorePolicy.Companion.toKotlin(args0)
})
}).orElse(null),
versioningEnabled = javaType.versioningEnabled().map({ args0 -> args0 }).orElse(null),
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy