-
Notifications
You must be signed in to change notification settings - Fork 0
/
F5DataModels.cs
162 lines (137 loc) · 4.3 KB
/
F5DataModels.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
// Copyright 2023 Keyfactor
// Licensed under the Apache License, Version 2.0 (the "License"); you may
// not use this file except in compliance with the License. You may obtain a
// copy of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless
// required by applicable law or agreed to in writing, software distributed
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
// OR CONDITIONS OF ANY KIND, either express or implied. See the License for
// thespecific language governing permissions and limitations under the
// License.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Keyfactor.Extensions.Orchestrator.F5Orchestrator
{
#region F5 data models
internal class F5NodeDevice
{
public string name { get; set; }
public string failoverState { get; set; }
}
internal class F5NodeDeviceList
{
public F5NodeDevice[] items { get; set; }
}
internal class F5PartitionList
{
public F5Partition[] items { get; set; }
}
internal class F5Partition
{
public string name { get; set; }
public string fullPath { get; set; }
}
internal class F5PagedResult
{
public int currentItemCount { get; set; }
public int itemsPerPage { get; set; }
public int pageIndex { get; set; }
public int startIndex { get; set; }
public int totalItems { get; set; }
public int totalPages { get; set; }
public string nextLink { get; set; }
}
internal class F5PagedCABundles : F5PagedResult
{
public F5CABundle[] items { get; set; }
}
internal class F5CABundle
{
public string name { get; set; }
public string fullPath { get; set; }
public string[] includeBundle { get; set; }
}
internal class F5PagedSSLProfiles : F5PagedResult
{
public F5SSLProfile[] items { get; set; }
}
internal class F5SSLProfile
{
public string name { get; set; }
public bool isBundle { get; set; }
public string keyType { get; set; }
}
internal class F5Key
{
public string name { get; set; }
}
internal class F5PagedLTMSSLProfiles : F5PagedResult
{
public F5LTMSSLProfile[] items { get; set; }
}
internal class F5LTMSSLProfile
{
public string name { get; set; }
public string partition { get; set; }
public F5CertificateChain[] certKeyChain { get; set; }
}
internal class F5CertificateChain
{
public string name { get; set; }
public string cert { get; set; }
public string chain { get; set; }
public string key { get; set; }
}
internal class F5InstallCommand
{
public string command { get; set; }
public string name { get; set; }
[Newtonsoft.Json.JsonProperty("from-local-file")]
public string localfile { get; set; }
public string passphrase { get; set; }
public string keyPassphrase { get; set; }
public string keySecurityType { get; set; }
public string partition { get; set; }
}
internal class F5BashCommand
{
public string command { get; set; }
public string utilCmdArgs { get; set; }
public string commandResult { get; set; }
}
internal class F5BundleInclude
{
public string[] includeBundle { get; set; }
}
public class F5Transaction
{
public string transid { get; set; }
public string state { get; set; }
public int timeout { get; set; }
public string kind { get; set; }
public string selfLink { get; set; }
}
public class F5CommitTransaction
{
public string state { get; set; }
public bool validateOnly { get; set; }
}
public class F5LoginRequest
{
public string username { get; set; }
public string password { get; set; }
public string loginProviderName { get; set; }
}
public class F5LoginResponse
{
public F5LoginToken token { get; set; }
}
public class F5LoginToken
{
public string token { get; set; }
}
// F5 data models
#endregion
}