# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins as _builtins
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

__all__ = [
    'SyncAssociationMetadataArgs',
    'SyncAssociationMetadataArgsDict',
]

MYPY = False

if not MYPY:
    class SyncAssociationMetadataArgsDict(TypedDict):
        sub_key: NotRequired[pulumi.Input[_builtins.str]]
        """
        Subkey of the associated secret.
        """
        sync_status: NotRequired[pulumi.Input[_builtins.str]]
        """
        A map of sync statuses for each subkey of the associated secret
        (for ex. `{kv_624bea/aws-token/dev: "SYNCED", kv_624bea/aws-token/prod: "SYNCED"}`).
        """
        updated_at: NotRequired[pulumi.Input[_builtins.str]]
        """
        A map of duration strings specifying when each subkey of the associated
        secret was last updated.
        (for ex.
        `{kv_624bea/aws-token/dev: "2024-03-21T12:42:02.558533-07:00",
        kv_624bea/aws-token/prod: "2024-03-21T12:42:02.558533-07:00"}`).
        """
elif False:
    SyncAssociationMetadataArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class SyncAssociationMetadataArgs:
    def __init__(__self__, *,
                 sub_key: Optional[pulumi.Input[_builtins.str]] = None,
                 sync_status: Optional[pulumi.Input[_builtins.str]] = None,
                 updated_at: Optional[pulumi.Input[_builtins.str]] = None):
        """
        :param pulumi.Input[_builtins.str] sub_key: Subkey of the associated secret.
        :param pulumi.Input[_builtins.str] sync_status: A map of sync statuses for each subkey of the associated secret
               (for ex. `{kv_624bea/aws-token/dev: "SYNCED", kv_624bea/aws-token/prod: "SYNCED"}`).
        :param pulumi.Input[_builtins.str] updated_at: A map of duration strings specifying when each subkey of the associated
               secret was last updated.
               (for ex.
               `{kv_624bea/aws-token/dev: "2024-03-21T12:42:02.558533-07:00",
               kv_624bea/aws-token/prod: "2024-03-21T12:42:02.558533-07:00"}`).
        """
        if sub_key is not None:
            pulumi.set(__self__, "sub_key", sub_key)
        if sync_status is not None:
            pulumi.set(__self__, "sync_status", sync_status)
        if updated_at is not None:
            pulumi.set(__self__, "updated_at", updated_at)

    @_builtins.property
    @pulumi.getter(name="subKey")
    def sub_key(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        Subkey of the associated secret.
        """
        return pulumi.get(self, "sub_key")

    @sub_key.setter
    def sub_key(self, value: Optional[pulumi.Input[_builtins.str]]):
        pulumi.set(self, "sub_key", value)

    @_builtins.property
    @pulumi.getter(name="syncStatus")
    def sync_status(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        A map of sync statuses for each subkey of the associated secret
        (for ex. `{kv_624bea/aws-token/dev: "SYNCED", kv_624bea/aws-token/prod: "SYNCED"}`).
        """
        return pulumi.get(self, "sync_status")

    @sync_status.setter
    def sync_status(self, value: Optional[pulumi.Input[_builtins.str]]):
        pulumi.set(self, "sync_status", value)

    @_builtins.property
    @pulumi.getter(name="updatedAt")
    def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
        """
        A map of duration strings specifying when each subkey of the associated
        secret was last updated.
        (for ex.
        `{kv_624bea/aws-token/dev: "2024-03-21T12:42:02.558533-07:00",
        kv_624bea/aws-token/prod: "2024-03-21T12:42:02.558533-07:00"}`).
        """
        return pulumi.get(self, "updated_at")

    @updated_at.setter
    def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
        pulumi.set(self, "updated_at", value)


