/
WhatIfPropertyChange.cs
157 lines (148 loc) · 6.75 KB
/
WhatIfPropertyChange.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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using System;
using System.Collections.Generic;
namespace Azure.ResourceManager.Resources.Models
{
/// <summary> The predicted change to the resource property. </summary>
public partial class WhatIfPropertyChange
{
/// <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="WhatIfPropertyChange"/>. </summary>
/// <param name="path"> The path of the property. </param>
/// <param name="propertyChangeType"> The type of property change. </param>
/// <exception cref="ArgumentNullException"> <paramref name="path"/> is null. </exception>
internal WhatIfPropertyChange(string path, WhatIfPropertyChangeType propertyChangeType)
{
Argument.AssertNotNull(path, nameof(path));
Path = path;
PropertyChangeType = propertyChangeType;
Children = new ChangeTrackingList<WhatIfPropertyChange>();
}
/// <summary> Initializes a new instance of <see cref="WhatIfPropertyChange"/>. </summary>
/// <param name="path"> The path of the property. </param>
/// <param name="propertyChangeType"> The type of property change. </param>
/// <param name="before"> The value of the property before the deployment is executed. </param>
/// <param name="after"> The value of the property after the deployment is executed. </param>
/// <param name="children"> Nested property changes. </param>
/// <param name="serializedAdditionalRawData"> Keeps track of any properties unknown to the library. </param>
internal WhatIfPropertyChange(string path, WhatIfPropertyChangeType propertyChangeType, BinaryData before, BinaryData after, IReadOnlyList<WhatIfPropertyChange> children, IDictionary<string, BinaryData> serializedAdditionalRawData)
{
Path = path;
PropertyChangeType = propertyChangeType;
Before = before;
After = after;
Children = children;
_serializedAdditionalRawData = serializedAdditionalRawData;
}
/// <summary> Initializes a new instance of <see cref="WhatIfPropertyChange"/> for deserialization. </summary>
internal WhatIfPropertyChange()
{
}
/// <summary> The path of the property. </summary>
[WirePath("path")]
public string Path { get; }
/// <summary> The type of property change. </summary>
[WirePath("propertyChangeType")]
public WhatIfPropertyChangeType PropertyChangeType { get; }
/// <summary>
/// The value of the property before the deployment is executed.
/// <para>
/// To assign an object to 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>
[WirePath("before")]
public BinaryData Before { get; }
/// <summary>
/// The value of the property after the deployment is executed.
/// <para>
/// To assign an object to 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>
[WirePath("after")]
public BinaryData After { get; }
/// <summary> Nested property changes. </summary>
[WirePath("children")]
public IReadOnlyList<WhatIfPropertyChange> Children { get; }
}
}