Skip to content

Commit

Permalink
azure - servicebus-namespace-networkruleset (#8546)
Browse files Browse the repository at this point in the history
  • Loading branch information
hiteshmck committed May 23, 2023
1 parent f9ec090 commit f5c3b8c
Show file tree
Hide file tree
Showing 5 changed files with 188 additions and 0 deletions.
1 change: 1 addition & 0 deletions tools/c7n_azure/c7n_azure/resources/resource_map.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
"azure.routetable": "c7n_azure.resources.route_table.RouteTable",
"azure.search": "c7n_azure.resources.search.SearchService",
"azure.servicebus-namespace": "c7n_azure.resources.servicebus_namespace.ServiceBusNamespace",
"azure.servicebus-namespace-networkrules": "c7n_azure.resources.servicebus_namespace_networkrules.ServiceBusNamespaceNetworkrules", # noqa
"azure.servicebus-namespace-authrules": "c7n_azure.resources.servicebus_namespace_authrules.ServiceBusNamespaceAuthRules", # noqa
"azure.service-fabric-cluster": "c7n_azure.resources.service_fabric.ServiceFabricCluster",
"azure.service-fabric-cluster-managed": "c7n_azure.resources.service_fabric.ServiceFabricClusterManaged", # noqa
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

@resources.register('servicebus-namespace')
class ServiceBusNamespace(ArmResourceManager):

"""Azure Service Bus Namespace Resource
:example:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@

# Copyright The Cloud Custodian Authors.
# SPDX-License-Identifier: Apache-2.0

from c7n_azure.provider import resources
from c7n_azure.query import ChildResourceManager, ChildTypeInfo
from c7n_azure.utils import ResourceIdParser


@resources.register('servicebus-namespace-networkrules')
class ServiceBusNamespaceNetworkrules(ChildResourceManager):

"""Azure Service Bus Namespace Network Ruleset Resource
:example:
Returns Service Bus Namespace Network Ruleset resources
.. code-block:: yaml
policies:
- name: basic-servicebus-namespace-networkrule
resource: azure.servicebus-namespace-networkrules
"""

class resource_type(ChildTypeInfo):
doc_groups = ['Events']

service = 'azure.mgmt.servicebus'
client = 'ServiceBusManagementClient'
enum_spec = ('namespaces', 'list_network_rule_sets', None)
parent_manager_name = 'servicebus-namespace'
default_report_fields = (
'name',
'location',
'resourceGroup'
)
resource_type = 'Microsoft.ServiceBus/namespaces'

@classmethod
def extra_args(cls, parent_resource):
return {'resource_group_name':
ResourceIdParser.get_resource_group(parent_resource['id']),
'namespace_name': parent_resource['name']}
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
{
"version": 1,
"interactions": [
{
"request": {
"method": "GET",
"uri": "https://management.azure.com/subscriptions/ea42f556-5106-4743-99b0-c129bfa71a47/providers/Microsoft.ServiceBus/namespaces?api-version=2021-11-01",
"body": null,
"headers": {}
},
"response": {
"status": {
"code": 200,
"message": "OK"
},
"headers": {
"x-ms-inline-count": [
""
],
"cache-control": [
"no-cache"
],
"date": [
"Tue, 09 May 2023 16:17:44 GMT"
],
"content-type": [
"application/json; charset=utf-8"
],
"server-sb": [
"Service-Bus-Resource-Provider/SN1"
],
"content-length": [
"667"
]
},
"body": {
"data": {
"value": [
{
"sku": {
"name": "Standard",
"tier": "Standard"
},
"id": "/subscriptions/ea42f556-5106-4743-99b0-c129bfa71a47/resourceGroups/cfb-fphecjqp/providers/Microsoft.ServiceBus/namespaces/c7nfail-sbnamespace",
"name": "c7nfail-sbnamespace",
"type": "Microsoft.ServiceBus/Namespaces",
"location": "Central US",
"tags": {
"product_id": "13742"
},
"properties": {
"disableLocalAuth": false,
"zoneRedundant": false,
"provisioningState": "Succeeded",
"metricId": "ea42f556-5106-4743-99b0-c129bfa71a47:c7nfail-sbnamespace",
"createdAt": "2023-05-09T16:14:32.29Z",
"updatedAt": "2023-05-09T16:15:43.91Z",
"serviceBusEndpoint": "https://c7nfail-sbnamespace.servicebus.windows.net:443/",
"status": "Active"
}
}
]
}
}
}
},
{
"request": {
"method": "GET",
"uri": "https://management.azure.com/subscriptions/ea42f556-5106-4743-99b0-c129bfa71a47/resourceGroups/cfb-fphecjqp/providers/Microsoft.ServiceBus/namespaces/c7nfail-sbnamespace/networkRuleSets?api-version=2021-11-01",
"body": null,
"headers": {}
},
"response": {
"status": {
"code": 200,
"message": "OK"
},
"headers": {
"cache-control": [
"no-cache"
],
"date": [
"Tue, 09 May 2023 16:17:45 GMT"
],
"content-type": [
"application/json; charset=utf-8"
],
"server-sb": [
"Service-Bus-Resource-Provider/SN1"
],
"content-length": [
"393"
]
},
"body": {
"data": {
"value": [
{
"id": "/subscriptions/ea42f556-5106-4743-99b0-c129bfa71a47/resourceGroups/cfb-fphecjqp/providers/Microsoft.ServiceBus/namespaces/c7nfail-sbnamespace/networkRuleSets/default",
"name": "default",
"type": "Microsoft.ServiceBus/Namespaces/NetworkRuleSets",
"location": "Central US",
"properties": {
"publicNetworkAccess": "Enabled",
"defaultAction": "Allow",
"virtualNetworkRules": [],
"ipRules": []
}
}
]
}
}
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright The Cloud Custodian Authors.
# SPDX-License-Identifier: Apache-2.0
from ..azure_common import BaseTest


class ServiceBusNamespaceNetworkrulesTest(BaseTest):
def test_azure_servicebus_namespace_networkrules_schema_validate(self):
p = self.load_policy({
'name': 'test-azure-servicebus-namespace-networkrules-schema-validate',
'resource': 'azure.servicebus-namespace-networkrules'
}, validate=True)
self.assertTrue(p)

def test_find_by_name(self):
p = self.load_policy({
'name': 'test-azure-azure-servicebus-namespace-networkrules',
'resource': 'azure.servicebus-namespace-networkrules',
'filters': [
{'type': 'value',
'key': 'name',
'value': 'default'}],
})
resources = p.run()
self.assertEqual(len(resources), 1)

0 comments on commit f5c3b8c

Please sign in to comment.