pulumi-azure-native 2.25.1a1705492661__py3-none-any.whl → 2.26.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-azure-native might be problematic. Click here for more details.

@@ -12008,6 +12008,7 @@ _utilities.register(
12008
12008
  "azure-native:security:Connector": "Connector",
12009
12009
  "azure-native:security:CustomAssessmentAutomation": "CustomAssessmentAutomation",
12010
12010
  "azure-native:security:CustomEntityStoreAssignment": "CustomEntityStoreAssignment",
12011
+ "azure-native:security:DefenderForStorage": "DefenderForStorage",
12011
12012
  "azure-native:security:DevOpsConfiguration": "DevOpsConfiguration",
12012
12013
  "azure-native:security:DeviceSecurityGroup": "DeviceSecurityGroup",
12013
12014
  "azure-native:security:GovernanceAssignment": "GovernanceAssignment",
@@ -12136,6 +12137,14 @@ _utilities.register(
12136
12137
  "azure-native:security/v20221120preview:APICollection": "APICollection"
12137
12138
  }
12138
12139
  },
12140
+ {
12141
+ "pkg": "azure-native",
12142
+ "mod": "security/v20221201preview",
12143
+ "fqn": "pulumi_azure_native.security.v20221201preview",
12144
+ "classes": {
12145
+ "azure-native:security/v20221201preview:DefenderForStorage": "DefenderForStorage"
12146
+ }
12147
+ },
12139
12148
  {
12140
12149
  "pkg": "azure-native",
12141
12150
  "mod": "security/v20230101preview",
@@ -21,6 +21,7 @@ from .azure_servers_setting import *
21
21
  from .connector import *
22
22
  from .custom_assessment_automation import *
23
23
  from .custom_entity_store_assignment import *
24
+ from .defender_for_storage import *
24
25
  from .dev_ops_configuration import *
25
26
  from .device_security_group import *
26
27
  from .get_adaptive_application_control import *
@@ -38,6 +39,7 @@ from .get_azure_servers_setting import *
38
39
  from .get_connector import *
39
40
  from .get_custom_assessment_automation import *
40
41
  from .get_custom_entity_store_assignment import *
42
+ from .get_defender_for_storage import *
41
43
  from .get_dev_ops_configuration import *
42
44
  from .get_device_security_group import *
43
45
  from .get_governance_assignment import *
@@ -99,6 +101,8 @@ if typing.TYPE_CHECKING:
99
101
  v20220701preview = __v20220701preview
100
102
  import pulumi_azure_native.security.v20221120preview as __v20221120preview
101
103
  v20221120preview = __v20221120preview
104
+ import pulumi_azure_native.security.v20221201preview as __v20221201preview
105
+ v20221201preview = __v20221201preview
102
106
  import pulumi_azure_native.security.v20230101preview as __v20230101preview
103
107
  v20230101preview = __v20230101preview
104
108
  import pulumi_azure_native.security.v20230201preview as __v20230201preview
@@ -128,6 +132,7 @@ else:
128
132
  v20220101preview = _utilities.lazy_import('pulumi_azure_native.security.v20220101preview')
129
133
  v20220701preview = _utilities.lazy_import('pulumi_azure_native.security.v20220701preview')
130
134
  v20221120preview = _utilities.lazy_import('pulumi_azure_native.security.v20221120preview')
135
+ v20221201preview = _utilities.lazy_import('pulumi_azure_native.security.v20221201preview')
131
136
  v20230101preview = _utilities.lazy_import('pulumi_azure_native.security.v20230101preview')
132
137
  v20230201preview = _utilities.lazy_import('pulumi_azure_native.security.v20230201preview')
133
138
  v20230301preview = _utilities.lazy_import('pulumi_azure_native.security.v20230301preview')
@@ -109,6 +109,7 @@ __all__ = [
109
109
  'JitNetworkAccessRequestPortArgs',
110
110
  'JitNetworkAccessRequestVirtualMachineArgs',
111
111
  'JitNetworkAccessRequestArgs',
112
+ 'MalwareScanningPropertiesArgs',
112
113
  'OnPremiseResourceDetailsArgs',
113
114
  'OnPremiseSqlResourceDetailsArgs',
114
115
  'PathRecommendationArgs',
@@ -124,6 +125,7 @@ __all__ = [
124
125
  'SecurityAssessmentPartnerDataArgs',
125
126
  'SecurityContactPropertiesAlertNotificationsArgs',
126
127
  'SecurityContactPropertiesNotificationsByRoleArgs',
128
+ 'SensitiveDataDiscoveryPropertiesArgs',
127
129
  'ServicePrincipalPropertiesArgs',
128
130
  'StandardComponentPropertiesArgs',
129
131
  'SuppressionAlertsScopeArgs',
@@ -4811,6 +4813,62 @@ class JitNetworkAccessRequestArgs:
4811
4813
  pulumi.set(self, "justification", value)
4812
4814
 
4813
4815
 
4816
+ @pulumi.input_type
4817
+ class MalwareScanningPropertiesArgs:
4818
+ def __init__(__self__, *,
4819
+ cap_gb_per_month: Optional[pulumi.Input[int]] = None,
4820
+ is_enabled: Optional[pulumi.Input[bool]] = None,
4821
+ scan_results_event_grid_topic_resource_id: Optional[pulumi.Input[str]] = None):
4822
+ """
4823
+ Properties of Malware Scanning.
4824
+ :param pulumi.Input[int] cap_gb_per_month: Defines the max GB to be scanned per Month. Set to -1 if no capping is needed.
4825
+ :param pulumi.Input[bool] is_enabled: Indicates whether On Upload malware scanning should be enabled.
4826
+ :param pulumi.Input[str] scan_results_event_grid_topic_resource_id: Optional. Resource id of an Event Grid Topic to send scan results to.
4827
+ """
4828
+ if cap_gb_per_month is not None:
4829
+ pulumi.set(__self__, "cap_gb_per_month", cap_gb_per_month)
4830
+ if is_enabled is not None:
4831
+ pulumi.set(__self__, "is_enabled", is_enabled)
4832
+ if scan_results_event_grid_topic_resource_id is not None:
4833
+ pulumi.set(__self__, "scan_results_event_grid_topic_resource_id", scan_results_event_grid_topic_resource_id)
4834
+
4835
+ @property
4836
+ @pulumi.getter(name="capGBPerMonth")
4837
+ def cap_gb_per_month(self) -> Optional[pulumi.Input[int]]:
4838
+ """
4839
+ Defines the max GB to be scanned per Month. Set to -1 if no capping is needed.
4840
+ """
4841
+ return pulumi.get(self, "cap_gb_per_month")
4842
+
4843
+ @cap_gb_per_month.setter
4844
+ def cap_gb_per_month(self, value: Optional[pulumi.Input[int]]):
4845
+ pulumi.set(self, "cap_gb_per_month", value)
4846
+
4847
+ @property
4848
+ @pulumi.getter(name="isEnabled")
4849
+ def is_enabled(self) -> Optional[pulumi.Input[bool]]:
4850
+ """
4851
+ Indicates whether On Upload malware scanning should be enabled.
4852
+ """
4853
+ return pulumi.get(self, "is_enabled")
4854
+
4855
+ @is_enabled.setter
4856
+ def is_enabled(self, value: Optional[pulumi.Input[bool]]):
4857
+ pulumi.set(self, "is_enabled", value)
4858
+
4859
+ @property
4860
+ @pulumi.getter(name="scanResultsEventGridTopicResourceId")
4861
+ def scan_results_event_grid_topic_resource_id(self) -> Optional[pulumi.Input[str]]:
4862
+ """
4863
+ Optional. Resource id of an Event Grid Topic to send scan results to.
4864
+ """
4865
+ return pulumi.get(self, "scan_results_event_grid_topic_resource_id")
4866
+
4867
+ @scan_results_event_grid_topic_resource_id.setter
4868
+ def scan_results_event_grid_topic_resource_id(self, value: Optional[pulumi.Input[str]]):
4869
+ pulumi.set(self, "scan_results_event_grid_topic_resource_id", value)
4870
+
4871
+
4814
4872
  @pulumi.input_type
4815
4873
  class OnPremiseResourceDetailsArgs:
4816
4874
  def __init__(__self__, *,
@@ -5814,6 +5872,30 @@ class SecurityContactPropertiesNotificationsByRoleArgs:
5814
5872
  pulumi.set(self, "state", value)
5815
5873
 
5816
5874
 
5875
+ @pulumi.input_type
5876
+ class SensitiveDataDiscoveryPropertiesArgs:
5877
+ def __init__(__self__, *,
5878
+ is_enabled: Optional[pulumi.Input[bool]] = None):
5879
+ """
5880
+ Properties of Sensitive Data Discovery.
5881
+ :param pulumi.Input[bool] is_enabled: Indicates whether Sensitive Data Discovery should be enabled.
5882
+ """
5883
+ if is_enabled is not None:
5884
+ pulumi.set(__self__, "is_enabled", is_enabled)
5885
+
5886
+ @property
5887
+ @pulumi.getter(name="isEnabled")
5888
+ def is_enabled(self) -> Optional[pulumi.Input[bool]]:
5889
+ """
5890
+ Indicates whether Sensitive Data Discovery should be enabled.
5891
+ """
5892
+ return pulumi.get(self, "is_enabled")
5893
+
5894
+ @is_enabled.setter
5895
+ def is_enabled(self, value: Optional[pulumi.Input[bool]]):
5896
+ pulumi.set(self, "is_enabled", value)
5897
+
5898
+
5817
5899
  @pulumi.input_type
5818
5900
  class ServicePrincipalPropertiesArgs:
5819
5901
  def __init__(__self__, *,
@@ -0,0 +1,273 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['DefenderForStorageArgs', 'DefenderForStorage']
15
+
16
+ @pulumi.input_type
17
+ class DefenderForStorageArgs:
18
+ def __init__(__self__, *,
19
+ resource_id: pulumi.Input[str],
20
+ is_enabled: Optional[pulumi.Input[bool]] = None,
21
+ malware_scanning: Optional[pulumi.Input['MalwareScanningPropertiesArgs']] = None,
22
+ override_subscription_level_settings: Optional[pulumi.Input[bool]] = None,
23
+ sensitive_data_discovery: Optional[pulumi.Input['SensitiveDataDiscoveryPropertiesArgs']] = None,
24
+ setting_name: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a DefenderForStorage resource.
27
+ :param pulumi.Input[str] resource_id: The identifier of the resource.
28
+ :param pulumi.Input[bool] is_enabled: Indicates whether Defender for Storage is enabled on this storage account.
29
+ :param pulumi.Input['MalwareScanningPropertiesArgs'] malware_scanning: Properties of Malware Scanning.
30
+ :param pulumi.Input[bool] override_subscription_level_settings: Indicates whether the settings defined for this storage account should override the settings defined for the subscription.
31
+ :param pulumi.Input['SensitiveDataDiscoveryPropertiesArgs'] sensitive_data_discovery: Properties of Sensitive Data Discovery.
32
+ :param pulumi.Input[str] setting_name: Defender for Storage setting name.
33
+ """
34
+ pulumi.set(__self__, "resource_id", resource_id)
35
+ if is_enabled is not None:
36
+ pulumi.set(__self__, "is_enabled", is_enabled)
37
+ if malware_scanning is not None:
38
+ pulumi.set(__self__, "malware_scanning", malware_scanning)
39
+ if override_subscription_level_settings is not None:
40
+ pulumi.set(__self__, "override_subscription_level_settings", override_subscription_level_settings)
41
+ if sensitive_data_discovery is not None:
42
+ pulumi.set(__self__, "sensitive_data_discovery", sensitive_data_discovery)
43
+ if setting_name is not None:
44
+ pulumi.set(__self__, "setting_name", setting_name)
45
+
46
+ @property
47
+ @pulumi.getter(name="resourceId")
48
+ def resource_id(self) -> pulumi.Input[str]:
49
+ """
50
+ The identifier of the resource.
51
+ """
52
+ return pulumi.get(self, "resource_id")
53
+
54
+ @resource_id.setter
55
+ def resource_id(self, value: pulumi.Input[str]):
56
+ pulumi.set(self, "resource_id", value)
57
+
58
+ @property
59
+ @pulumi.getter(name="isEnabled")
60
+ def is_enabled(self) -> Optional[pulumi.Input[bool]]:
61
+ """
62
+ Indicates whether Defender for Storage is enabled on this storage account.
63
+ """
64
+ return pulumi.get(self, "is_enabled")
65
+
66
+ @is_enabled.setter
67
+ def is_enabled(self, value: Optional[pulumi.Input[bool]]):
68
+ pulumi.set(self, "is_enabled", value)
69
+
70
+ @property
71
+ @pulumi.getter(name="malwareScanning")
72
+ def malware_scanning(self) -> Optional[pulumi.Input['MalwareScanningPropertiesArgs']]:
73
+ """
74
+ Properties of Malware Scanning.
75
+ """
76
+ return pulumi.get(self, "malware_scanning")
77
+
78
+ @malware_scanning.setter
79
+ def malware_scanning(self, value: Optional[pulumi.Input['MalwareScanningPropertiesArgs']]):
80
+ pulumi.set(self, "malware_scanning", value)
81
+
82
+ @property
83
+ @pulumi.getter(name="overrideSubscriptionLevelSettings")
84
+ def override_subscription_level_settings(self) -> Optional[pulumi.Input[bool]]:
85
+ """
86
+ Indicates whether the settings defined for this storage account should override the settings defined for the subscription.
87
+ """
88
+ return pulumi.get(self, "override_subscription_level_settings")
89
+
90
+ @override_subscription_level_settings.setter
91
+ def override_subscription_level_settings(self, value: Optional[pulumi.Input[bool]]):
92
+ pulumi.set(self, "override_subscription_level_settings", value)
93
+
94
+ @property
95
+ @pulumi.getter(name="sensitiveDataDiscovery")
96
+ def sensitive_data_discovery(self) -> Optional[pulumi.Input['SensitiveDataDiscoveryPropertiesArgs']]:
97
+ """
98
+ Properties of Sensitive Data Discovery.
99
+ """
100
+ return pulumi.get(self, "sensitive_data_discovery")
101
+
102
+ @sensitive_data_discovery.setter
103
+ def sensitive_data_discovery(self, value: Optional[pulumi.Input['SensitiveDataDiscoveryPropertiesArgs']]):
104
+ pulumi.set(self, "sensitive_data_discovery", value)
105
+
106
+ @property
107
+ @pulumi.getter(name="settingName")
108
+ def setting_name(self) -> Optional[pulumi.Input[str]]:
109
+ """
110
+ Defender for Storage setting name.
111
+ """
112
+ return pulumi.get(self, "setting_name")
113
+
114
+ @setting_name.setter
115
+ def setting_name(self, value: Optional[pulumi.Input[str]]):
116
+ pulumi.set(self, "setting_name", value)
117
+
118
+
119
+ class DefenderForStorage(pulumi.CustomResource):
120
+ @overload
121
+ def __init__(__self__,
122
+ resource_name: str,
123
+ opts: Optional[pulumi.ResourceOptions] = None,
124
+ is_enabled: Optional[pulumi.Input[bool]] = None,
125
+ malware_scanning: Optional[pulumi.Input[pulumi.InputType['MalwareScanningPropertiesArgs']]] = None,
126
+ override_subscription_level_settings: Optional[pulumi.Input[bool]] = None,
127
+ resource_id: Optional[pulumi.Input[str]] = None,
128
+ sensitive_data_discovery: Optional[pulumi.Input[pulumi.InputType['SensitiveDataDiscoveryPropertiesArgs']]] = None,
129
+ setting_name: Optional[pulumi.Input[str]] = None,
130
+ __props__=None):
131
+ """
132
+ The Defender for Storage resource.
133
+ Azure REST API version: 2022-12-01-preview.
134
+
135
+ :param str resource_name: The name of the resource.
136
+ :param pulumi.ResourceOptions opts: Options for the resource.
137
+ :param pulumi.Input[bool] is_enabled: Indicates whether Defender for Storage is enabled on this storage account.
138
+ :param pulumi.Input[pulumi.InputType['MalwareScanningPropertiesArgs']] malware_scanning: Properties of Malware Scanning.
139
+ :param pulumi.Input[bool] override_subscription_level_settings: Indicates whether the settings defined for this storage account should override the settings defined for the subscription.
140
+ :param pulumi.Input[str] resource_id: The identifier of the resource.
141
+ :param pulumi.Input[pulumi.InputType['SensitiveDataDiscoveryPropertiesArgs']] sensitive_data_discovery: Properties of Sensitive Data Discovery.
142
+ :param pulumi.Input[str] setting_name: Defender for Storage setting name.
143
+ """
144
+ ...
145
+ @overload
146
+ def __init__(__self__,
147
+ resource_name: str,
148
+ args: DefenderForStorageArgs,
149
+ opts: Optional[pulumi.ResourceOptions] = None):
150
+ """
151
+ The Defender for Storage resource.
152
+ Azure REST API version: 2022-12-01-preview.
153
+
154
+ :param str resource_name: The name of the resource.
155
+ :param DefenderForStorageArgs args: The arguments to use to populate this resource's properties.
156
+ :param pulumi.ResourceOptions opts: Options for the resource.
157
+ """
158
+ ...
159
+ def __init__(__self__, resource_name: str, *args, **kwargs):
160
+ resource_args, opts = _utilities.get_resource_args_opts(DefenderForStorageArgs, pulumi.ResourceOptions, *args, **kwargs)
161
+ if resource_args is not None:
162
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
163
+ else:
164
+ __self__._internal_init(resource_name, *args, **kwargs)
165
+
166
+ def _internal_init(__self__,
167
+ resource_name: str,
168
+ opts: Optional[pulumi.ResourceOptions] = None,
169
+ is_enabled: Optional[pulumi.Input[bool]] = None,
170
+ malware_scanning: Optional[pulumi.Input[pulumi.InputType['MalwareScanningPropertiesArgs']]] = None,
171
+ override_subscription_level_settings: Optional[pulumi.Input[bool]] = None,
172
+ resource_id: Optional[pulumi.Input[str]] = None,
173
+ sensitive_data_discovery: Optional[pulumi.Input[pulumi.InputType['SensitiveDataDiscoveryPropertiesArgs']]] = None,
174
+ setting_name: Optional[pulumi.Input[str]] = None,
175
+ __props__=None):
176
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
177
+ if not isinstance(opts, pulumi.ResourceOptions):
178
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
179
+ if opts.id is None:
180
+ if __props__ is not None:
181
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
182
+ __props__ = DefenderForStorageArgs.__new__(DefenderForStorageArgs)
183
+
184
+ __props__.__dict__["is_enabled"] = is_enabled
185
+ __props__.__dict__["malware_scanning"] = malware_scanning
186
+ __props__.__dict__["override_subscription_level_settings"] = override_subscription_level_settings
187
+ if resource_id is None and not opts.urn:
188
+ raise TypeError("Missing required property 'resource_id'")
189
+ __props__.__dict__["resource_id"] = resource_id
190
+ __props__.__dict__["sensitive_data_discovery"] = sensitive_data_discovery
191
+ __props__.__dict__["setting_name"] = setting_name
192
+ __props__.__dict__["name"] = None
193
+ __props__.__dict__["type"] = None
194
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:security/v20221201preview:DefenderForStorage")])
195
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
196
+ super(DefenderForStorage, __self__).__init__(
197
+ 'azure-native:security:DefenderForStorage',
198
+ resource_name,
199
+ __props__,
200
+ opts)
201
+
202
+ @staticmethod
203
+ def get(resource_name: str,
204
+ id: pulumi.Input[str],
205
+ opts: Optional[pulumi.ResourceOptions] = None) -> 'DefenderForStorage':
206
+ """
207
+ Get an existing DefenderForStorage resource's state with the given name, id, and optional extra
208
+ properties used to qualify the lookup.
209
+
210
+ :param str resource_name: The unique name of the resulting resource.
211
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
212
+ :param pulumi.ResourceOptions opts: Options for the resource.
213
+ """
214
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
215
+
216
+ __props__ = DefenderForStorageArgs.__new__(DefenderForStorageArgs)
217
+
218
+ __props__.__dict__["is_enabled"] = None
219
+ __props__.__dict__["malware_scanning"] = None
220
+ __props__.__dict__["name"] = None
221
+ __props__.__dict__["override_subscription_level_settings"] = None
222
+ __props__.__dict__["sensitive_data_discovery"] = None
223
+ __props__.__dict__["type"] = None
224
+ return DefenderForStorage(resource_name, opts=opts, __props__=__props__)
225
+
226
+ @property
227
+ @pulumi.getter(name="isEnabled")
228
+ def is_enabled(self) -> pulumi.Output[Optional[bool]]:
229
+ """
230
+ Indicates whether Defender for Storage is enabled on this storage account.
231
+ """
232
+ return pulumi.get(self, "is_enabled")
233
+
234
+ @property
235
+ @pulumi.getter(name="malwareScanning")
236
+ def malware_scanning(self) -> pulumi.Output[Optional['outputs.MalwareScanningPropertiesResponse']]:
237
+ """
238
+ Properties of Malware Scanning.
239
+ """
240
+ return pulumi.get(self, "malware_scanning")
241
+
242
+ @property
243
+ @pulumi.getter
244
+ def name(self) -> pulumi.Output[str]:
245
+ """
246
+ Resource name
247
+ """
248
+ return pulumi.get(self, "name")
249
+
250
+ @property
251
+ @pulumi.getter(name="overrideSubscriptionLevelSettings")
252
+ def override_subscription_level_settings(self) -> pulumi.Output[Optional[bool]]:
253
+ """
254
+ Indicates whether the settings defined for this storage account should override the settings defined for the subscription.
255
+ """
256
+ return pulumi.get(self, "override_subscription_level_settings")
257
+
258
+ @property
259
+ @pulumi.getter(name="sensitiveDataDiscovery")
260
+ def sensitive_data_discovery(self) -> pulumi.Output[Optional['outputs.SensitiveDataDiscoveryPropertiesResponse']]:
261
+ """
262
+ Properties of Sensitive Data Discovery.
263
+ """
264
+ return pulumi.get(self, "sensitive_data_discovery")
265
+
266
+ @property
267
+ @pulumi.getter
268
+ def type(self) -> pulumi.Output[str]:
269
+ """
270
+ Resource type
271
+ """
272
+ return pulumi.get(self, "type")
273
+
@@ -0,0 +1,159 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+
13
+ __all__ = [
14
+ 'GetDefenderForStorageResult',
15
+ 'AwaitableGetDefenderForStorageResult',
16
+ 'get_defender_for_storage',
17
+ 'get_defender_for_storage_output',
18
+ ]
19
+
20
+ @pulumi.output_type
21
+ class GetDefenderForStorageResult:
22
+ """
23
+ The Defender for Storage resource.
24
+ """
25
+ def __init__(__self__, id=None, is_enabled=None, malware_scanning=None, name=None, override_subscription_level_settings=None, sensitive_data_discovery=None, type=None):
26
+ if id and not isinstance(id, str):
27
+ raise TypeError("Expected argument 'id' to be a str")
28
+ pulumi.set(__self__, "id", id)
29
+ if is_enabled and not isinstance(is_enabled, bool):
30
+ raise TypeError("Expected argument 'is_enabled' to be a bool")
31
+ pulumi.set(__self__, "is_enabled", is_enabled)
32
+ if malware_scanning and not isinstance(malware_scanning, dict):
33
+ raise TypeError("Expected argument 'malware_scanning' to be a dict")
34
+ pulumi.set(__self__, "malware_scanning", malware_scanning)
35
+ if name and not isinstance(name, str):
36
+ raise TypeError("Expected argument 'name' to be a str")
37
+ pulumi.set(__self__, "name", name)
38
+ if override_subscription_level_settings and not isinstance(override_subscription_level_settings, bool):
39
+ raise TypeError("Expected argument 'override_subscription_level_settings' to be a bool")
40
+ pulumi.set(__self__, "override_subscription_level_settings", override_subscription_level_settings)
41
+ if sensitive_data_discovery and not isinstance(sensitive_data_discovery, dict):
42
+ raise TypeError("Expected argument 'sensitive_data_discovery' to be a dict")
43
+ pulumi.set(__self__, "sensitive_data_discovery", sensitive_data_discovery)
44
+ if type and not isinstance(type, str):
45
+ raise TypeError("Expected argument 'type' to be a str")
46
+ pulumi.set(__self__, "type", type)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def id(self) -> str:
51
+ """
52
+ Resource Id
53
+ """
54
+ return pulumi.get(self, "id")
55
+
56
+ @property
57
+ @pulumi.getter(name="isEnabled")
58
+ def is_enabled(self) -> Optional[bool]:
59
+ """
60
+ Indicates whether Defender for Storage is enabled on this storage account.
61
+ """
62
+ return pulumi.get(self, "is_enabled")
63
+
64
+ @property
65
+ @pulumi.getter(name="malwareScanning")
66
+ def malware_scanning(self) -> Optional['outputs.MalwareScanningPropertiesResponse']:
67
+ """
68
+ Properties of Malware Scanning.
69
+ """
70
+ return pulumi.get(self, "malware_scanning")
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def name(self) -> str:
75
+ """
76
+ Resource name
77
+ """
78
+ return pulumi.get(self, "name")
79
+
80
+ @property
81
+ @pulumi.getter(name="overrideSubscriptionLevelSettings")
82
+ def override_subscription_level_settings(self) -> Optional[bool]:
83
+ """
84
+ Indicates whether the settings defined for this storage account should override the settings defined for the subscription.
85
+ """
86
+ return pulumi.get(self, "override_subscription_level_settings")
87
+
88
+ @property
89
+ @pulumi.getter(name="sensitiveDataDiscovery")
90
+ def sensitive_data_discovery(self) -> Optional['outputs.SensitiveDataDiscoveryPropertiesResponse']:
91
+ """
92
+ Properties of Sensitive Data Discovery.
93
+ """
94
+ return pulumi.get(self, "sensitive_data_discovery")
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def type(self) -> str:
99
+ """
100
+ Resource type
101
+ """
102
+ return pulumi.get(self, "type")
103
+
104
+
105
+ class AwaitableGetDefenderForStorageResult(GetDefenderForStorageResult):
106
+ # pylint: disable=using-constant-test
107
+ def __await__(self):
108
+ if False:
109
+ yield self
110
+ return GetDefenderForStorageResult(
111
+ id=self.id,
112
+ is_enabled=self.is_enabled,
113
+ malware_scanning=self.malware_scanning,
114
+ name=self.name,
115
+ override_subscription_level_settings=self.override_subscription_level_settings,
116
+ sensitive_data_discovery=self.sensitive_data_discovery,
117
+ type=self.type)
118
+
119
+
120
+ def get_defender_for_storage(resource_id: Optional[str] = None,
121
+ setting_name: Optional[str] = None,
122
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDefenderForStorageResult:
123
+ """
124
+ Gets the Defender for Storage settings for the specified storage account.
125
+ Azure REST API version: 2022-12-01-preview.
126
+
127
+
128
+ :param str resource_id: The identifier of the resource.
129
+ :param str setting_name: Defender for Storage setting name.
130
+ """
131
+ __args__ = dict()
132
+ __args__['resourceId'] = resource_id
133
+ __args__['settingName'] = setting_name
134
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
135
+ __ret__ = pulumi.runtime.invoke('azure-native:security:getDefenderForStorage', __args__, opts=opts, typ=GetDefenderForStorageResult).value
136
+
137
+ return AwaitableGetDefenderForStorageResult(
138
+ id=pulumi.get(__ret__, 'id'),
139
+ is_enabled=pulumi.get(__ret__, 'is_enabled'),
140
+ malware_scanning=pulumi.get(__ret__, 'malware_scanning'),
141
+ name=pulumi.get(__ret__, 'name'),
142
+ override_subscription_level_settings=pulumi.get(__ret__, 'override_subscription_level_settings'),
143
+ sensitive_data_discovery=pulumi.get(__ret__, 'sensitive_data_discovery'),
144
+ type=pulumi.get(__ret__, 'type'))
145
+
146
+
147
+ @_utilities.lift_output_func(get_defender_for_storage)
148
+ def get_defender_for_storage_output(resource_id: Optional[pulumi.Input[str]] = None,
149
+ setting_name: Optional[pulumi.Input[str]] = None,
150
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDefenderForStorageResult]:
151
+ """
152
+ Gets the Defender for Storage settings for the specified storage account.
153
+ Azure REST API version: 2022-12-01-preview.
154
+
155
+
156
+ :param str resource_id: The identifier of the resource.
157
+ :param str setting_name: Defender for Storage setting name.
158
+ """
159
+ ...