Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
5428dca
Code changes for FabricSwitchInventory and related dependencies
AKDRG May 6, 2026
a6d7e7b
Black Formatting
AKDRG May 6, 2026
e861771
Sanity Fix
AKDRG May 6, 2026
844c201
[Jeet] Refactored the utils.py and moved inventory call out of it to …
jeetugangwar11 May 8, 2026
8e61349
Update fabric_inventory.py
jeetugangwar11 May 8, 2026
50cb755
[Jeet] Sanity fixes
jeetugangwar11 May 8, 2026
2938ab1
[Jeet] Added missing NodeNameMixin in mixin for sanity issue fix.
jeetugangwar11 May 8, 2026
da3fa42
[Jeet] Remove content from _init_.py file for sanity fix
jeetugangwar11 May 8, 2026
5f461d4
[Jeet] Resource Manager module changes initial commit
jeetugangwar11 Apr 10, 2026
2904632
[Jeet] Sanity error fix
jeetugangwar11 Apr 10, 2026
9d192ca
Update nd_manage_resource_manager_resources.py
jeetugangwar11 Apr 10, 2026
1fab5ac
[Jeet] Sanity error fix
jeetugangwar11 Apr 10, 2026
1630ee1
Update nd_manage_resource_manager.py
jeetugangwar11 Apr 10, 2026
fa1b37b
Update constants.py
jeetugangwar11 Apr 10, 2026
9156f0b
[Jeet] Change for normalize_pool_name to find matching data for deleting
jeetugangwar11 Apr 14, 2026
af79227
[Jeet] Added logs in new function
jeetugangwar11 Apr 14, 2026
a4b6e67
[Jeet] Removed code for overridden state
jeetugangwar11 Apr 16, 2026
153972b
[Jeet] Added test cases for resource manager module
jeetugangwar11 Apr 16, 2026
8d6f390
[Jeet] Logger fix and address few review comments
jeetugangwar11 Apr 16, 2026
d1ca8d1
[Jeet] Endpoints changes for use of mixins classes
jeetugangwar11 Apr 17, 2026
77cac71
[Jeet] Raised exception instead of calling fail_json from nd_manage_r…
jeetugangwar11 Apr 17, 2026
9de49e7
[Jeet] Changes for review comments
jeetugangwar11 Apr 17, 2026
f7f7b35
[Jeet] Sanity issue fix
jeetugangwar11 Apr 17, 2026
60cbd70
[Jeet] Sanity issue fixes
jeetugangwar11 Apr 17, 2026
5783660
Update resource_validators.py
jeetugangwar11 Apr 17, 2026
f991542
[Jeet] Changes to accommodate NDOutput structure.
jeetugangwar11 Apr 21, 2026
8956201
[Jeet] Sanity issue fix
jeetugangwar11 Apr 21, 2026
1f9a636
[Jeet] Added config as optional in setup_logging() in log.py for loca…
jeetugangwar11 Apr 21, 2026
1c0c8c6
[Jeet] Removed legacy Dict, List, Optional, Union
jeetugangwar11 Apr 23, 2026
ea5cb99
Delete nd.log.3
jeetugangwar11 Apr 23, 2026
c89ac11
[Jeet] Changed switch to switches
jeetugangwar11 Apr 23, 2026
858e720
[Jeet] Fic for review comments
jeetugangwar11 Apr 23, 2026
4e4006e
[Jeet] Sanity issue fix..
jeetugangwar11 Apr 23, 2026
a501cde
Update nd_manage_resource_manager.py
jeetugangwar11 Apr 24, 2026
b60fe4d
[Jeet] Changes to use fabric_inventory.py for switch_ip to switch_id …
jeetugangwar11 May 8, 2026
ed5ee4b
[Jeet] Added new line for sanity fix
jeetugangwar11 May 8, 2026
fde6794
[Jeet] Sanity fix
jeetugangwar11 May 8, 2026
f53aee9
[Jeet] Fix the documentation
jeetugangwar11 May 8, 2026
82f0b77
[Jeet] Code refactor changes
jeetugangwar11 May 13, 2026
0da192b
[Jeet] Refactored the code to reduce n numbers of line in actual modu…
jeetugangwar11 May 13, 2026
d4b363b
[Jeet] Sanity fix
jeetugangwar11 May 13, 2026
638da9a
[Jeet] Added logs for api response time logging and also fixed skippe…
jeetugangwar11 May 13, 2026
92d0ffc
[Jeet] Sanity fix
jeetugangwar11 May 13, 2026
39846a3
Update nd_manage_resource_manager_resources.py
jeetugangwar11 May 13, 2026
1f427c0
Update nd_manage_resource_manager_resources.py
jeetugangwar11 May 13, 2026
905682a
[Jeet] Removed unused model file
jeetugangwar11 May 25, 2026
521c4ca
Merge branch 'CiscoDevNet:develop' into resource_manager_070526
jeetugangwar11 May 27, 2026
c77ca3f
Merge branch 'CiscoDevNet:develop' into resource_manager_070526
jeetugangwar11 Jun 1, 2026
62cbcfe
[Jeet] Fix for module output disc with api_* in case of -vvv
jeetugangwar11 Jun 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion plugins/module_utils/common/log.py
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@ def develop(self, value: bool) -> None:
logging.raiseExceptions = value


def setup_logging(module: "AnsibleModule", develop: bool = False) -> Log:
def setup_logging(module: "AnsibleModule", develop: bool = False, config: Optional[str] = None) -> Log:
"""
# Summary

Expand All @@ -434,6 +434,9 @@ def setup_logging(module: "AnsibleModule", develop: bool = False) -> Log:

- Calls `module.fail_json()` if logging configuration fails, which
exits the module with an error message rather than raising an exception.
- If `config` is provided it overrides the `ND_LOGGING_CONFIG` environment
variable. Pass `None` (the default) to rely solely on the environment
variable.

## Usage

Expand All @@ -445,6 +448,12 @@ def main():
log = setup_logging(module)
```

To point at a specific config file (e.g. during local development):

```python
log = setup_logging(module, config="/path/to/logging_config.json")
```

To enable logging exceptions during development, pass `develop=True`:

```python
Expand All @@ -453,6 +462,8 @@ def main():
"""
try:
log = Log(develop=develop)
if config is not None:
log.config = config
log.commit()
except ValueError as error:
module.fail_json(msg=str(error))
Expand Down
42 changes: 39 additions & 3 deletions plugins/module_utils/endpoints/mixins.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ class FabricNameMixin(BaseModel):
fabric_name: Optional[str] = Field(default=None, min_length=1, max_length=64, description="Fabric name")


class FilterMixin(BaseModel):
"""Mixin for endpoints that require a Lucene filter expression."""

filter: Optional[str] = Field(default=None, min_length=1, description="Lucene filter expression")


class ForceShowRunMixin(BaseModel):
"""Mixin for endpoints that require force_show_run parameter."""

Expand Down Expand Up @@ -68,16 +74,28 @@ class LoginIdMixin(BaseModel):
login_id: Optional[str] = Field(default=None, min_length=1, description="Login ID")


class MaxMixin(BaseModel):
"""Mixin for endpoints that require a max results parameter."""

max: Optional[int] = Field(default=None, ge=1, description="Maximum number of results")


class NetworkNameMixin(BaseModel):
"""Mixin for endpoints that require network_name parameter."""

network_name: Optional[str] = Field(default=None, min_length=1, max_length=64, description="Network name")


class NodeNameMixin(BaseModel):
"""Mixin for endpoints that require node_name parameter."""
class OffsetMixin(BaseModel):
"""Mixin for endpoints that require a pagination offset parameter."""

node_name: Optional[str] = Field(default=None, min_length=1, description="Node name")
offset: Optional[int] = Field(default=None, ge=0, description="Pagination offset")


class SwitchIdMixin(BaseModel):
"""Mixin for endpoints that require switch_id parameter."""

switch_id: Optional[str] = Field(default=None, min_length=1, description="Switch serial number or ID")


class SwitchSerialNumberMixin(BaseModel):
Expand All @@ -86,7 +104,25 @@ class SwitchSerialNumberMixin(BaseModel):
switch_sn: Optional[str] = Field(default=None, min_length=1, description="Switch serial number")


class TenantNameMixin(BaseModel):
"""Mixin for endpoints that require tenant_name parameter."""

tenant_name: Optional[str] = Field(default=None, min_length=1, description="Tenant name")


class TicketIdMixin(BaseModel):
"""Mixin for endpoints that require ticket_id parameter."""

ticket_id: Optional[str] = Field(default=None, min_length=1, description="Change control ticket ID")


class VrfNameMixin(BaseModel):
"""Mixin for endpoints that require vrf_name parameter."""

vrf_name: Optional[str] = Field(default=None, min_length=1, max_length=64, description="VRF name")


class NodeNameMixin(BaseModel):
"""Mixin for endpoints that require node_name parameter."""

node_name: Optional[str] = Field(default=None, min_length=1, description="Node name")
Loading
Loading