Skip to content

Commit 0a18fed

Browse files
AxiosLeoJacksonTian
authored andcommitted
fix FT (#314)
* fixed NullReferenceException error FT: Aliyun.Acs.Feature.Test.HttpDebug.HttpDebugTest.EcsHttpDebugTest * deprecated initData func * fixed error Error Message : 'An item with the same key has already been added. Key: ecs'; Error Line : products.Add("ecs", productEcs);
1 parent 076ac93 commit 0a18fed

File tree

5 files changed

+374
-383
lines changed

5 files changed

+374
-383
lines changed

aliyun-net-sdk-core/Retry/Util/RetryConfig.cs

+112-116
Original file line numberDiff line numberDiff line change
@@ -46,122 +46,118 @@ public static List<string> GetRetryableApiList(string product, string version, s
4646
return retryableApiList.Count == 0 ? null : retryableApiList;
4747
}
4848

49-
private static void initData()
50-
{
51-
products = new Dictionary<string, Product>() { };
52-
Product productEcs = new Product();
53-
productEcs.ProductName = "ecs";
54-
Version version20140526 = new Version();
55-
version20140526.VersionDate = "2014-05-26";
56-
version20140526.RetryableAPIs.Add("DescribeAccessPoints");
57-
version20140526.RetryableAPIs.Add("DescribeAccountAttributes");
58-
version20140526.RetryableAPIs.Add("DescribeAutoSnapshotPolicyEx");
59-
version20140526.RetryableAPIs.Add("DescribeAvailableResource");
60-
version20140526.RetryableAPIs.Add("DescribeBandwidthLimitation");
61-
version20140526.RetryableAPIs.Add("DescribeBandwidthPackages");
62-
version20140526.RetryableAPIs.Add("DescribeClassicLinkInstances");
63-
version20140526.RetryableAPIs.Add("DescribeCloudAssistantStatus");
64-
version20140526.RetryableAPIs.Add("DescribeClusters");
65-
version20140526.RetryableAPIs.Add("DescribeCommands");
66-
version20140526.RetryableAPIs.Add("DescribeDedicatedHostAutoRenew");
67-
version20140526.RetryableAPIs.Add("DescribeDedicatedHosts");
68-
version20140526.RetryableAPIs.Add("DescribeDedicatedHostTypes");
69-
version20140526.RetryableAPIs.Add("DescribeDeploymentSets");
70-
version20140526.RetryableAPIs.Add("DescribeDiskMonitorData");
71-
version20140526.RetryableAPIs.Add("DescribeDisks");
72-
version20140526.RetryableAPIs.Add("DescribeDisksFullStatus");
73-
version20140526.RetryableAPIs.Add("DescribeEipAddresses");
74-
version20140526.RetryableAPIs.Add("DescribeEipMonitorData");
75-
version20140526.RetryableAPIs.Add("DescribeEniMonitorData");
76-
version20140526.RetryableAPIs.Add("DescribeForwardTableEntries");
77-
version20140526.RetryableAPIs.Add("DescribeHaVips");
78-
version20140526.RetryableAPIs.Add("DescribeHpcClusters");
79-
version20140526.RetryableAPIs.Add("DescribeImages");
80-
version20140526.RetryableAPIs.Add("DescribeImageSharePermission");
81-
version20140526.RetryableAPIs.Add("DescribeImageSupportInstanceTypes");
82-
version20140526.RetryableAPIs.Add("DescribeInstanceAttribute");
83-
version20140526.RetryableAPIs.Add("DescribeInstanceAutoRenewAttribute");
84-
version20140526.RetryableAPIs.Add("DescribeInstanceHistoryEvents");
85-
version20140526.RetryableAPIs.Add("DescribeInstanceMonitorData");
86-
version20140526.RetryableAPIs.Add("DescribeInstancePhysicalAttribute");
87-
version20140526.RetryableAPIs.Add("DescribeInstanceRamRole");
88-
version20140526.RetryableAPIs.Add("DescribeInstances");
89-
version20140526.RetryableAPIs.Add("DescribeInstancesFullStatus");
90-
version20140526.RetryableAPIs.Add("DescribeInstanceStatus");
91-
version20140526.RetryableAPIs.Add("DescribeInstanceTopology");
92-
version20140526.RetryableAPIs.Add("DescribeInstanceTypeFamilies");
93-
version20140526.RetryableAPIs.Add("DescribeInstanceTypes");
94-
version20140526.RetryableAPIs.Add("DescribeInstanceVncPasswd");
95-
version20140526.RetryableAPIs.Add("DescribeInstanceVncUrl");
96-
version20140526.RetryableAPIs.Add("DescribeInvocationResults");
97-
version20140526.RetryableAPIs.Add("DescribeInvocations");
98-
version20140526.RetryableAPIs.Add("DescribeKeyPairs");
99-
version20140526.RetryableAPIs.Add("DescribeLaunchTemplates");
100-
version20140526.RetryableAPIs.Add("DescribeLaunchTemplateVersions");
101-
version20140526.RetryableAPIs.Add("DescribeLimitation");
102-
version20140526.RetryableAPIs.Add("DescribeNatGateways");
103-
version20140526.RetryableAPIs.Add("DescribeNetworkInterfacePermissions");
104-
version20140526.RetryableAPIs.Add("DescribeNetworkInterfaces");
105-
version20140526.RetryableAPIs.Add("DescribeNewProjectEipMonitorData");
106-
version20140526.RetryableAPIs.Add("DescribePhysicalConnections");
107-
version20140526.RetryableAPIs.Add("DescribePrice");
108-
version20140526.RetryableAPIs.Add("DescribeRecommendInstanceType");
109-
version20140526.RetryableAPIs.Add("DescribeRegions");
110-
version20140526.RetryableAPIs.Add("DescribeRenewalPrice");
111-
version20140526.RetryableAPIs.Add("DescribeResourceByTags");
112-
version20140526.RetryableAPIs.Add("DescribeResourcesModification");
113-
version20140526.RetryableAPIs.Add("DescribeRouterInterfaces");
114-
version20140526.RetryableAPIs.Add("DescribeRouteTables");
115-
version20140526.RetryableAPIs.Add("DescribeSecurityGroupAttribute");
116-
version20140526.RetryableAPIs.Add("DescribeSecurityGroupReferences");
117-
version20140526.RetryableAPIs.Add("DescribeSecurityGroups");
118-
version20140526.RetryableAPIs.Add("DescribeSnapshotLinks");
119-
version20140526.RetryableAPIs.Add("DescribeSnapshotMonitorData");
120-
version20140526.RetryableAPIs.Add("DescribeSnapshotPackage");
121-
version20140526.RetryableAPIs.Add("DescribeSnapshots");
122-
version20140526.RetryableAPIs.Add("DescribeSnapshotsUsage");
123-
version20140526.RetryableAPIs.Add("DescribeSpotPriceHistory");
124-
version20140526.RetryableAPIs.Add("DescribeTags");
125-
version20140526.RetryableAPIs.Add("DescribeTaskAttribute");
126-
version20140526.RetryableAPIs.Add("DescribeTasks");
127-
version20140526.RetryableAPIs.Add("DescribeUserBusinessBehavior");
128-
version20140526.RetryableAPIs.Add("DescribeUserData");
129-
version20140526.RetryableAPIs.Add("DescribeVirtualBorderRouters");
130-
version20140526.RetryableAPIs.Add("DescribeVirtualBorderRoutersForPhysicalConnection");
131-
version20140526.RetryableAPIs.Add("DescribeVpcs");
132-
version20140526.RetryableAPIs.Add("DescribeVRouters");
133-
version20140526.RetryableAPIs.Add("DescribeVSwitches");
134-
version20140526.RetryableAPIs.Add("DescribeZones");
135-
version20140526.RetryableAPIsWithClientToken.Add("CreateDisk");
136-
version20140526.RetryableAPIsWithClientToken.Add("CreateImage");
137-
version20140526.RetryableAPIsWithClientToken.Add("CreateInstance");
138-
version20140526.RetryableAPIsWithClientToken.Add("CreateNetworkInterface");
139-
version20140526.RetryableAPIsWithClientToken.Add("CreateSnapshot");
140-
version20140526.RetryableAPIsWithClientToken.Add("ModifyDiskChargeType");
141-
version20140526.RetryableAPIsWithClientToken.Add("ModifyInstanceChargeType");
142-
version20140526.RetryableAPIsWithClientToken.Add("ModifyInstanceNetworkSpec");
143-
version20140526.RetryableAPIsWithClientToken.Add("ModifyInstanceSpec");
144-
version20140526.RetryableAPIsWithClientToken.Add("ModifyPrepayInstanceSpec");
145-
version20140526.RetryableAPIsWithClientToken.Add("RenewInstance");
146-
version20140526.RetryableAPIsWithClientToken.Add("ReplaceSystemDisk");
147-
version20140526.RetryableAPIsWithClientToken.Add("ResizeDisk");
148-
version20140526.RetryableAPIsWithClientToken.Add("RunInstances");
149-
version20140526.RetryableThrottlingErrors.Add("Throttling");
150-
version20140526.RetryableNormalErrors.Add("InternalError");
151-
version20140526.RetryableNormalErrors.Add("UnknownError");
152-
version20140526.RetryableNormalErrors.Add("ServiceUnavailable");
153-
productEcs.versions.Add("2014-05-26", version20140526);
154-
155-
products.Add("ecs", productEcs);
156-
}
157-
15849
private static Dictionary<string, Product> products;
15950

16051
internal static List<string> Get(string productName, string versionDate, string sectionName)
16152
{
162-
if (products == null)
53+
if (null == products)
16354
{
164-
initData();
55+
products = new Dictionary<string, Product>() { };
56+
Product productEcs = new Product();
57+
productEcs.ProductName = "ecs";
58+
Version version20140526 = new Version();
59+
version20140526.VersionDate = "2014-05-26";
60+
version20140526.RetryableAPIs.Add("DescribeAccessPoints");
61+
version20140526.RetryableAPIs.Add("DescribeAccountAttributes");
62+
version20140526.RetryableAPIs.Add("DescribeAutoSnapshotPolicyEx");
63+
version20140526.RetryableAPIs.Add("DescribeAvailableResource");
64+
version20140526.RetryableAPIs.Add("DescribeBandwidthLimitation");
65+
version20140526.RetryableAPIs.Add("DescribeBandwidthPackages");
66+
version20140526.RetryableAPIs.Add("DescribeClassicLinkInstances");
67+
version20140526.RetryableAPIs.Add("DescribeCloudAssistantStatus");
68+
version20140526.RetryableAPIs.Add("DescribeClusters");
69+
version20140526.RetryableAPIs.Add("DescribeCommands");
70+
version20140526.RetryableAPIs.Add("DescribeDedicatedHostAutoRenew");
71+
version20140526.RetryableAPIs.Add("DescribeDedicatedHosts");
72+
version20140526.RetryableAPIs.Add("DescribeDedicatedHostTypes");
73+
version20140526.RetryableAPIs.Add("DescribeDeploymentSets");
74+
version20140526.RetryableAPIs.Add("DescribeDiskMonitorData");
75+
version20140526.RetryableAPIs.Add("DescribeDisks");
76+
version20140526.RetryableAPIs.Add("DescribeDisksFullStatus");
77+
version20140526.RetryableAPIs.Add("DescribeEipAddresses");
78+
version20140526.RetryableAPIs.Add("DescribeEipMonitorData");
79+
version20140526.RetryableAPIs.Add("DescribeEniMonitorData");
80+
version20140526.RetryableAPIs.Add("DescribeForwardTableEntries");
81+
version20140526.RetryableAPIs.Add("DescribeHaVips");
82+
version20140526.RetryableAPIs.Add("DescribeHpcClusters");
83+
version20140526.RetryableAPIs.Add("DescribeImages");
84+
version20140526.RetryableAPIs.Add("DescribeImageSharePermission");
85+
version20140526.RetryableAPIs.Add("DescribeImageSupportInstanceTypes");
86+
version20140526.RetryableAPIs.Add("DescribeInstanceAttribute");
87+
version20140526.RetryableAPIs.Add("DescribeInstanceAutoRenewAttribute");
88+
version20140526.RetryableAPIs.Add("DescribeInstanceHistoryEvents");
89+
version20140526.RetryableAPIs.Add("DescribeInstanceMonitorData");
90+
version20140526.RetryableAPIs.Add("DescribeInstancePhysicalAttribute");
91+
version20140526.RetryableAPIs.Add("DescribeInstanceRamRole");
92+
version20140526.RetryableAPIs.Add("DescribeInstances");
93+
version20140526.RetryableAPIs.Add("DescribeInstancesFullStatus");
94+
version20140526.RetryableAPIs.Add("DescribeInstanceStatus");
95+
version20140526.RetryableAPIs.Add("DescribeInstanceTopology");
96+
version20140526.RetryableAPIs.Add("DescribeInstanceTypeFamilies");
97+
version20140526.RetryableAPIs.Add("DescribeInstanceTypes");
98+
version20140526.RetryableAPIs.Add("DescribeInstanceVncPasswd");
99+
version20140526.RetryableAPIs.Add("DescribeInstanceVncUrl");
100+
version20140526.RetryableAPIs.Add("DescribeInvocationResults");
101+
version20140526.RetryableAPIs.Add("DescribeInvocations");
102+
version20140526.RetryableAPIs.Add("DescribeKeyPairs");
103+
version20140526.RetryableAPIs.Add("DescribeLaunchTemplates");
104+
version20140526.RetryableAPIs.Add("DescribeLaunchTemplateVersions");
105+
version20140526.RetryableAPIs.Add("DescribeLimitation");
106+
version20140526.RetryableAPIs.Add("DescribeNatGateways");
107+
version20140526.RetryableAPIs.Add("DescribeNetworkInterfacePermissions");
108+
version20140526.RetryableAPIs.Add("DescribeNetworkInterfaces");
109+
version20140526.RetryableAPIs.Add("DescribeNewProjectEipMonitorData");
110+
version20140526.RetryableAPIs.Add("DescribePhysicalConnections");
111+
version20140526.RetryableAPIs.Add("DescribePrice");
112+
version20140526.RetryableAPIs.Add("DescribeRecommendInstanceType");
113+
version20140526.RetryableAPIs.Add("DescribeRegions");
114+
version20140526.RetryableAPIs.Add("DescribeRenewalPrice");
115+
version20140526.RetryableAPIs.Add("DescribeResourceByTags");
116+
version20140526.RetryableAPIs.Add("DescribeResourcesModification");
117+
version20140526.RetryableAPIs.Add("DescribeRouterInterfaces");
118+
version20140526.RetryableAPIs.Add("DescribeRouteTables");
119+
version20140526.RetryableAPIs.Add("DescribeSecurityGroupAttribute");
120+
version20140526.RetryableAPIs.Add("DescribeSecurityGroupReferences");
121+
version20140526.RetryableAPIs.Add("DescribeSecurityGroups");
122+
version20140526.RetryableAPIs.Add("DescribeSnapshotLinks");
123+
version20140526.RetryableAPIs.Add("DescribeSnapshotMonitorData");
124+
version20140526.RetryableAPIs.Add("DescribeSnapshotPackage");
125+
version20140526.RetryableAPIs.Add("DescribeSnapshots");
126+
version20140526.RetryableAPIs.Add("DescribeSnapshotsUsage");
127+
version20140526.RetryableAPIs.Add("DescribeSpotPriceHistory");
128+
version20140526.RetryableAPIs.Add("DescribeTags");
129+
version20140526.RetryableAPIs.Add("DescribeTaskAttribute");
130+
version20140526.RetryableAPIs.Add("DescribeTasks");
131+
version20140526.RetryableAPIs.Add("DescribeUserBusinessBehavior");
132+
version20140526.RetryableAPIs.Add("DescribeUserData");
133+
version20140526.RetryableAPIs.Add("DescribeVirtualBorderRouters");
134+
version20140526.RetryableAPIs.Add("DescribeVirtualBorderRoutersForPhysicalConnection");
135+
version20140526.RetryableAPIs.Add("DescribeVpcs");
136+
version20140526.RetryableAPIs.Add("DescribeVRouters");
137+
version20140526.RetryableAPIs.Add("DescribeVSwitches");
138+
version20140526.RetryableAPIs.Add("DescribeZones");
139+
version20140526.RetryableAPIsWithClientToken.Add("CreateDisk");
140+
version20140526.RetryableAPIsWithClientToken.Add("CreateImage");
141+
version20140526.RetryableAPIsWithClientToken.Add("CreateInstance");
142+
version20140526.RetryableAPIsWithClientToken.Add("CreateNetworkInterface");
143+
version20140526.RetryableAPIsWithClientToken.Add("CreateSnapshot");
144+
version20140526.RetryableAPIsWithClientToken.Add("ModifyDiskChargeType");
145+
version20140526.RetryableAPIsWithClientToken.Add("ModifyInstanceChargeType");
146+
version20140526.RetryableAPIsWithClientToken.Add("ModifyInstanceNetworkSpec");
147+
version20140526.RetryableAPIsWithClientToken.Add("ModifyInstanceSpec");
148+
version20140526.RetryableAPIsWithClientToken.Add("ModifyPrepayInstanceSpec");
149+
version20140526.RetryableAPIsWithClientToken.Add("RenewInstance");
150+
version20140526.RetryableAPIsWithClientToken.Add("ReplaceSystemDisk");
151+
version20140526.RetryableAPIsWithClientToken.Add("ResizeDisk");
152+
version20140526.RetryableAPIsWithClientToken.Add("RunInstances");
153+
version20140526.RetryableThrottlingErrors.Add("Throttling");
154+
version20140526.RetryableNormalErrors.Add("InternalError");
155+
version20140526.RetryableNormalErrors.Add("UnknownError");
156+
version20140526.RetryableNormalErrors.Add("ServiceUnavailable");
157+
productEcs.versions.Add("2014-05-26", version20140526);
158+
159+
try { products.Add("ecs", productEcs); }
160+
catch (ArgumentException) { }
165161
}
166162
List<string> apis = new List<string>() { };
167163
if (products.ContainsKey(productName))
@@ -196,19 +192,19 @@ public class Product
196192
{
197193
public string ProductName { get; set; }
198194

199-
public Dictionary<string, Version> versions = new Dictionary<string, Version>(){};
195+
public Dictionary<string, Version> versions = new Dictionary<string, Version>() { };
200196
}
201197

202198
public class Version
203199
{
204200
public String VersionDate { get; set; }
205201

206-
public List<string> RetryableAPIs = new List<string>(){};
202+
public List<string> RetryableAPIs = new List<string>() { };
207203

208-
public List<string> RetryableAPIsWithClientToken = new List<string>(){};
204+
public List<string> RetryableAPIsWithClientToken = new List<string>() { };
209205

210-
public List<string> RetryableThrottlingErrors = new List<string>(){};
206+
public List<string> RetryableThrottlingErrors = new List<string>() { };
211207

212-
public List<string> RetryableNormalErrors = new List<string>(){};
208+
public List<string> RetryableNormalErrors = new List<string>() { };
213209
}
214210
}

0 commit comments

Comments
 (0)