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 services 22 23import ( 24 "fmt" 25 "strings" 26 27 "github.com/softlayer/softlayer-go/datatypes" 28 "github.com/softlayer/softlayer-go/session" 29 "github.com/softlayer/softlayer-go/sl" 30) 31 32// no documentation yet 33type Security_Certificate struct { 34 Session *session.Session 35 Options sl.Options 36} 37 38// GetSecurityCertificateService returns an instance of the Security_Certificate SoftLayer service 39func GetSecurityCertificateService(sess *session.Session) Security_Certificate { 40 return Security_Certificate{Session: sess} 41} 42 43func (r Security_Certificate) Id(id int) Security_Certificate { 44 r.Options.Id = &id 45 return r 46} 47 48func (r Security_Certificate) Mask(mask string) Security_Certificate { 49 if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) { 50 mask = fmt.Sprintf("mask[%s]", mask) 51 } 52 53 r.Options.Mask = mask 54 return r 55} 56 57func (r Security_Certificate) Filter(filter string) Security_Certificate { 58 r.Options.Filter = filter 59 return r 60} 61 62func (r Security_Certificate) Limit(limit int) Security_Certificate { 63 r.Options.Limit = &limit 64 return r 65} 66 67func (r Security_Certificate) Offset(offset int) Security_Certificate { 68 r.Options.Offset = &offset 69 return r 70} 71 72// Add a certificate to your account for your records, or for use with various services. Only the certificate and private key are usually required. If your issuer provided an intermediate certificate, you must also provide that certificate. Details will be extracted from the certificate. Validation will be performed between the certificate and the private key as well as the certificate and the intermediate certificate, if provided. 73// 74// The certificate signing request is not required, but can be provided for your records. 75func (r Security_Certificate) CreateObject(templateObject *datatypes.Security_Certificate) (resp datatypes.Security_Certificate, err error) { 76 params := []interface{}{ 77 templateObject, 78 } 79 err = r.Session.DoRequest("SoftLayer_Security_Certificate", "createObject", params, &r.Options, &resp) 80 return 81} 82 83// Remove a certificate from your account. You may not remove a certificate with associated services. 84func (r Security_Certificate) DeleteObject() (resp bool, err error) { 85 err = r.Session.DoRequest("SoftLayer_Security_Certificate", "deleteObject", nil, &r.Options, &resp) 86 return 87} 88 89// Update a certificate. Modifications are restricted to the note and CSR if the are any services associated with the certificate. There are no modification restrictions for a certificate with no associated services. 90func (r Security_Certificate) EditObject(templateObject *datatypes.Security_Certificate) (resp bool, err error) { 91 params := []interface{}{ 92 templateObject, 93 } 94 err = r.Session.DoRequest("SoftLayer_Security_Certificate", "editObject", params, &r.Options, &resp) 95 return 96} 97 98// Locate certificates by their common name, traditionally a domain name. 99func (r Security_Certificate) FindByCommonName(commonName *string) (resp []datatypes.Security_Certificate, err error) { 100 params := []interface{}{ 101 commonName, 102 } 103 err = r.Session.DoRequest("SoftLayer_Security_Certificate", "findByCommonName", params, &r.Options, &resp) 104 return 105} 106 107// Retrieve The number of services currently associated with the certificate. 108func (r Security_Certificate) GetAssociatedServiceCount() (resp int, err error) { 109 err = r.Session.DoRequest("SoftLayer_Security_Certificate", "getAssociatedServiceCount", nil, &r.Options, &resp) 110 return 111} 112 113// Retrieve The load balancers virtual IP addresses currently associated with the certificate. 114func (r Security_Certificate) GetLoadBalancerVirtualIpAddresses() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress, err error) { 115 err = r.Session.DoRequest("SoftLayer_Security_Certificate", "getLoadBalancerVirtualIpAddresses", nil, &r.Options, &resp) 116 return 117} 118 119// no documentation yet 120func (r Security_Certificate) GetObject() (resp datatypes.Security_Certificate, err error) { 121 err = r.Session.DoRequest("SoftLayer_Security_Certificate", "getObject", nil, &r.Options, &resp) 122 return 123} 124 125// Retrieve the certificate in PEM (Privacy Enhanced Mail) format, which is a string containing all base64 encoded (DER) certificates delimited by -----BEGIN/END *----- clauses. 126func (r Security_Certificate) GetPemFormat() (resp string, err error) { 127 err = r.Session.DoRequest("SoftLayer_Security_Certificate", "getPemFormat", nil, &r.Options, &resp) 128 return 129} 130 131// 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. 132type Security_Certificate_Request struct { 133 Session *session.Session 134 Options sl.Options 135} 136 137// GetSecurityCertificateRequestService returns an instance of the Security_Certificate_Request SoftLayer service 138func GetSecurityCertificateRequestService(sess *session.Session) Security_Certificate_Request { 139 return Security_Certificate_Request{Session: sess} 140} 141 142func (r Security_Certificate_Request) Id(id int) Security_Certificate_Request { 143 r.Options.Id = &id 144 return r 145} 146 147func (r Security_Certificate_Request) Mask(mask string) Security_Certificate_Request { 148 if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) { 149 mask = fmt.Sprintf("mask[%s]", mask) 150 } 151 152 r.Options.Mask = mask 153 return r 154} 155 156func (r Security_Certificate_Request) Filter(filter string) Security_Certificate_Request { 157 r.Options.Filter = filter 158 return r 159} 160 161func (r Security_Certificate_Request) Limit(limit int) Security_Certificate_Request { 162 r.Options.Limit = &limit 163 return r 164} 165 166func (r Security_Certificate_Request) Offset(offset int) Security_Certificate_Request { 167 r.Options.Offset = &offset 168 return r 169} 170 171// Cancels a pending SSL certificate order at the Certificate Authority 172func (r Security_Certificate_Request) CancelSslOrder() (resp bool, err error) { 173 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "cancelSslOrder", nil, &r.Options, &resp) 174 return 175} 176 177// Retrieve The account to which a SSL certificate request belongs. 178func (r Security_Certificate_Request) GetAccount() (resp datatypes.Account, err error) { 179 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getAccount", nil, &r.Options, &resp) 180 return 181} 182 183// Gets the email domains that can be used to validate a certificate to a domain. 184func (r Security_Certificate_Request) GetAdministratorEmailDomains(commonName *string) (resp []string, err error) { 185 params := []interface{}{ 186 commonName, 187 } 188 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getAdministratorEmailDomains", params, &r.Options, &resp) 189 return 190} 191 192// Gets the email accounts that can be used to validate a certificate to a domain. 193func (r Security_Certificate_Request) GetAdministratorEmailPrefixes() (resp []string, err error) { 194 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getAdministratorEmailPrefixes", nil, &r.Options, &resp) 195 return 196} 197 198// Retrieve The Certificate Authority name 199func (r Security_Certificate_Request) GetCertificateAuthorityName() (resp string, err error) { 200 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getCertificateAuthorityName", nil, &r.Options, &resp) 201 return 202} 203 204// no documentation yet 205func (r Security_Certificate_Request) GetObject() (resp datatypes.Security_Certificate_Request, err error) { 206 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getObject", nil, &r.Options, &resp) 207 return 208} 209 210// Retrieve The order contains the information related to a SSL certificate request. 211func (r Security_Certificate_Request) GetOrder() (resp datatypes.Billing_Order, err error) { 212 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getOrder", nil, &r.Options, &resp) 213 return 214} 215 216// Retrieve The associated order item for this SSL certificate request. 217func (r Security_Certificate_Request) GetOrderItem() (resp datatypes.Billing_Order_Item, err error) { 218 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getOrderItem", nil, &r.Options, &resp) 219 return 220} 221 222// Returns previous SSL certificate order data. You can use this data for to place a renewal order for a completed SSL certificate. 223func (r Security_Certificate_Request) GetPreviousOrderData() (resp datatypes.Container_Product_Order_Security_Certificate, err error) { 224 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getPreviousOrderData", nil, &r.Options, &resp) 225 return 226} 227 228// Returns all the SSL certificate requests. 229func (r Security_Certificate_Request) GetSslCertificateRequests(accountId *int) (resp []datatypes.Security_Certificate_Request, err error) { 230 params := []interface{}{ 231 accountId, 232 } 233 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getSslCertificateRequests", params, &r.Options, &resp) 234 return 235} 236 237// Retrieve The status of a SSL certificate request. 238func (r Security_Certificate_Request) GetStatus() (resp datatypes.Security_Certificate_Request_Status, err error) { 239 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getStatus", nil, &r.Options, &resp) 240 return 241} 242 243// A Certificate Authority sends out various emails to your domain administrator or your technical contact. Use this service to have these emails re-sent. 244func (r Security_Certificate_Request) ResendEmail(emailType *string) (resp bool, err error) { 245 params := []interface{}{ 246 emailType, 247 } 248 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "resendEmail", params, &r.Options, &resp) 249 return 250} 251 252// Allows you to validate a Certificate Signing Request (CSR) required for an SSL certificate with the certificate authority (CA). This method sends the CSR, the length of the subscription in months, the certificate type, and the server type for validation against requirements of the CA. Returns true if valid. 253// 254// More information on CSR generation can be found at: [http://en.wikipedia.org/wiki/Certificate_signing_request Wikipedia] [https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=AR235&actp=LIST&viewlocale=en_US VeriSign] 255func (r Security_Certificate_Request) ValidateCsr(csr *string, validityMonths *int, itemId *int, serverType *string) (resp bool, err error) { 256 params := []interface{}{ 257 csr, 258 validityMonths, 259 itemId, 260 serverType, 261 } 262 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "validateCsr", params, &r.Options, &resp) 263 return 264} 265 266// Represents a server type that can be specified when ordering an SSL certificate. 267type Security_Certificate_Request_ServerType struct { 268 Session *session.Session 269 Options sl.Options 270} 271 272// GetSecurityCertificateRequestServerTypeService returns an instance of the Security_Certificate_Request_ServerType SoftLayer service 273func GetSecurityCertificateRequestServerTypeService(sess *session.Session) Security_Certificate_Request_ServerType { 274 return Security_Certificate_Request_ServerType{Session: sess} 275} 276 277func (r Security_Certificate_Request_ServerType) Id(id int) Security_Certificate_Request_ServerType { 278 r.Options.Id = &id 279 return r 280} 281 282func (r Security_Certificate_Request_ServerType) Mask(mask string) Security_Certificate_Request_ServerType { 283 if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) { 284 mask = fmt.Sprintf("mask[%s]", mask) 285 } 286 287 r.Options.Mask = mask 288 return r 289} 290 291func (r Security_Certificate_Request_ServerType) Filter(filter string) Security_Certificate_Request_ServerType { 292 r.Options.Filter = filter 293 return r 294} 295 296func (r Security_Certificate_Request_ServerType) Limit(limit int) Security_Certificate_Request_ServerType { 297 r.Options.Limit = &limit 298 return r 299} 300 301func (r Security_Certificate_Request_ServerType) Offset(offset int) Security_Certificate_Request_ServerType { 302 r.Options.Offset = &offset 303 return r 304} 305 306// Returns all SSL certificate server types, which are passed in on a [[SoftLayer_Container_Product_Order_Security_Certificate|certificate order]]. 307func (r Security_Certificate_Request_ServerType) GetAllObjects() (resp []datatypes.Security_Certificate_Request_ServerType, err error) { 308 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request_ServerType", "getAllObjects", nil, &r.Options, &resp) 309 return 310} 311 312// no documentation yet 313func (r Security_Certificate_Request_ServerType) GetObject() (resp datatypes.Security_Certificate_Request_ServerType, err error) { 314 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request_ServerType", "getObject", nil, &r.Options, &resp) 315 return 316} 317 318// Represents the status of an SSL certificate request. 319type Security_Certificate_Request_Status struct { 320 Session *session.Session 321 Options sl.Options 322} 323 324// GetSecurityCertificateRequestStatusService returns an instance of the Security_Certificate_Request_Status SoftLayer service 325func GetSecurityCertificateRequestStatusService(sess *session.Session) Security_Certificate_Request_Status { 326 return Security_Certificate_Request_Status{Session: sess} 327} 328 329func (r Security_Certificate_Request_Status) Id(id int) Security_Certificate_Request_Status { 330 r.Options.Id = &id 331 return r 332} 333 334func (r Security_Certificate_Request_Status) Mask(mask string) Security_Certificate_Request_Status { 335 if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) { 336 mask = fmt.Sprintf("mask[%s]", mask) 337 } 338 339 r.Options.Mask = mask 340 return r 341} 342 343func (r Security_Certificate_Request_Status) Filter(filter string) Security_Certificate_Request_Status { 344 r.Options.Filter = filter 345 return r 346} 347 348func (r Security_Certificate_Request_Status) Limit(limit int) Security_Certificate_Request_Status { 349 r.Options.Limit = &limit 350 return r 351} 352 353func (r Security_Certificate_Request_Status) Offset(offset int) Security_Certificate_Request_Status { 354 r.Options.Offset = &offset 355 return r 356} 357 358// no documentation yet 359func (r Security_Certificate_Request_Status) GetObject() (resp datatypes.Security_Certificate_Request_Status, err error) { 360 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request_Status", "getObject", nil, &r.Options, &resp) 361 return 362} 363 364// Returns all SSL certificate request status objects 365func (r Security_Certificate_Request_Status) GetSslRequestStatuses() (resp []datatypes.Security_Certificate_Request_Status, err error) { 366 err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request_Status", "getSslRequestStatuses", nil, &r.Options, &resp) 367 return 368} 369 370// no documentation yet 371type Security_Ssh_Key struct { 372 Session *session.Session 373 Options sl.Options 374} 375 376// GetSecuritySshKeyService returns an instance of the Security_Ssh_Key SoftLayer service 377func GetSecuritySshKeyService(sess *session.Session) Security_Ssh_Key { 378 return Security_Ssh_Key{Session: sess} 379} 380 381func (r Security_Ssh_Key) Id(id int) Security_Ssh_Key { 382 r.Options.Id = &id 383 return r 384} 385 386func (r Security_Ssh_Key) Mask(mask string) Security_Ssh_Key { 387 if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) { 388 mask = fmt.Sprintf("mask[%s]", mask) 389 } 390 391 r.Options.Mask = mask 392 return r 393} 394 395func (r Security_Ssh_Key) Filter(filter string) Security_Ssh_Key { 396 r.Options.Filter = filter 397 return r 398} 399 400func (r Security_Ssh_Key) Limit(limit int) Security_Ssh_Key { 401 r.Options.Limit = &limit 402 return r 403} 404 405func (r Security_Ssh_Key) Offset(offset int) Security_Ssh_Key { 406 r.Options.Offset = &offset 407 return r 408} 409 410// Add a ssh key to your account for use during server provisioning and os reloads. 411func (r Security_Ssh_Key) CreateObject(templateObject *datatypes.Security_Ssh_Key) (resp datatypes.Security_Ssh_Key, err error) { 412 params := []interface{}{ 413 templateObject, 414 } 415 err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "createObject", params, &r.Options, &resp) 416 return 417} 418 419// Remove a ssh key from your account. 420func (r Security_Ssh_Key) DeleteObject() (resp bool, err error) { 421 err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "deleteObject", nil, &r.Options, &resp) 422 return 423} 424 425// Update a ssh key. 426func (r Security_Ssh_Key) EditObject(templateObject *datatypes.Security_Ssh_Key) (resp bool, err error) { 427 params := []interface{}{ 428 templateObject, 429 } 430 err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "editObject", params, &r.Options, &resp) 431 return 432} 433 434// Retrieve 435func (r Security_Ssh_Key) GetAccount() (resp datatypes.Account, err error) { 436 err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "getAccount", nil, &r.Options, &resp) 437 return 438} 439 440// Retrieve The image template groups that are linked to an SSH key. 441func (r Security_Ssh_Key) GetBlockDeviceTemplateGroups() (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) { 442 err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "getBlockDeviceTemplateGroups", nil, &r.Options, &resp) 443 return 444} 445 446// no documentation yet 447func (r Security_Ssh_Key) GetObject() (resp datatypes.Security_Ssh_Key, err error) { 448 err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "getObject", nil, &r.Options, &resp) 449 return 450} 451 452// Retrieve The OS root users that are linked to an SSH key. 453func (r Security_Ssh_Key) GetSoftwarePasswords() (resp []datatypes.Software_Component_Password, err error) { 454 err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "getSoftwarePasswords", nil, &r.Options, &resp) 455 return 456} 457