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

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

__all__ = [
    'GetRegistryNamespaceResult',
    'AwaitableGetRegistryNamespaceResult',
    'get_registry_namespace',
    'get_registry_namespace_output',
]

warnings.warn("""scaleway.index/getregistrynamespace.getRegistryNamespace has been deprecated in favor of scaleway.registry/getnamespace.getNamespace""", DeprecationWarning)

@pulumi.output_type
class GetRegistryNamespaceResult:
    """
    A collection of values returned by getRegistryNamespace.
    """
    def __init__(__self__, description=None, endpoint=None, id=None, is_public=None, name=None, namespace_id=None, organization_id=None, project_id=None, region=None):
        if description and not isinstance(description, str):
            raise TypeError("Expected argument 'description' to be a str")
        pulumi.set(__self__, "description", description)
        if endpoint and not isinstance(endpoint, str):
            raise TypeError("Expected argument 'endpoint' to be a str")
        pulumi.set(__self__, "endpoint", endpoint)
        if id and not isinstance(id, str):
            raise TypeError("Expected argument 'id' to be a str")
        pulumi.set(__self__, "id", id)
        if is_public and not isinstance(is_public, bool):
            raise TypeError("Expected argument 'is_public' to be a bool")
        pulumi.set(__self__, "is_public", is_public)
        if name and not isinstance(name, str):
            raise TypeError("Expected argument 'name' to be a str")
        pulumi.set(__self__, "name", name)
        if namespace_id and not isinstance(namespace_id, str):
            raise TypeError("Expected argument 'namespace_id' to be a str")
        pulumi.set(__self__, "namespace_id", namespace_id)
        if organization_id and not isinstance(organization_id, str):
            raise TypeError("Expected argument 'organization_id' to be a str")
        pulumi.set(__self__, "organization_id", organization_id)
        if project_id and not isinstance(project_id, str):
            raise TypeError("Expected argument 'project_id' to be a str")
        pulumi.set(__self__, "project_id", project_id)
        if region and not isinstance(region, str):
            raise TypeError("Expected argument 'region' to be a str")
        pulumi.set(__self__, "region", region)

    @_builtins.property
    @pulumi.getter
    def description(self) -> _builtins.str:
        return pulumi.get(self, "description")

    @_builtins.property
    @pulumi.getter
    def endpoint(self) -> _builtins.str:
        """
        The endpoint of the Registry Namespace.
        """
        return pulumi.get(self, "endpoint")

    @_builtins.property
    @pulumi.getter
    def id(self) -> _builtins.str:
        """
        The provider-assigned unique ID for this managed resource.
        """
        return pulumi.get(self, "id")

    @_builtins.property
    @pulumi.getter(name="isPublic")
    def is_public(self) -> _builtins.bool:
        """
        The Namespace Privacy Policy: whether or not the images are public.
        """
        return pulumi.get(self, "is_public")

    @_builtins.property
    @pulumi.getter
    def name(self) -> Optional[_builtins.str]:
        return pulumi.get(self, "name")

    @_builtins.property
    @pulumi.getter(name="namespaceId")
    def namespace_id(self) -> Optional[_builtins.str]:
        return pulumi.get(self, "namespace_id")

    @_builtins.property
    @pulumi.getter(name="organizationId")
    def organization_id(self) -> _builtins.str:
        """
        The organization ID the namespace is associated with.
        """
        return pulumi.get(self, "organization_id")

    @_builtins.property
    @pulumi.getter(name="projectId")
    def project_id(self) -> Optional[_builtins.str]:
        return pulumi.get(self, "project_id")

    @_builtins.property
    @pulumi.getter
    def region(self) -> Optional[_builtins.str]:
        return pulumi.get(self, "region")


class AwaitableGetRegistryNamespaceResult(GetRegistryNamespaceResult):
    # pylint: disable=using-constant-test
    def __await__(self):
        if False:
            yield self
        return GetRegistryNamespaceResult(
            description=self.description,
            endpoint=self.endpoint,
            id=self.id,
            is_public=self.is_public,
            name=self.name,
            namespace_id=self.namespace_id,
            organization_id=self.organization_id,
            project_id=self.project_id,
            region=self.region)


def get_registry_namespace(name: Optional[_builtins.str] = None,
                           namespace_id: Optional[_builtins.str] = None,
                           project_id: Optional[_builtins.str] = None,
                           region: Optional[_builtins.str] = None,
                           opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRegistryNamespaceResult:
    """
    Gets information about a registry namespace.


    :param _builtins.str name: The namespace name.
    :param _builtins.str namespace_id: The namespace id.
           
           > **Note** You must specify at least one: `name` and/or `image_id`.
    :param _builtins.str project_id: `project_id`) The ID of the project the namespace is associated with.
    :param _builtins.str region: `region`) The region in which the namespace exists.
    """
    pulumi.log.warn("""get_registry_namespace is deprecated: scaleway.index/getregistrynamespace.getRegistryNamespace has been deprecated in favor of scaleway.registry/getnamespace.getNamespace""")
    __args__ = dict()
    __args__['name'] = name
    __args__['namespaceId'] = namespace_id
    __args__['projectId'] = project_id
    __args__['region'] = region
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('scaleway:index/getRegistryNamespace:getRegistryNamespace', __args__, opts=opts, typ=GetRegistryNamespaceResult).value

    return AwaitableGetRegistryNamespaceResult(
        description=pulumi.get(__ret__, 'description'),
        endpoint=pulumi.get(__ret__, 'endpoint'),
        id=pulumi.get(__ret__, 'id'),
        is_public=pulumi.get(__ret__, 'is_public'),
        name=pulumi.get(__ret__, 'name'),
        namespace_id=pulumi.get(__ret__, 'namespace_id'),
        organization_id=pulumi.get(__ret__, 'organization_id'),
        project_id=pulumi.get(__ret__, 'project_id'),
        region=pulumi.get(__ret__, 'region'))
def get_registry_namespace_output(name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
                                  namespace_id: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
                                  project_id: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
                                  region: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
                                  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetRegistryNamespaceResult]:
    """
    Gets information about a registry namespace.


    :param _builtins.str name: The namespace name.
    :param _builtins.str namespace_id: The namespace id.
           
           > **Note** You must specify at least one: `name` and/or `image_id`.
    :param _builtins.str project_id: `project_id`) The ID of the project the namespace is associated with.
    :param _builtins.str region: `region`) The region in which the namespace exists.
    """
    pulumi.log.warn("""get_registry_namespace is deprecated: scaleway.index/getregistrynamespace.getRegistryNamespace has been deprecated in favor of scaleway.registry/getnamespace.getNamespace""")
    __args__ = dict()
    __args__['name'] = name
    __args__['namespaceId'] = namespace_id
    __args__['projectId'] = project_id
    __args__['region'] = region
    opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke_output('scaleway:index/getRegistryNamespace:getRegistryNamespace', __args__, opts=opts, typ=GetRegistryNamespaceResult)
    return __ret__.apply(lambda __response__: GetRegistryNamespaceResult(
        description=pulumi.get(__response__, 'description'),
        endpoint=pulumi.get(__response__, 'endpoint'),
        id=pulumi.get(__response__, 'id'),
        is_public=pulumi.get(__response__, 'is_public'),
        name=pulumi.get(__response__, 'name'),
        namespace_id=pulumi.get(__response__, 'namespace_id'),
        organization_id=pulumi.get(__response__, 'organization_id'),
        project_id=pulumi.get(__response__, 'project_id'),
        region=pulumi.get(__response__, 'region')))
