diff --git a/sdk/security/azure-mgmt-security/azure/mgmt/security/_security_center.py b/sdk/security/azure-mgmt-security/azure/mgmt/security/_security_center.py index 342c5d61f0e1..25aa49718c6d 100644 --- a/sdk/security/azure-mgmt-security/azure/mgmt/security/_security_center.py +++ b/sdk/security/azure-mgmt-security/azure/mgmt/security/_security_center.py @@ -13,6 +13,7 @@ from msrest import Serializer, Deserializer from ._configuration import SecurityCenterConfiguration +from .operations import NetworkDataOperations from .operations import ComplianceResultsOperations from .operations import PricingsOperations from .operations import AlertsOperations @@ -53,6 +54,8 @@ class SecurityCenter(SDKClient): :ivar config: Configuration for client. :vartype config: SecurityCenterConfiguration + :ivar network_data: NetworkData operations + :vartype network_data: azure.mgmt.security.operations.NetworkDataOperations :ivar compliance_results: ComplianceResults operations :vartype compliance_results: azure.mgmt.security.operations.ComplianceResultsOperations :ivar pricings: Pricings operations @@ -137,6 +140,8 @@ def __init__( self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) + self.network_data = NetworkDataOperations( + self._client, self.config, self._serialize, self._deserialize) self.compliance_results = ComplianceResultsOperations( self._client, self.config, self._serialize, self._deserialize) self.pricings = PricingsOperations( diff --git a/sdk/security/azure-mgmt-security/azure/mgmt/security/models/__init__.py b/sdk/security/azure-mgmt-security/azure/mgmt/security/models/__init__.py index b09be32d96b1..5c6455cd60d5 100644 --- a/sdk/security/azure-mgmt-security/azure/mgmt/security/models/__init__.py +++ b/sdk/security/azure-mgmt-security/azure/mgmt/security/models/__init__.py @@ -34,6 +34,7 @@ from ._models_py3 import ConnectableResource from ._models_py3 import ConnectedResource from ._models_py3 import ConnectedWorkspace + from ._models_py3 import ConnectionDetails from ._models_py3 import DataExportSetting from ._models_py3 import DiscoveredSecuritySolution from ._models_py3 import ExternalSecuritySolution @@ -66,6 +67,17 @@ from ._models_py3 import JitNetworkAccessRequestVirtualMachine from ._models_py3 import Kind from ._models_py3 import Location + from ._models_py3 import NetworkData + from ._models_py3 import NetworkDataConnectableResource + from ._models_py3 import NetworkDataConnectableResourceActualTraffic + from ._models_py3 import NetworkDataConnectableResourceActualTrafficInboundConnectedResources + from ._models_py3 import NetworkDataConnectableResourceActualTrafficOutboundConnectedResources + from ._models_py3 import NetworkDataConnectableResourceAllowedConnections + from ._models_py3 import NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources + from ._models_py3 import NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources + from ._models_py3 import NetworkDataConnectableResourceUnusedPorts + from ._models_py3 import NetworkDataConnectableResourceUnusedPortsInboundConnectedResources + from ._models_py3 import NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources from ._models_py3 import Operation from ._models_py3 import OperationDisplay from ._models_py3 import PathRecommendation @@ -120,6 +132,7 @@ from ._models import ConnectableResource from ._models import ConnectedResource from ._models import ConnectedWorkspace + from ._models import ConnectionDetails from ._models import DataExportSetting from ._models import DiscoveredSecuritySolution from ._models import ExternalSecuritySolution @@ -152,6 +165,17 @@ from ._models import JitNetworkAccessRequestVirtualMachine from ._models import Kind from ._models import Location + from ._models import NetworkData + from ._models import NetworkDataConnectableResource + from ._models import NetworkDataConnectableResourceActualTraffic + from ._models import NetworkDataConnectableResourceActualTrafficInboundConnectedResources + from ._models import NetworkDataConnectableResourceActualTrafficOutboundConnectedResources + from ._models import NetworkDataConnectableResourceAllowedConnections + from ._models import NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources + from ._models import NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources + from ._models import NetworkDataConnectableResourceUnusedPorts + from ._models import NetworkDataConnectableResourceUnusedPortsInboundConnectedResources + from ._models import NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources from ._models import Operation from ._models import OperationDisplay from ._models import PathRecommendation @@ -194,6 +218,7 @@ from ._paged_models import IoTSecurityAggregatedRecommendationPaged from ._paged_models import IoTSecuritySolutionModelPaged from ._paged_models import JitNetworkAccessPolicyPaged +from ._paged_models import NetworkDataPaged from ._paged_models import OperationPaged from ._paged_models import RegulatoryComplianceAssessmentPaged from ._paged_models import RegulatoryComplianceControlPaged @@ -251,6 +276,7 @@ 'ConnectableResource', 'ConnectedResource', 'ConnectedWorkspace', + 'ConnectionDetails', 'DataExportSetting', 'DiscoveredSecuritySolution', 'ExternalSecuritySolution', @@ -283,6 +309,17 @@ 'JitNetworkAccessRequestVirtualMachine', 'Kind', 'Location', + 'NetworkData', + 'NetworkDataConnectableResource', + 'NetworkDataConnectableResourceActualTraffic', + 'NetworkDataConnectableResourceActualTrafficInboundConnectedResources', + 'NetworkDataConnectableResourceActualTrafficOutboundConnectedResources', + 'NetworkDataConnectableResourceAllowedConnections', + 'NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources', + 'NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources', + 'NetworkDataConnectableResourceUnusedPorts', + 'NetworkDataConnectableResourceUnusedPortsInboundConnectedResources', + 'NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources', 'Operation', 'OperationDisplay', 'PathRecommendation', @@ -312,6 +349,7 @@ 'UserRecommendation', 'VmRecommendation', 'WorkspaceSetting', + 'NetworkDataPaged', 'ComplianceResultPaged', 'AlertPaged', 'SettingPaged', diff --git a/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_models.py b/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_models.py index 814deff5ee6b..3a95c270f781 100644 --- a/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_models.py +++ b/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_models.py @@ -1134,6 +1134,34 @@ def __init__(self, **kwargs): self.id = kwargs.get('id', None) +class ConnectionDetails(Model): + """Details of the actual traffic connections. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar port_and_protocol: The port and the protocol of the traffic + :vartype port_and_protocol: str + :ivar volume: The volume of the traffic + :vartype volume: str + """ + + _validation = { + 'port_and_protocol': {'readonly': True}, + 'volume': {'readonly': True}, + } + + _attribute_map = { + 'port_and_protocol': {'key': 'portAndProtocol', 'type': 'str'}, + 'volume': {'key': 'volume', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionDetails, self).__init__(**kwargs) + self.port_and_protocol = None + self.volume = None + + class SettingResource(Resource): """The kind of the security setting. @@ -2426,6 +2454,404 @@ def __init__(self, **kwargs): self.location = None +class NetworkData(Resource): + """Network data on a resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param connectable_resources: + :type connectable_resources: + list[~azure.mgmt.security.models.NetworkDataConnectableResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connectable_resources': {'key': 'properties.connectableResources', 'type': '[NetworkDataConnectableResource]'}, + } + + def __init__(self, **kwargs): + super(NetworkData, self).__init__(**kwargs) + self.connectable_resources = kwargs.get('connectable_resources', None) + + +class NetworkDataConnectableResource(Model): + """Describes the allowed inbound and outbound traffic of an Azure resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar connected_resource_id: The connectable resource id + :vartype connected_resource_id: str + :ivar connection_type: The connection type + :vartype connection_type: str + :ivar allowed_connections: The allowed connections details + :vartype allowed_connections: + ~azure.mgmt.security.models.NetworkDataConnectableResourceAllowedConnections + :ivar actual_traffic: The actual traffic details + :vartype actual_traffic: + ~azure.mgmt.security.models.NetworkDataConnectableResourceActualTraffic + :ivar unused_ports: The unused ports details + :vartype unused_ports: + ~azure.mgmt.security.models.NetworkDataConnectableResourceUnusedPorts + """ + + _validation = { + 'connected_resource_id': {'readonly': True}, + 'connection_type': {'readonly': True}, + 'allowed_connections': {'readonly': True}, + 'actual_traffic': {'readonly': True}, + 'unused_ports': {'readonly': True}, + } + + _attribute_map = { + 'connected_resource_id': {'key': 'connectedResourceId', 'type': 'str'}, + 'connection_type': {'key': 'connectionType', 'type': 'str'}, + 'allowed_connections': {'key': 'allowedConnections', 'type': 'NetworkDataConnectableResourceAllowedConnections'}, + 'actual_traffic': {'key': 'actualTraffic', 'type': 'NetworkDataConnectableResourceActualTraffic'}, + 'unused_ports': {'key': 'unusedPorts', 'type': 'NetworkDataConnectableResourceUnusedPorts'}, + } + + def __init__(self, **kwargs): + super(NetworkDataConnectableResource, self).__init__(**kwargs) + self.connected_resource_id = None + self.connection_type = None + self.allowed_connections = None + self.actual_traffic = None + self.unused_ports = None + + +class NetworkDataConnectableResourceActualTraffic(Model): + """The actual traffic details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_range: The actual traffic time range + :vartype time_range: str + :ivar traffic_data_state: The actual traffic state + :vartype traffic_data_state: str + :ivar inbound_connected_resources: The actual traffic inbound details + :vartype inbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceActualTrafficInboundConnectedResources + :ivar outbound_connected_resources: The actual traffic outbound details + :vartype outbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceActualTrafficOutboundConnectedResources + """ + + _validation = { + 'time_range': {'readonly': True}, + 'traffic_data_state': {'readonly': True}, + 'inbound_connected_resources': {'readonly': True}, + 'outbound_connected_resources': {'readonly': True}, + } + + _attribute_map = { + 'time_range': {'key': 'timeRange', 'type': 'str'}, + 'traffic_data_state': {'key': 'TrafficDataState', 'type': 'str'}, + 'inbound_connected_resources': {'key': 'inboundConnectedResources', 'type': 'NetworkDataConnectableResourceActualTrafficInboundConnectedResources'}, + 'outbound_connected_resources': {'key': 'outboundConnectedResources', 'type': 'NetworkDataConnectableResourceActualTrafficOutboundConnectedResources'}, + } + + def __init__(self, **kwargs): + super(NetworkDataConnectableResourceActualTraffic, self).__init__(**kwargs) + self.time_range = None + self.traffic_data_state = None + self.inbound_connected_resources = None + self.outbound_connected_resources = None + + +class NetworkDataConnectableResourceActualTrafficInboundConnectedResources(Model): + """The actual traffic inbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar actual_traffic_volume: The actual traffic inbound volume + :vartype actual_traffic_volume: str + :param connections_details: + :type connections_details: + list[~azure.mgmt.security.models.ConnectionDetails] + """ + + _validation = { + 'actual_traffic_volume': {'readonly': True}, + } + + _attribute_map = { + 'actual_traffic_volume': {'key': 'actualTrafficVolume', 'type': 'str'}, + 'connections_details': {'key': 'connectionsDetails', 'type': '[ConnectionDetails]'}, + } + + def __init__(self, **kwargs): + super(NetworkDataConnectableResourceActualTrafficInboundConnectedResources, self).__init__(**kwargs) + self.actual_traffic_volume = None + self.connections_details = kwargs.get('connections_details', None) + + +class NetworkDataConnectableResourceActualTrafficOutboundConnectedResources(Model): + """The actual traffic outbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar actual_traffic_volume: The actual traffic outbound volume + :vartype actual_traffic_volume: str + :param connections_details: + :type connections_details: + list[~azure.mgmt.security.models.ConnectionDetails] + """ + + _validation = { + 'actual_traffic_volume': {'readonly': True}, + } + + _attribute_map = { + 'actual_traffic_volume': {'key': 'actualTrafficVolume', 'type': 'str'}, + 'connections_details': {'key': 'connectionsDetails', 'type': '[ConnectionDetails]'}, + } + + def __init__(self, **kwargs): + super(NetworkDataConnectableResourceActualTrafficOutboundConnectedResources, self).__init__(**kwargs) + self.actual_traffic_volume = None + self.connections_details = kwargs.get('connections_details', None) + + +class NetworkDataConnectableResourceAllowedConnections(Model): + """The allowed connections details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar calculated_date_time: The UTC time on which the allowed connections + was calculated + :vartype calculated_date_time: datetime + :ivar inbound_connected_resources: The allowed connections inbound details + :vartype inbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources + :ivar outbound_connected_resources: The allowed connections outbound + details + :vartype outbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources + """ + + _validation = { + 'calculated_date_time': {'readonly': True}, + 'inbound_connected_resources': {'readonly': True}, + 'outbound_connected_resources': {'readonly': True}, + } + + _attribute_map = { + 'calculated_date_time': {'key': 'calculatedDateTime', 'type': 'iso-8601'}, + 'inbound_connected_resources': {'key': 'inboundConnectedResources', 'type': 'NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources'}, + 'outbound_connected_resources': {'key': 'outboundConnectedResources', 'type': 'NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources'}, + } + + def __init__(self, **kwargs): + super(NetworkDataConnectableResourceAllowedConnections, self).__init__(**kwargs) + self.calculated_date_time = None + self.inbound_connected_resources = None + self.outbound_connected_resources = None + + +class NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources(Model): + """The allowed connections inbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tcp_ports_summary: The allowed connections inbound tcp ports summary + :vartype tcp_ports_summary: int + :ivar udp_ports_summary: The allowed connections inbound udp ports summary + :vartype udp_ports_summary: int + :ivar tcp_ports: The allowed connections inbound tcp ports + :vartype tcp_ports: str + :ivar udp_ports: The allowed connections inbound udp ports + :vartype udp_ports: str + """ + + _validation = { + 'tcp_ports_summary': {'readonly': True}, + 'udp_ports_summary': {'readonly': True}, + 'tcp_ports': {'readonly': True}, + 'udp_ports': {'readonly': True}, + } + + _attribute_map = { + 'tcp_ports_summary': {'key': 'tcpPortsSummary', 'type': 'int'}, + 'udp_ports_summary': {'key': 'udpPortsSummary', 'type': 'int'}, + 'tcp_ports': {'key': 'tcpPorts', 'type': 'str'}, + 'udp_ports': {'key': 'udpPorts', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources, self).__init__(**kwargs) + self.tcp_ports_summary = None + self.udp_ports_summary = None + self.tcp_ports = None + self.udp_ports = None + + +class NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources(Model): + """The allowed connections outbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tcp_ports_summary: The allowed connections outbound tcp ports + summary + :vartype tcp_ports_summary: int + :ivar udp_ports_summary: The allowed connections outbound udp ports + summary + :vartype udp_ports_summary: int + :ivar tcp_ports: The allowed connections outbound tcp ports + :vartype tcp_ports: str + :ivar udp_ports: The allowed connections outbound udp ports + :vartype udp_ports: str + """ + + _validation = { + 'tcp_ports_summary': {'readonly': True}, + 'udp_ports_summary': {'readonly': True}, + 'tcp_ports': {'readonly': True}, + 'udp_ports': {'readonly': True}, + } + + _attribute_map = { + 'tcp_ports_summary': {'key': 'tcpPortsSummary', 'type': 'int'}, + 'udp_ports_summary': {'key': 'udpPortsSummary', 'type': 'int'}, + 'tcp_ports': {'key': 'tcpPorts', 'type': 'str'}, + 'udp_ports': {'key': 'udpPorts', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources, self).__init__(**kwargs) + self.tcp_ports_summary = None + self.udp_ports_summary = None + self.tcp_ports = None + self.udp_ports = None + + +class NetworkDataConnectableResourceUnusedPorts(Model): + """The unused ports details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar inbound_connected_resources: The unused ports inbound details + :vartype inbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceUnusedPortsInboundConnectedResources + :ivar outbound_connected_resources: The unused ports outbound details + :vartype outbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources + """ + + _validation = { + 'inbound_connected_resources': {'readonly': True}, + 'outbound_connected_resources': {'readonly': True}, + } + + _attribute_map = { + 'inbound_connected_resources': {'key': 'inboundConnectedResources', 'type': 'NetworkDataConnectableResourceUnusedPortsInboundConnectedResources'}, + 'outbound_connected_resources': {'key': 'outboundConnectedResources', 'type': 'NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources'}, + } + + def __init__(self, **kwargs): + super(NetworkDataConnectableResourceUnusedPorts, self).__init__(**kwargs) + self.inbound_connected_resources = None + self.outbound_connected_resources = None + + +class NetworkDataConnectableResourceUnusedPortsInboundConnectedResources(Model): + """The unused ports inbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar unused_tcp_ports_summary: The unused inbound tcp ports summary + :vartype unused_tcp_ports_summary: int + :ivar unused_udp_ports_summary: The unused inbound udp ports summary + :vartype unused_udp_ports_summary: int + :ivar tcp_ports: The unused inbound tcp ports + :vartype tcp_ports: str + :ivar udp_ports: The unused inbound udp ports + :vartype udp_ports: str + """ + + _validation = { + 'unused_tcp_ports_summary': {'readonly': True}, + 'unused_udp_ports_summary': {'readonly': True}, + 'tcp_ports': {'readonly': True}, + 'udp_ports': {'readonly': True}, + } + + _attribute_map = { + 'unused_tcp_ports_summary': {'key': 'unusedTcpPortsSummary', 'type': 'int'}, + 'unused_udp_ports_summary': {'key': 'unusedUdpPortsSummary', 'type': 'int'}, + 'tcp_ports': {'key': 'tcpPorts', 'type': 'str'}, + 'udp_ports': {'key': 'udpPorts', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkDataConnectableResourceUnusedPortsInboundConnectedResources, self).__init__(**kwargs) + self.unused_tcp_ports_summary = None + self.unused_udp_ports_summary = None + self.tcp_ports = None + self.udp_ports = None + + +class NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources(Model): + """The unused ports outbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar unused_tcp_ports_summary: The unused outbound tcp ports summary + :vartype unused_tcp_ports_summary: int + :ivar unused_udp_ports_summary: The unused outbound udp ports summary + :vartype unused_udp_ports_summary: int + :ivar tcp_ports: The unused outbound tcp ports + :vartype tcp_ports: str + :ivar udp_ports: The unused outbound udp ports + :vartype udp_ports: str + """ + + _validation = { + 'unused_tcp_ports_summary': {'readonly': True}, + 'unused_udp_ports_summary': {'readonly': True}, + 'tcp_ports': {'readonly': True}, + 'udp_ports': {'readonly': True}, + } + + _attribute_map = { + 'unused_tcp_ports_summary': {'key': 'unusedTcpPortsSummary', 'type': 'int'}, + 'unused_udp_ports_summary': {'key': 'unusedUdpPortsSummary', 'type': 'int'}, + 'tcp_ports': {'key': 'tcpPorts', 'type': 'str'}, + 'udp_ports': {'key': 'udpPorts', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources, self).__init__(**kwargs) + self.unused_tcp_ports_summary = None + self.unused_udp_ports_summary = None + self.tcp_ports = None + self.udp_ports = None + + class Operation(Model): """Possible operation in the REST API of Microsoft.Security. @@ -2549,7 +2975,10 @@ def __init__(self, **kwargs): class Pricing(Resource): - """Pricing tier will be applied for the scope based on the resource ID. + """Azure Security Center is provided in two pricing tiers: free and standard, + with the standard tier available with a trial period. The standard tier + offers advanced security capabilities, while the free tier offers basic + security features. Variables are only populated by the server, and will be ignored when sending a request. diff --git a/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_models_py3.py b/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_models_py3.py index 55592fee92b4..c7f2ee8aebb1 100644 --- a/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_models_py3.py +++ b/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_models_py3.py @@ -1134,6 +1134,34 @@ def __init__(self, *, id: str=None, **kwargs) -> None: self.id = id +class ConnectionDetails(Model): + """Details of the actual traffic connections. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar port_and_protocol: The port and the protocol of the traffic + :vartype port_and_protocol: str + :ivar volume: The volume of the traffic + :vartype volume: str + """ + + _validation = { + 'port_and_protocol': {'readonly': True}, + 'volume': {'readonly': True}, + } + + _attribute_map = { + 'port_and_protocol': {'key': 'portAndProtocol', 'type': 'str'}, + 'volume': {'key': 'volume', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectionDetails, self).__init__(**kwargs) + self.port_and_protocol = None + self.volume = None + + class SettingResource(Resource): """The kind of the security setting. @@ -2426,6 +2454,404 @@ def __init__(self, **kwargs) -> None: self.location = None +class NetworkData(Resource): + """Network data on a resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource Id + :vartype id: str + :ivar name: Resource name + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param connectable_resources: + :type connectable_resources: + list[~azure.mgmt.security.models.NetworkDataConnectableResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connectable_resources': {'key': 'properties.connectableResources', 'type': '[NetworkDataConnectableResource]'}, + } + + def __init__(self, *, connectable_resources=None, **kwargs) -> None: + super(NetworkData, self).__init__(**kwargs) + self.connectable_resources = connectable_resources + + +class NetworkDataConnectableResource(Model): + """Describes the allowed inbound and outbound traffic of an Azure resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar connected_resource_id: The connectable resource id + :vartype connected_resource_id: str + :ivar connection_type: The connection type + :vartype connection_type: str + :ivar allowed_connections: The allowed connections details + :vartype allowed_connections: + ~azure.mgmt.security.models.NetworkDataConnectableResourceAllowedConnections + :ivar actual_traffic: The actual traffic details + :vartype actual_traffic: + ~azure.mgmt.security.models.NetworkDataConnectableResourceActualTraffic + :ivar unused_ports: The unused ports details + :vartype unused_ports: + ~azure.mgmt.security.models.NetworkDataConnectableResourceUnusedPorts + """ + + _validation = { + 'connected_resource_id': {'readonly': True}, + 'connection_type': {'readonly': True}, + 'allowed_connections': {'readonly': True}, + 'actual_traffic': {'readonly': True}, + 'unused_ports': {'readonly': True}, + } + + _attribute_map = { + 'connected_resource_id': {'key': 'connectedResourceId', 'type': 'str'}, + 'connection_type': {'key': 'connectionType', 'type': 'str'}, + 'allowed_connections': {'key': 'allowedConnections', 'type': 'NetworkDataConnectableResourceAllowedConnections'}, + 'actual_traffic': {'key': 'actualTraffic', 'type': 'NetworkDataConnectableResourceActualTraffic'}, + 'unused_ports': {'key': 'unusedPorts', 'type': 'NetworkDataConnectableResourceUnusedPorts'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkDataConnectableResource, self).__init__(**kwargs) + self.connected_resource_id = None + self.connection_type = None + self.allowed_connections = None + self.actual_traffic = None + self.unused_ports = None + + +class NetworkDataConnectableResourceActualTraffic(Model): + """The actual traffic details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar time_range: The actual traffic time range + :vartype time_range: str + :ivar traffic_data_state: The actual traffic state + :vartype traffic_data_state: str + :ivar inbound_connected_resources: The actual traffic inbound details + :vartype inbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceActualTrafficInboundConnectedResources + :ivar outbound_connected_resources: The actual traffic outbound details + :vartype outbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceActualTrafficOutboundConnectedResources + """ + + _validation = { + 'time_range': {'readonly': True}, + 'traffic_data_state': {'readonly': True}, + 'inbound_connected_resources': {'readonly': True}, + 'outbound_connected_resources': {'readonly': True}, + } + + _attribute_map = { + 'time_range': {'key': 'timeRange', 'type': 'str'}, + 'traffic_data_state': {'key': 'TrafficDataState', 'type': 'str'}, + 'inbound_connected_resources': {'key': 'inboundConnectedResources', 'type': 'NetworkDataConnectableResourceActualTrafficInboundConnectedResources'}, + 'outbound_connected_resources': {'key': 'outboundConnectedResources', 'type': 'NetworkDataConnectableResourceActualTrafficOutboundConnectedResources'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkDataConnectableResourceActualTraffic, self).__init__(**kwargs) + self.time_range = None + self.traffic_data_state = None + self.inbound_connected_resources = None + self.outbound_connected_resources = None + + +class NetworkDataConnectableResourceActualTrafficInboundConnectedResources(Model): + """The actual traffic inbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar actual_traffic_volume: The actual traffic inbound volume + :vartype actual_traffic_volume: str + :param connections_details: + :type connections_details: + list[~azure.mgmt.security.models.ConnectionDetails] + """ + + _validation = { + 'actual_traffic_volume': {'readonly': True}, + } + + _attribute_map = { + 'actual_traffic_volume': {'key': 'actualTrafficVolume', 'type': 'str'}, + 'connections_details': {'key': 'connectionsDetails', 'type': '[ConnectionDetails]'}, + } + + def __init__(self, *, connections_details=None, **kwargs) -> None: + super(NetworkDataConnectableResourceActualTrafficInboundConnectedResources, self).__init__(**kwargs) + self.actual_traffic_volume = None + self.connections_details = connections_details + + +class NetworkDataConnectableResourceActualTrafficOutboundConnectedResources(Model): + """The actual traffic outbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar actual_traffic_volume: The actual traffic outbound volume + :vartype actual_traffic_volume: str + :param connections_details: + :type connections_details: + list[~azure.mgmt.security.models.ConnectionDetails] + """ + + _validation = { + 'actual_traffic_volume': {'readonly': True}, + } + + _attribute_map = { + 'actual_traffic_volume': {'key': 'actualTrafficVolume', 'type': 'str'}, + 'connections_details': {'key': 'connectionsDetails', 'type': '[ConnectionDetails]'}, + } + + def __init__(self, *, connections_details=None, **kwargs) -> None: + super(NetworkDataConnectableResourceActualTrafficOutboundConnectedResources, self).__init__(**kwargs) + self.actual_traffic_volume = None + self.connections_details = connections_details + + +class NetworkDataConnectableResourceAllowedConnections(Model): + """The allowed connections details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar calculated_date_time: The UTC time on which the allowed connections + was calculated + :vartype calculated_date_time: datetime + :ivar inbound_connected_resources: The allowed connections inbound details + :vartype inbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources + :ivar outbound_connected_resources: The allowed connections outbound + details + :vartype outbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources + """ + + _validation = { + 'calculated_date_time': {'readonly': True}, + 'inbound_connected_resources': {'readonly': True}, + 'outbound_connected_resources': {'readonly': True}, + } + + _attribute_map = { + 'calculated_date_time': {'key': 'calculatedDateTime', 'type': 'iso-8601'}, + 'inbound_connected_resources': {'key': 'inboundConnectedResources', 'type': 'NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources'}, + 'outbound_connected_resources': {'key': 'outboundConnectedResources', 'type': 'NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkDataConnectableResourceAllowedConnections, self).__init__(**kwargs) + self.calculated_date_time = None + self.inbound_connected_resources = None + self.outbound_connected_resources = None + + +class NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources(Model): + """The allowed connections inbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tcp_ports_summary: The allowed connections inbound tcp ports summary + :vartype tcp_ports_summary: int + :ivar udp_ports_summary: The allowed connections inbound udp ports summary + :vartype udp_ports_summary: int + :ivar tcp_ports: The allowed connections inbound tcp ports + :vartype tcp_ports: str + :ivar udp_ports: The allowed connections inbound udp ports + :vartype udp_ports: str + """ + + _validation = { + 'tcp_ports_summary': {'readonly': True}, + 'udp_ports_summary': {'readonly': True}, + 'tcp_ports': {'readonly': True}, + 'udp_ports': {'readonly': True}, + } + + _attribute_map = { + 'tcp_ports_summary': {'key': 'tcpPortsSummary', 'type': 'int'}, + 'udp_ports_summary': {'key': 'udpPortsSummary', 'type': 'int'}, + 'tcp_ports': {'key': 'tcpPorts', 'type': 'str'}, + 'udp_ports': {'key': 'udpPorts', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkDataConnectableResourceAllowedConnectionsInboundConnectedResources, self).__init__(**kwargs) + self.tcp_ports_summary = None + self.udp_ports_summary = None + self.tcp_ports = None + self.udp_ports = None + + +class NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources(Model): + """The allowed connections outbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tcp_ports_summary: The allowed connections outbound tcp ports + summary + :vartype tcp_ports_summary: int + :ivar udp_ports_summary: The allowed connections outbound udp ports + summary + :vartype udp_ports_summary: int + :ivar tcp_ports: The allowed connections outbound tcp ports + :vartype tcp_ports: str + :ivar udp_ports: The allowed connections outbound udp ports + :vartype udp_ports: str + """ + + _validation = { + 'tcp_ports_summary': {'readonly': True}, + 'udp_ports_summary': {'readonly': True}, + 'tcp_ports': {'readonly': True}, + 'udp_ports': {'readonly': True}, + } + + _attribute_map = { + 'tcp_ports_summary': {'key': 'tcpPortsSummary', 'type': 'int'}, + 'udp_ports_summary': {'key': 'udpPortsSummary', 'type': 'int'}, + 'tcp_ports': {'key': 'tcpPorts', 'type': 'str'}, + 'udp_ports': {'key': 'udpPorts', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkDataConnectableResourceAllowedConnectionsOutboundConnectedResources, self).__init__(**kwargs) + self.tcp_ports_summary = None + self.udp_ports_summary = None + self.tcp_ports = None + self.udp_ports = None + + +class NetworkDataConnectableResourceUnusedPorts(Model): + """The unused ports details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar inbound_connected_resources: The unused ports inbound details + :vartype inbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceUnusedPortsInboundConnectedResources + :ivar outbound_connected_resources: The unused ports outbound details + :vartype outbound_connected_resources: + ~azure.mgmt.security.models.NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources + """ + + _validation = { + 'inbound_connected_resources': {'readonly': True}, + 'outbound_connected_resources': {'readonly': True}, + } + + _attribute_map = { + 'inbound_connected_resources': {'key': 'inboundConnectedResources', 'type': 'NetworkDataConnectableResourceUnusedPortsInboundConnectedResources'}, + 'outbound_connected_resources': {'key': 'outboundConnectedResources', 'type': 'NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkDataConnectableResourceUnusedPorts, self).__init__(**kwargs) + self.inbound_connected_resources = None + self.outbound_connected_resources = None + + +class NetworkDataConnectableResourceUnusedPortsInboundConnectedResources(Model): + """The unused ports inbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar unused_tcp_ports_summary: The unused inbound tcp ports summary + :vartype unused_tcp_ports_summary: int + :ivar unused_udp_ports_summary: The unused inbound udp ports summary + :vartype unused_udp_ports_summary: int + :ivar tcp_ports: The unused inbound tcp ports + :vartype tcp_ports: str + :ivar udp_ports: The unused inbound udp ports + :vartype udp_ports: str + """ + + _validation = { + 'unused_tcp_ports_summary': {'readonly': True}, + 'unused_udp_ports_summary': {'readonly': True}, + 'tcp_ports': {'readonly': True}, + 'udp_ports': {'readonly': True}, + } + + _attribute_map = { + 'unused_tcp_ports_summary': {'key': 'unusedTcpPortsSummary', 'type': 'int'}, + 'unused_udp_ports_summary': {'key': 'unusedUdpPortsSummary', 'type': 'int'}, + 'tcp_ports': {'key': 'tcpPorts', 'type': 'str'}, + 'udp_ports': {'key': 'udpPorts', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkDataConnectableResourceUnusedPortsInboundConnectedResources, self).__init__(**kwargs) + self.unused_tcp_ports_summary = None + self.unused_udp_ports_summary = None + self.tcp_ports = None + self.udp_ports = None + + +class NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources(Model): + """The unused ports outbound details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar unused_tcp_ports_summary: The unused outbound tcp ports summary + :vartype unused_tcp_ports_summary: int + :ivar unused_udp_ports_summary: The unused outbound udp ports summary + :vartype unused_udp_ports_summary: int + :ivar tcp_ports: The unused outbound tcp ports + :vartype tcp_ports: str + :ivar udp_ports: The unused outbound udp ports + :vartype udp_ports: str + """ + + _validation = { + 'unused_tcp_ports_summary': {'readonly': True}, + 'unused_udp_ports_summary': {'readonly': True}, + 'tcp_ports': {'readonly': True}, + 'udp_ports': {'readonly': True}, + } + + _attribute_map = { + 'unused_tcp_ports_summary': {'key': 'unusedTcpPortsSummary', 'type': 'int'}, + 'unused_udp_ports_summary': {'key': 'unusedUdpPortsSummary', 'type': 'int'}, + 'tcp_ports': {'key': 'tcpPorts', 'type': 'str'}, + 'udp_ports': {'key': 'udpPorts', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(NetworkDataConnectableResourceUnusedPortsOutboundConnectedResources, self).__init__(**kwargs) + self.unused_tcp_ports_summary = None + self.unused_udp_ports_summary = None + self.tcp_ports = None + self.udp_ports = None + + class Operation(Model): """Possible operation in the REST API of Microsoft.Security. @@ -2549,7 +2975,10 @@ def __init__(self, *, path: str=None, action=None, type=None, publisher_info=Non class Pricing(Resource): - """Pricing tier will be applied for the scope based on the resource ID. + """Azure Security Center is provided in two pricing tiers: free and standard, + with the standard tier available with a trial period. The standard tier + offers advanced security capabilities, while the free tier offers basic + security features. Variables are only populated by the server, and will be ignored when sending a request. diff --git a/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_paged_models.py b/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_paged_models.py index 362a777bdc8c..bbf28162c5ea 100644 --- a/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_paged_models.py +++ b/sdk/security/azure-mgmt-security/azure/mgmt/security/models/_paged_models.py @@ -12,6 +12,19 @@ from msrest.paging import Paged +class NetworkDataPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkData ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkData]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkDataPaged, self).__init__(*args, **kwargs) class ComplianceResultPaged(Paged): """ A paging container for iterating over a list of :class:`ComplianceResult ` object diff --git a/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/__init__.py b/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/__init__.py index 2044043fcb95..04e7ff825320 100644 --- a/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/__init__.py +++ b/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/__init__.py @@ -9,6 +9,7 @@ # regenerated. # -------------------------------------------------------------------------- +from ._network_data_operations import NetworkDataOperations from ._compliance_results_operations import ComplianceResultsOperations from ._pricings_operations import PricingsOperations from ._alerts_operations import AlertsOperations @@ -42,6 +43,7 @@ from ._server_vulnerability_assessment_operations import ServerVulnerabilityAssessmentOperations __all__ = [ + 'NetworkDataOperations', 'ComplianceResultsOperations', 'PricingsOperations', 'AlertsOperations', diff --git a/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/_network_data_operations.py b/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/_network_data_operations.py new file mode 100644 index 000000000000..466ac6e07ab9 --- /dev/null +++ b/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/_network_data_operations.py @@ -0,0 +1,179 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class NetworkDataOperations(object): + """NetworkDataOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: API version for the operation. Constant value: "2019-01-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2019-01-01-preview" + + self.config = config + + def list( + self, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the network data on all your scanned resources inside a scope. + + :param expand: The expand expression to apply on the operation. + Possible values include: 'true', 'false' + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of NetworkData + :rtype: + ~azure.mgmt.security.models.NetworkDataPaged[~azure.mgmt.security.models.NetworkData] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', pattern=r'^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + header_dict = None + if raw: + header_dict = {} + deserialized = models.NetworkDataPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Security/NetworkData'} + + def get( + self, resource_group_name, resource_namespace, resource_type, resource_name, custom_headers=None, raw=False, **operation_config): + """Get the network data on your scanned resource. + + :param resource_group_name: The name of the resource group within the + user's subscription. The name is case insensitive. + :type resource_group_name: str + :param resource_namespace: The Namespace of the resource. + :type resource_namespace: str + :param resource_type: The type of the resource. + :type resource_type: str + :param resource_name: Name of the resource. + :type resource_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: NetworkData or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.security.models.NetworkData or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str', pattern=r'^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'resourceNamespace': self._serialize.url("resource_namespace", resource_namespace, 'str'), + 'resourceType': self._serialize.url("resource_type", resource_type, 'str'), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('NetworkData', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceNamespace}/{resourceType}/{resourceName}/providers/Microsoft.Security/NetworkData/default'} diff --git a/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/_pricings_operations.py b/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/_pricings_operations.py index 02e06e34875c..e7d4637ae20b 100644 --- a/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/_pricings_operations.py +++ b/sdk/security/azure-mgmt-security/azure/mgmt/security/operations/_pricings_operations.py @@ -41,10 +41,7 @@ def __init__(self, client, config, serializer, deserializer): def list( self, custom_headers=None, raw=False, **operation_config): - """A given security pricing configuration in the subscription. Azure - Security Center is available in two pricing tiers: Free and Standard, - on multiple resource types, including Virtual machines, SQL Servers, - App service plans and Storage accounts. + """Lists Security Center pricing configurations in the subscription. :param dict custom_headers: headers that will be added to the request :param bool raw: returns the direct response alongside the @@ -99,10 +96,8 @@ def list( def get( self, pricing_name, custom_headers=None, raw=False, **operation_config): - """A given security pricing configuration in the subscription. Azure - Security Center is available in two pricing tiers: Free and Standard, - on multiple resource types, including Virtual machines, SQL Servers, - App service plans and Storage accounts. + """Gets a provided Security Center pricing configuration in the + subscription. :param pricing_name: name of the pricing configuration :type pricing_name: str @@ -160,10 +155,8 @@ def get( def update( self, pricing_name, pricing_tier, custom_headers=None, raw=False, **operation_config): - """A given security pricing configuration in the subscription. Azure - Security Center is available in two pricing tiers: Free and Standard, - on multiple resource types, including Virtual machines, SQL Servers, - App service plans and Storage accounts. + """Updates a provided Security Center pricing configuration in the + subscription. :param pricing_name: name of the pricing configuration :type pricing_name: str