def METHOD_NAME(ca_certificate_name: Optional[str] = None,
                       namespace_name: Optional[str] = None,
                       resource_group_name: Optional[str] = None,
                       opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCaCertificateResult:
    """
    Get properties of a CA certificate.
    :param str ca_certificate_name: Name of the CA certificate.
    :param str namespace_name: Name of the namespace.
    :param str resource_group_name: The name of the resource group within the user's subscription.
    """
    __args__ = dict()
    __args__['caCertificateName'] = ca_certificate_name
    __args__['namespaceName'] = namespace_name
    __args__['resourceGroupName'] = resource_group_name
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('azure-native:eventgrid/v20230601preview:getCaCertificate', __args__, opts=opts, typ=GetCaCertificateResult).value
    return AwaitableGetCaCertificateResult(
        description=pulumi.get(__ret__, 'description'),
        encoded_certificate=pulumi.get(__ret__, 'encoded_certificate'),
        expiry_time_in_utc=pulumi.get(__ret__, 'expiry_time_in_utc'),
        id=pulumi.get(__ret__, 'id'),
        issue_time_in_utc=pulumi.get(__ret__, 'issue_time_in_utc'),
        name=pulumi.get(__ret__, 'name'),
        provisioning_state=pulumi.get(__ret__, 'provisioning_state'),
        system_data=pulumi.get(__ret__, 'system_data'),
        type=pulumi.get(__ret__, 'type'))