# 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__ = [
    'GetInstanceAgentPluginsFilterResult',
    'GetInstanceAgentPluginsInstanceAgentPluginResult',
    'GetInstanceAvailablePluginAvailablePluginResult',
    'GetInstanceAvailablePluginFilterResult',
]

@pulumi.output_type
class GetInstanceAgentPluginsFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        """
        :param str name: The plugin name
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "values", values)
        if regex is not None:
            pulumi.set(__self__, "regex", regex)

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        The plugin name
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def values(self) -> Sequence[str]:
        return pulumi.get(self, "values")

    @property
    @pulumi.getter
    def regex(self) -> Optional[bool]:
        return pulumi.get(self, "regex")


@pulumi.output_type
class GetInstanceAgentPluginsInstanceAgentPluginResult(dict):
    def __init__(__self__, *,
                 message: str,
                 name: str,
                 status: str,
                 time_last_updated_utc: str):
        """
        :param str message: The optional message from the agent plugin
        :param str name: The plugin name
        :param str status: The plugin status
        :param str time_last_updated_utc: The last update time of the plugin in UTC
        """
        pulumi.set(__self__, "message", message)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "status", status)
        pulumi.set(__self__, "time_last_updated_utc", time_last_updated_utc)

    @property
    @pulumi.getter
    def message(self) -> str:
        """
        The optional message from the agent plugin
        """
        return pulumi.get(self, "message")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        The plugin name
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def status(self) -> str:
        """
        The plugin status
        """
        return pulumi.get(self, "status")

    @property
    @pulumi.getter(name="timeLastUpdatedUtc")
    def time_last_updated_utc(self) -> str:
        """
        The last update time of the plugin in UTC
        """
        return pulumi.get(self, "time_last_updated_utc")


@pulumi.output_type
class GetInstanceAvailablePluginAvailablePluginResult(dict):
    def __init__(__self__, *,
                 is_enabled_by_default: bool,
                 is_supported: bool,
                 name: str,
                 summary: str):
        """
        :param bool is_enabled_by_default: Is the plugin enabled or disabled by default
        :param bool is_supported: Is the plugin supported or not
        :param str name: The plugin name
        :param str summary: A brief description of the plugin functionality
        """
        pulumi.set(__self__, "is_enabled_by_default", is_enabled_by_default)
        pulumi.set(__self__, "is_supported", is_supported)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "summary", summary)

    @property
    @pulumi.getter(name="isEnabledByDefault")
    def is_enabled_by_default(self) -> bool:
        """
        Is the plugin enabled or disabled by default
        """
        return pulumi.get(self, "is_enabled_by_default")

    @property
    @pulumi.getter(name="isSupported")
    def is_supported(self) -> bool:
        """
        Is the plugin supported or not
        """
        return pulumi.get(self, "is_supported")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        The plugin name
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def summary(self) -> str:
        """
        A brief description of the plugin functionality
        """
        return pulumi.get(self, "summary")


@pulumi.output_type
class GetInstanceAvailablePluginFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        """
        :param str name: The plugin name
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "values", values)
        if regex is not None:
            pulumi.set(__self__, "regex", regex)

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        The plugin name
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def values(self) -> Sequence[str]:
        return pulumi.get(self, "values")

    @property
    @pulumi.getter
    def regex(self) -> Optional[bool]:
        return pulumi.get(self, "regex")


