# 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
from . import outputs

__all__ = [
    'FleetInventoryLog',
    'FleetOperationLog',
    'GetFleetAdvancedFeatureConfigurationAdvancedUsageTrackingResult',
    'GetFleetAdvancedFeatureConfigurationCryptoEventAnalysisResult',
    'GetFleetAdvancedFeatureConfigurationCryptoEventAnalysisSummarizedEventsLogResult',
    'GetFleetAdvancedFeatureConfigurationJfrRecordingResult',
    'GetFleetAdvancedFeatureConfigurationLcmResult',
    'GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionResult',
    'GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingResult',
    'GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingCertpathResult',
    'GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingJarResult',
    'GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingTlResult',
    'GetFleetBlocklistsFilterResult',
    'GetFleetBlocklistsItemResult',
    'GetFleetBlocklistsItemTargetResult',
    'GetFleetCryptoAnalysisResultsCryptoAnalysisResultCollectionResult',
    'GetFleetCryptoAnalysisResultsCryptoAnalysisResultCollectionItemResult',
    'GetFleetCryptoAnalysisResultsFilterResult',
    'GetFleetInventoryLogResult',
    'GetFleetOperationLogResult',
    'GetFleetsFilterResult',
    'GetFleetsFleetCollectionResult',
    'GetFleetsFleetCollectionItemResult',
    'GetFleetsFleetCollectionItemInventoryLogResult',
    'GetFleetsFleetCollectionItemOperationLogResult',
    'GetInstallationSiteItemResult',
    'GetInstallationSiteItemBlocklistResult',
    'GetInstallationSiteItemJreResult',
    'GetInstallationSiteItemOperatingSystemResult',
    'GetInstallationSitesFilterResult',
    'GetInstallationSitesInstallationSiteCollectionResult',
    'GetInstallationSitesInstallationSiteCollectionItemResult',
    'GetInstallationSitesInstallationSiteCollectionItemItemResult',
    'GetInstallationSitesInstallationSiteCollectionItemItemBlocklistResult',
    'GetInstallationSitesInstallationSiteCollectionItemItemJreResult',
    'GetInstallationSitesInstallationSiteCollectionItemItemOperatingSystemResult',
    'GetJavaFamiliesFilterResult',
    'GetJavaFamiliesJavaFamilyCollectionResult',
    'GetJavaFamiliesJavaFamilyCollectionItemResult',
    'GetJavaReleaseArtifactResult',
    'GetJavaReleaseFamilyDetailResult',
    'GetJavaReleaseLicenseDetailResult',
    'GetJavaReleasesFilterResult',
    'GetJavaReleasesJavaReleaseCollectionResult',
    'GetJavaReleasesJavaReleaseCollectionItemResult',
    'GetJavaReleasesJavaReleaseCollectionItemArtifactResult',
    'GetJavaReleasesJavaReleaseCollectionItemFamilyDetailResult',
    'GetJavaReleasesJavaReleaseCollectionItemLicenseDetailResult',
    'GetListJreUsageItemResult',
    'GetListJreUsageItemOperatingSystemResult',
]

@pulumi.output_type
class FleetInventoryLog(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "logGroupId":
            suggest = "log_group_id"
        elif key == "logId":
            suggest = "log_id"

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

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

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

    def __init__(__self__, *,
                 log_group_id: str,
                 log_id: str):
        """
        :param str log_group_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        :param str log_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
               
               
               ** IMPORTANT **
               Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
        """
        pulumi.set(__self__, "log_group_id", log_group_id)
        pulumi.set(__self__, "log_id", log_id)

    @property
    @pulumi.getter(name="logGroupId")
    def log_group_id(self) -> str:
        """
        (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        """
        return pulumi.get(self, "log_group_id")

    @property
    @pulumi.getter(name="logId")
    def log_id(self) -> str:
        """
        (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.


        ** IMPORTANT **
        Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
        """
        return pulumi.get(self, "log_id")


@pulumi.output_type
class FleetOperationLog(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "logGroupId":
            suggest = "log_group_id"
        elif key == "logId":
            suggest = "log_id"

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

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

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

    def __init__(__self__, *,
                 log_group_id: str,
                 log_id: str):
        """
        :param str log_group_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        :param str log_id: (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
               
               
               ** IMPORTANT **
               Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
        """
        pulumi.set(__self__, "log_group_id", log_group_id)
        pulumi.set(__self__, "log_id", log_id)

    @property
    @pulumi.getter(name="logGroupId")
    def log_group_id(self) -> str:
        """
        (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        """
        return pulumi.get(self, "log_group_id")

    @property
    @pulumi.getter(name="logId")
    def log_id(self) -> str:
        """
        (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.


        ** IMPORTANT **
        Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
        """
        return pulumi.get(self, "log_id")


@pulumi.output_type
class GetFleetAdvancedFeatureConfigurationAdvancedUsageTrackingResult(dict):
    def __init__(__self__, *,
                 is_enabled: bool):
        """
        :param bool is_enabled: Lcm flag to store enabled or disabled status
        """
        pulumi.set(__self__, "is_enabled", is_enabled)

    @property
    @pulumi.getter(name="isEnabled")
    def is_enabled(self) -> bool:
        """
        Lcm flag to store enabled or disabled status
        """
        return pulumi.get(self, "is_enabled")


@pulumi.output_type
class GetFleetAdvancedFeatureConfigurationCryptoEventAnalysisResult(dict):
    def __init__(__self__, *,
                 is_enabled: bool,
                 summarized_events_logs: Sequence['outputs.GetFleetAdvancedFeatureConfigurationCryptoEventAnalysisSummarizedEventsLogResult']):
        """
        :param bool is_enabled: Lcm flag to store enabled or disabled status
        :param Sequence['GetFleetAdvancedFeatureConfigurationCryptoEventAnalysisSummarizedEventsLogArgs'] summarized_events_logs: Summarized events log for advanced feature.
        """
        pulumi.set(__self__, "is_enabled", is_enabled)
        pulumi.set(__self__, "summarized_events_logs", summarized_events_logs)

    @property
    @pulumi.getter(name="isEnabled")
    def is_enabled(self) -> bool:
        """
        Lcm flag to store enabled or disabled status
        """
        return pulumi.get(self, "is_enabled")

    @property
    @pulumi.getter(name="summarizedEventsLogs")
    def summarized_events_logs(self) -> Sequence['outputs.GetFleetAdvancedFeatureConfigurationCryptoEventAnalysisSummarizedEventsLogResult']:
        """
        Summarized events log for advanced feature.
        """
        return pulumi.get(self, "summarized_events_logs")


@pulumi.output_type
class GetFleetAdvancedFeatureConfigurationCryptoEventAnalysisSummarizedEventsLogResult(dict):
    def __init__(__self__, *,
                 log_group_id: str,
                 log_id: str):
        """
        :param str log_group_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        :param str log_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
        """
        pulumi.set(__self__, "log_group_id", log_group_id)
        pulumi.set(__self__, "log_id", log_id)

    @property
    @pulumi.getter(name="logGroupId")
    def log_group_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        """
        return pulumi.get(self, "log_group_id")

    @property
    @pulumi.getter(name="logId")
    def log_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
        """
        return pulumi.get(self, "log_id")


@pulumi.output_type
class GetFleetAdvancedFeatureConfigurationJfrRecordingResult(dict):
    def __init__(__self__, *,
                 is_enabled: bool):
        """
        :param bool is_enabled: Lcm flag to store enabled or disabled status
        """
        pulumi.set(__self__, "is_enabled", is_enabled)

    @property
    @pulumi.getter(name="isEnabled")
    def is_enabled(self) -> bool:
        """
        Lcm flag to store enabled or disabled status
        """
        return pulumi.get(self, "is_enabled")


@pulumi.output_type
class GetFleetAdvancedFeatureConfigurationLcmResult(dict):
    def __init__(__self__, *,
                 is_enabled: bool,
                 post_installation_actions: Sequence['outputs.GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionResult']):
        """
        :param bool is_enabled: Lcm flag to store enabled or disabled status
        :param Sequence['GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionArgs'] post_installation_actions: List of available post actions you can execute after the successful Java installation.
        """
        pulumi.set(__self__, "is_enabled", is_enabled)
        pulumi.set(__self__, "post_installation_actions", post_installation_actions)

    @property
    @pulumi.getter(name="isEnabled")
    def is_enabled(self) -> bool:
        """
        Lcm flag to store enabled or disabled status
        """
        return pulumi.get(self, "is_enabled")

    @property
    @pulumi.getter(name="postInstallationActions")
    def post_installation_actions(self) -> Sequence['outputs.GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionResult']:
        """
        List of available post actions you can execute after the successful Java installation.
        """
        return pulumi.get(self, "post_installation_actions")


@pulumi.output_type
class GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionResult(dict):
    def __init__(__self__, *,
                 disabled_tls_versions: Sequence[str],
                 minimum_key_size_settings: Sequence['outputs.GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingResult'],
                 should_replace_certificates_operating_system: bool):
        """
        :param Sequence[str] disabled_tls_versions: The following post JRE installation actions are supported by the field:
               * Disable TLS 1.0 , TLS 1.1
        :param Sequence['GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingArgs'] minimum_key_size_settings: test
        :param bool should_replace_certificates_operating_system: Restores JDK root certificates with the certificates that are available in the operating system. The following action is supported by the field:
               * Replace JDK root certificates with a list provided by the operating system
        """
        pulumi.set(__self__, "disabled_tls_versions", disabled_tls_versions)
        pulumi.set(__self__, "minimum_key_size_settings", minimum_key_size_settings)
        pulumi.set(__self__, "should_replace_certificates_operating_system", should_replace_certificates_operating_system)

    @property
    @pulumi.getter(name="disabledTlsVersions")
    def disabled_tls_versions(self) -> Sequence[str]:
        """
        The following post JRE installation actions are supported by the field:
        * Disable TLS 1.0 , TLS 1.1
        """
        return pulumi.get(self, "disabled_tls_versions")

    @property
    @pulumi.getter(name="minimumKeySizeSettings")
    def minimum_key_size_settings(self) -> Sequence['outputs.GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingResult']:
        """
        test
        """
        return pulumi.get(self, "minimum_key_size_settings")

    @property
    @pulumi.getter(name="shouldReplaceCertificatesOperatingSystem")
    def should_replace_certificates_operating_system(self) -> bool:
        """
        Restores JDK root certificates with the certificates that are available in the operating system. The following action is supported by the field:
        * Replace JDK root certificates with a list provided by the operating system
        """
        return pulumi.get(self, "should_replace_certificates_operating_system")


@pulumi.output_type
class GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingResult(dict):
    def __init__(__self__, *,
                 certpaths: Sequence['outputs.GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingCertpathResult'],
                 jars: Sequence['outputs.GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingJarResult'],
                 tls: Sequence['outputs.GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingTlResult']):
        """
        :param Sequence['GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingCertpathArgs'] certpaths: Updates the minimum key size for the specified encryption algorithm. The JDK property jdk.certpath.disabledAlgorithms will be updated with the following supported actions:
               * Changing minimum key length for RSA signed jars
               * Changing minimum key length for EC
               * Changing minimum key length for DSA
        :param Sequence['GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingJarArgs'] jars: Updates the minimum key size for the specified encryption algorithm. The JDK property jdk.jar.disabledAlgorithms will be updated with the following supported actions:
               * Changing minimum key length for RSA signed jars
               * Changing minimum key length for EC
               * Changing minimum key length for DSA
        :param Sequence['GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingTlArgs'] tls: Updates the minimum key size for the specified encryption algorithm. The JDK property jdk.tls.disabledAlgorithms will be updated with the following supported actions:
               * Changing minimum key length for Diffie-Hellman
        """
        pulumi.set(__self__, "certpaths", certpaths)
        pulumi.set(__self__, "jars", jars)
        pulumi.set(__self__, "tls", tls)

    @property
    @pulumi.getter
    def certpaths(self) -> Sequence['outputs.GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingCertpathResult']:
        """
        Updates the minimum key size for the specified encryption algorithm. The JDK property jdk.certpath.disabledAlgorithms will be updated with the following supported actions:
        * Changing minimum key length for RSA signed jars
        * Changing minimum key length for EC
        * Changing minimum key length for DSA
        """
        return pulumi.get(self, "certpaths")

    @property
    @pulumi.getter
    def jars(self) -> Sequence['outputs.GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingJarResult']:
        """
        Updates the minimum key size for the specified encryption algorithm. The JDK property jdk.jar.disabledAlgorithms will be updated with the following supported actions:
        * Changing minimum key length for RSA signed jars
        * Changing minimum key length for EC
        * Changing minimum key length for DSA
        """
        return pulumi.get(self, "jars")

    @property
    @pulumi.getter
    def tls(self) -> Sequence['outputs.GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingTlResult']:
        """
        Updates the minimum key size for the specified encryption algorithm. The JDK property jdk.tls.disabledAlgorithms will be updated with the following supported actions:
        * Changing minimum key length for Diffie-Hellman
        """
        return pulumi.get(self, "tls")


@pulumi.output_type
class GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingCertpathResult(dict):
    def __init__(__self__, *,
                 key_size: int,
                 name: str):
        """
        :param int key_size: Key size for the encryption algorithm. Allowed values: 256 for EC, 2048 for DH/DSA/RSA
        :param str name: The algorithm name.
        """
        pulumi.set(__self__, "key_size", key_size)
        pulumi.set(__self__, "name", name)

    @property
    @pulumi.getter(name="keySize")
    def key_size(self) -> int:
        """
        Key size for the encryption algorithm. Allowed values: 256 for EC, 2048 for DH/DSA/RSA
        """
        return pulumi.get(self, "key_size")

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


@pulumi.output_type
class GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingJarResult(dict):
    def __init__(__self__, *,
                 key_size: int,
                 name: str):
        """
        :param int key_size: Key size for the encryption algorithm. Allowed values: 256 for EC, 2048 for DH/DSA/RSA
        :param str name: The algorithm name.
        """
        pulumi.set(__self__, "key_size", key_size)
        pulumi.set(__self__, "name", name)

    @property
    @pulumi.getter(name="keySize")
    def key_size(self) -> int:
        """
        Key size for the encryption algorithm. Allowed values: 256 for EC, 2048 for DH/DSA/RSA
        """
        return pulumi.get(self, "key_size")

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


@pulumi.output_type
class GetFleetAdvancedFeatureConfigurationLcmPostInstallationActionMinimumKeySizeSettingTlResult(dict):
    def __init__(__self__, *,
                 key_size: int,
                 name: str):
        """
        :param int key_size: Key size for the encryption algorithm. Allowed values: 256 for EC, 2048 for DH/DSA/RSA
        :param str name: The algorithm name.
        """
        pulumi.set(__self__, "key_size", key_size)
        pulumi.set(__self__, "name", name)

    @property
    @pulumi.getter(name="keySize")
    def key_size(self) -> int:
        """
        Key size for the encryption algorithm. Allowed values: 256 for EC, 2048 for DH/DSA/RSA
        """
        return pulumi.get(self, "key_size")

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


@pulumi.output_type
class GetFleetBlocklistsFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        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:
        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 GetFleetBlocklistsItemResult(dict):
    def __init__(__self__, *,
                 key: str,
                 operation: str,
                 reason: str,
                 targets: Sequence['outputs.GetFleetBlocklistsItemTargetResult']):
        """
        :param str key: The unique identifier of this blocklist record.
        :param str operation: The operation type.
        :param str reason: The reason for why the operation is blocklisted
        :param Sequence['GetFleetBlocklistsItemTargetArgs'] targets: A resource to blocklist for certain operation.
        """
        pulumi.set(__self__, "key", key)
        pulumi.set(__self__, "operation", operation)
        pulumi.set(__self__, "reason", reason)
        pulumi.set(__self__, "targets", targets)

    @property
    @pulumi.getter
    def key(self) -> str:
        """
        The unique identifier of this blocklist record.
        """
        return pulumi.get(self, "key")

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

    @property
    @pulumi.getter
    def reason(self) -> str:
        """
        The reason for why the operation is blocklisted
        """
        return pulumi.get(self, "reason")

    @property
    @pulumi.getter
    def targets(self) -> Sequence['outputs.GetFleetBlocklistsItemTargetResult']:
        """
        A resource to blocklist for certain operation.
        """
        return pulumi.get(self, "targets")


@pulumi.output_type
class GetFleetBlocklistsItemTargetResult(dict):
    def __init__(__self__, *,
                 fleet_id: str,
                 installation_key: str,
                 managed_instance_id: str):
        """
        :param str fleet_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Fleet.
        :param str installation_key: The unique identifier for the installation of Java Runtime at a specific path on a specific operating system.
        :param str managed_instance_id: The Fleet-unique identifier of the related managed instance.
        """
        pulumi.set(__self__, "fleet_id", fleet_id)
        pulumi.set(__self__, "installation_key", installation_key)
        pulumi.set(__self__, "managed_instance_id", managed_instance_id)

    @property
    @pulumi.getter(name="fleetId")
    def fleet_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Fleet.
        """
        return pulumi.get(self, "fleet_id")

    @property
    @pulumi.getter(name="installationKey")
    def installation_key(self) -> str:
        """
        The unique identifier for the installation of Java Runtime at a specific path on a specific operating system.
        """
        return pulumi.get(self, "installation_key")

    @property
    @pulumi.getter(name="managedInstanceId")
    def managed_instance_id(self) -> str:
        """
        The Fleet-unique identifier of the related managed instance.
        """
        return pulumi.get(self, "managed_instance_id")


@pulumi.output_type
class GetFleetCryptoAnalysisResultsCryptoAnalysisResultCollectionResult(dict):
    def __init__(__self__, *,
                 items: Sequence['outputs.GetFleetCryptoAnalysisResultsCryptoAnalysisResultCollectionItemResult']):
        pulumi.set(__self__, "items", items)

    @property
    @pulumi.getter
    def items(self) -> Sequence['outputs.GetFleetCryptoAnalysisResultsCryptoAnalysisResultCollectionItemResult']:
        return pulumi.get(self, "items")


@pulumi.output_type
class GetFleetCryptoAnalysisResultsCryptoAnalysisResultCollectionItemResult(dict):
    def __init__(__self__, *,
                 aggregation_mode: str,
                 bucket: str,
                 crypto_roadmap_version: str,
                 finding_count: int,
                 fleet_id: str,
                 host_name: str,
                 id: str,
                 managed_instance_id: str,
                 namespace: str,
                 non_compliant_finding_count: int,
                 object: str,
                 summarized_event_count: int,
                 time_created: str,
                 time_first_event: str,
                 time_last_event: str,
                 total_event_count: int,
                 work_request_id: str):
        """
        :param str aggregation_mode: The aggregation mode of the crypto event analysis result.
        :param str bucket: The Object Storage bucket name of this analysis result.
        :param str crypto_roadmap_version: The Crypto Roadmap version used to perform the analysis.
        :param int finding_count: Total number of findings with the analysis.
        :param str fleet_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Fleet.
        :param str host_name: The hostname of the managed instance.
        :param str id: The OCID to identify this analysis results.
        :param str managed_instance_id: The Fleet-unique identifier of the related managed instance.
        :param str namespace: The Object Storage namespace of this analysis result.
        :param int non_compliant_finding_count: Total number of non-compliant findings with the analysis. A non-compliant finding means the application won't work properly with the changes introduced by the crypto roadmap version used the the analysis.
        :param str object: The Object Storage object name of this analysis result.
        :param int summarized_event_count: Total number of summarized events. Summarized events are deduplicated events of interest.
        :param str time_created: The time the result is compiled.
        :param str time_first_event: Time of the first event in the analysis.
        :param str time_last_event: Time of the last event in the analysis.
        :param int total_event_count: Total number of events in the analysis.
        :param str work_request_id: The OCID of the work request to start the analysis.
        """
        pulumi.set(__self__, "aggregation_mode", aggregation_mode)
        pulumi.set(__self__, "bucket", bucket)
        pulumi.set(__self__, "crypto_roadmap_version", crypto_roadmap_version)
        pulumi.set(__self__, "finding_count", finding_count)
        pulumi.set(__self__, "fleet_id", fleet_id)
        pulumi.set(__self__, "host_name", host_name)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "managed_instance_id", managed_instance_id)
        pulumi.set(__self__, "namespace", namespace)
        pulumi.set(__self__, "non_compliant_finding_count", non_compliant_finding_count)
        pulumi.set(__self__, "object", object)
        pulumi.set(__self__, "summarized_event_count", summarized_event_count)
        pulumi.set(__self__, "time_created", time_created)
        pulumi.set(__self__, "time_first_event", time_first_event)
        pulumi.set(__self__, "time_last_event", time_last_event)
        pulumi.set(__self__, "total_event_count", total_event_count)
        pulumi.set(__self__, "work_request_id", work_request_id)

    @property
    @pulumi.getter(name="aggregationMode")
    def aggregation_mode(self) -> str:
        """
        The aggregation mode of the crypto event analysis result.
        """
        return pulumi.get(self, "aggregation_mode")

    @property
    @pulumi.getter
    def bucket(self) -> str:
        """
        The Object Storage bucket name of this analysis result.
        """
        return pulumi.get(self, "bucket")

    @property
    @pulumi.getter(name="cryptoRoadmapVersion")
    def crypto_roadmap_version(self) -> str:
        """
        The Crypto Roadmap version used to perform the analysis.
        """
        return pulumi.get(self, "crypto_roadmap_version")

    @property
    @pulumi.getter(name="findingCount")
    def finding_count(self) -> int:
        """
        Total number of findings with the analysis.
        """
        return pulumi.get(self, "finding_count")

    @property
    @pulumi.getter(name="fleetId")
    def fleet_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Fleet.
        """
        return pulumi.get(self, "fleet_id")

    @property
    @pulumi.getter(name="hostName")
    def host_name(self) -> str:
        """
        The hostname of the managed instance.
        """
        return pulumi.get(self, "host_name")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The OCID to identify this analysis results.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="managedInstanceId")
    def managed_instance_id(self) -> str:
        """
        The Fleet-unique identifier of the related managed instance.
        """
        return pulumi.get(self, "managed_instance_id")

    @property
    @pulumi.getter
    def namespace(self) -> str:
        """
        The Object Storage namespace of this analysis result.
        """
        return pulumi.get(self, "namespace")

    @property
    @pulumi.getter(name="nonCompliantFindingCount")
    def non_compliant_finding_count(self) -> int:
        """
        Total number of non-compliant findings with the analysis. A non-compliant finding means the application won't work properly with the changes introduced by the crypto roadmap version used the the analysis.
        """
        return pulumi.get(self, "non_compliant_finding_count")

    @property
    @pulumi.getter
    def object(self) -> str:
        """
        The Object Storage object name of this analysis result.
        """
        return pulumi.get(self, "object")

    @property
    @pulumi.getter(name="summarizedEventCount")
    def summarized_event_count(self) -> int:
        """
        Total number of summarized events. Summarized events are deduplicated events of interest.
        """
        return pulumi.get(self, "summarized_event_count")

    @property
    @pulumi.getter(name="timeCreated")
    def time_created(self) -> str:
        """
        The time the result is compiled.
        """
        return pulumi.get(self, "time_created")

    @property
    @pulumi.getter(name="timeFirstEvent")
    def time_first_event(self) -> str:
        """
        Time of the first event in the analysis.
        """
        return pulumi.get(self, "time_first_event")

    @property
    @pulumi.getter(name="timeLastEvent")
    def time_last_event(self) -> str:
        """
        Time of the last event in the analysis.
        """
        return pulumi.get(self, "time_last_event")

    @property
    @pulumi.getter(name="totalEventCount")
    def total_event_count(self) -> int:
        """
        Total number of events in the analysis.
        """
        return pulumi.get(self, "total_event_count")

    @property
    @pulumi.getter(name="workRequestId")
    def work_request_id(self) -> str:
        """
        The OCID of the work request to start the analysis.
        """
        return pulumi.get(self, "work_request_id")


@pulumi.output_type
class GetFleetCryptoAnalysisResultsFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        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:
        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 GetFleetInventoryLogResult(dict):
    def __init__(__self__, *,
                 log_group_id: str,
                 log_id: str):
        """
        :param str log_group_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        :param str log_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
        """
        pulumi.set(__self__, "log_group_id", log_group_id)
        pulumi.set(__self__, "log_id", log_id)

    @property
    @pulumi.getter(name="logGroupId")
    def log_group_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        """
        return pulumi.get(self, "log_group_id")

    @property
    @pulumi.getter(name="logId")
    def log_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
        """
        return pulumi.get(self, "log_id")


@pulumi.output_type
class GetFleetOperationLogResult(dict):
    def __init__(__self__, *,
                 log_group_id: str,
                 log_id: str):
        """
        :param str log_group_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        :param str log_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
        """
        pulumi.set(__self__, "log_group_id", log_group_id)
        pulumi.set(__self__, "log_id", log_id)

    @property
    @pulumi.getter(name="logGroupId")
    def log_group_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        """
        return pulumi.get(self, "log_group_id")

    @property
    @pulumi.getter(name="logId")
    def log_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
        """
        return pulumi.get(self, "log_id")


@pulumi.output_type
class GetFleetsFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        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:
        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 GetFleetsFleetCollectionResult(dict):
    def __init__(__self__, *,
                 items: Sequence['outputs.GetFleetsFleetCollectionItemResult']):
        pulumi.set(__self__, "items", items)

    @property
    @pulumi.getter
    def items(self) -> Sequence['outputs.GetFleetsFleetCollectionItemResult']:
        return pulumi.get(self, "items")


@pulumi.output_type
class GetFleetsFleetCollectionItemResult(dict):
    def __init__(__self__, *,
                 approximate_application_count: int,
                 approximate_installation_count: int,
                 approximate_java_server_count: int,
                 approximate_jre_count: int,
                 approximate_managed_instance_count: int,
                 compartment_id: str,
                 defined_tags: Mapping[str, Any],
                 description: str,
                 display_name: str,
                 freeform_tags: Mapping[str, Any],
                 id: str,
                 inventory_logs: Sequence['outputs.GetFleetsFleetCollectionItemInventoryLogResult'],
                 is_advanced_features_enabled: bool,
                 operation_logs: Sequence['outputs.GetFleetsFleetCollectionItemOperationLogResult'],
                 state: str,
                 system_tags: Mapping[str, Any],
                 time_created: str):
        """
        :param int approximate_application_count: The approximate count of all unique applications in the Fleet in the past seven days. This metric is provided on a best-effort manner, and is not taken into account when computing the resource ETag.
        :param int approximate_installation_count: The approximate count of all unique Java installations in the Fleet in the past seven days. This metric is provided on a best-effort manner, and is not taken into account when computing the resource ETag.
        :param int approximate_java_server_count: The approximate count of all unique Java servers in the Fleet in the past seven days. This metric is provided on a best-effort manner, and is not taken into account when computing the resource ETag.
        :param int approximate_jre_count: The approximate count of all unique Java Runtimes in the Fleet in the past seven days. This metric is provided on a best-effort manner, and is not taken into account when computing the resource ETag.
        :param int approximate_managed_instance_count: The approximate count of all unique managed instances in the Fleet in the past seven days. This metric is provided on a best-effort manner, and is not taken into account when computing the resource ETag.
        :param str compartment_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
        :param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`. (See [Understanding Free-form Tags](https://docs.cloud.oracle.com/iaas/Content/Tagging/Tasks/managingtagsandtagnamespaces.htm)).
        :param str description: The Fleet's description.
        :param str display_name: The display name.
        :param Mapping[str, Any] freeform_tags: Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`. (See [Managing Tags and Tag Namespaces](https://docs.cloud.oracle.com/iaas/Content/Tagging/Concepts/understandingfreeformtags.htm).)
        :param str id: The ID of the Fleet.
        :param Sequence['GetFleetsFleetCollectionItemInventoryLogArgs'] inventory_logs: Custom Log for inventory or operation log.
        :param bool is_advanced_features_enabled: Whether or not advanced features are enabled in this fleet. Deprecated, use `/fleets/{fleetId}/advanceFeatureConfiguration` api instead.
        :param Sequence['GetFleetsFleetCollectionItemOperationLogArgs'] operation_logs: Custom Log for inventory or operation log.
        :param str state: The state of the lifecycle.
        :param Mapping[str, Any] system_tags: System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags can be viewed by users, but can only be created by the system.  Example: `{"orcl-cloud.free-tier-retained": "true"}`
        :param str time_created: The creation date and time of the Fleet (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        """
        pulumi.set(__self__, "approximate_application_count", approximate_application_count)
        pulumi.set(__self__, "approximate_installation_count", approximate_installation_count)
        pulumi.set(__self__, "approximate_java_server_count", approximate_java_server_count)
        pulumi.set(__self__, "approximate_jre_count", approximate_jre_count)
        pulumi.set(__self__, "approximate_managed_instance_count", approximate_managed_instance_count)
        pulumi.set(__self__, "compartment_id", compartment_id)
        pulumi.set(__self__, "defined_tags", defined_tags)
        pulumi.set(__self__, "description", description)
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "freeform_tags", freeform_tags)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "inventory_logs", inventory_logs)
        pulumi.set(__self__, "is_advanced_features_enabled", is_advanced_features_enabled)
        pulumi.set(__self__, "operation_logs", operation_logs)
        pulumi.set(__self__, "state", state)
        pulumi.set(__self__, "system_tags", system_tags)
        pulumi.set(__self__, "time_created", time_created)

    @property
    @pulumi.getter(name="approximateApplicationCount")
    def approximate_application_count(self) -> int:
        """
        The approximate count of all unique applications in the Fleet in the past seven days. This metric is provided on a best-effort manner, and is not taken into account when computing the resource ETag.
        """
        return pulumi.get(self, "approximate_application_count")

    @property
    @pulumi.getter(name="approximateInstallationCount")
    def approximate_installation_count(self) -> int:
        """
        The approximate count of all unique Java installations in the Fleet in the past seven days. This metric is provided on a best-effort manner, and is not taken into account when computing the resource ETag.
        """
        return pulumi.get(self, "approximate_installation_count")

    @property
    @pulumi.getter(name="approximateJavaServerCount")
    def approximate_java_server_count(self) -> int:
        """
        The approximate count of all unique Java servers in the Fleet in the past seven days. This metric is provided on a best-effort manner, and is not taken into account when computing the resource ETag.
        """
        return pulumi.get(self, "approximate_java_server_count")

    @property
    @pulumi.getter(name="approximateJreCount")
    def approximate_jre_count(self) -> int:
        """
        The approximate count of all unique Java Runtimes in the Fleet in the past seven days. This metric is provided on a best-effort manner, and is not taken into account when computing the resource ETag.
        """
        return pulumi.get(self, "approximate_jre_count")

    @property
    @pulumi.getter(name="approximateManagedInstanceCount")
    def approximate_managed_instance_count(self) -> int:
        """
        The approximate count of all unique managed instances in the Fleet in the past seven days. This metric is provided on a best-effort manner, and is not taken into account when computing the resource ETag.
        """
        return pulumi.get(self, "approximate_managed_instance_count")

    @property
    @pulumi.getter(name="compartmentId")
    def compartment_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
        """
        return pulumi.get(self, "compartment_id")

    @property
    @pulumi.getter(name="definedTags")
    def defined_tags(self) -> Mapping[str, Any]:
        """
        Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`. (See [Understanding Free-form Tags](https://docs.cloud.oracle.com/iaas/Content/Tagging/Tasks/managingtagsandtagnamespaces.htm)).
        """
        return pulumi.get(self, "defined_tags")

    @property
    @pulumi.getter
    def description(self) -> str:
        """
        The Fleet's description.
        """
        return pulumi.get(self, "description")

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        The display name.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter(name="freeformTags")
    def freeform_tags(self) -> Mapping[str, Any]:
        """
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`. (See [Managing Tags and Tag Namespaces](https://docs.cloud.oracle.com/iaas/Content/Tagging/Concepts/understandingfreeformtags.htm).)
        """
        return pulumi.get(self, "freeform_tags")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The ID of the Fleet.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="inventoryLogs")
    def inventory_logs(self) -> Sequence['outputs.GetFleetsFleetCollectionItemInventoryLogResult']:
        """
        Custom Log for inventory or operation log.
        """
        return pulumi.get(self, "inventory_logs")

    @property
    @pulumi.getter(name="isAdvancedFeaturesEnabled")
    def is_advanced_features_enabled(self) -> bool:
        """
        Whether or not advanced features are enabled in this fleet. Deprecated, use `/fleets/{fleetId}/advanceFeatureConfiguration` api instead.
        """
        return pulumi.get(self, "is_advanced_features_enabled")

    @property
    @pulumi.getter(name="operationLogs")
    def operation_logs(self) -> Sequence['outputs.GetFleetsFleetCollectionItemOperationLogResult']:
        """
        Custom Log for inventory or operation log.
        """
        return pulumi.get(self, "operation_logs")

    @property
    @pulumi.getter
    def state(self) -> str:
        """
        The state of the lifecycle.
        """
        return pulumi.get(self, "state")

    @property
    @pulumi.getter(name="systemTags")
    def system_tags(self) -> Mapping[str, Any]:
        """
        System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). System tags can be viewed by users, but can only be created by the system.  Example: `{"orcl-cloud.free-tier-retained": "true"}`
        """
        return pulumi.get(self, "system_tags")

    @property
    @pulumi.getter(name="timeCreated")
    def time_created(self) -> str:
        """
        The creation date and time of the Fleet (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        """
        return pulumi.get(self, "time_created")


@pulumi.output_type
class GetFleetsFleetCollectionItemInventoryLogResult(dict):
    def __init__(__self__, *,
                 log_group_id: str,
                 log_id: str):
        """
        :param str log_group_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        :param str log_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
        """
        pulumi.set(__self__, "log_group_id", log_group_id)
        pulumi.set(__self__, "log_id", log_id)

    @property
    @pulumi.getter(name="logGroupId")
    def log_group_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        """
        return pulumi.get(self, "log_group_id")

    @property
    @pulumi.getter(name="logId")
    def log_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
        """
        return pulumi.get(self, "log_id")


@pulumi.output_type
class GetFleetsFleetCollectionItemOperationLogResult(dict):
    def __init__(__self__, *,
                 log_group_id: str,
                 log_id: str):
        """
        :param str log_group_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        :param str log_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
        """
        pulumi.set(__self__, "log_group_id", log_group_id)
        pulumi.set(__self__, "log_id", log_id)

    @property
    @pulumi.getter(name="logGroupId")
    def log_group_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group.
        """
        return pulumi.get(self, "log_group_id")

    @property
    @pulumi.getter(name="logId")
    def log_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log.
        """
        return pulumi.get(self, "log_id")


@pulumi.output_type
class GetInstallationSiteItemResult(dict):
    def __init__(__self__, *,
                 approximate_application_count: int,
                 blocklists: Sequence['outputs.GetInstallationSiteItemBlocklistResult'],
                 installation_key: str,
                 jres: Sequence['outputs.GetInstallationSiteItemJreResult'],
                 managed_instance_id: str,
                 operating_systems: Sequence['outputs.GetInstallationSiteItemOperatingSystemResult'],
                 path: str,
                 security_status: str,
                 state: str,
                 time_last_seen: str):
        """
        :param int approximate_application_count: The approximate count of applications running on this installation
        :param Sequence['GetInstallationSiteItemBlocklistArgs'] blocklists: The list of operations that are blocklisted.
        :param str installation_key: The unique identifier for the installation of Java Runtime at a specific path on a specific operating system.
        :param Sequence['GetInstallationSiteItemJreArgs'] jres: The essential properties to identify a Java Runtime.
        :param str managed_instance_id: The Fleet-unique identifier of the related managed instance.
        :param Sequence['GetInstallationSiteItemOperatingSystemArgs'] operating_systems: Operating System of the platform on which the Java Runtime was reported.
        :param str path: The file system path of the installation.
        :param str security_status: The security status of the Java Runtime.
        :param str state: The lifecycle state of the installation site.
        :param str time_last_seen: The date and time the resource was _last_ reported to JMS. This is potentially _after_ the specified time period provided by the filters. For example, a resource can be last reported to JMS before the start of a specified time period, if it is also reported during the time period.
        """
        pulumi.set(__self__, "approximate_application_count", approximate_application_count)
        pulumi.set(__self__, "blocklists", blocklists)
        pulumi.set(__self__, "installation_key", installation_key)
        pulumi.set(__self__, "jres", jres)
        pulumi.set(__self__, "managed_instance_id", managed_instance_id)
        pulumi.set(__self__, "operating_systems", operating_systems)
        pulumi.set(__self__, "path", path)
        pulumi.set(__self__, "security_status", security_status)
        pulumi.set(__self__, "state", state)
        pulumi.set(__self__, "time_last_seen", time_last_seen)

    @property
    @pulumi.getter(name="approximateApplicationCount")
    def approximate_application_count(self) -> int:
        """
        The approximate count of applications running on this installation
        """
        return pulumi.get(self, "approximate_application_count")

    @property
    @pulumi.getter
    def blocklists(self) -> Sequence['outputs.GetInstallationSiteItemBlocklistResult']:
        """
        The list of operations that are blocklisted.
        """
        return pulumi.get(self, "blocklists")

    @property
    @pulumi.getter(name="installationKey")
    def installation_key(self) -> str:
        """
        The unique identifier for the installation of Java Runtime at a specific path on a specific operating system.
        """
        return pulumi.get(self, "installation_key")

    @property
    @pulumi.getter
    def jres(self) -> Sequence['outputs.GetInstallationSiteItemJreResult']:
        """
        The essential properties to identify a Java Runtime.
        """
        return pulumi.get(self, "jres")

    @property
    @pulumi.getter(name="managedInstanceId")
    def managed_instance_id(self) -> str:
        """
        The Fleet-unique identifier of the related managed instance.
        """
        return pulumi.get(self, "managed_instance_id")

    @property
    @pulumi.getter(name="operatingSystems")
    def operating_systems(self) -> Sequence['outputs.GetInstallationSiteItemOperatingSystemResult']:
        """
        Operating System of the platform on which the Java Runtime was reported.
        """
        return pulumi.get(self, "operating_systems")

    @property
    @pulumi.getter
    def path(self) -> str:
        """
        The file system path of the installation.
        """
        return pulumi.get(self, "path")

    @property
    @pulumi.getter(name="securityStatus")
    def security_status(self) -> str:
        """
        The security status of the Java Runtime.
        """
        return pulumi.get(self, "security_status")

    @property
    @pulumi.getter
    def state(self) -> str:
        """
        The lifecycle state of the installation site.
        """
        return pulumi.get(self, "state")

    @property
    @pulumi.getter(name="timeLastSeen")
    def time_last_seen(self) -> str:
        """
        The date and time the resource was _last_ reported to JMS. This is potentially _after_ the specified time period provided by the filters. For example, a resource can be last reported to JMS before the start of a specified time period, if it is also reported during the time period.
        """
        return pulumi.get(self, "time_last_seen")


@pulumi.output_type
class GetInstallationSiteItemBlocklistResult(dict):
    def __init__(__self__, *,
                 operation: str,
                 reason: str):
        """
        :param str operation: The operation type.
        :param str reason: The reason why the operation is blocklisted.
        """
        pulumi.set(__self__, "operation", operation)
        pulumi.set(__self__, "reason", reason)

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

    @property
    @pulumi.getter
    def reason(self) -> str:
        """
        The reason why the operation is blocklisted.
        """
        return pulumi.get(self, "reason")


@pulumi.output_type
class GetInstallationSiteItemJreResult(dict):
    def __init__(__self__, *,
                 distribution: str,
                 jre_key: str,
                 vendor: str,
                 version: str):
        """
        :param str distribution: The distribution of a Java Runtime is the name of the lineage of product to which it belongs, for example _Java(TM) SE Runtime Environment_.
        :param str jre_key: The unique identifier for a Java Runtime.
        :param str vendor: The vendor of the Java Runtime.
        :param str version: The version of the operating system as provided by the Java system property os.version.
        """
        pulumi.set(__self__, "distribution", distribution)
        pulumi.set(__self__, "jre_key", jre_key)
        pulumi.set(__self__, "vendor", vendor)
        pulumi.set(__self__, "version", version)

    @property
    @pulumi.getter
    def distribution(self) -> str:
        """
        The distribution of a Java Runtime is the name of the lineage of product to which it belongs, for example _Java(TM) SE Runtime Environment_.
        """
        return pulumi.get(self, "distribution")

    @property
    @pulumi.getter(name="jreKey")
    def jre_key(self) -> str:
        """
        The unique identifier for a Java Runtime.
        """
        return pulumi.get(self, "jre_key")

    @property
    @pulumi.getter
    def vendor(self) -> str:
        """
        The vendor of the Java Runtime.
        """
        return pulumi.get(self, "vendor")

    @property
    @pulumi.getter
    def version(self) -> str:
        """
        The version of the operating system as provided by the Java system property os.version.
        """
        return pulumi.get(self, "version")


@pulumi.output_type
class GetInstallationSiteItemOperatingSystemResult(dict):
    def __init__(__self__, *,
                 architecture: str,
                 family: str,
                 managed_instance_count: int,
                 name: str,
                 version: str):
        """
        :param str architecture: The architecture of the operating system as provided by the Java system property os.arch.
        :param str family: The operating system type, such as Windows or Linux
        :param int managed_instance_count: Number of instances running the operating system
        :param str name: The name of the operating system as provided by the Java system property os.name.
        :param str version: The version of the operating system as provided by the Java system property os.version.
        """
        pulumi.set(__self__, "architecture", architecture)
        pulumi.set(__self__, "family", family)
        pulumi.set(__self__, "managed_instance_count", managed_instance_count)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "version", version)

    @property
    @pulumi.getter
    def architecture(self) -> str:
        """
        The architecture of the operating system as provided by the Java system property os.arch.
        """
        return pulumi.get(self, "architecture")

    @property
    @pulumi.getter
    def family(self) -> str:
        """
        The operating system type, such as Windows or Linux
        """
        return pulumi.get(self, "family")

    @property
    @pulumi.getter(name="managedInstanceCount")
    def managed_instance_count(self) -> int:
        """
        Number of instances running the operating system
        """
        return pulumi.get(self, "managed_instance_count")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        The name of the operating system as provided by the Java system property os.name.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def version(self) -> str:
        """
        The version of the operating system as provided by the Java system property os.version.
        """
        return pulumi.get(self, "version")


@pulumi.output_type
class GetInstallationSitesFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        """
        :param str name: The name of the operating system as provided by the Java system property os.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 name of the operating system as provided by the Java system property os.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 GetInstallationSitesInstallationSiteCollectionResult(dict):
    def __init__(__self__, *,
                 items: Sequence['outputs.GetInstallationSitesInstallationSiteCollectionItemResult']):
        """
        :param Sequence['GetInstallationSitesInstallationSiteCollectionItemArgs'] items: A list of Java installation sites.
        """
        pulumi.set(__self__, "items", items)

    @property
    @pulumi.getter
    def items(self) -> Sequence['outputs.GetInstallationSitesInstallationSiteCollectionItemResult']:
        """
        A list of Java installation sites.
        """
        return pulumi.get(self, "items")


@pulumi.output_type
class GetInstallationSitesInstallationSiteCollectionItemResult(dict):
    def __init__(__self__, *,
                 items: Sequence['outputs.GetInstallationSitesInstallationSiteCollectionItemItemResult']):
        """
        :param Sequence['GetInstallationSitesInstallationSiteCollectionItemItemArgs'] items: A list of Java installation sites.
        """
        pulumi.set(__self__, "items", items)

    @property
    @pulumi.getter
    def items(self) -> Sequence['outputs.GetInstallationSitesInstallationSiteCollectionItemItemResult']:
        """
        A list of Java installation sites.
        """
        return pulumi.get(self, "items")


@pulumi.output_type
class GetInstallationSitesInstallationSiteCollectionItemItemResult(dict):
    def __init__(__self__, *,
                 approximate_application_count: int,
                 blocklists: Sequence['outputs.GetInstallationSitesInstallationSiteCollectionItemItemBlocklistResult'],
                 installation_key: str,
                 jres: Sequence['outputs.GetInstallationSitesInstallationSiteCollectionItemItemJreResult'],
                 managed_instance_id: str,
                 operating_systems: Sequence['outputs.GetInstallationSitesInstallationSiteCollectionItemItemOperatingSystemResult'],
                 path: str,
                 security_status: str,
                 state: str,
                 time_last_seen: str):
        """
        :param int approximate_application_count: The approximate count of applications running on this installation
        :param Sequence['GetInstallationSitesInstallationSiteCollectionItemItemBlocklistArgs'] blocklists: The list of operations that are blocklisted.
        :param str installation_key: The unique identifier for the installation of Java Runtime at a specific path on a specific operating system.
        :param Sequence['GetInstallationSitesInstallationSiteCollectionItemItemJreArgs'] jres: The essential properties to identify a Java Runtime.
        :param str managed_instance_id: The Fleet-unique identifier of the related managed instance.
        :param Sequence['GetInstallationSitesInstallationSiteCollectionItemItemOperatingSystemArgs'] operating_systems: Operating System of the platform on which the Java Runtime was reported.
        :param str path: The file system path of the installation.
        :param str security_status: The security status of the Java Runtime.
        :param str state: The lifecycle state of the installation site.
        :param str time_last_seen: The date and time the resource was _last_ reported to JMS. This is potentially _after_ the specified time period provided by the filters. For example, a resource can be last reported to JMS before the start of a specified time period, if it is also reported during the time period.
        """
        pulumi.set(__self__, "approximate_application_count", approximate_application_count)
        pulumi.set(__self__, "blocklists", blocklists)
        pulumi.set(__self__, "installation_key", installation_key)
        pulumi.set(__self__, "jres", jres)
        pulumi.set(__self__, "managed_instance_id", managed_instance_id)
        pulumi.set(__self__, "operating_systems", operating_systems)
        pulumi.set(__self__, "path", path)
        pulumi.set(__self__, "security_status", security_status)
        pulumi.set(__self__, "state", state)
        pulumi.set(__self__, "time_last_seen", time_last_seen)

    @property
    @pulumi.getter(name="approximateApplicationCount")
    def approximate_application_count(self) -> int:
        """
        The approximate count of applications running on this installation
        """
        return pulumi.get(self, "approximate_application_count")

    @property
    @pulumi.getter
    def blocklists(self) -> Sequence['outputs.GetInstallationSitesInstallationSiteCollectionItemItemBlocklistResult']:
        """
        The list of operations that are blocklisted.
        """
        return pulumi.get(self, "blocklists")

    @property
    @pulumi.getter(name="installationKey")
    def installation_key(self) -> str:
        """
        The unique identifier for the installation of Java Runtime at a specific path on a specific operating system.
        """
        return pulumi.get(self, "installation_key")

    @property
    @pulumi.getter
    def jres(self) -> Sequence['outputs.GetInstallationSitesInstallationSiteCollectionItemItemJreResult']:
        """
        The essential properties to identify a Java Runtime.
        """
        return pulumi.get(self, "jres")

    @property
    @pulumi.getter(name="managedInstanceId")
    def managed_instance_id(self) -> str:
        """
        The Fleet-unique identifier of the related managed instance.
        """
        return pulumi.get(self, "managed_instance_id")

    @property
    @pulumi.getter(name="operatingSystems")
    def operating_systems(self) -> Sequence['outputs.GetInstallationSitesInstallationSiteCollectionItemItemOperatingSystemResult']:
        """
        Operating System of the platform on which the Java Runtime was reported.
        """
        return pulumi.get(self, "operating_systems")

    @property
    @pulumi.getter
    def path(self) -> str:
        """
        The file system path of the installation.
        """
        return pulumi.get(self, "path")

    @property
    @pulumi.getter(name="securityStatus")
    def security_status(self) -> str:
        """
        The security status of the Java Runtime.
        """
        return pulumi.get(self, "security_status")

    @property
    @pulumi.getter
    def state(self) -> str:
        """
        The lifecycle state of the installation site.
        """
        return pulumi.get(self, "state")

    @property
    @pulumi.getter(name="timeLastSeen")
    def time_last_seen(self) -> str:
        """
        The date and time the resource was _last_ reported to JMS. This is potentially _after_ the specified time period provided by the filters. For example, a resource can be last reported to JMS before the start of a specified time period, if it is also reported during the time period.
        """
        return pulumi.get(self, "time_last_seen")


@pulumi.output_type
class GetInstallationSitesInstallationSiteCollectionItemItemBlocklistResult(dict):
    def __init__(__self__, *,
                 operation: str,
                 reason: str):
        """
        :param str operation: The operation type.
        :param str reason: The reason why the operation is blocklisted.
        """
        pulumi.set(__self__, "operation", operation)
        pulumi.set(__self__, "reason", reason)

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

    @property
    @pulumi.getter
    def reason(self) -> str:
        """
        The reason why the operation is blocklisted.
        """
        return pulumi.get(self, "reason")


@pulumi.output_type
class GetInstallationSitesInstallationSiteCollectionItemItemJreResult(dict):
    def __init__(__self__, *,
                 distribution: str,
                 jre_key: str,
                 vendor: str,
                 version: str):
        """
        :param str distribution: The distribution of a Java Runtime is the name of the lineage of product to which it belongs, for example _Java(TM) SE Runtime Environment_.
        :param str jre_key: The unique identifier for a Java Runtime.
        :param str vendor: The vendor of the Java Runtime.
        :param str version: The version of the operating system as provided by the Java system property os.version.
        """
        pulumi.set(__self__, "distribution", distribution)
        pulumi.set(__self__, "jre_key", jre_key)
        pulumi.set(__self__, "vendor", vendor)
        pulumi.set(__self__, "version", version)

    @property
    @pulumi.getter
    def distribution(self) -> str:
        """
        The distribution of a Java Runtime is the name of the lineage of product to which it belongs, for example _Java(TM) SE Runtime Environment_.
        """
        return pulumi.get(self, "distribution")

    @property
    @pulumi.getter(name="jreKey")
    def jre_key(self) -> str:
        """
        The unique identifier for a Java Runtime.
        """
        return pulumi.get(self, "jre_key")

    @property
    @pulumi.getter
    def vendor(self) -> str:
        """
        The vendor of the Java Runtime.
        """
        return pulumi.get(self, "vendor")

    @property
    @pulumi.getter
    def version(self) -> str:
        """
        The version of the operating system as provided by the Java system property os.version.
        """
        return pulumi.get(self, "version")


@pulumi.output_type
class GetInstallationSitesInstallationSiteCollectionItemItemOperatingSystemResult(dict):
    def __init__(__self__, *,
                 architecture: str,
                 family: str,
                 managed_instance_count: int,
                 name: str,
                 version: str):
        """
        :param str architecture: The architecture of the operating system as provided by the Java system property os.arch.
        :param str family: The operating system type, such as Windows or Linux
        :param int managed_instance_count: Number of instances running the operating system
        :param str name: The name of the operating system as provided by the Java system property os.name.
        :param str version: The version of the operating system as provided by the Java system property os.version.
        """
        pulumi.set(__self__, "architecture", architecture)
        pulumi.set(__self__, "family", family)
        pulumi.set(__self__, "managed_instance_count", managed_instance_count)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "version", version)

    @property
    @pulumi.getter
    def architecture(self) -> str:
        """
        The architecture of the operating system as provided by the Java system property os.arch.
        """
        return pulumi.get(self, "architecture")

    @property
    @pulumi.getter
    def family(self) -> str:
        """
        The operating system type, such as Windows or Linux
        """
        return pulumi.get(self, "family")

    @property
    @pulumi.getter(name="managedInstanceCount")
    def managed_instance_count(self) -> int:
        """
        Number of instances running the operating system
        """
        return pulumi.get(self, "managed_instance_count")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        The name of the operating system as provided by the Java system property os.name.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def version(self) -> str:
        """
        The version of the operating system as provided by the Java system property os.version.
        """
        return pulumi.get(self, "version")


@pulumi.output_type
class GetJavaFamiliesFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        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:
        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 GetJavaFamiliesJavaFamilyCollectionResult(dict):
    def __init__(__self__, *,
                 items: Sequence['outputs.GetJavaFamiliesJavaFamilyCollectionItemResult']):
        pulumi.set(__self__, "items", items)

    @property
    @pulumi.getter
    def items(self) -> Sequence['outputs.GetJavaFamiliesJavaFamilyCollectionItemResult']:
        return pulumi.get(self, "items")


@pulumi.output_type
class GetJavaFamiliesJavaFamilyCollectionItemResult(dict):
    def __init__(__self__, *,
                 display_name: str,
                 doc_url: str,
                 end_of_support_life_date: str,
                 family_version: str,
                 support_type: str):
        """
        :param str display_name: The display name for the Java family.
        :param str doc_url: Link to access the documentation for the release.
        :param str end_of_support_life_date: The End of Support Life (EOSL) date of the Java release family (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        :param str family_version: The version identifier for the Java family.
        :param str support_type: This indicates the support category for the Java release family.
        """
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "doc_url", doc_url)
        pulumi.set(__self__, "end_of_support_life_date", end_of_support_life_date)
        pulumi.set(__self__, "family_version", family_version)
        pulumi.set(__self__, "support_type", support_type)

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        The display name for the Java family.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter(name="docUrl")
    def doc_url(self) -> str:
        """
        Link to access the documentation for the release.
        """
        return pulumi.get(self, "doc_url")

    @property
    @pulumi.getter(name="endOfSupportLifeDate")
    def end_of_support_life_date(self) -> str:
        """
        The End of Support Life (EOSL) date of the Java release family (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        """
        return pulumi.get(self, "end_of_support_life_date")

    @property
    @pulumi.getter(name="familyVersion")
    def family_version(self) -> str:
        """
        The version identifier for the Java family.
        """
        return pulumi.get(self, "family_version")

    @property
    @pulumi.getter(name="supportType")
    def support_type(self) -> str:
        """
        This indicates the support category for the Java release family.
        """
        return pulumi.get(self, "support_type")


@pulumi.output_type
class GetJavaReleaseArtifactResult(dict):
    def __init__(__self__, *,
                 approximate_file_size_in_bytes: str,
                 artifact_content_type: str,
                 artifact_description: str,
                 artifact_id: str,
                 sha256: str):
        """
        :param str approximate_file_size_in_bytes: Approximate compressed file size in bytes.
        :param str artifact_content_type: Product content type of this artifact.
        :param str artifact_description: Description of the binary artifact. Typically includes the OS, architecture, and installer type.
        :param str artifact_id: Unique identifier for the artifact.
        :param str sha256: SHA256 checksum of the artifact.
        """
        pulumi.set(__self__, "approximate_file_size_in_bytes", approximate_file_size_in_bytes)
        pulumi.set(__self__, "artifact_content_type", artifact_content_type)
        pulumi.set(__self__, "artifact_description", artifact_description)
        pulumi.set(__self__, "artifact_id", artifact_id)
        pulumi.set(__self__, "sha256", sha256)

    @property
    @pulumi.getter(name="approximateFileSizeInBytes")
    def approximate_file_size_in_bytes(self) -> str:
        """
        Approximate compressed file size in bytes.
        """
        return pulumi.get(self, "approximate_file_size_in_bytes")

    @property
    @pulumi.getter(name="artifactContentType")
    def artifact_content_type(self) -> str:
        """
        Product content type of this artifact.
        """
        return pulumi.get(self, "artifact_content_type")

    @property
    @pulumi.getter(name="artifactDescription")
    def artifact_description(self) -> str:
        """
        Description of the binary artifact. Typically includes the OS, architecture, and installer type.
        """
        return pulumi.get(self, "artifact_description")

    @property
    @pulumi.getter(name="artifactId")
    def artifact_id(self) -> str:
        """
        Unique identifier for the artifact.
        """
        return pulumi.get(self, "artifact_id")

    @property
    @pulumi.getter
    def sha256(self) -> str:
        """
        SHA256 checksum of the artifact.
        """
        return pulumi.get(self, "sha256")


@pulumi.output_type
class GetJavaReleaseFamilyDetailResult(dict):
    def __init__(__self__, *,
                 display_name: str,
                 doc_url: str,
                 end_of_support_life_date: str,
                 family_version: str,
                 support_type: str):
        """
        :param str display_name: Commonly used name for the license type.
        :param str doc_url: Link to access the documentation for the release.
        :param str end_of_support_life_date: The End of Support Life (EOSL) date of the Java release family (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        :param str family_version: Java release family identifier.
        :param str support_type: This indicates the support category for the Java release family.
        """
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "doc_url", doc_url)
        pulumi.set(__self__, "end_of_support_life_date", end_of_support_life_date)
        pulumi.set(__self__, "family_version", family_version)
        pulumi.set(__self__, "support_type", support_type)

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        Commonly used name for the license type.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter(name="docUrl")
    def doc_url(self) -> str:
        """
        Link to access the documentation for the release.
        """
        return pulumi.get(self, "doc_url")

    @property
    @pulumi.getter(name="endOfSupportLifeDate")
    def end_of_support_life_date(self) -> str:
        """
        The End of Support Life (EOSL) date of the Java release family (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        """
        return pulumi.get(self, "end_of_support_life_date")

    @property
    @pulumi.getter(name="familyVersion")
    def family_version(self) -> str:
        """
        Java release family identifier.
        """
        return pulumi.get(self, "family_version")

    @property
    @pulumi.getter(name="supportType")
    def support_type(self) -> str:
        """
        This indicates the support category for the Java release family.
        """
        return pulumi.get(self, "support_type")


@pulumi.output_type
class GetJavaReleaseLicenseDetailResult(dict):
    def __init__(__self__, *,
                 display_name: str,
                 license_type: str,
                 license_url: str):
        """
        :param str display_name: Commonly used name for the license type.
        :param str license_type: License type for the Java version.
        :param str license_url: Publicly accessible license URL containing the detailed terms and conditions.
        """
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "license_type", license_type)
        pulumi.set(__self__, "license_url", license_url)

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        Commonly used name for the license type.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter(name="licenseType")
    def license_type(self) -> str:
        """
        License type for the Java version.
        """
        return pulumi.get(self, "license_type")

    @property
    @pulumi.getter(name="licenseUrl")
    def license_url(self) -> str:
        """
        Publicly accessible license URL containing the detailed terms and conditions.
        """
        return pulumi.get(self, "license_url")


@pulumi.output_type
class GetJavaReleasesFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        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:
        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 GetJavaReleasesJavaReleaseCollectionResult(dict):
    def __init__(__self__, *,
                 items: Sequence['outputs.GetJavaReleasesJavaReleaseCollectionItemResult']):
        pulumi.set(__self__, "items", items)

    @property
    @pulumi.getter
    def items(self) -> Sequence['outputs.GetJavaReleasesJavaReleaseCollectionItemResult']:
        return pulumi.get(self, "items")


@pulumi.output_type
class GetJavaReleasesJavaReleaseCollectionItemResult(dict):
    def __init__(__self__, *,
                 artifact_content_types: Sequence[str],
                 artifacts: Sequence['outputs.GetJavaReleasesJavaReleaseCollectionItemArtifactResult'],
                 family_details: Sequence['outputs.GetJavaReleasesJavaReleaseCollectionItemFamilyDetailResult'],
                 family_version: str,
                 license_details: Sequence['outputs.GetJavaReleasesJavaReleaseCollectionItemLicenseDetailResult'],
                 license_type: str,
                 parent_release_version: str,
                 release_date: str,
                 release_notes_url: str,
                 release_type: str,
                 release_version: str,
                 security_status: str):
        """
        :param Sequence[str] artifact_content_types: Artifact content types for the Java version.
        :param Sequence['GetJavaReleasesJavaReleaseCollectionItemArtifactArgs'] artifacts: List of Java artifacts.
        :param Sequence['GetJavaReleasesJavaReleaseCollectionItemFamilyDetailArgs'] family_details: Metadata associated with a specific Java release family. A Java release family is typically a major version in the Java version identifier.
        :param str family_version: The version identifier for the Java family.
        :param Sequence['GetJavaReleasesJavaReleaseCollectionItemLicenseDetailArgs'] license_details: Information about a license type for Java.
        :param str license_type: Java license type.
        :param str parent_release_version: Parent Java release version identifier. This is applicable for BPR releases.
        :param str release_date: The release date of the Java version (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        :param str release_notes_url: Release notes associated with the Java version.
        :param str release_type: Java release type.
        :param str release_version: Unique Java release version identifier
        :param str security_status: The security status of the Java version.
        """
        pulumi.set(__self__, "artifact_content_types", artifact_content_types)
        pulumi.set(__self__, "artifacts", artifacts)
        pulumi.set(__self__, "family_details", family_details)
        pulumi.set(__self__, "family_version", family_version)
        pulumi.set(__self__, "license_details", license_details)
        pulumi.set(__self__, "license_type", license_type)
        pulumi.set(__self__, "parent_release_version", parent_release_version)
        pulumi.set(__self__, "release_date", release_date)
        pulumi.set(__self__, "release_notes_url", release_notes_url)
        pulumi.set(__self__, "release_type", release_type)
        pulumi.set(__self__, "release_version", release_version)
        pulumi.set(__self__, "security_status", security_status)

    @property
    @pulumi.getter(name="artifactContentTypes")
    def artifact_content_types(self) -> Sequence[str]:
        """
        Artifact content types for the Java version.
        """
        return pulumi.get(self, "artifact_content_types")

    @property
    @pulumi.getter
    def artifacts(self) -> Sequence['outputs.GetJavaReleasesJavaReleaseCollectionItemArtifactResult']:
        """
        List of Java artifacts.
        """
        return pulumi.get(self, "artifacts")

    @property
    @pulumi.getter(name="familyDetails")
    def family_details(self) -> Sequence['outputs.GetJavaReleasesJavaReleaseCollectionItemFamilyDetailResult']:
        """
        Metadata associated with a specific Java release family. A Java release family is typically a major version in the Java version identifier.
        """
        return pulumi.get(self, "family_details")

    @property
    @pulumi.getter(name="familyVersion")
    def family_version(self) -> str:
        """
        The version identifier for the Java family.
        """
        return pulumi.get(self, "family_version")

    @property
    @pulumi.getter(name="licenseDetails")
    def license_details(self) -> Sequence['outputs.GetJavaReleasesJavaReleaseCollectionItemLicenseDetailResult']:
        """
        Information about a license type for Java.
        """
        return pulumi.get(self, "license_details")

    @property
    @pulumi.getter(name="licenseType")
    def license_type(self) -> str:
        """
        Java license type.
        """
        return pulumi.get(self, "license_type")

    @property
    @pulumi.getter(name="parentReleaseVersion")
    def parent_release_version(self) -> str:
        """
        Parent Java release version identifier. This is applicable for BPR releases.
        """
        return pulumi.get(self, "parent_release_version")

    @property
    @pulumi.getter(name="releaseDate")
    def release_date(self) -> str:
        """
        The release date of the Java version (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        """
        return pulumi.get(self, "release_date")

    @property
    @pulumi.getter(name="releaseNotesUrl")
    def release_notes_url(self) -> str:
        """
        Release notes associated with the Java version.
        """
        return pulumi.get(self, "release_notes_url")

    @property
    @pulumi.getter(name="releaseType")
    def release_type(self) -> str:
        """
        Java release type.
        """
        return pulumi.get(self, "release_type")

    @property
    @pulumi.getter(name="releaseVersion")
    def release_version(self) -> str:
        """
        Unique Java release version identifier
        """
        return pulumi.get(self, "release_version")

    @property
    @pulumi.getter(name="securityStatus")
    def security_status(self) -> str:
        """
        The security status of the Java version.
        """
        return pulumi.get(self, "security_status")


@pulumi.output_type
class GetJavaReleasesJavaReleaseCollectionItemArtifactResult(dict):
    def __init__(__self__, *,
                 approximate_file_size_in_bytes: str,
                 artifact_content_type: str,
                 artifact_description: str,
                 artifact_id: str,
                 sha256: str):
        """
        :param str approximate_file_size_in_bytes: Approximate compressed file size in bytes.
        :param str artifact_content_type: Product content type of this artifact.
        :param str artifact_description: Description of the binary artifact. Typically includes the OS, architecture, and installer type.
        :param str artifact_id: Unique identifier for the artifact.
        :param str sha256: SHA256 checksum of the artifact.
        """
        pulumi.set(__self__, "approximate_file_size_in_bytes", approximate_file_size_in_bytes)
        pulumi.set(__self__, "artifact_content_type", artifact_content_type)
        pulumi.set(__self__, "artifact_description", artifact_description)
        pulumi.set(__self__, "artifact_id", artifact_id)
        pulumi.set(__self__, "sha256", sha256)

    @property
    @pulumi.getter(name="approximateFileSizeInBytes")
    def approximate_file_size_in_bytes(self) -> str:
        """
        Approximate compressed file size in bytes.
        """
        return pulumi.get(self, "approximate_file_size_in_bytes")

    @property
    @pulumi.getter(name="artifactContentType")
    def artifact_content_type(self) -> str:
        """
        Product content type of this artifact.
        """
        return pulumi.get(self, "artifact_content_type")

    @property
    @pulumi.getter(name="artifactDescription")
    def artifact_description(self) -> str:
        """
        Description of the binary artifact. Typically includes the OS, architecture, and installer type.
        """
        return pulumi.get(self, "artifact_description")

    @property
    @pulumi.getter(name="artifactId")
    def artifact_id(self) -> str:
        """
        Unique identifier for the artifact.
        """
        return pulumi.get(self, "artifact_id")

    @property
    @pulumi.getter
    def sha256(self) -> str:
        """
        SHA256 checksum of the artifact.
        """
        return pulumi.get(self, "sha256")


@pulumi.output_type
class GetJavaReleasesJavaReleaseCollectionItemFamilyDetailResult(dict):
    def __init__(__self__, *,
                 display_name: str,
                 doc_url: str,
                 end_of_support_life_date: str,
                 family_version: str,
                 support_type: str):
        """
        :param str display_name: Commonly used name for the license type.
        :param str doc_url: Link to access the documentation for the release.
        :param str end_of_support_life_date: The End of Support Life (EOSL) date of the Java release family (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        :param str family_version: The version identifier for the Java family.
        :param str support_type: This indicates the support category for the Java release family.
        """
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "doc_url", doc_url)
        pulumi.set(__self__, "end_of_support_life_date", end_of_support_life_date)
        pulumi.set(__self__, "family_version", family_version)
        pulumi.set(__self__, "support_type", support_type)

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        Commonly used name for the license type.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter(name="docUrl")
    def doc_url(self) -> str:
        """
        Link to access the documentation for the release.
        """
        return pulumi.get(self, "doc_url")

    @property
    @pulumi.getter(name="endOfSupportLifeDate")
    def end_of_support_life_date(self) -> str:
        """
        The End of Support Life (EOSL) date of the Java release family (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        """
        return pulumi.get(self, "end_of_support_life_date")

    @property
    @pulumi.getter(name="familyVersion")
    def family_version(self) -> str:
        """
        The version identifier for the Java family.
        """
        return pulumi.get(self, "family_version")

    @property
    @pulumi.getter(name="supportType")
    def support_type(self) -> str:
        """
        This indicates the support category for the Java release family.
        """
        return pulumi.get(self, "support_type")


@pulumi.output_type
class GetJavaReleasesJavaReleaseCollectionItemLicenseDetailResult(dict):
    def __init__(__self__, *,
                 display_name: str,
                 license_type: str,
                 license_url: str):
        """
        :param str display_name: Commonly used name for the license type.
        :param str license_type: Java license type.
        :param str license_url: Publicly accessible license URL containing the detailed terms and conditions.
        """
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "license_type", license_type)
        pulumi.set(__self__, "license_url", license_url)

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        Commonly used name for the license type.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter(name="licenseType")
    def license_type(self) -> str:
        """
        Java license type.
        """
        return pulumi.get(self, "license_type")

    @property
    @pulumi.getter(name="licenseUrl")
    def license_url(self) -> str:
        """
        Publicly accessible license URL containing the detailed terms and conditions.
        """
        return pulumi.get(self, "license_url")


@pulumi.output_type
class GetListJreUsageItemResult(dict):
    def __init__(__self__, *,
                 approximate_application_count: int,
                 approximate_installation_count: int,
                 approximate_managed_instance_count: int,
                 approximate_pending_work_request_count: int,
                 days_under_security_baseline: int,
                 distribution: str,
                 end_of_support_life_date: str,
                 fleet_id: str,
                 id: str,
                 managed_instance_id: str,
                 operating_systems: Sequence['outputs.GetListJreUsageItemOperatingSystemResult'],
                 release_date: str,
                 security_status: str,
                 time_end: str,
                 time_first_seen: str,
                 time_last_seen: str,
                 time_start: str,
                 vendor: str,
                 version: str):
        """
        :param int approximate_application_count: The approximate count of the applications running on this Java Runtime.
        :param int approximate_installation_count: The approximate count of installations that are installations of this Java Runtime.
        :param int approximate_managed_instance_count: The approximate count of the managed instances that report this Java Runtime.
        :param int approximate_pending_work_request_count: The approximate count of work requests working on this Java Runtime.
        :param int days_under_security_baseline: The number of days since this release has been under the security baseline.
        :param str distribution: The distribution of a Java Runtime is the name of the lineage of product to which it belongs, for example _Java(TM) SE Runtime Environment_.
        :param str end_of_support_life_date: The End of Support Life (EOSL) date of the Java Runtime (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        :param str fleet_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the related fleet.
        :param str id: The internal identifier of the Java Runtime.
        :param str managed_instance_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the related managed instance. This property value is present only for /listJreUsage.
        :param Sequence['GetListJreUsageItemOperatingSystemArgs'] operating_systems: The operating systems that have this Java Runtime installed.
        :param str release_date: The release date of the Java Runtime (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        :param str security_status: The security status of the Java Runtime.
        :param str time_end: The end of the time period during which resources are searched (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        :param str time_first_seen: The date and time the resource was _first_ reported to JMS. This is potentially _before_ the specified time period provided by the filters. For example, a resource can be first reported to JMS before the start of a specified time period, if it is also reported during the time period.
        :param str time_last_seen: The date and time the resource was _last_ reported to JMS. This is potentially _after_ the specified time period provided by the filters. For example, a resource can be last reported to JMS before the start of a specified time period, if it is also reported during the time period.
        :param str time_start: The start of the time period during which resources are searched (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        :param str vendor: The vendor of the Java Runtime.
        :param str version: The version of the Java Runtime.
        """
        pulumi.set(__self__, "approximate_application_count", approximate_application_count)
        pulumi.set(__self__, "approximate_installation_count", approximate_installation_count)
        pulumi.set(__self__, "approximate_managed_instance_count", approximate_managed_instance_count)
        pulumi.set(__self__, "approximate_pending_work_request_count", approximate_pending_work_request_count)
        pulumi.set(__self__, "days_under_security_baseline", days_under_security_baseline)
        pulumi.set(__self__, "distribution", distribution)
        pulumi.set(__self__, "end_of_support_life_date", end_of_support_life_date)
        pulumi.set(__self__, "fleet_id", fleet_id)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "managed_instance_id", managed_instance_id)
        pulumi.set(__self__, "operating_systems", operating_systems)
        pulumi.set(__self__, "release_date", release_date)
        pulumi.set(__self__, "security_status", security_status)
        pulumi.set(__self__, "time_end", time_end)
        pulumi.set(__self__, "time_first_seen", time_first_seen)
        pulumi.set(__self__, "time_last_seen", time_last_seen)
        pulumi.set(__self__, "time_start", time_start)
        pulumi.set(__self__, "vendor", vendor)
        pulumi.set(__self__, "version", version)

    @property
    @pulumi.getter(name="approximateApplicationCount")
    def approximate_application_count(self) -> int:
        """
        The approximate count of the applications running on this Java Runtime.
        """
        return pulumi.get(self, "approximate_application_count")

    @property
    @pulumi.getter(name="approximateInstallationCount")
    def approximate_installation_count(self) -> int:
        """
        The approximate count of installations that are installations of this Java Runtime.
        """
        return pulumi.get(self, "approximate_installation_count")

    @property
    @pulumi.getter(name="approximateManagedInstanceCount")
    def approximate_managed_instance_count(self) -> int:
        """
        The approximate count of the managed instances that report this Java Runtime.
        """
        return pulumi.get(self, "approximate_managed_instance_count")

    @property
    @pulumi.getter(name="approximatePendingWorkRequestCount")
    def approximate_pending_work_request_count(self) -> int:
        """
        The approximate count of work requests working on this Java Runtime.
        """
        return pulumi.get(self, "approximate_pending_work_request_count")

    @property
    @pulumi.getter(name="daysUnderSecurityBaseline")
    def days_under_security_baseline(self) -> int:
        """
        The number of days since this release has been under the security baseline.
        """
        return pulumi.get(self, "days_under_security_baseline")

    @property
    @pulumi.getter
    def distribution(self) -> str:
        """
        The distribution of a Java Runtime is the name of the lineage of product to which it belongs, for example _Java(TM) SE Runtime Environment_.
        """
        return pulumi.get(self, "distribution")

    @property
    @pulumi.getter(name="endOfSupportLifeDate")
    def end_of_support_life_date(self) -> str:
        """
        The End of Support Life (EOSL) date of the Java Runtime (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        """
        return pulumi.get(self, "end_of_support_life_date")

    @property
    @pulumi.getter(name="fleetId")
    def fleet_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the related fleet.
        """
        return pulumi.get(self, "fleet_id")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The internal identifier of the Java Runtime.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="managedInstanceId")
    def managed_instance_id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the related managed instance. This property value is present only for /listJreUsage.
        """
        return pulumi.get(self, "managed_instance_id")

    @property
    @pulumi.getter(name="operatingSystems")
    def operating_systems(self) -> Sequence['outputs.GetListJreUsageItemOperatingSystemResult']:
        """
        The operating systems that have this Java Runtime installed.
        """
        return pulumi.get(self, "operating_systems")

    @property
    @pulumi.getter(name="releaseDate")
    def release_date(self) -> str:
        """
        The release date of the Java Runtime (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        """
        return pulumi.get(self, "release_date")

    @property
    @pulumi.getter(name="securityStatus")
    def security_status(self) -> str:
        """
        The security status of the Java Runtime.
        """
        return pulumi.get(self, "security_status")

    @property
    @pulumi.getter(name="timeEnd")
    def time_end(self) -> str:
        """
        The end of the time period during which resources are searched (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        """
        return pulumi.get(self, "time_end")

    @property
    @pulumi.getter(name="timeFirstSeen")
    def time_first_seen(self) -> str:
        """
        The date and time the resource was _first_ reported to JMS. This is potentially _before_ the specified time period provided by the filters. For example, a resource can be first reported to JMS before the start of a specified time period, if it is also reported during the time period.
        """
        return pulumi.get(self, "time_first_seen")

    @property
    @pulumi.getter(name="timeLastSeen")
    def time_last_seen(self) -> str:
        """
        The date and time the resource was _last_ reported to JMS. This is potentially _after_ the specified time period provided by the filters. For example, a resource can be last reported to JMS before the start of a specified time period, if it is also reported during the time period.
        """
        return pulumi.get(self, "time_last_seen")

    @property
    @pulumi.getter(name="timeStart")
    def time_start(self) -> str:
        """
        The start of the time period during which resources are searched (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)).
        """
        return pulumi.get(self, "time_start")

    @property
    @pulumi.getter
    def vendor(self) -> str:
        """
        The vendor of the Java Runtime.
        """
        return pulumi.get(self, "vendor")

    @property
    @pulumi.getter
    def version(self) -> str:
        """
        The version of the Java Runtime.
        """
        return pulumi.get(self, "version")


@pulumi.output_type
class GetListJreUsageItemOperatingSystemResult(dict):
    def __init__(__self__, *,
                 architecture: str,
                 family: str,
                 managed_instance_count: int,
                 name: str,
                 version: str):
        """
        :param str architecture: The architecture of the operating system as provided by the Java system property os.arch.
        :param str family: The operating system type, such as Windows or Linux
        :param int managed_instance_count: Number of instances running the operating system
        :param str name: The name of the operating system as provided by the Java system property os.name.
        :param str version: The version of the Java Runtime.
        """
        pulumi.set(__self__, "architecture", architecture)
        pulumi.set(__self__, "family", family)
        pulumi.set(__self__, "managed_instance_count", managed_instance_count)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "version", version)

    @property
    @pulumi.getter
    def architecture(self) -> str:
        """
        The architecture of the operating system as provided by the Java system property os.arch.
        """
        return pulumi.get(self, "architecture")

    @property
    @pulumi.getter
    def family(self) -> str:
        """
        The operating system type, such as Windows or Linux
        """
        return pulumi.get(self, "family")

    @property
    @pulumi.getter(name="managedInstanceCount")
    def managed_instance_count(self) -> int:
        """
        Number of instances running the operating system
        """
        return pulumi.get(self, "managed_instance_count")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        The name of the operating system as provided by the Java system property os.name.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def version(self) -> str:
        """
        The version of the Java Runtime.
        """
        return pulumi.get(self, "version")


