-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
ResourceRecommendationBaseData.cs
206 lines (200 loc) · 10.9 KB
/
ResourceRecommendationBaseData.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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
// 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.Advisor.Models;
using Azure.ResourceManager.Models;
namespace Azure.ResourceManager.Advisor
{
/// <summary>
/// A class representing the ResourceRecommendationBase data model.
/// Advisor Recommendation.
/// </summary>
public partial class ResourceRecommendationBaseData : ResourceData
{
/// <summary> Initializes a new instance of ResourceRecommendationBaseData. </summary>
public ResourceRecommendationBaseData()
{
Metadata = new ChangeTrackingDictionary<string, BinaryData>();
SuppressionIds = new ChangeTrackingList<Guid>();
ExtendedProperties = new ChangeTrackingDictionary<string, string>();
Actions = new ChangeTrackingList<IDictionary<string, BinaryData>>();
Remediation = new ChangeTrackingDictionary<string, BinaryData>();
ExposedMetadataProperties = new ChangeTrackingDictionary<string, BinaryData>();
}
/// <summary> Initializes a new instance of ResourceRecommendationBaseData. </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="category"> The category of the recommendation. </param>
/// <param name="impact"> The business impact of the recommendation. </param>
/// <param name="impactedField"> The resource type identified by Advisor. </param>
/// <param name="impactedValue"> The resource identified by Advisor. </param>
/// <param name="lastUpdated"> The most recent time that Advisor checked the validity of the recommendation. </param>
/// <param name="metadata"> The recommendation metadata. </param>
/// <param name="recommendationTypeId"> The recommendation-type GUID. </param>
/// <param name="risk"> The potential risk of not implementing the recommendation. </param>
/// <param name="shortDescription"> A summary of the recommendation. </param>
/// <param name="suppressionIds"> The list of snoozed and dismissed rules for the recommendation. </param>
/// <param name="extendedProperties"> Extended properties. </param>
/// <param name="resourceMetadata"> Metadata of resource that was assessed. </param>
/// <param name="description"> The detailed description of recommendation. </param>
/// <param name="label"> The label of recommendation. </param>
/// <param name="learnMoreLink"> The link to learn more about recommendation and generation logic. </param>
/// <param name="potentialBenefits"> The potential benefit of implementing recommendation. </param>
/// <param name="actions"> The list of recommended actions to implement recommendation. </param>
/// <param name="remediation"> The automated way to apply recommendation. </param>
/// <param name="exposedMetadataProperties"> The recommendation metadata properties exposed to customer to provide additional information. </param>
internal ResourceRecommendationBaseData(ResourceIdentifier id, string name, ResourceType resourceType, SystemData systemData, Category? category, Impact? impact, string impactedField, string impactedValue, DateTimeOffset? lastUpdated, IDictionary<string, BinaryData> metadata, string recommendationTypeId, Risk? risk, ShortDescription shortDescription, IList<Guid> suppressionIds, IDictionary<string, string> extendedProperties, ResourceMetadata resourceMetadata, string description, string label, string learnMoreLink, string potentialBenefits, IList<IDictionary<string, BinaryData>> actions, IDictionary<string, BinaryData> remediation, IDictionary<string, BinaryData> exposedMetadataProperties) : base(id, name, resourceType, systemData)
{
Category = category;
Impact = impact;
ImpactedField = impactedField;
ImpactedValue = impactedValue;
LastUpdated = lastUpdated;
Metadata = metadata;
RecommendationTypeId = recommendationTypeId;
Risk = risk;
ShortDescription = shortDescription;
SuppressionIds = suppressionIds;
ExtendedProperties = extendedProperties;
ResourceMetadata = resourceMetadata;
Description = description;
Label = label;
LearnMoreLink = learnMoreLink;
PotentialBenefits = potentialBenefits;
Actions = actions;
Remediation = remediation;
ExposedMetadataProperties = exposedMetadataProperties;
}
/// <summary> The category of the recommendation. </summary>
public Category? Category { get; set; }
/// <summary> The business impact of the recommendation. </summary>
public Impact? Impact { get; set; }
/// <summary> The resource type identified by Advisor. </summary>
public string ImpactedField { get; set; }
/// <summary> The resource identified by Advisor. </summary>
public string ImpactedValue { get; set; }
/// <summary> The most recent time that Advisor checked the validity of the recommendation. </summary>
public DateTimeOffset? LastUpdated { get; set; }
/// <summary>
/// The recommendation metadata.
/// <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>
public IDictionary<string, BinaryData> Metadata { get; }
/// <summary> The recommendation-type GUID. </summary>
public string RecommendationTypeId { get; set; }
/// <summary> The potential risk of not implementing the recommendation. </summary>
public Risk? Risk { get; set; }
/// <summary> A summary of the recommendation. </summary>
public ShortDescription ShortDescription { get; set; }
/// <summary> The list of snoozed and dismissed rules for the recommendation. </summary>
public IList<Guid> SuppressionIds { get; }
/// <summary> Extended properties. </summary>
public IDictionary<string, string> ExtendedProperties { get; }
/// <summary> Metadata of resource that was assessed. </summary>
public ResourceMetadata ResourceMetadata { get; set; }
/// <summary> The detailed description of recommendation. </summary>
public string Description { get; set; }
/// <summary> The label of recommendation. </summary>
public string Label { get; set; }
/// <summary> The link to learn more about recommendation and generation logic. </summary>
public string LearnMoreLink { get; set; }
/// <summary> The potential benefit of implementing recommendation. </summary>
public string PotentialBenefits { get; set; }
/// <summary> The list of recommended actions to implement recommendation. </summary>
public IList<IDictionary<string, BinaryData>> Actions { get; }
/// <summary>
/// The automated way to apply recommendation.
/// <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>
public IDictionary<string, BinaryData> Remediation { get; }
/// <summary>
/// The recommendation metadata properties exposed to customer to provide additional information.
/// <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>
public IDictionary<string, BinaryData> ExposedMetadataProperties { get; }
}
}