# 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__ = [
    'SyncAssociationMetadata',
]

@pulumi.output_type
class SyncAssociationMetadata(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "subKey":
            suggest = "sub_key"
        elif key == "syncStatus":
            suggest = "sync_status"
        elif key == "updatedAt":
            suggest = "updated_at"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in SyncAssociationMetadata. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        SyncAssociationMetadata.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        SyncAssociationMetadata.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 sub_key: Optional[_builtins.str] = None,
                 sync_status: Optional[_builtins.str] = None,
                 updated_at: Optional[_builtins.str] = None):
        """
        :param _builtins.str sub_key: Subkey of the associated secret.
        :param _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 _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[_builtins.str]:
        """
        Subkey of the associated secret.
        """
        return pulumi.get(self, "sub_key")

    @_builtins.property
    @pulumi.getter(name="syncStatus")
    def sync_status(self) -> Optional[_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")

    @_builtins.property
    @pulumi.getter(name="updatedAt")
    def updated_at(self) -> Optional[_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")


