-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
DataMaskingRule.cs
132 lines (125 loc) · 8.35 KB
/
DataMaskingRule.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using System;
using System.Collections.Generic;
using Azure.Core;
using Azure.ResourceManager.Models;
namespace Azure.ResourceManager.Sql.Models
{
/// <summary> Represents a database data masking rule. </summary>
public partial class DataMaskingRule : ResourceData
{
/// <summary>
/// Keeps track of any properties unknown to the library.
/// <para>
/// To assign an object to the value of this property use <see cref="BinaryData.FromObjectAsJson{T}(T, System.Text.Json.JsonSerializerOptions?)"/>.
/// </para>
/// <para>
/// To assign an already formatted json string to this property use <see cref="BinaryData.FromString(string)"/>.
/// </para>
/// <para>
/// Examples:
/// <list type="bullet">
/// <item>
/// <term>BinaryData.FromObjectAsJson("foo")</term>
/// <description>Creates a payload of "foo".</description>
/// </item>
/// <item>
/// <term>BinaryData.FromString("\"foo\"")</term>
/// <description>Creates a payload of "foo".</description>
/// </item>
/// <item>
/// <term>BinaryData.FromObjectAsJson(new { key = "value" })</term>
/// <description>Creates a payload of { "key": "value" }.</description>
/// </item>
/// <item>
/// <term>BinaryData.FromString("{\"key\": \"value\"}")</term>
/// <description>Creates a payload of { "key": "value" }.</description>
/// </item>
/// </list>
/// </para>
/// </summary>
private IDictionary<string, BinaryData> _serializedAdditionalRawData;
/// <summary> Initializes a new instance of <see cref="DataMaskingRule"/>. </summary>
public DataMaskingRule()
{
}
/// <summary> Initializes a new instance of <see cref="DataMaskingRule"/>. </summary>
/// <param name="id"> The id. </param>
/// <param name="name"> The name. </param>
/// <param name="resourceType"> The resourceType. </param>
/// <param name="systemData"> The systemData. </param>
/// <param name="location"> The location of the data masking rule. </param>
/// <param name="kind"> The kind of Data Masking Rule. Metadata, used for Azure portal. </param>
/// <param name="aliasName"> The alias name. This is a legacy parameter and is no longer used. </param>
/// <param name="ruleState"> The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState. </param>
/// <param name="schemaName"> The schema name on which the data masking rule is applied. </param>
/// <param name="tableName"> The table name on which the data masking rule is applied. </param>
/// <param name="columnName"> The column name on which the data masking rule is applied. </param>
/// <param name="maskingFunction"> The masking function that is used for the data masking rule. </param>
/// <param name="numberFrom"> The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored. </param>
/// <param name="numberTo"> The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored. </param>
/// <param name="prefixSize"> If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored. </param>
/// <param name="suffixSize"> If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored. </param>
/// <param name="replacementString"> If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal DataMaskingRule(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, AzureLocation? location, string kind, string aliasName, DataMaskingRuleState? ruleState, string schemaName, string tableName, string columnName, DataMaskingFunction? maskingFunction, string numberFrom, string numberTo, string prefixSize, string suffixSize, string replacementString, IDictionary<string, BinaryData> serializedAdditionalRawData) : base(id, name, resourceType, systemData)
{
Location = location;
Kind = kind;
AliasName = aliasName;
RuleState = ruleState;
SchemaName = schemaName;
TableName = tableName;
ColumnName = columnName;
MaskingFunction = maskingFunction;
NumberFrom = numberFrom;
NumberTo = numberTo;
PrefixSize = prefixSize;
SuffixSize = suffixSize;
ReplacementString = replacementString;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> The location of the data masking rule. </summary>
[WirePath("location")]
public AzureLocation? Location { get; }
/// <summary> The kind of Data Masking Rule. Metadata, used for Azure portal. </summary>
[WirePath("kind")]
public string Kind { get; }
/// <summary> The alias name. This is a legacy parameter and is no longer used. </summary>
[WirePath("properties.aliasName")]
public string AliasName { get; set; }
/// <summary> The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState. </summary>
[WirePath("properties.ruleState")]
public DataMaskingRuleState? RuleState { get; set; }
/// <summary> The schema name on which the data masking rule is applied. </summary>
[WirePath("properties.schemaName")]
public string SchemaName { get; set; }
/// <summary> The table name on which the data masking rule is applied. </summary>
[WirePath("properties.tableName")]
public string TableName { get; set; }
/// <summary> The column name on which the data masking rule is applied. </summary>
[WirePath("properties.columnName")]
public string ColumnName { get; set; }
/// <summary> The masking function that is used for the data masking rule. </summary>
[WirePath("properties.maskingFunction")]
public DataMaskingFunction? MaskingFunction { get; set; }
/// <summary> The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored. </summary>
[WirePath("properties.numberFrom")]
public string NumberFrom { get; set; }
/// <summary> The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored. </summary>
[WirePath("properties.numberTo")]
public string NumberTo { get; set; }
/// <summary> If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored. </summary>
[WirePath("properties.prefixSize")]
public string PrefixSize { get; set; }
/// <summary> If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored. </summary>
[WirePath("properties.suffixSize")]
public string SuffixSize { get; set; }
/// <summary> If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored. </summary>
[WirePath("properties.replacementString")]
public string ReplacementString { get; set; }
}
}