keystoneauth1.fixture.discovery module

class keystoneauth1.fixture.discovery.DiscoveryBase(id: str, *, status: str | None = None, updated: datetime | None = None)

Bases: dict[str, Any]

The basic version discovery structure.

All version discovery elements should have access to these values.

Parameters:
  • id (string) – The version id for this version entry.

  • status (string) – The status of this entry.

  • updated (DateTime) – When the API was last updated.

__annotations__ = {}
__dict__ = mappingproxy({'__module__': 'keystoneauth1.fixture.discovery', '__doc__': 'The basic version discovery structure.\n\n    All version discovery elements should have access to these values.\n\n    :param string id: The version id for this version entry.\n    :param string status: The status of this entry.\n    :param DateTime updated: When the API was last updated.\n    ', '__init__': <function DiscoveryBase.__init__>, 'id': <property object>, 'status': <property object>, 'updated_str': <property object>, 'updated': <property object>, 'links': <property object>, 'add_link': <function DiscoveryBase.add_link>, 'media_types': <property object>, 'add_media_type': <function DiscoveryBase.add_media_type>, '__orig_bases__': (dict[str, typing.Any],), '__dict__': <attribute '__dict__' of 'DiscoveryBase' objects>, '__weakref__': <attribute '__weakref__' of 'DiscoveryBase' objects>, '__annotations__': {}})
__doc__ = 'The basic version discovery structure.\n\n    All version discovery elements should have access to these values.\n\n    :param string id: The version id for this version entry.\n    :param string status: The status of this entry.\n    :param DateTime updated: When the API was last updated.\n    '
__init__(id: str, *, status: str | None = None, updated: datetime | None = None) None
__module__ = 'keystoneauth1.fixture.discovery'
__orig_bases__ = (dict[str, typing.Any],)
__weakref__

list of weak references to the object

add_link(href: str, rel: str = 'self', type: str | None = None) Link
add_media_type(base: str, type: str) MediaType
property id: str
property links: list[Link]
property media_types: list[MediaType]
property status: str | None
property updated: datetime
property updated_str: str | None
class keystoneauth1.fixture.discovery.DiscoveryList(href: str | None = None, v2: bool = True, v3: bool = True, v2_id: str = 'v2.0', v3_id: str = 'v3.0', v2_status: str | None = None, v2_updated: datetime | None = None, v2_html: bool = True, v2_pdf: bool = True, v3_status: str | None = None, v3_updated: datetime | None = None, v3_json: bool = True, v3_xml: bool = True)

Bases: dict[str, Any]

A List of version elements.

Creates a correctly structured list of identity service endpoints for use in testing with discovery.

Parameters:
  • href (string) – The url that this should be based at.

  • v2 (bool) – Add a v2 element.

  • v3 (bool) – Add a v3 element.

  • v2_status (string) – The status to use for the v2 element.

  • v2_updated (DateTime) – The update time to use for the v2 element.

  • v2_html (bool) – True to add a html link to the v2 element.

  • v2_pdf (bool) – True to add a pdf link to the v2 element.

  • v3_status (string) – The status to use for the v3 element.

  • v3_updated (DateTime) – The update time to use for the v3 element.

  • v3_json (bool) – True to add a html link to the v2 element.

  • v3_xml (bool) – True to add a pdf link to the v2 element.

TEST_URL = 'http://keystone.host:5000/'
__annotations__ = {}
__dict__ = mappingproxy({'__module__': 'keystoneauth1.fixture.discovery', '__doc__': 'A List of version elements.\n\n    Creates a correctly structured list of identity service endpoints for\n    use in testing with discovery.\n\n    :param string href: The url that this should be based at.\n    :param bool v2: Add a v2 element.\n    :param bool v3: Add a v3 element.\n    :param string v2_status: The status to use for the v2 element.\n    :param DateTime v2_updated: The update time to use for the v2 element.\n    :param bool v2_html: True to add a html link to the v2 element.\n    :param bool v2_pdf: True to add a pdf link to the v2 element.\n    :param string v3_status: The status to use for the v3 element.\n    :param DateTime v3_updated: The update time to use for the v3 element.\n    :param bool v3_json: True to add a html link to the v2 element.\n    :param bool v3_xml: True to add a pdf link to the v2 element.\n    ', 'TEST_URL': 'http://keystone.host:5000/', '__init__': <function DiscoveryList.__init__>, 'versions': <property object>, 'add_version': <function DiscoveryList.add_version>, 'add_v2': <function DiscoveryList.add_v2>, 'add_v3': <function DiscoveryList.add_v3>, 'add_microversion': <function DiscoveryList.add_microversion>, 'add_nova_microversion': <function DiscoveryList.add_nova_microversion>, '__orig_bases__': (dict[str, typing.Any],), '__dict__': <attribute '__dict__' of 'DiscoveryList' objects>, '__weakref__': <attribute '__weakref__' of 'DiscoveryList' objects>, '__annotations__': {}})
__doc__ = 'A List of version elements.\n\n    Creates a correctly structured list of identity service endpoints for\n    use in testing with discovery.\n\n    :param string href: The url that this should be based at.\n    :param bool v2: Add a v2 element.\n    :param bool v3: Add a v3 element.\n    :param string v2_status: The status to use for the v2 element.\n    :param DateTime v2_updated: The update time to use for the v2 element.\n    :param bool v2_html: True to add a html link to the v2 element.\n    :param bool v2_pdf: True to add a pdf link to the v2 element.\n    :param string v3_status: The status to use for the v3 element.\n    :param DateTime v3_updated: The update time to use for the v3 element.\n    :param bool v3_json: True to add a html link to the v2 element.\n    :param bool v3_xml: True to add a pdf link to the v2 element.\n    '
__init__(href: str | None = None, v2: bool = True, v3: bool = True, v2_id: str = 'v2.0', v3_id: str = 'v3.0', v2_status: str | None = None, v2_updated: datetime | None = None, v2_html: bool = True, v2_pdf: bool = True, v3_status: str | None = None, v3_updated: datetime | None = None, v3_json: bool = True, v3_xml: bool = True) None
__module__ = 'keystoneauth1.fixture.discovery'
__orig_bases__ = (dict[str, typing.Any],)
__weakref__

list of weak references to the object

add_microversion(href: str, id: str, *, min_version: str = '', max_version: str = '', status: str | None = None, updated: datetime | None = None) MicroversionDiscovery

Add a microversion version to the list.

The parameters are the same as MicroversionDiscovery.

add_nova_microversion(href: str, id: str, *, min_version: str = '', version: str = '', status: str | None = None, updated: datetime | None = None) NovaMicroversionDiscovery

Add a nova microversion version to the list.

The parameters are the same as NovaMicroversionDiscovery.

add_v2(href: str, id: str = 'v2.0', *, html: bool = True, pdf: bool = True, status: str | None = None, updated: datetime | None = None) V2Discovery

Add a v2 version to the list.

The parameters are the same as V2Discovery.

add_v3(href: str, id: str = 'v3.0', *, json: bool = True, xml: bool = True, status: str | None = None, updated: datetime | None = None) V3Discovery

Add a v3 version to the list.

The parameters are the same as V3Discovery.

add_version(version: DiscoveryBase) None

Add a new version structure to the list.

Parameters:

version (dict) – A new version structure to add to the list.

property versions: list[DiscoveryBase]
class keystoneauth1.fixture.discovery.Link

Bases: TypedDict

__annotations__ = {'href': <class 'str'>, 'rel': <class 'str'>, 'type': typing.NotRequired[str]}
__dict__ = mappingproxy({'__module__': 'keystoneauth1.fixture.discovery', '__annotations__': {'href': <class 'str'>, 'rel': <class 'str'>, 'type': typing.NotRequired[str]}, '__orig_bases__': (<function TypedDict>,), '__dict__': <attribute '__dict__' of 'Link' objects>, '__weakref__': <attribute '__weakref__' of 'Link' objects>, '__doc__': None, '__required_keys__': frozenset({'rel', 'href'}), '__optional_keys__': frozenset({'type'}), '__total__': True})
__doc__ = None
__module__ = 'keystoneauth1.fixture.discovery'
__optional_keys__ = frozenset({'type'})
__orig_bases__ = (<function TypedDict>,)
__required_keys__ = frozenset({'href', 'rel'})
__total__ = True
__weakref__

list of weak references to the object

href: str
rel: str
type: NotRequired[str]
class keystoneauth1.fixture.discovery.MediaType

Bases: TypedDict

__annotations__ = {'base': <class 'str'>, 'type': <class 'str'>}
__dict__ = mappingproxy({'__module__': 'keystoneauth1.fixture.discovery', '__annotations__': {'base': <class 'str'>, 'type': <class 'str'>}, '__orig_bases__': (<function TypedDict>,), '__dict__': <attribute '__dict__' of 'MediaType' objects>, '__weakref__': <attribute '__weakref__' of 'MediaType' objects>, '__doc__': None, '__required_keys__': frozenset({'base', 'type'}), '__optional_keys__': frozenset(), '__total__': True})
__doc__ = None
__module__ = 'keystoneauth1.fixture.discovery'
__optional_keys__ = frozenset({})
__orig_bases__ = (<function TypedDict>,)
__required_keys__ = frozenset({'base', 'type'})
__total__ = True
__weakref__

list of weak references to the object

base: str
type: str
class keystoneauth1.fixture.discovery.MicroversionDiscovery(href: str, id: str, *, min_version: str = '', max_version: str = '', status: str | None = None, updated: datetime | None = None)

Bases: DiscoveryBase

A Version element that has microversions.

Provides some default values and helper methods for creating a microversion endpoint version structure. Clients should use this instead of creating their own structures.

Parameters:
  • href (string) – The url that this entry should point to.

  • id (string) – The version id that should be reported.

  • min_version (string) – The minimum supported microversion. (optional)

  • max_version (string) – The maximum supported microversion. (optional)

__annotations__ = {}
__doc__ = 'A Version element that has microversions.\n\n    Provides some default values and helper methods for creating a microversion\n    endpoint version structure. Clients should use this instead of creating\n    their own structures.\n\n    :param string href: The url that this entry should point to.\n    :param string id: The version id that should be reported.\n    :param string min_version: The minimum supported microversion. (optional)\n    :param string max_version: The maximum supported microversion. (optional)\n    '
__init__(href: str, id: str, *, min_version: str = '', max_version: str = '', status: str | None = None, updated: datetime | None = None) None
__module__ = 'keystoneauth1.fixture.discovery'
property max_version: str
property min_version: str
class keystoneauth1.fixture.discovery.NovaMicroversionDiscovery(href: str, id: str, *, min_version: str = '', version: str = '', status: str | None = None, updated: datetime | None = None)

Bases: DiscoveryBase

A Version element with nova-style microversions.

Provides some default values and helper methods for creating a microversion endpoint version structure. Clients should use this instead of creating their own structures.

Parameters:
  • href – The url that this entry should point to.

  • id (string) – The version id that should be reported.

  • min_version (string) – The minimum microversion supported. (optional)

  • version (string) – The maximum microversion supported. (optional)

__annotations__ = {}
__doc__ = 'A Version element with nova-style microversions.\n\n    Provides some default values and helper methods for creating a microversion\n    endpoint version structure. Clients should use this instead of creating\n    their own structures.\n\n    :param href: The url that this entry should point to.\n    :param string id: The version id that should be reported.\n    :param string min_version: The minimum microversion supported. (optional)\n    :param string version: The maximum microversion supported. (optional)\n    '
__init__(href: str, id: str, *, min_version: str = '', version: str = '', status: str | None = None, updated: datetime | None = None) None
__module__ = 'keystoneauth1.fixture.discovery'
property min_version: str
property version: str
class keystoneauth1.fixture.discovery.V2Discovery(href: str, id: str = 'v2.0', *, html: bool = True, pdf: bool = True, status: str | None = None, updated: datetime | None = None)

Bases: DiscoveryBase

A Version element for a V2 identity service endpoint.

Provides some default values and helper methods for creating a v2.0 endpoint version structure. Clients should use this instead of creating their own structures.

Parameters:
  • href (string) – The url that this entry should point to.

  • id (string) – The version id that should be reported. (optional) Defaults to ‘v2.0’.

  • html (bool) – Add HTML describedby links to the structure.

  • pdf (bool) – Add PDF describedby links to the structure.

_DESC_URL = 'https://developer.openstack.org/api-ref/identity/v2/'
__annotations__ = {}
__doc__ = "A Version element for a V2 identity service endpoint.\n\n    Provides some default values and helper methods for creating a v2.0\n    endpoint version structure. Clients should use this instead of creating\n    their own structures.\n\n    :param string href: The url that this entry should point to.\n    :param string id: The version id that should be reported. (optional)\n                      Defaults to 'v2.0'.\n    :param bool html: Add HTML describedby links to the structure.\n    :param bool pdf: Add PDF describedby links to the structure.\n\n    "
__init__(href: str, id: str = 'v2.0', *, html: bool = True, pdf: bool = True, status: str | None = None, updated: datetime | None = None)
__module__ = 'keystoneauth1.fixture.discovery'
add_html_description() None

Add the HTML described by links.

The standard structure includes a link to a HTML document with the API specification. Add it to this entry.

add_pdf_description() None

Add the PDF described by links.

The standard structure includes a link to a PDF document with the API specification. Add it to this entry.

class keystoneauth1.fixture.discovery.V3Discovery(href: str, id: str = 'v3.0', *, json: bool = True, xml: bool = True, status: str | None = None, updated: datetime | None = None)

Bases: DiscoveryBase

A Version element for a V3 identity service endpoint.

Provides some default values and helper methods for creating a v3 endpoint version structure. Clients should use this instead of creating their own structures.

Parameters:
  • href – The url that this entry should point to.

  • id (string) – The version id that should be reported. (optional) Defaults to ‘v3.0’.

  • json (bool) – Add JSON media-type elements to the structure.

  • xml (bool) – Add XML media-type elements to the structure.

__annotations__ = {}
__doc__ = "A Version element for a V3 identity service endpoint.\n\n    Provides some default values and helper methods for creating a v3\n    endpoint version structure. Clients should use this instead of creating\n    their own structures.\n\n    :param href: The url that this entry should point to.\n    :param string id: The version id that should be reported. (optional)\n                      Defaults to 'v3.0'.\n    :param bool json: Add JSON media-type elements to the structure.\n    :param bool xml: Add XML media-type elements to the structure.\n    "
__init__(href: str, id: str = 'v3.0', *, json: bool = True, xml: bool = True, status: str | None = None, updated: datetime | None = None)
__module__ = 'keystoneauth1.fixture.discovery'
add_json_media_type() None

Add the JSON media-type links.

The standard structure includes a list of media-types that the endpoint supports. Add JSON to the list.

add_xml_media_type() None

Add the XML media-type links.

The standard structure includes a list of media-types that the endpoint supports. Add XML to the list.

class keystoneauth1.fixture.discovery.VersionDiscovery(href: str, id: str, *, status: str | None = None, updated: datetime | None = None)

Bases: DiscoveryBase

A Version element for non-keystone services without microversions.

Provides some default values and helper methods for creating a microversion endpoint version structure. Clients should use this instead of creating their own structures.

Parameters:
  • href (string) – The url that this entry should point to.

  • id (string) – The version id that should be reported.

__annotations__ = {}
__doc__ = 'A Version element for non-keystone services without microversions.\n\n    Provides some default values and helper methods for creating a microversion\n    endpoint version structure. Clients should use this instead of creating\n    their own structures.\n\n    :param string href: The url that this entry should point to.\n    :param string id: The version id that should be reported.\n    '
__init__(href: str, id: str, *, status: str | None = None, updated: datetime | None = None) None
__module__ = 'keystoneauth1.fixture.discovery'