1/**
2 * Copyright 2016 IBM Corp.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *    http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/**
18 * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
19 */
20
21package datatypes
22
23// no documentation yet
24type Security_Certificate struct {
25	Entity
26
27	// The number of services currently associated with the certificate.
28	AssociatedServiceCount *int `json:"associatedServiceCount,omitempty" xmlrpc:"associatedServiceCount,omitempty"`
29
30	// The certificate provided publicly to clients requesting identity credentials. This certificate is usually signed by a source trusted by the client or a signature chain can be established between this certificate and the truested certificate.
31	//
32	// This property may only be modified when no services are associated. See associatedServiceCount.
33	Certificate *string `json:"certificate,omitempty" xmlrpc:"certificate,omitempty"`
34
35	// The signing request used to request a certificate authority generate a signed certificate.
36	//
37	// This property may only be modified when no services are associated. See associatedServiceCount.
38	CertificateSigningRequest *string `json:"certificateSigningRequest,omitempty" xmlrpc:"certificateSigningRequest,omitempty"`
39
40	// The common name (usually a domain name) encoded within the certificate.
41	//
42	// This property is read only. Changes made will be silently ignored.
43	CommonName *string `json:"commonName,omitempty" xmlrpc:"commonName,omitempty"`
44
45	// The date the certificate _record_ was created. The contents of the certificate may of changed since the record was created, so this does not represent anything about the certificate itself.
46	//
47	// This property is read only. Changes made will be silently ignored.
48	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
49
50	// The ID of the certificate record.
51	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
52
53	// The intermediate certificate authorities certificate that completes the certificate chain for the issued certificate. Required when clients will only trust the root certificate.
54	//
55	// This property may only be modified when no services are associated. See associatedServiceCount.
56	IntermediateCertificate *string `json:"intermediateCertificate,omitempty" xmlrpc:"intermediateCertificate,omitempty"`
57
58	// The size (number of bits) of the public key represented by the certificate.
59	KeySize *int `json:"keySize,omitempty" xmlrpc:"keySize,omitempty"`
60
61	// A count of the load balancers virtual IP addresses currently associated with the certificate.
62	LoadBalancerVirtualIpAddressCount *uint `json:"loadBalancerVirtualIpAddressCount,omitempty" xmlrpc:"loadBalancerVirtualIpAddressCount,omitempty"`
63
64	// The load balancers virtual IP addresses currently associated with the certificate.
65	LoadBalancerVirtualIpAddresses []Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress `json:"loadBalancerVirtualIpAddresses,omitempty" xmlrpc:"loadBalancerVirtualIpAddresses,omitempty"`
66
67	// The date the certificate _record_ was last modified.The contents of the certificate may of changed since the record was created, so this does not represent anything about the certificate itself.
68	//
69	// This property is read only. Changes made will be silently ignored.
70	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
71
72	// A note to help describe the certificate.
73	Notes *string `json:"notes,omitempty" xmlrpc:"notes,omitempty"`
74
75	// The organizational name encoded in the certificate.
76	//
77	// This property is read only. Changes made will be silently ignored.
78	OrganizationName *string `json:"organizationName,omitempty" xmlrpc:"organizationName,omitempty"`
79
80	// The private key in the key/certificate pair.
81	//
82	// This property may only be modified when no services are associated. See associatedServiceCount.
83	PrivateKey *string `json:"privateKey,omitempty" xmlrpc:"privateKey,omitempty"`
84
85	// The UTC timestamp representing the beginning of the certificate's validity
86	//
87	// This property is read only. Changes made will be silently ignored.
88	ValidityBegin *Time `json:"validityBegin,omitempty" xmlrpc:"validityBegin,omitempty"`
89
90	// The number of days remaining in the validity period for the certificate.
91	//
92	// This property is read only. Changes made will be silently ignored.
93	ValidityDays *int `json:"validityDays,omitempty" xmlrpc:"validityDays,omitempty"`
94
95	// The UTC timestamp representing the end of the certificate's validity period.
96	//
97	// This property is read only. Changes made will be silently ignored.
98	ValidityEnd *Time `json:"validityEnd,omitempty" xmlrpc:"validityEnd,omitempty"`
99}
100
101// no documentation yet
102type Security_Certificate_Entry struct {
103	Entity
104
105	// The ID of the certificate record.
106	CertificateId *int `json:"certificateId,omitempty" xmlrpc:"certificateId,omitempty"`
107
108	// The common name (usually a domain name) encoded within the certificate.
109	CommonName *string `json:"commonName,omitempty" xmlrpc:"commonName,omitempty"`
110
111	// The size (number of bits) of the public key represented by the certificate.
112	KeySize *int `json:"keySize,omitempty" xmlrpc:"keySize,omitempty"`
113
114	// The organizational name encoded in the certificate.
115	OrganizationName *string `json:"organizationName,omitempty" xmlrpc:"organizationName,omitempty"`
116
117	// The UTC timestamp representing the beginning of the certificate's validity
118	ValidityBegin *Time `json:"validityBegin,omitempty" xmlrpc:"validityBegin,omitempty"`
119
120	// The number of days remaining in the validity period for the certificate.
121	ValidityDays *int `json:"validityDays,omitempty" xmlrpc:"validityDays,omitempty"`
122
123	// The UTC timestamp representing the end of the certificate's validity period.
124	ValidityEnd *Time `json:"validityEnd,omitempty" xmlrpc:"validityEnd,omitempty"`
125}
126
127// SoftLayer_Security_Certificate_Request data type is used to harness your SSL certificate order to a Certificate Authority. This contains data that is required by a Certificate Authority to place an SSL certificate order.
128type Security_Certificate_Request struct {
129	Entity
130
131	// The account to which a SSL certificate request belongs.
132	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
133
134	// This is a reference to your SoftLayer account.
135	AccountId *int `json:"accountId,omitempty" xmlrpc:"accountId,omitempty"`
136
137	// The email address of a person who will approve your SSL certificate order. This is usually an email address of your domain administrator.
138	ApproverEmailAddress *string `json:"approverEmailAddress,omitempty" xmlrpc:"approverEmailAddress,omitempty"`
139
140	// The Certificate Authority name
141	CertificateAuthorityName *string `json:"certificateAuthorityName,omitempty" xmlrpc:"certificateAuthorityName,omitempty"`
142
143	// A Certificate Signing Request (CSR) string
144	CertificateSigningRequest *string `json:"certificateSigningRequest,omitempty" xmlrpc:"certificateSigningRequest,omitempty"`
145
146	// A domain name of a SSL certificate request
147	CommonName *string `json:"commonName,omitempty" xmlrpc:"commonName,omitempty"`
148
149	// The date a SSL certificate request was created.
150	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
151
152	// The date of your SSL certificate went into effect
153	EffectiveDate *Time `json:"effectiveDate,omitempty" xmlrpc:"effectiveDate,omitempty"`
154
155	// The expiration date of your SSL certificate
156	ExpirationDate *Time `json:"expirationDate,omitempty" xmlrpc:"expirationDate,omitempty"`
157
158	// The internal identifier of an SSL certificate request
159	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
160
161	// The date a SSL certificate request was last modified.
162	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
163
164	// The order contains the information related to a SSL certificate request.
165	Order *Billing_Order `json:"order,omitempty" xmlrpc:"order,omitempty"`
166
167	// The associated order item for this SSL certificate request.
168	OrderItem *Billing_Order_Item `json:"orderItem,omitempty" xmlrpc:"orderItem,omitempty"`
169
170	// The status of a SSL certificate request.
171	Status *Security_Certificate_Request_Status `json:"status,omitempty" xmlrpc:"status,omitempty"`
172
173	// A status id reflecting the state of a SSL certificate request
174	StatusId *int `json:"statusId,omitempty" xmlrpc:"statusId,omitempty"`
175
176	// The technical contact email address.
177	TechnicalContactEmailAddress *string `json:"technicalContactEmailAddress,omitempty" xmlrpc:"technicalContactEmailAddress,omitempty"`
178}
179
180// Represents a server type that can be specified when ordering an SSL certificate.
181type Security_Certificate_Request_ServerType struct {
182	Entity
183
184	// The description of the certificate server type.
185	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
186
187	// The internal identifier of the certificate server type.
188	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
189
190	// The name of the certificate server type.
191	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
192
193	// The value of the certificate server type.
194	Value *int `json:"value,omitempty" xmlrpc:"value,omitempty"`
195}
196
197// Represents the status of an SSL certificate request.
198type Security_Certificate_Request_Status struct {
199	Entity
200
201	// The description of a SSL certificate request status
202	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
203
204	// The internal identifier of an SSL certificate request status
205	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
206
207	// The status name
208	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
209}
210
211// SoftLayer_Security_Directory_Service_Host_Xref_Hardware extends the [[SoftLayer_Security_Directory_Service_Host_Xref]] data type to include hardware specific properties.
212type Security_Directory_Service_Host_Xref_Hardware struct {
213	Entity
214
215	// The hardware object.
216	Host *Hardware `json:"host,omitempty" xmlrpc:"host,omitempty"`
217}
218
219// The SoftLayer_Security_Level data type contains the security level restriction for the account
220type Security_Level struct {
221	Entity
222
223	// The unique name of the security level the account is under
224	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
225
226	// The name of the security level the account is under
227	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
228}
229
230// Encryption algorithm intended for use in SSL/TLS communications
231type Security_SecureTransportCipher struct {
232	Entity
233
234	// Unique identifier for the encryption algorithm
235	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
236}
237
238// Protocol intended for use in secure communications
239type Security_SecureTransportProtocol struct {
240	Entity
241
242	// Unique identifier for the protocol
243	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
244
245	// List of the supported encryption ciphers
246	SupportedSecureTransportCiphers []Security_SecureTransportCipher `json:"supportedSecureTransportCiphers,omitempty" xmlrpc:"supportedSecureTransportCiphers,omitempty"`
247}
248
249// no documentation yet
250type Security_Ssh_Key struct {
251	Entity
252
253	// no documentation yet
254	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
255
256	// A count of the image template groups that are linked to an SSH key.
257	BlockDeviceTemplateGroupCount *uint `json:"blockDeviceTemplateGroupCount,omitempty" xmlrpc:"blockDeviceTemplateGroupCount,omitempty"`
258
259	// The image template groups that are linked to an SSH key.
260	BlockDeviceTemplateGroups []Virtual_Guest_Block_Device_Template_Group `json:"blockDeviceTemplateGroups,omitempty" xmlrpc:"blockDeviceTemplateGroups,omitempty"`
261
262	// The date a ssh key was added.
263	//
264	// This property is read only. Changes made will be silently ignored.
265	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
266
267	// A short sequence of bytes used to authenticate or lookup a longer ssh key. This will automatically be generated upon adding or modifying the ssh key.
268	//
269	// This property is read only. Changes made will be silently ignored.
270	Fingerprint *string `json:"fingerprint,omitempty" xmlrpc:"fingerprint,omitempty"`
271
272	// The ID of the ssh key record.
273	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
274
275	// The ssh key.
276	Key *string `json:"key,omitempty" xmlrpc:"key,omitempty"`
277
278	// A descriptive name used to identify a ssh key.
279	Label *string `json:"label,omitempty" xmlrpc:"label,omitempty"`
280
281	// The date a ssh key was last modified.
282	//
283	// This property is read only. Changes made will be silently ignored.
284	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
285
286	// A small note about a ssh key to use at your discretion.
287	Notes *string `json:"notes,omitempty" xmlrpc:"notes,omitempty"`
288
289	// A count of the OS root users that are linked to an SSH key.
290	SoftwarePasswordCount *uint `json:"softwarePasswordCount,omitempty" xmlrpc:"softwarePasswordCount,omitempty"`
291
292	// The OS root users that are linked to an SSH key.
293	SoftwarePasswords []Software_Component_Password `json:"softwarePasswords,omitempty" xmlrpc:"softwarePasswords,omitempty"`
294}
295