# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities

__all__ = [
    'SecretV2CustomMetadataArgs',
]

@pulumi.input_type
class SecretV2CustomMetadataArgs:
    def __init__(__self__, *,
                 cas_required: Optional[pulumi.Input[bool]] = None,
                 data: Optional[pulumi.Input[Mapping[str, Any]]] = None,
                 delete_version_after: Optional[pulumi.Input[int]] = None,
                 max_versions: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[Mapping[str, Any]] data: A mapping whose keys are the top-level data keys returned from
               Vault and whose values are the corresponding values. This map can only
               represent string data, so any non-string values returned from Vault are
               serialized as JSON.
        """
        if cas_required is not None:
            pulumi.set(__self__, "cas_required", cas_required)
        if data is not None:
            pulumi.set(__self__, "data", data)
        if delete_version_after is not None:
            pulumi.set(__self__, "delete_version_after", delete_version_after)
        if max_versions is not None:
            pulumi.set(__self__, "max_versions", max_versions)

    @property
    @pulumi.getter(name="casRequired")
    def cas_required(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "cas_required")

    @cas_required.setter
    def cas_required(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "cas_required", value)

    @property
    @pulumi.getter
    def data(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
        """
        A mapping whose keys are the top-level data keys returned from
        Vault and whose values are the corresponding values. This map can only
        represent string data, so any non-string values returned from Vault are
        serialized as JSON.
        """
        return pulumi.get(self, "data")

    @data.setter
    def data(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
        pulumi.set(self, "data", value)

    @property
    @pulumi.getter(name="deleteVersionAfter")
    def delete_version_after(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "delete_version_after")

    @delete_version_after.setter
    def delete_version_after(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "delete_version_after", value)

    @property
    @pulumi.getter(name="maxVersions")
    def max_versions(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "max_versions")

    @max_versions.setter
    def max_versions(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "max_versions", value)


