Skip to content

Commit

Permalink
Merge pull request #176 from allmightyspiff/20230206
Browse files Browse the repository at this point in the history
20230206 Updates
  • Loading branch information
allmightyspiff authored Feb 6, 2023
2 parents 8b90dd7 + a335a69 commit 83f8015
Show file tree
Hide file tree
Showing 19 changed files with 766 additions and 2,684 deletions.
44 changes: 30 additions & 14 deletions datatypes/account.go
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ type Account struct {
// Private template group objects (parent and children) and the shared template group objects (parent only) for an account.
BlockDeviceTemplateGroups []Virtual_Guest_Block_Device_Template_Group `json:"blockDeviceTemplateGroups,omitempty" xmlrpc:"blockDeviceTemplateGroups,omitempty"`

// The Bluemix account link associated with this SoftLayer account, if one exists.
// The Platform account link associated with this SoftLayer account, if one exists.
BluemixAccountLink *Account_Link_Bluemix `json:"bluemixAccountLink,omitempty" xmlrpc:"bluemixAccountLink,omitempty"`

// Returns true if this account is linked to IBM Bluemix, false if not.
Expand Down Expand Up @@ -569,12 +569,21 @@ type Account struct {
// An in progress request to switch billing systems.
InProgressExternalAccountSetup *Account_External_Setup `json:"inProgressExternalAccountSetup,omitempty" xmlrpc:"inProgressExternalAccountSetup,omitempty"`

// Account attribute flag indicating internal cci host account.
InternalCciHostAccountFlag *bool `json:"internalCciHostAccountFlag,omitempty" xmlrpc:"internalCciHostAccountFlag,omitempty"`

// Account attribute flag indicating account creates internal image templates.
InternalImageTemplateCreationFlag *bool `json:"internalImageTemplateCreationFlag,omitempty" xmlrpc:"internalImageTemplateCreationFlag,omitempty"`

// A count of
InternalNoteCount *uint `json:"internalNoteCount,omitempty" xmlrpc:"internalNoteCount,omitempty"`

// no documentation yet
InternalNotes []Account_Note `json:"internalNotes,omitempty" xmlrpc:"internalNotes,omitempty"`

// Account attribute flag indicating restricted account.
InternalRestrictionFlag *bool `json:"internalRestrictionFlag,omitempty" xmlrpc:"internalRestrictionFlag,omitempty"`

// A count of an account's associated billing invoices.
InvoiceCount *uint `json:"invoiceCount,omitempty" xmlrpc:"invoiceCount,omitempty"`

Expand Down Expand Up @@ -807,6 +816,7 @@ type Account struct {
NextBillingPublicAllotmentHardwareBandwidthDetailCount *uint `json:"nextBillingPublicAllotmentHardwareBandwidthDetailCount,omitempty" xmlrpc:"nextBillingPublicAllotmentHardwareBandwidthDetailCount,omitempty"`

// DEPRECATED - This information can be pulled directly through tapping keys now - DEPRECATED. The allotments for this account and their servers for the next billing cycle. The public inbound and outbound bandwidth is calculated for each server in addition to the daily average network traffic since the last billing date.
// Deprecated: This function has been marked as deprecated.
NextBillingPublicAllotmentHardwareBandwidthDetails []Network_Bandwidth_Version1_Allotment `json:"nextBillingPublicAllotmentHardwareBandwidthDetails,omitempty" xmlrpc:"nextBillingPublicAllotmentHardwareBandwidthDetails,omitempty"`

// The pre-tax total amount exempt from incubator credit for the account's next invoice. This field is now deprecated and will soon be removed. Please update all references to instead use nextInvoiceTotalAmount
Expand Down Expand Up @@ -1044,6 +1054,7 @@ type Account struct {
PrivateAllotmentHardwareBandwidthDetailCount *uint `json:"privateAllotmentHardwareBandwidthDetailCount,omitempty" xmlrpc:"privateAllotmentHardwareBandwidthDetailCount,omitempty"`

// DEPRECATED - This information can be pulled directly through tapping keys now - DEPRECATED. The allotments for this account and their servers. The private inbound and outbound bandwidth is calculated for each server in addition to the daily average network traffic since the last billing date.
// Deprecated: This function has been marked as deprecated.
PrivateAllotmentHardwareBandwidthDetails []Network_Bandwidth_Version1_Allotment `json:"privateAllotmentHardwareBandwidthDetails,omitempty" xmlrpc:"privateAllotmentHardwareBandwidthDetails,omitempty"`

// A count of private and shared template group objects (parent only) for an account.
Expand Down Expand Up @@ -1077,6 +1088,7 @@ type Account struct {
PublicAllotmentHardwareBandwidthDetailCount *uint `json:"publicAllotmentHardwareBandwidthDetailCount,omitempty" xmlrpc:"publicAllotmentHardwareBandwidthDetailCount,omitempty"`

// DEPRECATED - This information can be pulled directly through tapping keys now - DEPRECATED. The allotments for this account and their servers. The public inbound and outbound bandwidth is calculated for each server in addition to the daily average network traffic since the last billing date.
// Deprecated: This function has been marked as deprecated.
PublicAllotmentHardwareBandwidthDetails []Network_Bandwidth_Version1_Allotment `json:"publicAllotmentHardwareBandwidthDetails,omitempty" xmlrpc:"publicAllotmentHardwareBandwidthDetails,omitempty"`

// A count of
Expand Down Expand Up @@ -1115,6 +1127,9 @@ type Account struct {
// A count of if this is a account is a referral partner, the accounts this referral partner has referred
ReferredAccountCount *uint `json:"referredAccountCount,omitempty" xmlrpc:"referredAccountCount,omitempty"`

// Flag indicating if the account was referred.
ReferredAccountFlag *bool `json:"referredAccountFlag,omitempty" xmlrpc:"referredAccountFlag,omitempty"`

// If this is a account is a referral partner, the accounts this referral partner has referred
ReferredAccounts []Account `json:"referredAccounts,omitempty" xmlrpc:"referredAccounts,omitempty"`

Expand Down Expand Up @@ -1154,12 +1169,6 @@ type Account struct {
// The reserved capacity groups owned by this account.
ReservedCapacityGroups []Virtual_ReservedCapacityGroup `json:"reservedCapacityGroups,omitempty" xmlrpc:"reservedCapacityGroups,omitempty"`

// A count of an account's associated top-level resource groups.
ResourceGroupCount *uint `json:"resourceGroupCount,omitempty" xmlrpc:"resourceGroupCount,omitempty"`

// An account's associated top-level resource groups.
ResourceGroups []Resource_Group `json:"resourceGroups,omitempty" xmlrpc:"resourceGroups,omitempty"`

// A count of all Routers that an accounts VLANs reside on
RouterCount *uint `json:"routerCount,omitempty" xmlrpc:"routerCount,omitempty"`

Expand All @@ -1176,10 +1185,11 @@ type Account struct {
// The SAML configuration for this account.
SamlAuthentication *Account_Authentication_Saml `json:"samlAuthentication,omitempty" xmlrpc:"samlAuthentication,omitempty"`

// A count of all scale groups on this account.
// A count of [DEPRECATED] All scale groups on this account.
ScaleGroupCount *uint `json:"scaleGroupCount,omitempty" xmlrpc:"scaleGroupCount,omitempty"`

// All scale groups on this account.
// [DEPRECATED] All scale groups on this account.
// Deprecated: This function has been marked as deprecated.
ScaleGroups []Scale_Group `json:"scaleGroups,omitempty" xmlrpc:"scaleGroups,omitempty"`

// A count of the secondary DNS records for a SoftLayer customer account.
Expand Down Expand Up @@ -1287,6 +1297,9 @@ type Account struct {
// no documentation yet
Tags []Tag `json:"tags,omitempty" xmlrpc:"tags,omitempty"`

// Account attribute flag indicating test account.
TestAccountAttributeFlag *bool `json:"testAccountAttributeFlag,omitempty" xmlrpc:"testAccountAttributeFlag,omitempty"`

// A count of an account's associated tickets.
TicketCount *uint `json:"ticketCount,omitempty" xmlrpc:"ticketCount,omitempty"`

Expand Down Expand Up @@ -1693,29 +1706,29 @@ type Account_Attribute_Type struct {
Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
}

// Account authentication has many different settings that can be set. This class allows the customer or employee to set these settigns.
// Account authentication has many different settings that can be set. This class allows the customer or employee to set these settings.
type Account_Authentication_Attribute struct {
Entity

// The SoftLayer customer account.
Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`

// The internal identifier of the SoftLayer customer account that is assigned an account authenction attribute.
// The internal identifier of the SoftLayer customer account that is assigned an account authentication attribute.
AccountId *int `json:"accountId,omitempty" xmlrpc:"accountId,omitempty"`

// The SoftLayer account authentication that has an attribute.
AuthenticationRecord *Account_Authentication_Saml `json:"authenticationRecord,omitempty" xmlrpc:"authenticationRecord,omitempty"`

// A SoftLayer account authenction attribute's internal identifier.
// A SoftLayer account authentication attribute's internal identifier.
Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`

// The type of attribute assigned to a SoftLayer account authentication.
Type *Account_Authentication_Attribute_Type `json:"type,omitempty" xmlrpc:"type,omitempty"`

// The internal identifier of the type of attribute that a SoftLayer account authenction attribute belongs to.
// The internal identifier of the type of attribute that a SoftLayer account authentication attribute belongs to.
TypeId *int `json:"typeId,omitempty" xmlrpc:"typeId,omitempty"`

// A SoftLayer account authenction attribute's value.
// A SoftLayer account authentication attribute's value.
Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
}

Expand Down Expand Up @@ -2006,6 +2019,9 @@ type Account_Link struct {
// no documentation yet
AccountId *int `json:"accountId,omitempty" xmlrpc:"accountId,omitempty"`

// Authorization token that's included on linking calls.
AuthorizationToken *string `json:"authorizationToken,omitempty" xmlrpc:"authorizationToken,omitempty"`

// no documentation yet
CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`

Expand Down
87 changes: 84 additions & 3 deletions datatypes/billing.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,14 @@

package datatypes

// no documentation yet
type Billing_Chargeback_Type struct {
Entity

// Chargeback Type key name.
KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
}

// no documentation yet
type Billing_Currency struct {
Entity
Expand Down Expand Up @@ -262,6 +270,9 @@ type Billing_Invoice struct {
// no documentation yet
BrandAtInvoiceCreation *Brand `json:"brandAtInvoiceCreation,omitempty" xmlrpc:"brandAtInvoiceCreation,omitempty"`

// Chargeback type for invoice.
ChargebackType *Billing_Chargeback_Type `json:"chargebackType,omitempty" xmlrpc:"chargebackType,omitempty"`

// The city portion of an address belonging to an account at the time an invoice is created.
City *string `json:"city,omitempty" xmlrpc:"city,omitempty"`

Expand All @@ -280,6 +291,9 @@ type Billing_Invoice struct {
// The date an invoice was created.
CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`

// Credit type detail identifier for this invoice.
CreditTypeDetailId *int `json:"creditTypeDetailId,omitempty" xmlrpc:"creditTypeDetailId,omitempty"`

// A flag that will reflect whether the detailed version of the pdf has been generated.
DetailedPdfGeneratedFlag *bool `json:"detailedPdfGeneratedFlag,omitempty" xmlrpc:"detailedPdfGeneratedFlag,omitempty"`

Expand Down Expand Up @@ -438,6 +452,9 @@ type Billing_Invoice_Item struct {
// The domain name of the invoiced item. This is only used on invoice items whose category is "server".
DomainName *string `json:"domainName,omitempty" xmlrpc:"domainName,omitempty"`

// The end date of the invoice item.
EndDate *Time `json:"endDate,omitempty" xmlrpc:"endDate,omitempty"`

// An Invoice Item's associated child invoice items, excluding some items with a $0.00 recurring fee. Only parent invoice items have associated children. For instance, a server invoice item may have associated children.
FilteredAssociatedChildren []Billing_Invoice_Item `json:"filteredAssociatedChildren,omitempty" xmlrpc:"filteredAssociatedChildren,omitempty"`

Expand Down Expand Up @@ -1341,9 +1358,6 @@ type Billing_Item_Ctc_Account struct {
// The SoftLayer_Billing_Item_Big_Data_Cluster data type contains general information relating to a single SoftLayer billing item for a big data cluster.
type Billing_Item_Gateway_Appliance_Cluster struct {
Billing_Item

// The resource for a resource group billing item.
Resource *Resource_Group `json:"resource,omitempty" xmlrpc:"resource,omitempty"`
}

// The SoftLayer_Billing_Item_Hardware data type contains general information relating to a single SoftLayer billing item for hardware.
Expand Down Expand Up @@ -2327,6 +2341,9 @@ type Billing_Payment_Card_ChangeRequest struct {
// Please refer to https://cardinaldocs.atlassian.net/wiki/spaces/CC/pages/360668/Cardinal+Cruise+Hybrid and view section under "DFReferenceId / ReferenceId" to populate this property accordingly.
PayerAuthenticationEnrollmentReferenceId *string `json:"payerAuthenticationEnrollmentReferenceId,omitempty" xmlrpc:"payerAuthenticationEnrollmentReferenceId,omitempty"`

// The URL where the issuing bank will redirect.
PayerAuthenticationEnrollmentReturnUrl *string `json:"payerAuthenticationEnrollmentReturnUrl,omitempty" xmlrpc:"payerAuthenticationEnrollmentReturnUrl,omitempty"`

// "Continue with Consumer Authentication" decoded response JWT (JSON Web Token) after successful authentication. The response is part of the implementation of Cardinal Cruise Hybrid.
//
// Please refer to https://cardinaldocs.atlassian.net/wiki/spaces/CC/pages/360668/Cardinal+Cruise+Hybrid and view section under "Continue with Consumer Authentication" to populate this property accordingly based on the CCA response.
Expand Down Expand Up @@ -2459,6 +2476,9 @@ type Billing_Payment_Card_ManualPayment struct {
// Please refer to https://cardinaldocs.atlassian.net/wiki/spaces/CC/pages/360668/Cardinal+Cruise+Hybrid and view section under "DFReferenceId / ReferenceId" to populate this property accordingly.
PayerAuthenticationEnrollmentReferenceId *string `json:"payerAuthenticationEnrollmentReferenceId,omitempty" xmlrpc:"payerAuthenticationEnrollmentReferenceId,omitempty"`

// The URL where the issuing bank will redirect.
PayerAuthenticationEnrollmentReturnUrl *string `json:"payerAuthenticationEnrollmentReturnUrl,omitempty" xmlrpc:"payerAuthenticationEnrollmentReturnUrl,omitempty"`

// "Continue with Consumer Authentication" decoded response JWT (JSON Web Token) after successful authentication. The response is part of the implementation of Cardinal Cruise Hybrid.
//
// Please refer to https://cardinaldocs.atlassian.net/wiki/spaces/CC/pages/360668/Cardinal+Cruise+Hybrid and view section under "Continue with Consumer Authentication" to populate this property accordingly based on the CCA response.
Expand All @@ -2480,6 +2500,67 @@ type Billing_Payment_Card_ManualPayment struct {
Type *string `json:"type,omitempty" xmlrpc:"type,omitempty"`
}

// This datatype payer authentication setup
type Billing_Payment_Card_PayerAuthentication_Setup struct {
Entity

// This is used to authenticate the customer with the authentication provider.
AccessToken *string `json:"accessToken,omitempty" xmlrpc:"accessToken,omitempty"`

// Location to send the authentication when you invoke device data collection.
DeviceDataCollectionUrl *string `json:"deviceDataCollectionUrl,omitempty" xmlrpc:"deviceDataCollectionUrl,omitempty"`

// This identifier indicates that the device data collection
ReferenceId *string `json:"referenceId,omitempty" xmlrpc:"referenceId,omitempty"`
}

// This is the datatype that needs to be populated and sent to SoftLayer_Account::initiatePayerAuthentication.
type Billing_Payment_Card_PayerAuthentication_Setup_Information struct {
Entity

// The physical street address. Reserve information such as "apartment #123" or "Suite 2" for line 1.
BillingAddressLine1 *string `json:"billingAddressLine1,omitempty" xmlrpc:"billingAddressLine1,omitempty"`

// The second line in the address. Information such as suite number goes here.
BillingAddressLine2 *string `json:"billingAddressLine2,omitempty" xmlrpc:"billingAddressLine2,omitempty"`

// The city in which a customer's account resides.
BillingCity *string `json:"billingCity,omitempty" xmlrpc:"billingCity,omitempty"`

// The 2-character Country code for an account's address. (i.e. US)
BillingCountryCode *string `json:"billingCountryCode,omitempty" xmlrpc:"billingCountryCode,omitempty"`

// The email address associated with a customer account.
BillingEmail *string `json:"billingEmail,omitempty" xmlrpc:"billingEmail,omitempty"`

// The first name of the customer account owner.
BillingNameFirst *string `json:"billingNameFirst,omitempty" xmlrpc:"billingNameFirst,omitempty"`

// The last name of the customer account owner
BillingNameLast *string `json:"billingNameLast,omitempty" xmlrpc:"billingNameLast,omitempty"`

// The Zip or Postal Code for the billing address on an account.
BillingPostalCode *string `json:"billingPostalCode,omitempty" xmlrpc:"billingPostalCode,omitempty"`

// The State for the account.
BillingState *string `json:"billingState,omitempty" xmlrpc:"billingState,omitempty"`

// The credit card number to use.
CardAccountNumber *string `json:"cardAccountNumber,omitempty" xmlrpc:"cardAccountNumber,omitempty"`

// The payment card expiration month
CardExpirationMonth *int `json:"cardExpirationMonth,omitempty" xmlrpc:"cardExpirationMonth,omitempty"`

// The payment card expiration year
CardExpirationYear *int `json:"cardExpirationYear,omitempty" xmlrpc:"cardExpirationYear,omitempty"`

// The method key of the type payment issued
CardType *string `json:"cardType,omitempty" xmlrpc:"cardType,omitempty"`

// The credit card verification number
CreditCardVerificationNumber *string `json:"creditCardVerificationNumber,omitempty" xmlrpc:"creditCardVerificationNumber,omitempty"`
}

// The SoftLayer_Billing_Payment_Card_Transaction data type contains general information relating to attempted credit card transactions.
type Billing_Payment_Card_Transaction struct {
Billing_Payment_Transaction
Expand Down
Loading

0 comments on commit 83f8015

Please sign in to comment.