diff --git a/README.md b/README.md index bfe535dc8..ccd088381 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Currently supported DNS providers: - Namecheap - Name.com - Route 53 + - SoftLayer At Stack Overflow, we use this system to manage hundreds of domains and subdomains across multiple registrars and DNS providers. diff --git a/docs/_includes/matrix.html b/docs/_includes/matrix.html index e6fe52c01..8b67d93a1 100644 --- a/docs/_includes/matrix.html +++ b/docs/_includes/matrix.html @@ -17,6 +17,7 @@
itemPrice
and a template
.
+//
+// The itemPrice
value will provide hourly and monthly costs (if either are applicable), and a description of the option.
+//
+// The template
will provide a fragment of the request with the properties and values that must be sent when creating a server with the option.
+//
+// The [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] method returns this data structure.
+//
+//
+type Container_Hardware_Configuration struct {
+ Entity
+
+ //
+ // datacenter.name
value in the template represents which datacenter the server will be provisioned in.
+ // fixedConfigurationPreset.keyName
value in the template is an identifier for a particular fixed configuration. When provided exactly as shown in the template, that fixed configuration will be used.
+ //
+ //
+ // When providing a fixedConfigurationPreset.keyName
while ordering a server the processors
and hardDrives
configuration options cannot be used.
+ // hardDrives.capacity
value in the template represents the size, in gigabytes, of the disk.
+ // networkComponent.maxSpeed
value in the template represents the link speed, in megabits per second, of the network connections for a server.
+ // operatingSystemReferenceCode
value in the template is an identifier for a particular operating system. When provided exactly as shown in the template, that operating system will be used.
+ //
+ //
+ // A reference code is structured as three tokens separated by underscores. The first token represents the product, the second is the version of the product, and the third is whether the OS is 32 or 64bit.
+ //
+ //
+ // When providing an operatingSystemReferenceCode
while ordering a server the only token required to match exactly is the product. The version token may be given as 'LATEST', else it will require an exact match as well. When the bits token is not provided, 64 bits will be assumed.
+ //
+ //
+ // Providing the value of 'LATEST' for a version will select the latest release of that product for the operating system. As this may change over time, you should be sure that the release version is irrelevant for your applications.
+ //
+ //
+ // For Windows based operating systems the version will represent both the release version (2008, 2012, etc) and the edition (Standard, Enterprise, etc). For all other operating systems the version will represent the major version (Centos 6, Ubuntu 12, etc) of that operating system, minor versions are represented in few reference codes where they are significant.
+ // processorCoreAmount
value in the template represents the number of cores allocated to the server.
+ // The memoryCapacity
value in the template represents the amount of memory, in gigabytes, allocated to the server.
+ // orderContainers
) and you want to be able to easily determine one from another. Populating this value may be helpful if an exception is thrown when placing an order and it's tied to a specific order container.
+ ContainerIdentifier *string `json:"containerIdentifier,omitempty" xmlrpc:"containerIdentifier,omitempty"`
+
+ // This hash is internally-generated and is used to for tracking order containers.
+ ContainerSplHash *string `json:"containerSplHash,omitempty" xmlrpc:"containerSplHash,omitempty"`
+
+ // The currency type chosen at checkout.
+ CurrencyShortName *string `json:"currencyShortName,omitempty" xmlrpc:"currencyShortName,omitempty"`
+
+ // Device Fingerprint Identifier - Optional.
+ DeviceFingerprintId *string `json:"deviceFingerprintId,omitempty" xmlrpc:"deviceFingerprintId,omitempty"`
+
+ // This is the configuration identifier for tracking orders on the HTML order forms.
+ DisplayLayerSessionId *string `json:"displayLayerSessionId,omitempty" xmlrpc:"displayLayerSessionId,omitempty"`
+
+ // no documentation yet
+ ExtendedHardwareTesting *bool `json:"extendedHardwareTesting,omitempty" xmlrpc:"extendedHardwareTesting,omitempty"`
+
+ // The [[SoftLayer_Product_Item_Price]] for the Flexible Credit Program discount. The oneTimeFee
field contains the calculated discount being applied to the order.
+ FlexibleCreditProgramPrice *Product_Item_Price `json:"flexibleCreditProgramPrice,omitempty" xmlrpc:"flexibleCreditProgramPrice,omitempty"`
+
+ // For orders that contain servers (bare metal, virtual server, big data, etc.), the hardware property is required. This property is an array of [[SoftLayer_Hardware]] objects. The hostname
and domain
properties are required for each hardware object. Note that virtual server ([[SoftLayer_Container_Product_Order_Virtual_Guest]]) orders may populate this field instead of the virtualGuests
property.
+ Hardware []Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
+
+ // An optional virtual disk image template identifier to be used as an installation base for a computing instance order
+ ImageTemplateGlobalIdentifier *string `json:"imageTemplateGlobalIdentifier,omitempty" xmlrpc:"imageTemplateGlobalIdentifier,omitempty"`
+
+ // An optional virtual disk image template identifier to be used as an installation base for a computing instance order
+ ImageTemplateId *int `json:"imageTemplateId,omitempty" xmlrpc:"imageTemplateId,omitempty"`
+
+ // Flag to identify a "managed" order. This value is set internally.
+ IsManagedOrder *int `json:"isManagedOrder,omitempty" xmlrpc:"isManagedOrder,omitempty"`
+
+ // The collection of [[SoftLayer_Container_Product_Item_Category_Question_Answer]] for any product category that has additional questions requiring user input.
+ ItemCategoryQuestionAnswers []Container_Product_Item_Category_Question_Answer `json:"itemCategoryQuestionAnswers,omitempty" xmlrpc:"itemCategoryQuestionAnswers,omitempty"`
+
+ // The [[SoftLayer_Location_Region]] keyname or specific [[SoftLayer_Location_Datacenter]] id where the order should be provisioned. If this value is provided and the regionalGroup
property is also specified, an exception will be thrown indicating that only 1 is allowed.
+ Location *string `json:"location,omitempty" xmlrpc:"location,omitempty"`
+
+ // This [[SoftLayer_Location]] object will be determined from the location
property and will be returned in the order verification or placement response. Any value specified here will get overwritten by the verification process.
+ LocationObject *Location `json:"locationObject,omitempty" xmlrpc:"locationObject,omitempty"`
+
+ // A generic message about the order. Does not need to be sent in with any orders.
+ Message *string `json:"message,omitempty" xmlrpc:"message,omitempty"`
+
+ // Orders may contain an array of configurations. Populating this property allows you to purchase multiple configurations within a single order. Each order container will have its own individual settings independent of the other order containers. For example, it is possible to order a bare metal server in one configuration and a virtual server in another.
+ //
+ // If orderContainers
is populated on the base order container, most of the configuration-specific properties are ignored on the base container. For example, prices
, location
and packageId
will be ignored on the base container, but since the billingInformation
is a property that's not specific to a single order container (but the order as a whole) it must be populated on the base container.
+ OrderContainers []Container_Product_Order `json:"orderContainers,omitempty" xmlrpc:"orderContainers,omitempty"`
+
+ // This is deprecated and does not do anything.
+ OrderHostnames []string `json:"orderHostnames,omitempty" xmlrpc:"orderHostnames,omitempty"`
+
+ // Collection of exceptions resulting from the verification of the order. This value is set internally and is not required for end users when placing an order. When placing API orders, users can use this value to determine the container-specific exception that was thrown.
+ OrderVerificationExceptions []Container_Exception `json:"orderVerificationExceptions,omitempty" xmlrpc:"orderVerificationExceptions,omitempty"`
+
+ // The [[SoftLayer_Product_Package]] id for an order container. This is required to place an order.
+ PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"`
+
+ // The Payment Type is Optional. If nothing is sent in, then the normal method of payment will be used. For paypal customers, this means a paypalToken will be returned in the receipt. This token is to be used on the paypal website to complete the order. For Credit Card customers, the card on file in our system will be used to make an initial authorization. To force the order to use a payment type, use one of the following: CARD_ON_FILE or PAYPAL
+ PaymentType *string `json:"paymentType,omitempty" xmlrpc:"paymentType,omitempty"`
+
+ // The post-tax recurring charge for the order. This is the sum of preTaxRecurring + totalRecurringTax.
+ PostTaxRecurring *Float64 `json:"postTaxRecurring,omitempty" xmlrpc:"postTaxRecurring,omitempty"`
+
+ // The post-tax recurring hourly charge for the order. Since taxes are not calculated for hourly orders, this value will be the same as preTaxRecurringHourly.
+ PostTaxRecurringHourly *Float64 `json:"postTaxRecurringHourly,omitempty" xmlrpc:"postTaxRecurringHourly,omitempty"`
+
+ // The post-tax recurring monthly charge for the order. This is the sum of preTaxRecurringMonthly + totalRecurringTax.
+ PostTaxRecurringMonthly *Float64 `json:"postTaxRecurringMonthly,omitempty" xmlrpc:"postTaxRecurringMonthly,omitempty"`
+
+ // The post-tax setup fees of the order. This is the sum of preTaxSetup + totalSetupTax;
+ PostTaxSetup *Float64 `json:"postTaxSetup,omitempty" xmlrpc:"postTaxSetup,omitempty"`
+
+ // The pre-tax recurring total of the order. If there are mixed monthly and hourly prices on the order, this will be the sum of preTaxRecurringHourly and preTaxRecurringMonthly.
+ PreTaxRecurring *Float64 `json:"preTaxRecurring,omitempty" xmlrpc:"preTaxRecurring,omitempty"`
+
+ // The pre-tax hourly recurring total of the order. If there are only monthly prices on the order, this value will be 0.
+ PreTaxRecurringHourly *Float64 `json:"preTaxRecurringHourly,omitempty" xmlrpc:"preTaxRecurringHourly,omitempty"`
+
+ // The pre-tax monthly recurring total of the order. If there are only hourly prices on the order, this value will be 0.
+ PreTaxRecurringMonthly *Float64 `json:"preTaxRecurringMonthly,omitempty" xmlrpc:"preTaxRecurringMonthly,omitempty"`
+
+ // The pre-tax setup fee total of the order.
+ PreTaxSetup *Float64 `json:"preTaxSetup,omitempty" xmlrpc:"preTaxSetup,omitempty"`
+
+ // If there are any presale events available for an order, this value will be populated. It is set internally and is not required for end users when placing an order. See [[SoftLayer_Sales_Presale_Event]] for more info.
+ PresaleEvent *Sales_Presale_Event `json:"presaleEvent,omitempty" xmlrpc:"presaleEvent,omitempty"`
+
+ // A preset configuration id for the package. Is required if not submitting any prices.
+ PresetId *int `json:"presetId,omitempty" xmlrpc:"presetId,omitempty"`
+
+ // This is a collection of [[SoftLayer_Product_Item_Price]] objects. The only required property to populate for an item price object when ordering is its id
- all other supplied information about the price (e.g., recurringFee, setupFee, etc.) will be ignored. Unless the [[SoftLayer_Product_Package]] associated with the order allows for preset prices, this property is required to place an order.
+ Prices []Product_Item_Price `json:"prices,omitempty" xmlrpc:"prices,omitempty"`
+
+ // The id of a [[SoftLayer_Hardware_Component_Partition_Template]]. This property is optional. If no partition template is provided, a default will be used according to the operating system chosen with the order. Using the [[SoftLayer_Hardware_Component_Partition_OperatingSystem]] service, getPartitionTemplates will return those available for the particular operating system.
+ PrimaryDiskPartitionId *int `json:"primaryDiskPartitionId,omitempty" xmlrpc:"primaryDiskPartitionId,omitempty"`
+
+ // Priorities to set on replication set servers.
+ Priorities []string `json:"priorities,omitempty" xmlrpc:"priorities,omitempty"`
+
+ // Flag for identifying a container as Virtual Server (Private Node).
+ PrivateCloudOrderFlag *bool `json:"privateCloudOrderFlag,omitempty" xmlrpc:"privateCloudOrderFlag,omitempty"`
+
+ // Type of Virtual Server (Private Node) order. Potential values: INITIAL, ADDHOST, ADDIPS, ADDZONE
+ PrivateCloudOrderType *string `json:"privateCloudOrderType,omitempty" xmlrpc:"privateCloudOrderType,omitempty"`
+
+ // Optional promotion code for an order.
+ PromotionCode *string `json:"promotionCode,omitempty" xmlrpc:"promotionCode,omitempty"`
+
+ // Generic properties.
+ Properties []Container_Product_Order_Property `json:"properties,omitempty" xmlrpc:"properties,omitempty"`
+
+ // The Prorated Initial Charge plus the balance on the account. Only the recurring fees are prorated. Here's how the calculation works: We take the postTaxRecurring value and we prorate it based on the time between now and the next bill date for this account. After this, we add in the setup fee since this is not prorated. Then, if there is a balance on the account, we add that to the account. In the event that there is a credit balance on the account, we will subtract this amount from the order total. If the credit balance on the account is greater than the prorated initial charge, the order will go through without a charge to the credit card on the account or requiring a paypal payment. The credit on the account will be reduced by the order total, and the order will await approval from sales, as normal. If there is a pending order already in the system, We will ignore the balance on the account completely, in the calculation of the initial charge. This is to protect against two orders coming into the system and getting the benefit of a credit balance, or worse, both orders being charged the order amount + the balance on the account.
+ ProratedInitialCharge *Float64 `json:"proratedInitialCharge,omitempty" xmlrpc:"proratedInitialCharge,omitempty"`
+
+ // This is the same as the proratedInitialCharge, except the balance on the account is ignored. This is the prorated total amount of the order.
+ ProratedOrderTotal *Float64 `json:"proratedOrderTotal,omitempty" xmlrpc:"proratedOrderTotal,omitempty"`
+
+ // The URLs for scripts to execute on their respective servers after they have been provisioned. Provision scripts are not available for Microsoft Windows servers.
+ ProvisionScripts []string `json:"provisionScripts,omitempty" xmlrpc:"provisionScripts,omitempty"`
+
+ // The quantity of the item being ordered
+ Quantity *int `json:"quantity,omitempty" xmlrpc:"quantity,omitempty"`
+
+ // A custom name to be assigned to the quote.
+ QuoteName *string `json:"quoteName,omitempty" xmlrpc:"quoteName,omitempty"`
+
+ // Specifying a regional group name allows you to not worry about placing your server or service at a specific datacenter, but to any datacenter within that regional group. See [[SoftLayer_Location_Group_Regional]] to get a list of available regional group names.
+ //
+ // location
and regionalGroup
are mutually exclusive on an order container. If both location and regionalGroup are provided, an exception will be thrown indicating that only 1 is allowed.
+ //
+ // If a regional group is provided and VLANs are specified (within the hardware
or virtualGuests
properties), we will use the datacenter where the VLANs are located. If no VLANs are specified, we will use the preferred datacenter on the regional group object.
+ RegionalGroup *string `json:"regionalGroup,omitempty" xmlrpc:"regionalGroup,omitempty"`
+
+ // An optional resource group identifier specifying the resource group to attach the order to
+ ResourceGroupId *int `json:"resourceGroupId,omitempty" xmlrpc:"resourceGroupId,omitempty"`
+
+ // This variable specifies the name of the resource group the server configuration belongs to. For MongoDB Replica sets, it would be the replica set name.
+ ResourceGroupName *string `json:"resourceGroupName,omitempty" xmlrpc:"resourceGroupName,omitempty"`
+
+ // An optional resource group template identifier to be used as a deployment base for a Virtual Server (Private Node) order.
+ ResourceGroupTemplateId *int `json:"resourceGroupTemplateId,omitempty" xmlrpc:"resourceGroupTemplateId,omitempty"`
+
+ // The URL to which PayPal redirects browser after a payment is completed.
+ ReturnUrl *string `json:"returnUrl,omitempty" xmlrpc:"returnUrl,omitempty"`
+
+ // This flag indicates that the quote should be sent to the email address associated with the account or order.
+ SendQuoteEmailFlag *bool `json:"sendQuoteEmailFlag,omitempty" xmlrpc:"sendQuoteEmailFlag,omitempty"`
+
+ // The number of cores for the server being ordered. This value is set internally.
+ ServerCoreCount *int `json:"serverCoreCount,omitempty" xmlrpc:"serverCoreCount,omitempty"`
+
+ // The token of a requesting service. Do not set.
+ ServiceToken *string `json:"serviceToken,omitempty" xmlrpc:"serviceToken,omitempty"`
+
+ // An optional computing instance identifier to be used as an installation base for a computing instance order
+ SourceVirtualGuestId *int `json:"sourceVirtualGuestId,omitempty" xmlrpc:"sourceVirtualGuestId,omitempty"`
+
+ // The containers which hold SoftLayer_Security_Ssh_Key IDs to add to their respective servers. The order of containers passed in needs to match the order they are assigned to either hardware or virtualGuests. SSH Keys will not be assigned for servers with Microsoft Windows.
+ SshKeys []Container_Product_Order_SshKeys `json:"sshKeys,omitempty" xmlrpc:"sshKeys,omitempty"`
+
+ // An optional parameter for step-based order processing.
+ StepId *int `json:"stepId,omitempty" xmlrpc:"stepId,omitempty"`
+
+ //
+ //
+ // For orders that want to add storage groups such as RAID across multiple disks, simply add [[SoftLayer_Container_Product_Order_Storage_Group]] objects to this array. Storage groups will only be used if the 'RAID' disk controller price is selected. Any other disk controller types will ignore the storage groups set here.
+ //
+ // The first storage group in this array will be considered the primary storage group, which is used for the OS. Any other storage groups will act as data storage.
+ //
+ //
+ StorageGroups []Container_Product_Order_Storage_Group `json:"storageGroups,omitempty" xmlrpc:"storageGroups,omitempty"`
+
+ // The order container may not contain the final tax rates when it is returned from [[SoftLayer_Product_Order/verifyOrder|verifyOrder]]. This hash will facilitate checking if the tax rates have finished being calculated and retrieving the accurate tax rate values.
+ TaxCacheHash *string `json:"taxCacheHash,omitempty" xmlrpc:"taxCacheHash,omitempty"`
+
+ // Flag to indicate if the order container has the final tax rates for the order. Some tax rates are calculated in the background because they take longer, and they might not be finished when the container is returned from [[SoftLayer_Product_Order/verifyOrder|verifyOrder]].
+ TaxCompletedFlag *bool `json:"taxCompletedFlag,omitempty" xmlrpc:"taxCompletedFlag,omitempty"`
+
+ // The SoftLayer_Product_Item_Price for the Tech Incubator discount. The oneTimeFee field contain the calculated discount being applied to the order.
+ TechIncubatorItemPrice *Product_Item_Price `json:"techIncubatorItemPrice,omitempty" xmlrpc:"techIncubatorItemPrice,omitempty"`
+
+ // The total tax portion of the recurring fees.
+ TotalRecurringTax *Float64 `json:"totalRecurringTax,omitempty" xmlrpc:"totalRecurringTax,omitempty"`
+
+ // The tax amount of the setup fees.
+ TotalSetupTax *Float64 `json:"totalSetupTax,omitempty" xmlrpc:"totalSetupTax,omitempty"`
+
+ // An optional flag to use hourly pricing instead of standard monthly pricing.
+ UseHourlyPricing *bool `json:"useHourlyPricing,omitempty" xmlrpc:"useHourlyPricing,omitempty"`
+
+ // For virtual guest (virtual server) orders, this property is required if you did not specify data in the hardware
property. This is an array of [[SoftLayer_Virtual_Guest]] objects. The hostname
and domain
properties are required for each virtual guest object. There is no need to specify data in this property and the hardware
property - only one is required for virtual server orders.
+ VirtualGuests []Virtual_Guest `json:"virtualGuests,omitempty" xmlrpc:"virtualGuests,omitempty"`
+}
+
+// This datatype is to be used for data transfer requests.
+type Container_Product_Order_Account_Media_Data_Transfer_Request struct {
+ Container_Product_Order
+
+ // An instance of [[SoftLayer_Account_Media_Data_Transfer_Request]]
+ Request *Account_Media_Data_Transfer_Request `json:"request,omitempty" xmlrpc:"request,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. The SoftLayer_Container_Product_Order_Attribute_Address datatype contains the address information.
+type Container_Product_Order_Attribute_Address struct {
+ Entity
+
+ // The physical street address.
+ AddressLine1 *string `json:"addressLine1,omitempty" xmlrpc:"addressLine1,omitempty"`
+
+ // The second line in the address. Information such as suite number goes here.
+ AddressLine2 *string `json:"addressLine2,omitempty" xmlrpc:"addressLine2,omitempty"`
+
+ // The city name
+ City *string `json:"city,omitempty" xmlrpc:"city,omitempty"`
+
+ // The 2-character Country code. (i.e. US)
+ CountryCode *string `json:"countryCode,omitempty" xmlrpc:"countryCode,omitempty"`
+
+ // The non US/Canadian state or region.
+ NonUsState *string `json:"nonUsState,omitempty" xmlrpc:"nonUsState,omitempty"`
+
+ // The Zip or Postal Code.
+ PostalCode *string `json:"postalCode,omitempty" xmlrpc:"postalCode,omitempty"`
+
+ // The state or region.
+ State *string `json:"state,omitempty" xmlrpc:"state,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. The SoftLayer_Container_Product_Order_Attribute_Contact datatype contains the contact information.
+type Container_Product_Order_Attribute_Contact struct {
+ Entity
+
+ // The address information of the contact.
+ Address *Container_Product_Order_Attribute_Address `json:"address,omitempty" xmlrpc:"address,omitempty"`
+
+ // The email address of the contact.
+ EmailAddress *string `json:"emailAddress,omitempty" xmlrpc:"emailAddress,omitempty"`
+
+ // The fax number associated with a contact. This is an optional value.
+ FaxNumber *string `json:"faxNumber,omitempty" xmlrpc:"faxNumber,omitempty"`
+
+ // The first name of the contact.
+ FirstName *string `json:"firstName,omitempty" xmlrpc:"firstName,omitempty"`
+
+ // The last name of the contact.
+ LastName *string `json:"lastName,omitempty" xmlrpc:"lastName,omitempty"`
+
+ // The organization name of the contact.
+ OrganizationName *string `json:"organizationName,omitempty" xmlrpc:"organizationName,omitempty"`
+
+ // The phone number associated with a contact.
+ PhoneNumber *string `json:"phoneNumber,omitempty" xmlrpc:"phoneNumber,omitempty"`
+
+ // The title of the contact.
+ Title *string `json:"title,omitempty" xmlrpc:"title,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. The SoftLayer_Container_Product_Order_Attribute_Organization datatype contains the organization information.
+type Container_Product_Order_Attribute_Organization struct {
+ Entity
+
+ // The address information of the contact.
+ Address *Container_Product_Order_Attribute_Address `json:"address,omitempty" xmlrpc:"address,omitempty"`
+
+ // The fax number associated with an organization. This is an optional value.
+ FaxNumber *string `json:"faxNumber,omitempty" xmlrpc:"faxNumber,omitempty"`
+
+ // The name of an organization.
+ OrganizationName *string `json:"organizationName,omitempty" xmlrpc:"organizationName,omitempty"`
+
+ // The phone number associated with an organization.
+ PhoneNumber *string `json:"phoneNumber,omitempty" xmlrpc:"phoneNumber,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order with SoftLayer.
+type Container_Product_Order_Billing_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 company name for an account.
+ BillingNameCompany *string `json:"billingNameCompany,omitempty" xmlrpc:"billingNameCompany,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 fax number associated with a customer account.
+ BillingPhoneFax *string `json:"billingPhoneFax,omitempty" xmlrpc:"billingPhoneFax,omitempty"`
+
+ // The phone number associated with a customer account.
+ BillingPhoneVoice *string `json:"billingPhoneVoice,omitempty" xmlrpc:"billingPhoneVoice,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 Card Verification Value Code (CVV) number
+ CreditCardVerificationNumber *string `json:"creditCardVerificationNumber,omitempty" xmlrpc:"creditCardVerificationNumber,omitempty"`
+
+ // Tax exempt status. 1 = exempt (not taxable), 0 = not exempt (taxable)
+ TaxExempt *int `json:"taxExempt,omitempty" xmlrpc:"taxExempt,omitempty"`
+
+ // The VAT ID entered at checkout
+ VatId *string `json:"vatId,omitempty" xmlrpc:"vatId,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. The SoftLayer_Container_Product_Order_Dns_Domain_Registration datatype contains everything required to place a domain registration order with SoftLayer.
+type Container_Product_Order_Dns_Domain_Registration struct {
+ Container_Product_Order
+
+ // Administrative contact information associated with an registraton or transfer. This is required if registration type is 'new' or 'transfer'.
+ AdministrativeContact *Container_Dns_Domain_Registration_Contact `json:"administrativeContact,omitempty" xmlrpc:"administrativeContact,omitempty"`
+
+ // Billing contact information associated with an registraton or transfer. This is required if registration type is 'new' or 'transfer'.
+ BillingContact *Container_Dns_Domain_Registration_Contact `json:"billingContact,omitempty" xmlrpc:"billingContact,omitempty"`
+
+ // The list of domains to be registered. This is required if registration type is 'new', 'renew', or 'transfer'.
+ DomainRegistrationList []Container_Dns_Domain_Registration_List `json:"domainRegistrationList,omitempty" xmlrpc:"domainRegistrationList,omitempty"`
+
+ // Owner contact information associated with an registraton or transfer. This is required if registration type is 'new' or 'transfer'.
+ OwnerContact *Container_Dns_Domain_Registration_Contact `json:"ownerContact,omitempty" xmlrpc:"ownerContact,omitempty"`
+
+ // The type of a domain registration order. The registration type is Required. Allowed values are new, transfer, and renew
+ RegistrationType *string `json:"registrationType,omitempty" xmlrpc:"registrationType,omitempty"`
+
+ // Technical contact information associated with an registraton or transfer. This is required if registration type is 'new' or 'transfer'.
+ TechnicalContact *Container_Dns_Domain_Registration_Contact `json:"technicalContact,omitempty" xmlrpc:"technicalContact,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. The SoftLayer_Container_Product_Order_Dns_Domain_Reseller datatype contains everything required to place a domain reseller credit order with SoftLayer.
+type Container_Product_Order_Dns_Domain_Reseller struct {
+ Container_Product_Order
+
+ // Amount to be credited to the domain reseller account.
+ CreditAmount *Float64 `json:"creditAmount,omitempty" xmlrpc:"creditAmount,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a Gateway Appliance Cluster order with SoftLayer.
+type Container_Product_Order_Gateway_Appliance_Cluster struct {
+ Container_Product_Order
+
+ // Used to identify which items on an order belong in the same cluster.
+ ClusterIdentifier *string `json:"clusterIdentifier,omitempty" xmlrpc:"clusterIdentifier,omitempty"`
+
+ // Indicates what type of cluster order is being placed (HA, Provision).
+ ClusterOrderType *string `json:"clusterOrderType,omitempty" xmlrpc:"clusterOrderType,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a hardware security module order with SoftLayer.
+type Container_Product_Order_Hardware_Security_Module struct {
+ Container_Product_Order_Hardware_Server
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order with SoftLayer.
+type Container_Product_Order_Hardware_Server struct {
+ Container_Product_Order
+
+ // Used to identify which items on an order belong in the same cluster.
+ ClusterIdentifier *string `json:"clusterIdentifier,omitempty" xmlrpc:"clusterIdentifier,omitempty"`
+
+ // Indicates what type of cluster order is being placed (HA, Provision).
+ ClusterOrderType *string `json:"clusterOrderType,omitempty" xmlrpc:"clusterOrderType,omitempty"`
+
+ // Used to identify which gateway is being upgraded to HA.
+ ClusterResourceId *int `json:"clusterResourceId,omitempty" xmlrpc:"clusterResourceId,omitempty"`
+
+ // Id of the [[SoftLayer_Monitoring_Agent_Configuration_Template_Group]] to be used with the monitoring package
+ MonitoringAgentConfigurationTemplateGroupId *int `json:"monitoringAgentConfigurationTemplateGroupId,omitempty" xmlrpc:"monitoringAgentConfigurationTemplateGroupId,omitempty"`
+
+ // When ordering Virtual Server (Private Node), this variable specifies the role of the server configuration. (Deprecated)
+ PrivateCloudServerRole *string `json:"privateCloudServerRole,omitempty" xmlrpc:"privateCloudServerRole,omitempty"`
+
+ // Used to identify which device the new server should be attached to.
+ RequiredUpstreamDeviceId *int `json:"requiredUpstreamDeviceId,omitempty" xmlrpc:"requiredUpstreamDeviceId,omitempty"`
+
+ // tags (used in MongoDB deployments). (Deprecated)
+ Tags []Container_Product_Order_Property `json:"tags,omitempty" xmlrpc:"tags,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order with SoftLayer.
+type Container_Product_Order_Hardware_Server_Colocation struct {
+ Container_Product_Order_Hardware_Server
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a Gateway Appliance order.
+type Container_Product_Order_Hardware_Server_Gateway_Appliance struct {
+ Container_Product_Order_Hardware_Server
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order with SoftLayer.
+type Container_Product_Order_Hardware_Server_Upgrade struct {
+ Container_Product_Order_Hardware_Server
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a Monitoring Package order with SoftLayer.
+type Container_Product_Order_Monitoring_Package struct {
+ Container_Product_Order
+
+ // no documentation yet
+ ConfigurationTemplateGroups []Monitoring_Agent_Configuration_Template_Group `json:"configurationTemplateGroups,omitempty" xmlrpc:"configurationTemplateGroups,omitempty"`
+
+ // no documentation yet
+ ServerType *string `json:"serverType,omitempty" xmlrpc:"serverType,omitempty"`
+}
+
+// This is a datatype used with multi-configuration deployments. Multi-configuration deployments also have a deployment specific datatype that should be used in lieu of this one.
+type Container_Product_Order_MultiConfiguration struct {
+ Container_Product_Order
+}
+
+// no documentation yet
+type Container_Product_Order_MultiConfiguration_Tornado struct {
+ Container_Product_Order_MultiConfiguration
+}
+
+// This type contains the structure of network-related objects that may be specified when ordering services.
+type Container_Product_Order_Network struct {
+ Entity
+
+ // The [[SoftLayer_Network]] object.
+ Network *Network `json:"network,omitempty" xmlrpc:"network,omitempty"`
+
+ // The list of public [[SoftLayer_Container_Product_Order_Network_Vlan|vlans]] available for ordering. Each VLAN will have list of public subnets that are accessible to the VLAN.
+ PublicVlans []Container_Product_Order `json:"publicVlans,omitempty" xmlrpc:"publicVlans,omitempty"`
+
+ // The list of private [[SoftLayer_Container_Product_Order_Network_Subnet|subnets]] available for ordering with a description of their available IP space.
+ Subnets []Container_Product_Order `json:"subnets,omitempty" xmlrpc:"subnets,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an application delivery controller order with SoftLayer.
+type Container_Product_Order_Network_Application_Delivery_Controller struct {
+ Container_Product_Order
+
+ // An optional [[SoftLayer_Network_Application_Delivery_Controller]] identifier that is used for upgrading an existing application delivery controller.
+ ApplicationDeliveryControllerId *int `json:"applicationDeliveryControllerId,omitempty" xmlrpc:"applicationDeliveryControllerId,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a CDN order with SoftLayer.
+type Container_Product_Order_Network_ContentDelivery_Account struct {
+ Container_Product_Order
+
+ // The CDN account name
+ CdnAccountName *string `json:"cdnAccountName,omitempty" xmlrpc:"cdnAccountName,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a CDN order with SoftLayer.
+type Container_Product_Order_Network_ContentDelivery_Account_Upgrade struct {
+ Container_Product_Order
+
+ // ID of an existing CDN account. You can use this to upgrade an existing CDN account.
+ CdnAccountId *string `json:"cdnAccountId,omitempty" xmlrpc:"cdnAccountId,omitempty"`
+}
+
+// This is the default container type for network load balancer orders.
+type Container_Product_Order_Network_LoadBalancer struct {
+ Container_Product_Order
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order for a Load Balancer as a Service.
+type Container_Product_Order_Network_LoadBalancer_AsAService struct {
+ Container_Product_Order
+
+ // A description of this Load Balancer.
+ Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
+
+ // A name to identify this Load Balancer.
+ Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
+
+ // The [[SoftLayer_Network_LBaaS_LoadBalancerProtocolConfiguration]]s for this Load Balancer.
+ ProtocolConfigurations []Network_LBaaS_LoadBalancerProtocolConfiguration `json:"protocolConfigurations,omitempty" xmlrpc:"protocolConfigurations,omitempty"`
+
+ // The [[SoftLayer_Network_LBaaS_LoadBalancerServerInstanceInfo]]s for this Load Balancer.
+ ServerInstancesInformation []Network_LBaaS_LoadBalancerServerInstanceInfo `json:"serverInstancesInformation,omitempty" xmlrpc:"serverInstancesInformation,omitempty"`
+
+ // The [[SoftLayer_Network_Subnet]]s where this Load Balancer will be provisioned.
+ Subnets []Network_Subnet `json:"subnets,omitempty" xmlrpc:"subnets,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a global load balancer order with SoftLayer.
+type Container_Product_Order_Network_LoadBalancer_Global struct {
+ Container_Product_Order
+
+ // The domain name that will be load balanced.
+ Domain *string `json:"domain,omitempty" xmlrpc:"domain,omitempty"`
+
+ // The hostname that will be load balanced.
+ Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a network message delivery order with SoftLayer.
+type Container_Product_Order_Network_Message_Delivery struct {
+ Container_Product_Order
+
+ // The account password for SendGrid enrollment.
+ AccountPassword *string `json:"accountPassword,omitempty" xmlrpc:"accountPassword,omitempty"`
+
+ // The username for SendGrid enrollment.
+ AccountUsername *string `json:"accountUsername,omitempty" xmlrpc:"accountUsername,omitempty"`
+
+ // The email address for SendGrid enrollment.
+ EmailAddress *string `json:"emailAddress,omitempty" xmlrpc:"emailAddress,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a Message Queue order with SoftLayer.
+type Container_Product_Order_Network_Message_Queue struct {
+ Container_Product_Order
+}
+
+// This is the base data type for Performance storage order containers. If you wish to place an order you must not use this class and instead use the appropriate child container for the type of storage you would like to order: [[SoftLayer_Container_Product_Order_Network_PerformanceStorage_Nfs]] for File and [[SoftLayer_Container_Product_Order_Network_PerformanceStorage_Iscsi]] for Block storage.
+type Container_Product_Order_Network_PerformanceStorage struct {
+ Container_Product_Order
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order for iSCSI (Block) Performance Storage
+type Container_Product_Order_Network_PerformanceStorage_Iscsi struct {
+ Container_Product_Order_Network_PerformanceStorage
+
+ // OS Type to be used when formatting the storage space, this should match the OS type that will be connecting to the LUN. The only required property its the keyName of the OS type.
+ OsFormatType *Network_Storage_Iscsi_OS_Type `json:"osFormatType,omitempty" xmlrpc:"osFormatType,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order for NFS (File) Performance Storage
+type Container_Product_Order_Network_PerformanceStorage_Nfs struct {
+ Container_Product_Order_Network_PerformanceStorage
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a hardware firewall order with SoftLayer.
+type Container_Product_Order_Network_Protection_Firewall struct {
+ Container_Product_Order
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a hardware (dedicated) firewall order with SoftLayer.
+type Container_Product_Order_Network_Protection_Firewall_Dedicated struct {
+ Container_Product_Order
+
+ // generic properties.
+ Vlan *Network_Vlan `json:"vlan,omitempty" xmlrpc:"vlan,omitempty"`
+
+ // generic properties.
+ VlanId *int `json:"vlanId,omitempty" xmlrpc:"vlanId,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order for Storage as a Service.
+type Container_Product_Order_Network_Storage_AsAService struct {
+ Container_Product_Order
+
+ // This must be populated only for duplicating a specific snapshot for volume duplicating. It represents the identifier of the origin [[SoftLayer_Network_Storage_Snapshot]]
+ DuplicateOriginSnapshotId *int `json:"duplicateOriginSnapshotId,omitempty" xmlrpc:"duplicateOriginSnapshotId,omitempty"`
+
+ // This must be populated only for duplicate volume ordering. It represents the identifier of the origin [[SoftLayer_Network_Storage]].
+ DuplicateOriginVolumeId *int `json:"duplicateOriginVolumeId,omitempty" xmlrpc:"duplicateOriginVolumeId,omitempty"`
+
+ // When ordering performance by IOPS, populate this property with how many.
+ Iops *int `json:"iops,omitempty" xmlrpc:"iops,omitempty"`
+
+ // This must be populated only for replicant volume ordering. It represents the identifier of the origin [[SoftLayer_Network_Storage]].
+ OriginVolumeId *int `json:"originVolumeId,omitempty" xmlrpc:"originVolumeId,omitempty"`
+
+ // This must be populated only for replicant volume ordering. It represents the [[SoftLayer_Network_Storage_Schedule]] that will be be used to replicate the origin [[SoftLayer_Network_Storage]] volume.
+ OriginVolumeScheduleId *int `json:"originVolumeScheduleId,omitempty" xmlrpc:"originVolumeScheduleId,omitempty"`
+
+ // This must be populated for block storage orders. This should match the OS type of the host(s) that will connect to the volume. The only required property is the keyName of the OS type. This property is ignored for file storage orders.
+ OsFormatType *Network_Storage_Iscsi_OS_Type `json:"osFormatType,omitempty" xmlrpc:"osFormatType,omitempty"`
+
+ // Volume size in GB's.
+ VolumeSize *int `json:"volumeSize,omitempty" xmlrpc:"volumeSize,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order for additional Evault plugins.
+type Container_Product_Order_Network_Storage_Backup_Evault_Plugin struct {
+ Container_Product_Order
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an Evault order with SoftLayer.
+type Container_Product_Order_Network_Storage_Backup_Evault_Vault struct {
+ Container_Product_Order
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order for Enterprise Storage
+type Container_Product_Order_Network_Storage_Enterprise struct {
+ Container_Product_Order
+
+ // This must be populated only for replicant volume ordering. It represents the identifier of the origin [[SoftLayer_Network_Storage]].
+ OriginVolumeId *int `json:"originVolumeId,omitempty" xmlrpc:"originVolumeId,omitempty"`
+
+ // This must be populated only for replicant volume ordering. It represents the [[SoftLayer_Network_Storage_Schedule]] that will be be used to replicate the origin [[SoftLayer_Network_Storage]] volume.
+ OriginVolumeScheduleId *int `json:"originVolumeScheduleId,omitempty" xmlrpc:"originVolumeScheduleId,omitempty"`
+
+ // This must be populated for block storage orders. This should match the OS type of the host(s) that will connect to the volume. The only required property is the keyName of the OS type. This property is ignored for file storage orders.
+ OsFormatType *Network_Storage_Iscsi_OS_Type `json:"osFormatType,omitempty" xmlrpc:"osFormatType,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order for Enterprise Storage Snapshot Space.
+type Container_Product_Order_Network_Storage_Enterprise_SnapshotSpace struct {
+ Container_Product_Order
+
+ // The [[SoftLayer_Network_Storage]] id for which snapshot space is being ordered for.
+ VolumeId *int `json:"volumeId,omitempty" xmlrpc:"volumeId,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an upgrade order for Enterprise Storage Snapshot Space.
+type Container_Product_Order_Network_Storage_Enterprise_SnapshotSpace_Upgrade struct {
+ Container_Product_Order_Network_Storage_Enterprise_SnapshotSpace
+}
+
+// This datatype is to be used for object storage orders.
+type Container_Product_Order_Network_Storage_Hub struct {
+ Container_Product_Order
+}
+
+// This class is used to contain a datacenter location and its associated active usage rate prices for object storage ordering.
+type Container_Product_Order_Network_Storage_Hub_Datacenter struct {
+ Entity
+
+ // The datacenter location where object storage is available.
+ Location *Location `json:"location,omitempty" xmlrpc:"location,omitempty"`
+
+ // The collection of active usage rate item prices.
+ UsageRatePrices []Product_Item_Price `json:"usageRatePrices,omitempty" xmlrpc:"usageRatePrices,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an ISCSI order with SoftLayer.
+type Container_Product_Order_Network_Storage_Iscsi struct {
+ Container_Product_Order
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an ISCSI Replication order with SoftLayer.
+type Container_Product_Order_Network_Storage_Iscsi_Replication struct {
+ Container_Product_Order
+
+ // the [[SoftLayer_Network_Storage_Iscsi_EqualLogic_Version3]] Id.
+ VolumeId *int `json:"volumeId,omitempty" xmlrpc:"volumeId,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an ISCSI Snapshot Space order with SoftLayer.
+type Container_Product_Order_Network_Storage_Iscsi_SnapshotSpace struct {
+ Container_Product_Order
+
+ // the [[SoftLayer_Network_Storage_Iscsi_EqualLogic_Version3]] Id.
+ VolumeId *int `json:"volumeId,omitempty" xmlrpc:"volumeId,omitempty"`
+}
+
+// The SoftLayer_Container_Product_Order_Network_Storage_Modification datatype has everything required to place a modification to an existing StorageLayer account with SoftLayer. Modifications, at present time, include upgrade and downgrades only. The ''volumeId'' property must be set to the network storage volume id to be upgraded. Once populated send this container to the [[SoftLayer_Product_Order::placeOrder]] method.
+//
+// The ''packageId'' property passed in for CloudLayer storage accounts must be set to 0 (zero) and the ''quantity'' property must be set to 1. The location does not have to be set. Please use the [[SoftLayer_Product_Package]] service to retrieve a list of CloudLayer items.
+//
+// NOTE: When upgrading CloudLayer storage service from a metered plan (pay as you go) to a non-metered plan, make sure the chosen plan's storage allotment has enough space to cover the current usage. If the chosen plan's usage allotment is less than the CloudLayer storage's usage the order will be rejected.
+type Container_Product_Order_Network_Storage_Modification struct {
+ Container_Product_Order
+
+ // The id of the StorageLayer account to modify.
+ VolumeId *int `json:"volumeId,omitempty" xmlrpc:"volumeId,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder when placing network attached storage orders.
+type Container_Product_Order_Network_Storage_Nas struct {
+ Container_Product_Order
+}
+
+// This datatype is to be used for ordering object storage products using the object_storage [[SoftLayer_Product_Item_Category|category]]. For object storage products using hub [[SoftLayer_Product_Item_Category|category]] use the [[SoftLayer_Container_Product_Order_Network_Storage_Hub]] order container.
+type Container_Product_Order_Network_Storage_Object struct {
+ Container_Product_Order
+}
+
+// This class is used to contain a location group and its associated active usage rate prices for object storage ordering.
+type Container_Product_Order_Network_Storage_ObjectStorage_LocationGroup struct {
+ Entity
+
+ // The datacenter location where object storage is available.
+ ClusterGeolocationType *string `json:"clusterGeolocationType,omitempty" xmlrpc:"clusterGeolocationType,omitempty"`
+
+ // The datacenter location where object storage is available.
+ LocationGroup *Location_Group `json:"locationGroup,omitempty" xmlrpc:"locationGroup,omitempty"`
+
+ // The collection of active usage rate item prices.
+ UsageRatePrices []Product_Item_Price `json:"usageRatePrices,omitempty" xmlrpc:"usageRatePrices,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a subnet order with SoftLayer.
+type Container_Product_Order_Network_Subnet struct {
+ Container_Product_Order
+
+ // The description which includes the network identifier, Classless Inter-Domain Routing prefix and the available slot count.
+ Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
+
+ // The [[SoftLayer_Network_Subnet_IpAddress]] id.
+ EndPointIpAddressId *int `json:"endPointIpAddressId,omitempty" xmlrpc:"endPointIpAddressId,omitempty"`
+
+ // The [[SoftLayer_Network_Vlan]] id.
+ EndPointVlanId *int `json:"endPointVlanId,omitempty" xmlrpc:"endPointVlanId,omitempty"`
+
+ // The [[SoftLayer_Network_Subnet]] id.
+ Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
+
+ // This is the hostname for the router associated with the [[SoftLayer_Network_Subnet|subnet]]. This is a readonly property.
+ RouterHostname *string `json:"routerHostname,omitempty" xmlrpc:"routerHostname,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a network ipsec vpn order with SoftLayer.
+type Container_Product_Order_Network_Tunnel_Ipsec struct {
+ Container_Product_Order
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a network vlan order with SoftLayer.
+type Container_Product_Order_Network_Vlan struct {
+ Container_Product_Order
+
+ // The description which includes the primary router's hostname plus the vlan number.
+ Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
+
+ // The datacenter portion of the hostname.
+ HostnameDatacenter *string `json:"hostnameDatacenter,omitempty" xmlrpc:"hostnameDatacenter,omitempty"`
+
+ // The router portion of the hostname.
+ HostnameRouter *string `json:"hostnameRouter,omitempty" xmlrpc:"hostnameRouter,omitempty"`
+
+ // The [[SoftLayer_Network_Vlan]] id.
+ Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
+
+ // The optional name for this VLAN
+ Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
+
+ // The router object on which the new VLAN should be created.
+ Router *Hardware `json:"router,omitempty" xmlrpc:"router,omitempty"`
+
+ // The ID of the [[SoftLayer_Hardware_Router]] object on which the new VLAN should be created.
+ RouterId *int `json:"routerId,omitempty" xmlrpc:"routerId,omitempty"`
+
+ // The collection of subnets associated with this vlan.
+ Subnets []Container_Product_Order `json:"subnets,omitempty" xmlrpc:"subnets,omitempty"`
+
+ // The vlan number.
+ VlanNumber *int `json:"vlanNumber,omitempty" xmlrpc:"vlanNumber,omitempty"`
+}
+
+// This class contains the collections of public and private VLANs that are available during the ordering process.
+type Container_Product_Order_Network_Vlans struct {
+ Entity
+
+ // The collection of private vlans available during ordering.
+ PrivateVlans []Container_Product_Order `json:"privateVlans,omitempty" xmlrpc:"privateVlans,omitempty"`
+
+ // The collection of public vlans available during ordering.
+ PublicVlans []Container_Product_Order `json:"publicVlans,omitempty" xmlrpc:"publicVlans,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder when linking a Bluemix account to a newly created SoftLayer account.
+type Container_Product_Order_NewCustomerSetup struct {
+ Container_Product_Order
+
+ // no documentation yet
+ AuthorizationToken *string `json:"authorizationToken,omitempty" xmlrpc:"authorizationToken,omitempty"`
+
+ // no documentation yet
+ ExternalAccountId *string `json:"externalAccountId,omitempty" xmlrpc:"externalAccountId,omitempty"`
+
+ // no documentation yet
+ ExternalServiceProviderKey *string `json:"externalServiceProviderKey,omitempty" xmlrpc:"externalServiceProviderKey,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order for Private Cloud.
+type Container_Product_Order_Private_Cloud struct {
+ Container_Product_Order
+}
+
+// This is used for storing various items about the order. Currently used for storing additional raid information when ordering servers. This is optional
+type Container_Product_Order_Property struct {
+ Entity
+
+ // The property name
+ Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
+
+ // The property value
+ Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
+}
+
+// When an order is placed (SoftLayer_Product_Order::placeOrder), a receipt is returned when the order is created successfully. The information in the receipt helps explain information about the order. It's order ID, and all the data within the order as well.
+//
+// For PayPal Orders, an URL is also returned to the user so that the user can complete the transaction. Users paying with PayPal must continue on to this URL, login and pay. When doing this, PayPal will redirect the user back to a SoftLayer page which will then "finalize" the authorization process. From here, Sales will verify the order by contacting the user in some way, unless sales has already spoken to the user about approving the order.
+//
+// For users paying with a credit card, a receipt means the order has gone to sales and is awaiting approval.
+type Container_Product_Order_Receipt struct {
+ Entity
+
+ // This URL refers to the location where you will visit to complete the payment authorization for an external service, such as PayPal. This property is associated with externalPaymentToken
and will only be populated when purchasing products with an external service.
+ //
+ // Once you visit this location, you will be presented with the options to confirm payment or deny payment. If you confirm payment, you will be redirected back to the receipt for your order. If you deny, you will be redirected back to the cancel order page where you do not need to take any additional action.
+ //
+ // Until you confirm payment with the external service, your products will not be provisioned or accessible for your consumption. Upon successfully confirming payment, our system will be notified and the order approval and provisioning systems will begin processing. After provisioning is complete, your services will be available.
+ ExternalPaymentCheckoutUrl *string `json:"externalPaymentCheckoutUrl,omitempty" xmlrpc:"externalPaymentCheckoutUrl,omitempty"`
+
+ // This token refers to the identifier for the external payment authorization. This token is associated with the externalPaymentCheckoutUrl
and is only populated when purchasing products with an external service like PayPal.
+ ExternalPaymentToken *string `json:"externalPaymentToken,omitempty" xmlrpc:"externalPaymentToken,omitempty"`
+
+ // The date when SoftLayer received the order.
+ OrderDate *Time `json:"orderDate,omitempty" xmlrpc:"orderDate,omitempty"`
+
+ // This is a copy of the order container (SoftLayer_Container_Product_Order) which holds all the data related to an order. This will only return when an order is processed successfully. It will contain all the items in an order as well as the order totals.
+ OrderDetails *Container_Product_Order `json:"orderDetails,omitempty" xmlrpc:"orderDetails,omitempty"`
+
+ // SoftLayer's unique identifier for the order.
+ OrderId *int `json:"orderId,omitempty" xmlrpc:"orderId,omitempty"`
+
+ // Deprecation notice: use externalPaymentCheckoutUrl
instead of this property.
+ //
+ // This URL refers to the location where you will visit to complete the payment authorization for PayPal. This property is associated with paypalToken
and will only be populated when purchasing products with PayPal.
+ //
+ // Once you visit PayPal's site, you will be presented with the options to confirm payment or deny payment. If you confirm payment, you will be redirected back to the receipt for your order. If you deny, you will be redirected back to the cancel order page where you do not need to take any additional action.
+ //
+ // Until you confirm payment with PayPal, your products will not be provisioned or accessible for your consumption. Upon successfully confirming payment, our system will be notified and the order approval and provisioning systems will begin processing. After provisioning is complete, your services will be available.
+ PaypalCheckoutUrl *string `json:"paypalCheckoutUrl,omitempty" xmlrpc:"paypalCheckoutUrl,omitempty"`
+
+ // Deprecation notice: use externalPaymentToken
instead of this property.
+ //
+ // This token refers to the identifier provided when payment is processed via PayPal. This token is associated with the paypalCheckoutUrl
.
+ PaypalToken *string `json:"paypalToken,omitempty" xmlrpc:"paypalToken,omitempty"`
+
+ // This is a copy of the order that was successfully placed (SoftLayer_Billing_Order). This will only return when an order is processed successfully.
+ PlacedOrder *Billing_Order `json:"placedOrder,omitempty" xmlrpc:"placedOrder,omitempty"`
+
+ // This is a copy of the quote container (SoftLayer_Billing_Order_Quote) which holds all the data related to a quote. This will only return when a quote is processed successfully.
+ Quote *Billing_Order_Quote `json:"quote,omitempty" xmlrpc:"quote,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype contains everything required to place a secure certificate order with SoftLayer.
+type Container_Product_Order_Security_Certificate struct {
+ Container_Product_Order
+
+ // The administrator contact associated with a SSL certificate. If the contact is not provided the technical contact will be used. If the address is not provided the organization information address will be used.
+ AdministrativeContact *Container_Product_Order_Attribute_Contact `json:"administrativeContact,omitempty" xmlrpc:"administrativeContact,omitempty"`
+
+ // The billing contact associated with a SSL certificate. If the contact is not provided the technical contact will be used. If the address is not provided the organization information address will be used.
+ BillingContact *Container_Product_Order_Attribute_Contact `json:"billingContact,omitempty" xmlrpc:"billingContact,omitempty"`
+
+ // The base64 encoded string that sent from an applicant to a certificate authority. The CSR contains information identifying the applicant and the public key chosen by the applicant. The corresponding private key should not be included.
+ CertificateSigningRequest *string `json:"certificateSigningRequest,omitempty" xmlrpc:"certificateSigningRequest,omitempty"`
+
+ // The email address that can approve a secure certificate order.
+ OrderApproverEmailAddress *string `json:"orderApproverEmailAddress,omitempty" xmlrpc:"orderApproverEmailAddress,omitempty"`
+
+ // The organization information associated with a SSL certificate.
+ OrganizationInformation *Container_Product_Order_Attribute_Organization `json:"organizationInformation,omitempty" xmlrpc:"organizationInformation,omitempty"`
+
+ // Indicates if it is an renewal order of an existing SSL certificate.
+ RenewalFlag *bool `json:"renewalFlag,omitempty" xmlrpc:"renewalFlag,omitempty"`
+
+ // The number of servers.
+ ServerCount *int `json:"serverCount,omitempty" xmlrpc:"serverCount,omitempty"`
+
+ // The server type. This is the name from a [[SoftLayer_Security_Certificate_Request_ServerType]] object.
+ ServerType *string `json:"serverType,omitempty" xmlrpc:"serverType,omitempty"`
+
+ // The technical contact associated with a SSL certificate. If the address is not provided the organization information address will be used.
+ TechnicalContact *Container_Product_Order_Attribute_Contact `json:"technicalContact,omitempty" xmlrpc:"technicalContact,omitempty"`
+
+ // The period that a SSL certificate is valid for. For example, 12, 24, 36
+ ValidityMonths *int `json:"validityMonths,omitempty" xmlrpc:"validityMonths,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder.
+type Container_Product_Order_Service struct {
+ Container_Product_Order
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a virtual license order with SoftLayer.
+type Container_Product_Order_Software_Component_Virtual struct {
+ Container_Product_Order
+
+ // array of ip address ids for which a license should be allocated for.
+ EndPointIpAddressIds []int `json:"endPointIpAddressIds,omitempty" xmlrpc:"endPointIpAddressIds,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a hardware security module order with SoftLayer.
+type Container_Product_Order_Software_License struct {
+ Container_Product_Order
+}
+
+// This object holds all of the ssh key ids that will allow authentication to a single server.
+type Container_Product_Order_SshKeys struct {
+ Entity
+
+ // An array of SoftLayer_Security_Ssh_Key IDs to assign to a server.
+ SshKeyIds []int `json:"sshKeyIds,omitempty" xmlrpc:"sshKeyIds,omitempty"`
+}
+
+// A single storage group container used for a hardware server order.
+//
+// This object describes a single storage group that can be added to an order container.
+type Container_Product_Order_Storage_Group struct {
+ Entity
+
+ // Size of the array in gigabytes. Must be within limitations of the smallest drive assigned to the storage group and the storage group type.
+ ArraySize *Float64 `json:"arraySize,omitempty" xmlrpc:"arraySize,omitempty"`
+
+ // The array type id from a [[SoftLayer_Configuration_Storage_Group_Array_Type]] object.
+ ArrayTypeId *int `json:"arrayTypeId,omitempty" xmlrpc:"arrayTypeId,omitempty"`
+
+ // Integer array of drive indexes to use in the storage group.
+ HardDrives []int `json:"hardDrives,omitempty" xmlrpc:"hardDrives,omitempty"`
+
+ // If an array should be protected by an hotspare, the drive index of the hotspares should be here.
+ //
+ // If a drive is a hotspare for all arrays then a separate storage group with array type GLOBAL_HOT_SPARE should be used
+ HotSpareDrives []int `json:"hotSpareDrives,omitempty" xmlrpc:"hotSpareDrives,omitempty"`
+
+ // The id for a [[SoftLayer_Hardware_Component_Partition_Template]] object, which will determine the partitions to add to the storage group.
+ //
+ // If this storage group is not a primary storage group, then this will not be used.
+ PartitionTemplateId *int `json:"partitionTemplateId,omitempty" xmlrpc:"partitionTemplateId,omitempty"`
+
+ // Defines the partitions for the storage group.
+ //
+ // If this storage group is not a secondary storage group, then this will not be used.
+ Partitions []Container_Product_Order_Storage_Group_Partition `json:"partitions,omitempty" xmlrpc:"partitions,omitempty"`
+}
+
+// A storage group partition container used for a hardware server order.
+//
+// This object describes the partitions for a single storage group that can be added to an order container.
+type Container_Product_Order_Storage_Group_Partition struct {
+ Entity
+
+ // Is this a grow partition
+ IsGrow *bool `json:"isGrow,omitempty" xmlrpc:"isGrow,omitempty"`
+
+ // The name of this partition
+ Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
+
+ // The size of this partition
+ Size *Float64 `json:"size,omitempty" xmlrpc:"size,omitempty"`
+}
+
+// When ordering paid support this datatype needs to be populated and sent to SoftLayer_Product_Order::placeOrder.
+type Container_Product_Order_Support struct {
+ Container_Product_Order
+}
+
+// This container type is used for placing orders for external authentication, such as phone-based authentication.
+type Container_Product_Order_User_Customer_External_Binding struct {
+ Container_Product_Order
+
+ // The external id that access to external authentication is being purchased for.
+ ExternalId *string `json:"externalId,omitempty" xmlrpc:"externalId,omitempty"`
+
+ // The SoftLayer [[SoftLayer_User_Customer|user]] identifier that an external binding is being purchased for.
+ UserId *int `json:"userId,omitempty" xmlrpc:"userId,omitempty"`
+
+ // The [[SoftLayer_User_Customer_External_Binding_Vendor|vendor]] identifier for the external binding being purchased.
+ VendorId *int `json:"vendorId,omitempty" xmlrpc:"vendorId,omitempty"`
+}
+
+// This is the default container type for Dedicated Virtual Host orders.
+type Container_Product_Order_Virtual_DedicatedHost struct {
+ Container_Product_Order
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place a Portable Storage order with SoftLayer.
+type Container_Product_Order_Virtual_Disk_Image struct {
+ Container_Product_Order
+
+ // Label for the portable storage volume.
+ DiskDescription *string `json:"diskDescription,omitempty" xmlrpc:"diskDescription,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order with SoftLayer.
+type Container_Product_Order_Virtual_Guest struct {
+ Container_Product_Order_Hardware_Server
+
+ // Identifier of the [[SoftLayer_Virtual_Disk_Image]] to boot from.
+ BootableDiskId *int `json:"bootableDiskId,omitempty" xmlrpc:"bootableDiskId,omitempty"`
+
+ // Identifier of [[SoftLayer_Virtual_DedicatedHost]] to order
+ HostId *int `json:"hostId,omitempty" xmlrpc:"hostId,omitempty"`
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Product_Order::placeOrder. This datatype has everything required to place an order with SoftLayer.
+type Container_Product_Order_Virtual_Guest_Upgrade struct {
+ Container_Product_Order_Virtual_Guest
+}
+
+// This is the datatype that needs to be populated and sent to SoftLayer_Provisioning_Maintenance_Window::addCustomerUpgradeWindow. This datatype has everything required to place an order with SoftLayer.
+type Container_Provisioning_Maintenance_Window struct {
+ Entity
+
+ // Maintenance classifications.
+ ClassificationIds []Provisioning_Maintenance_Classification `json:"classificationIds,omitempty" xmlrpc:"classificationIds,omitempty"`
+
+ // Maintenance classifications.
+ ItemCategoryIds []Product_Item_Category `json:"itemCategoryIds,omitempty" xmlrpc:"itemCategoryIds,omitempty"`
+
+ // The maintenance window id
+ MaintenanceWindowId *int `json:"maintenanceWindowId,omitempty" xmlrpc:"maintenanceWindowId,omitempty"`
+
+ // Maintenance window ticket id
+ TicketId *int `json:"ticketId,omitempty" xmlrpc:"ticketId,omitempty"`
+
+ // Maintenance window date
+ WindowMaintenanceDate *Time `json:"windowMaintenanceDate,omitempty" xmlrpc:"windowMaintenanceDate,omitempty"`
+}
+
+// no documentation yet
+type Container_Referral_Partner_Commission struct {
+ Entity
+
+ // no documentation yet
+ CommissionAmount *Float64 `json:"commissionAmount,omitempty" xmlrpc:"commissionAmount,omitempty"`
+
+ // no documentation yet
+ CommissionRate *Float64 `json:"commissionRate,omitempty" xmlrpc:"commissionRate,omitempty"`
+
+ // no documentation yet
+ CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
+
+ // no documentation yet
+ ReferralAccountId *int `json:"referralAccountId,omitempty" xmlrpc:"referralAccountId,omitempty"`
+
+ // no documentation yet
+ ReferralCompanyName *string `json:"referralCompanyName,omitempty" xmlrpc:"referralCompanyName,omitempty"`
+
+ // no documentation yet
+ ReferralPartnerAccountId *int `json:"referralPartnerAccountId,omitempty" xmlrpc:"referralPartnerAccountId,omitempty"`
+
+ // no documentation yet
+ ReferralRevenue *Float64 `json:"referralRevenue,omitempty" xmlrpc:"referralRevenue,omitempty"`
+}
+
+// no documentation yet
+type Container_Referral_Partner_Payment_Option struct {
+ Entity
+
+ // no documentation yet
+ AccountNumber *string `json:"accountNumber,omitempty" xmlrpc:"accountNumber,omitempty"`
+
+ // no documentation yet
+ AccountType *string `json:"accountType,omitempty" xmlrpc:"accountType,omitempty"`
+
+ // no documentation yet
+ Address1 *string `json:"address1,omitempty" xmlrpc:"address1,omitempty"`
+
+ // no documentation yet
+ Address2 *string `json:"address2,omitempty" xmlrpc:"address2,omitempty"`
+
+ // no documentation yet
+ BankTransitNumber *string `json:"bankTransitNumber,omitempty" xmlrpc:"bankTransitNumber,omitempty"`
+
+ // no documentation yet
+ City *string `json:"city,omitempty" xmlrpc:"city,omitempty"`
+
+ // no documentation yet
+ CompanyName *string `json:"companyName,omitempty" xmlrpc:"companyName,omitempty"`
+
+ // no documentation yet
+ Country *string `json:"country,omitempty" xmlrpc:"country,omitempty"`
+
+ // no documentation yet
+ FederalTaxId *string `json:"federalTaxId,omitempty" xmlrpc:"federalTaxId,omitempty"`
+
+ // no documentation yet
+ FirstName *string `json:"firstName,omitempty" xmlrpc:"firstName,omitempty"`
+
+ // no documentation yet
+ LastName *string `json:"lastName,omitempty" xmlrpc:"lastName,omitempty"`
+
+ // no documentation yet
+ PaymentType *string `json:"paymentType,omitempty" xmlrpc:"paymentType,omitempty"`
+
+ // no documentation yet
+ PaypalEmail *string `json:"paypalEmail,omitempty" xmlrpc:"paypalEmail,omitempty"`
+
+ // no documentation yet
+ PhoneNumber *string `json:"phoneNumber,omitempty" xmlrpc:"phoneNumber,omitempty"`
+
+ // no documentation yet
+ PostalCode *string `json:"postalCode,omitempty" xmlrpc:"postalCode,omitempty"`
+
+ // no documentation yet
+ State *string `json:"state,omitempty" xmlrpc:"state,omitempty"`
+}
+
+// no documentation yet
+type Container_Referral_Partner_Prospect struct {
+ Entity
+
+ // no documentation yet
+ Address1 *string `json:"address1,omitempty" xmlrpc:"address1,omitempty"`
+
+ // no documentation yet
+ Address2 *string `json:"address2,omitempty" xmlrpc:"address2,omitempty"`
+
+ // no documentation yet
+ City *string `json:"city,omitempty" xmlrpc:"city,omitempty"`
+
+ // no documentation yet
+ CompanyName *string `json:"companyName,omitempty" xmlrpc:"companyName,omitempty"`
+
+ // no documentation yet
+ Country *string `json:"country,omitempty" xmlrpc:"country,omitempty"`
+
+ // no documentation yet
+ Email *string `json:"email,omitempty" xmlrpc:"email,omitempty"`
+
+ // no documentation yet
+ FirstName *string `json:"firstName,omitempty" xmlrpc:"firstName,omitempty"`
+
+ // no documentation yet
+ LastName *string `json:"lastName,omitempty" xmlrpc:"lastName,omitempty"`
+
+ // no documentation yet
+ OfficePhone *string `json:"officePhone,omitempty" xmlrpc:"officePhone,omitempty"`
+
+ // no documentation yet
+ PostalCode *string `json:"postalCode,omitempty" xmlrpc:"postalCode,omitempty"`
+
+ // no documentation yet
+ Questions []string `json:"questions,omitempty" xmlrpc:"questions,omitempty"`
+
+ // no documentation yet
+ Responses []Survey_Response `json:"responses,omitempty" xmlrpc:"responses,omitempty"`
+
+ // no documentation yet
+ State *string `json:"state,omitempty" xmlrpc:"state,omitempty"`
+
+ // no documentation yet
+ SurveyId *string `json:"surveyId,omitempty" xmlrpc:"surveyId,omitempty"`
+}
+
+// The SoftLayer_Container_RemoteManagement_Graphs_SensorSpeed contains graphs to display speed for each of the server's fans. Fan speeds are gathered from the server's remote management card.
+type Container_RemoteManagement_Graphs_SensorSpeed struct {
+ Entity
+
+ // The graph to display the server's fan speed.
+ Graph *[]byte `json:"graph,omitempty" xmlrpc:"graph,omitempty"`
+
+ // A title that may be used to display for the graph.
+ Title *string `json:"title,omitempty" xmlrpc:"title,omitempty"`
+}
+
+// The SoftLayer_Container_RemoteManagement_Graphs_SensorTemperature contains graphs to display the cpu(s) and system temperatures retrieved from the management card using thermometer graphs.
+type Container_RemoteManagement_Graphs_SensorTemperature struct {
+ Entity
+
+ // The graph to display the server's cpu(s) and system temperatures.
+ Graph *[]byte `json:"graph,omitempty" xmlrpc:"graph,omitempty"`
+
+ // A title that may be used to display for the graph.
+ Title *string `json:"title,omitempty" xmlrpc:"title,omitempty"`
+}
+
+// The SoftLayer_Container_RemoteManagement_PmInfo contains pminfo information retrieved from a server's remote management card.
+type Container_RemoteManagement_PmInfo struct {
+ Entity
+
+ // PmInfo ID
+ PmInfoId *string `json:"pmInfoId,omitempty" xmlrpc:"pmInfoId,omitempty"`
+
+ // PmInfo Reading
+ PmInfoReading *string `json:"pmInfoReading,omitempty" xmlrpc:"pmInfoReading,omitempty"`
+}
+
+// The SoftLayer_Container_RemoteManagement_SensorReadings contains sensor information retrieved from a server's remote management card.
+type Container_RemoteManagement_SensorReading struct {
+ Entity
+
+ // Lower Non-Recoverable threshold
+ LowerCritical *string `json:"lowerCritical,omitempty" xmlrpc:"lowerCritical,omitempty"`
+
+ // Lower Non-Critical threshold
+ LowerNonCritical *string `json:"lowerNonCritical,omitempty" xmlrpc:"lowerNonCritical,omitempty"`
+
+ // Lower Non-Recoverable threshold
+ LowerNonRecoverable *string `json:"lowerNonRecoverable,omitempty" xmlrpc:"lowerNonRecoverable,omitempty"`
+
+ // Sensor ID
+ SensorId *string `json:"sensorId,omitempty" xmlrpc:"sensorId,omitempty"`
+
+ // Sensor Reading
+ SensorReading *string `json:"sensorReading,omitempty" xmlrpc:"sensorReading,omitempty"`
+
+ // Sensor Units
+ SensorUnits *string `json:"sensorUnits,omitempty" xmlrpc:"sensorUnits,omitempty"`
+
+ // Sensor Status
+ Status *string `json:"status,omitempty" xmlrpc:"status,omitempty"`
+
+ // Upper Critical threshold
+ UpperCritical *string `json:"upperCritical,omitempty" xmlrpc:"upperCritical,omitempty"`
+
+ // Upper Non-Critical threshold
+ UpperNonCritical *string `json:"upperNonCritical,omitempty" xmlrpc:"upperNonCritical,omitempty"`
+
+ // Upper Non-Recoverable threshold
+ UpperNonRecoverable *string `json:"upperNonRecoverable,omitempty" xmlrpc:"upperNonRecoverable,omitempty"`
+}
+
+// The SoftLayer_Container_RemoteManagement_SensorReadingsWithGraphs contains the raw data retrieved from a server's remote management card. Along with the raw data, two sets of graphs will be returned. One set of graphs is used to display, using thermometer graphs, the temperatures (cpu(s) and system) retrieved from the management card. The other set is used to display speed for each of the server's fans.
+type Container_RemoteManagement_SensorReadingsWithGraphs struct {
+ Entity
+
+ // The raw data returned from the server's remote management card.
+ RawData []Container_RemoteManagement_SensorReading `json:"rawData,omitempty" xmlrpc:"rawData,omitempty"`
+
+ // The graph(s) to display the server's fan speeds.
+ SpeedGraphs []Container_RemoteManagement_Graphs_SensorSpeed `json:"speedGraphs,omitempty" xmlrpc:"speedGraphs,omitempty"`
+
+ // The graph(s) to display the server's cpu(s) and system temperatures.
+ TemperatureGraphs []Container_RemoteManagement_Graphs_SensorTemperature `json:"temperatureGraphs,omitempty" xmlrpc:"temperatureGraphs,omitempty"`
+}
+
+// The metadata service resource container is used to store information about a single service resource.
+type Container_Resource_Metadata_ServiceResource struct {
+ Entity
+
+ // The backend IP address for this resource
+ BackendIpAddress *string `json:"backendIpAddress,omitempty" xmlrpc:"backendIpAddress,omitempty"`
+
+ // The type for this resource
+ Type *Network_Service_Resource_Type `json:"type,omitempty" xmlrpc:"type,omitempty"`
+}
+
+// This data type is a container that stores information about a single indexed object type. Object type information can be used for discovery of searchable data and for creation or validation of object index search strings. Each of these containers holds a collection of [[SoftLayer_Container_Search_ObjectType_Property (type)|SoftLayer_Container_Search_ObjectType_Property]] objects, specifying which object properties are exposed for the current user. Refer to the the documentation for the [[SoftLayer_Search/search|search()]] method for information on using object types in search strings.
+type Container_Search_ObjectType struct {
+ Entity
+
+ // Name of object type.
+ Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
+
+ // A collection of [[SoftLayer_Container_Search_ObjectType_Property|object properties]].
+ Properties []Container_Search_ObjectType_Property `json:"properties,omitempty" xmlrpc:"properties,omitempty"`
+}
+
+// This data type is a container that stores information about a single property of a searchable object type. Each [[SoftLayer_Container_Search_ObjectType (type)|SoftLayer_Container_Search_ObjectType]] object holds a collection of these properties. Property information can be used for discovery of searchable data and for the creation or validation of object index search strings. Note that properties are only understood by the [[SoftLayer_Search/advancedSearch|advancedSearch()]] method. Refer to the advancedSearch() method for information on using properties in search strings.
+type Container_Search_ObjectType_Property struct {
+ Entity
+
+ // Name of property.
+ Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
+
+ // Indicates if this property can be sorted.
+ SortableFlag *bool `json:"sortableFlag,omitempty" xmlrpc:"sortableFlag,omitempty"`
+
+ // Property data type. Valid values include 'boolean', 'integer', 'date', 'string' or 'text'.
+ Type *string `json:"type,omitempty" xmlrpc:"type,omitempty"`
+}
+
+// The SoftLayer_Container_Search_Result data type represents a result row from an execution of Search service.
+type Container_Search_Result struct {
+ Entity
+
+ // An array of terms that were matched in the resource object.
+ MatchedTerms []string `json:"matchedTerms,omitempty" xmlrpc:"matchedTerms,omitempty"`
+
+ // The score ratio of the result for relevance to the search criteria.
+ RelevanceScore *Float64 `json:"relevanceScore,omitempty" xmlrpc:"relevanceScore,omitempty"`
+
+ // A search results resource object that matched search criteria.
+ Resource *Entity `json:"resource,omitempty" xmlrpc:"resource,omitempty"`
+
+ // The type of the resource object that matched search criteria.
+ ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
+}
+
+// The SoftLayer_Container_Software_Component_HostIps_Policy container holds the title and value of a current host ips policy.
+type Container_Software_Component_HostIps_Policy struct {
+ Entity
+
+ // The value of a host ips category.
+ Policy *string `json:"policy,omitempty" xmlrpc:"policy,omitempty"`
+
+ // The category title of a host ips policy.
+ PolicyTitle *string `json:"policyTitle,omitempty" xmlrpc:"policyTitle,omitempty"`
+}
+
+// These are the results of a tax calculation. The tax calculation was kicked off but allowed to run in the background. This type stores the results so that an interface can be updated with up-to-date information.
+type Container_Tax_Cache struct {
+ Entity
+
+ // The percentage of the final total that should be tax.
+ EffectiveTaxRate *Float64 `json:"effectiveTaxRate,omitempty" xmlrpc:"effectiveTaxRate,omitempty"`
+
+ // The container that holds the four actual tax rates, one for each fee type.
+ Items []Container_Tax_Cache_Item `json:"items,omitempty" xmlrpc:"items,omitempty"`
+
+ // The status of the tax request. This should be PENDING, FAILED, or COMPLETED.
+ Status *string `json:"status,omitempty" xmlrpc:"status,omitempty"`
+
+ // The final amount of tax for the order.
+ TotalTaxAmount *Float64 `json:"totalTaxAmount,omitempty" xmlrpc:"totalTaxAmount,omitempty"`
+}
+
+// This represents one order item in a tax calculation.
+type Container_Tax_Cache_Item struct {
+ Entity
+
+ // The category code for the referenced product.
+ CategoryCode *string `json:"categoryCode,omitempty" xmlrpc:"categoryCode,omitempty"`
+
+ // This hash will match to the hash on an order container.
+ ContainerHash *string `json:"containerHash,omitempty" xmlrpc:"containerHash,omitempty"`
+
+ // The reference to the price for this order item.
+ ItemPriceId *int `json:"itemPriceId,omitempty" xmlrpc:"itemPriceId,omitempty"`
+
+ // This is the container containing the individual tax rates.
+ TaxRates *Container_Tax_Rates `json:"taxRates,omitempty" xmlrpc:"taxRates,omitempty"`
+}
+
+// This contains the four tax rates, one for each fee type.
+type Container_Tax_Rates struct {
+ Entity
+
+ // The tax rate associated with the labor fee.
+ LaborTaxRate *Float64 `json:"laborTaxRate,omitempty" xmlrpc:"laborTaxRate,omitempty"`
+
+ // A reference to a location.
+ LocationId *Float64 `json:"locationId,omitempty" xmlrpc:"locationId,omitempty"`
+
+ // The tax rate associated with the one-time fee.
+ OneTimeTaxRate *Float64 `json:"oneTimeTaxRate,omitempty" xmlrpc:"oneTimeTaxRate,omitempty"`
+
+ // The tax rate associated with the recurring fee.
+ RecurringTaxRate *Float64 `json:"recurringTaxRate,omitempty" xmlrpc:"recurringTaxRate,omitempty"`
+
+ // The tax rate associated with the setup fee.
+ SetupTaxRate *Float64 `json:"setupTaxRate,omitempty" xmlrpc:"setupTaxRate,omitempty"`
+}
+
+// SoftLayer_Container_Ticket_GraphInputs models a single inbound object for a given ticket graph.
+type Container_Ticket_GraphInputs struct {
+ Entity
+
+ // This is a unix timestamp that represents the stop date/time for a graph.
+ EndDate *Time `json:"endDate,omitempty" xmlrpc:"endDate,omitempty"`
+
+ // The front-end or back-end network uplink interface associated with this server.
+ NetworkInterfaceId *int `json:"networkInterfaceId,omitempty" xmlrpc:"networkInterfaceId,omitempty"`
+
+ // *
+ Pod *int `json:"pod,omitempty" xmlrpc:"pod,omitempty"`
+
+ // This is a human readable name for the server or rack being graphed.
+ ServerName *string `json:"serverName,omitempty" xmlrpc:"serverName,omitempty"`
+
+ // This is a unix timestamp that represents the begin date/time for a graph.
+ StartDate *Time `json:"startDate,omitempty" xmlrpc:"startDate,omitempty"`
+}
+
+// SoftLayer_Container_Ticket_GraphOutputs models a single outbound object for a given bandwidth graph.
+type Container_Ticket_GraphOutputs struct {
+ Entity
+
+ // The raw PNG binary data to be displayed once the graph is drawn.
+ GraphImage *[]byte `json:"graphImage,omitempty" xmlrpc:"graphImage,omitempty"`
+
+ // The title that ended up being displayed as part of the graph image.
+ GraphTitle *string `json:"graphTitle,omitempty" xmlrpc:"graphTitle,omitempty"`
+
+ // The maximum date included in this graph.
+ MaxEndDate *Time `json:"maxEndDate,omitempty" xmlrpc:"maxEndDate,omitempty"`
+
+ // The minimum date included in this graph.
+ MinStartDate *Time `json:"minStartDate,omitempty" xmlrpc:"minStartDate,omitempty"`
+}
+
+// no documentation yet
+type Container_Ticket_Priority struct {
+ Entity
+
+ // no documentation yet
+ Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
+
+ // no documentation yet
+ Value *int `json:"value,omitempty" xmlrpc:"value,omitempty"`
+}
+
+// no documentation yet
+type Container_Ticket_Survey_Preference struct {
+ Entity
+
+ // no documentation yet
+ Applicable *bool `json:"applicable,omitempty" xmlrpc:"applicable,omitempty"`
+
+ // no documentation yet
+ OptedOut *bool `json:"optedOut,omitempty" xmlrpc:"optedOut,omitempty"`
+
+ // no documentation yet
+ OptedOutDate *Time `json:"optedOutDate,omitempty" xmlrpc:"optedOutDate,omitempty"`
+}
+
+// Container class used to hold user authentication token
+type Container_User_Authentication_Token struct {
+ Entity
+
+ // hash that gets populated for user authentication
+ Hash *string `json:"hash,omitempty" xmlrpc:"hash,omitempty"`
+
+ // the user authenticated object
+ User *User_Customer `json:"user,omitempty" xmlrpc:"user,omitempty"`
+
+ // the id of the user to authenticate
+ UserId *int `json:"userId,omitempty" xmlrpc:"userId,omitempty"`
+}
+
+// Container classed used to hold external authentication information
+type Container_User_Customer_External_Binding struct {
+ Entity
+
+ // The unique token that is created by an external authentication request.
+ AuthenticationToken *string `json:"authenticationToken,omitempty" xmlrpc:"authenticationToken,omitempty"`
+
+ // The OpenID Connect access token which provides access to a resource by the OpenID Connect provider.
+ OpenIdConnectAccessToken *string `json:"openIdConnectAccessToken,omitempty" xmlrpc:"openIdConnectAccessToken,omitempty"`
+
+ // The account to login to, if not provided a default will be used.
+ OpenIdConnectAccountId *int `json:"openIdConnectAccountId,omitempty" xmlrpc:"openIdConnectAccountId,omitempty"`
+
+ // The OpenID Connect provider type, as a string.
+ OpenIdConnectProvider *string `json:"openIdConnectProvider,omitempty" xmlrpc:"openIdConnectProvider,omitempty"`
+
+ // Your SoftLayer customer portal user's portal password.
+ Password *string `json:"password,omitempty" xmlrpc:"password,omitempty"`
+
+ // The answer to your security question.
+ SecurityQuestionAnswer *string `json:"securityQuestionAnswer,omitempty" xmlrpc:"securityQuestionAnswer,omitempty"`
+
+ // A security question you wish to answer when authenticating to the SoftLayer customer portal. This parameter isn't required if no security questions are set on your portal account or if your account is configured to not require answering a security account upon login.
+ SecurityQuestionId *int `json:"securityQuestionId,omitempty" xmlrpc:"securityQuestionId,omitempty"`
+
+ // The username you wish to authenticate to the SoftLayer customer portal with.
+ Username *string `json:"username,omitempty" xmlrpc:"username,omitempty"`
+
+ // The name of the vendor that will be used for external authentication
+ Vendor *string `json:"vendor,omitempty" xmlrpc:"vendor,omitempty"`
+}
+
+// Container classed used to hold portal token
+type Container_User_Customer_External_Binding_Phone struct {
+ Container_User_Customer_External_Binding
+}
+
+// This container can be used to configure the phone authentication mode. By default, "VOICE_CALL" in "STANDARD" mode with no Pin number will be used. With the default mode, you will have to answer a phone call from a trusted 2 form factor vendor during authentication process. You have to answer the call and follow the instruction in order to complete the authentication.
+//
+// You can also use SMS text message or PhoneFactor mobile app modes (in case you're using PhoneFactor). Additionally, you can set up a Pin number. By requiring you to verify your secret PIN, you can ensure that you have possession of your phone.
+type Container_User_Customer_External_Binding_Phone_Mode struct {
+ Entity
+
+ // Authentication mode. Valid modes are: VOICE_CALL, SMS_TEXT, PHONE_APP
+ //
+ //
+ // *VOICE_CALL
+ // In this mode, users will receive a phone call to authenticate. Using PIN can enhance the security of the phone authentication by requiring the user to enter a PIN during the authentication call. Valid Pin modes are: PIN, VOICE_PRINT, STANDARD
+ //
+ //
+ // **STANDARD: (default) No PIN is used.
+ // **PIN: 4 to 10 digit numeric value
+ // **VOICE_PRINT: The user's voice will be used to identify the user.
+ //
+ //
+ // *SMS_TEXT
+ // SMS Text mode will send a SMS text message to the user's phone to complete the authentication. There are 2 different pin modes:
+ //
+ //
+ // **OTP: (default) A text message containing a One-Time Passcode (OTP) is sent to the user. The user must reply to the text message entering this OTP to complete the authentication.
+ // **OTP_PIN: This mode enhances the security of the authentication by requiring the user to enter the OTP + their PIN in the text reply.
+ //
+ //
+ //
+ //
+ // *PHONE_APP
+ // This mode is applicable for PhoneFactor. Phone App mode results in a notification being sent to the user's PhoneFactor phone app. There are 2 different pin modes for the mobile app authentication.
+ // **STANDARD: (default) The first authentication is when the user signs on using a username and password.
+ // The second authentication is when the user receives a notification in the PhoneFactor phone app. In Standard Mode, users will prompted to authenticate, deny, or deny and report fraud.
+ // **PIN: This mode enhances the security of the authentication by requiring the user to enter their PIN in the phone app.
+ Mode *string `json:"mode,omitempty" xmlrpc:"mode,omitempty"`
+
+ // Optional authentication pin.
+ Pin *string `json:"pin,omitempty" xmlrpc:"pin,omitempty"`
+
+ // Available Pin modes are: PIN, VOICE_PRINT, STANDARD Default: STANDARD (Pin is not used)
+ PinMode *string `json:"pinMode,omitempty" xmlrpc:"pinMode,omitempty"`
+}
+
+// Container classed used to hold portal token
+type Container_User_Customer_External_Binding_Totp struct {
+ Container_User_Customer_External_Binding
+
+ // The security code used to validate a Totp credential.
+ SecurityCode *string `json:"securityCode,omitempty" xmlrpc:"securityCode,omitempty"`
+}
+
+// Container classed used to hold details about an external authentication vendor.
+type Container_User_Customer_External_Binding_Vendor struct {
+ Entity
+
+ // The keyname used to identify an external authentication vendor.
+ KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
+
+ // The name of an external authentication vendor.
+ Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
+}
+
+// Container classed used to hold portal token
+type Container_User_Customer_External_Binding_Verisign struct {
+ Container_User_Customer_External_Binding
+
+ // A second security code that is only required if your credential has become unsynchronized.
+ SecondSecurityCode *string `json:"secondSecurityCode,omitempty" xmlrpc:"secondSecurityCode,omitempty"`
+
+ // The security code used to validate a VeriSign credential.
+ SecurityCode *string `json:"securityCode,omitempty" xmlrpc:"securityCode,omitempty"`
+}
+
+// no documentation yet
+type Container_User_Customer_OpenIdConnect_LoginAccountInfo struct {
+ Entity
+
+ // The customer account's internal identifier.
+ Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
+
+ // The company name associated with an account.
+ Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
+}
+
+// no documentation yet
+type Container_User_Customer_OpenIdConnect_MigrationState struct {
+ Entity
+
+ // The number of days remaining in the grace period for this user's account to
+ DaysToGracePeriodEnd *int `json:"daysToGracePeriodEnd,omitempty" xmlrpc:"daysToGracePeriodEnd,omitempty"`
+
+ // Flag for whether the email address inside this SoftLayer_User_Customer object
+ EmailAlreadyUsedForInvitationToAccount *bool `json:"emailAlreadyUsedForInvitationToAccount,omitempty" xmlrpc:"emailAlreadyUsedForInvitationToAccount,omitempty"`
+
+ // Flag for whether the email address inside this SoftLayer_User_Customer object
+ EmailAlreadyUsedForLinkToAccount *bool `json:"emailAlreadyUsedForLinkToAccount,omitempty" xmlrpc:"emailAlreadyUsedForLinkToAccount,omitempty"`
+
+ // The IBMid email address where an invitation was sent.
+ ExistingInvitationOpenIdConnectName *string `json:"existingInvitationOpenIdConnectName,omitempty" xmlrpc:"existingInvitationOpenIdConnectName,omitempty"`
+
+ // Flag for whether the account is OpenIdConnect authenticated or not.
+ IsAccountOpenIdConnectAuthenticated *bool `json:"isAccountOpenIdConnectAuthenticated,omitempty" xmlrpc:"isAccountOpenIdConnectAuthenticated,omitempty"`
+}
+
+// Container for holding information necessary for the setting and resetting of customer passwords
+//
+//
+type Container_User_Customer_PasswordSet struct {
+ Entity
+
+ // id of SoftLayer_User_Security_Question
+ AnsweredSecurityQuestionId *int `json:"answeredSecurityQuestionId,omitempty" xmlrpc:"answeredSecurityQuestionId,omitempty"`
+
+ // the authentication methods required
+ AuthenticationMethods []int `json:"authenticationMethods,omitempty" xmlrpc:"authenticationMethods,omitempty"`
+
+ // the password key provided to user in the password set url link sent via email
+ Key *string `json:"key,omitempty" xmlrpc:"key,omitempty"`
+
+ // the user's new password
+ Password *string `json:"password,omitempty" xmlrpc:"password,omitempty"`
+
+ // answer to security question provided by the user
+ SecurityAnswer *string `json:"securityAnswer,omitempty" xmlrpc:"securityAnswer,omitempty"`
+
+ // array of SoftLayer_User_Security_Question
+ SecurityQuestions []User_Security_Question `json:"securityQuestions,omitempty" xmlrpc:"securityQuestions,omitempty"`
+
+ // the id of the user to authenticate
+ UserId *int `json:"userId,omitempty" xmlrpc:"userId,omitempty"`
+}
+
+// Container classed used to hold mobile portal token
+type Container_User_Customer_Portal_MobileToken struct {
+ Container_User_Customer_Portal_Token
+
+ // True if this user login required an external binding.
+ HasExternalBinding *bool `json:"hasExternalBinding,omitempty" xmlrpc:"hasExternalBinding,omitempty"`
+}
+
+// Container classed used to hold portal token
+type Container_User_Customer_Portal_Token struct {
+ Entity
+
+ // hash of logged in user session id
+ Hash *string `json:"hash,omitempty" xmlrpc:"hash,omitempty"`
+
+ // the logged in user data
+ User *User_Customer `json:"user,omitempty" xmlrpc:"user,omitempty"`
+
+ // the id of the logged in user
+ UserId *int `json:"userId,omitempty" xmlrpc:"userId,omitempty"`
+}
+
+// This container holds user's phone information.
+type Container_User_Data_Phone struct {
+ Entity
+
+ // Country code number for the phone number Default: 1 (United States & Canada +1)
+ CountryCode *int `json:"countryCode,omitempty" xmlrpc:"countryCode,omitempty"`
+
+ // Phone extension code. It can be digits, commas, *, and # are allowed.
+ Extension *string `json:"extension,omitempty" xmlrpc:"extension,omitempty"`
+
+ // Phone number can be a mobile phone number, desk phone number, or some other option. The phone number format must match the format selected in the country code.
+ Phone *string `json:"phone,omitempty" xmlrpc:"phone,omitempty"`
+
+ // Type of phone number such as "primary", "office" or "home"
+ PhoneType *string `json:"phoneType,omitempty" xmlrpc:"phoneType,omitempty"`
+}
+
+// Container classed used to hold portal token
+type Container_User_Employee_External_Binding_Verisign struct {
+ Entity
+}
+
+// At times,such as when attaching files to tickets, it is necessary to send files to SoftLayer API methods. The SoftLayer_Container_Utility_File_Attachment data type models a single file to upload to the API.
+type Container_Utility_File_Attachment struct {
+ Entity
+
+ // The contents of a file that is uploaded to the SoftLayer API.
+ Data *[]byte `json:"data,omitempty" xmlrpc:"data,omitempty"`
+
+ // The name of a file that is uploaded to the SoftLayer API.
+ Filename *string `json:"filename,omitempty" xmlrpc:"filename,omitempty"`
+}
+
+// Used to describe a document in the file system on the file server
+type Container_Utility_File_Descriptor struct {
+ Entity
+
+ // The name of a file as it exists on the file server.
+ FileName *string `json:"fileName,omitempty" xmlrpc:"fileName,omitempty"`
+
+ // The friendly name of a file as it exists on the file server.
+ FriendlyName *string `json:"friendlyName,omitempty" xmlrpc:"friendlyName,omitempty"`
+
+ // The date the file was last modified on the file server.
+ ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
+}
+
+// SoftLayer_Container_Utility_File_Entity data type models a single entity on a storage resource. Entities can include anything within a storage volume including files, folders, directories, and CloudLayer storage projects.
+type Container_Utility_File_Entity struct {
+ Entity
+
+ // A file entity's raw content.
+ Content *[]byte `json:"content,omitempty" xmlrpc:"content,omitempty"`
+
+ // A file entity's MIME content type.
+ ContentType *string `json:"contentType,omitempty" xmlrpc:"contentType,omitempty"`
+
+ // The date a file entity was created.
+ CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
+
+ // The date a CloudLayer storage file entity was moved into the recycle bin. This field applies to files that are pending deletion in the recycle bin.
+ DeleteDate *Time `json:"deleteDate,omitempty" xmlrpc:"deleteDate,omitempty"`
+
+ // Unique identifier for the file. This can be either a number or guid.
+ Id *string `json:"id,omitempty" xmlrpc:"id,omitempty"`
+
+ // Whether a CloudLayer storage file entity is shared with another CloudLayer user.
+ IsShared *int `json:"isShared,omitempty" xmlrpc:"isShared,omitempty"`
+
+ // The date a file entity was last changed.
+ ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
+
+ // A file entity's name.
+ Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
+
+ // The owner is usually the account who first upload or created the file on the resource or the account who is responsible for the file at the moment.
+ Owner *string `json:"owner,omitempty" xmlrpc:"owner,omitempty"`
+
+ // The size of a file entity in bytes.
+ Size *uint `json:"size,omitempty" xmlrpc:"size,omitempty"`
+
+ // A CloudLayer storage file entity's type. Types can include "file", "folder", "dir", and "project".
+ Type *string `json:"type,omitempty" xmlrpc:"type,omitempty"`
+
+ // The latest revision of a file on a CloudLayer storage volume. This number increments each time a new revision of the file is uploaded.
+ Version *int `json:"version,omitempty" xmlrpc:"version,omitempty"`
+}
+
+// no documentation yet
+type Container_Utility_Message struct {
+ Entity
+
+ // no documentation yet
+ CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
+
+ // no documentation yet
+ Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
+
+ // no documentation yet
+ Message *string `json:"message,omitempty" xmlrpc:"message,omitempty"`
+
+ // no documentation yet
+ ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
+
+ // no documentation yet
+ Summary *string `json:"summary,omitempty" xmlrpc:"summary,omitempty"`
+}
+
+// SoftLayer customer servers that are purchased with the Microsoft Windows operating system are configured by default to retrieve updates from SoftLayer's local Windows Server Update Services (WSUS) server. Periodically, these servers synchronize and check for new updates from their local WSUS server. SoftLayer_Container_Utility_Microsoft_Windows_UpdateServices_Status models the results of a server's last synchronization attempt as queried from SoftLayer's WSUS servers.
+type Container_Utility_Microsoft_Windows_UpdateServices_Status struct {
+ Entity
+
+ // The last time a server rebooted due to a Windows Update.
+ LastRebootDate *Time `json:"lastRebootDate,omitempty" xmlrpc:"lastRebootDate,omitempty"`
+
+ // The last time that SoftLayer's local WSUS server received a status update from a customer server.
+ LastStatusDate *Time `json:"lastStatusDate,omitempty" xmlrpc:"lastStatusDate,omitempty"`
+
+ // The last time a server synchronized with SoftLayer's local WSUS server.
+ LastSyncDate *Time `json:"lastSyncDate,omitempty" xmlrpc:"lastSyncDate,omitempty"`
+
+ // This is the private IP address for this server.
+ PrivateIPAddress *string `json:"privateIPAddress,omitempty" xmlrpc:"privateIPAddress,omitempty"`
+
+ // The status message returned from a server's last synchronization with SoftLayer's local WSUS server.
+ SyncStatus *string `json:"syncStatus,omitempty" xmlrpc:"syncStatus,omitempty"`
+
+ // A server's update status, as retrieved form SoftLayer's local WSUS server.
+ UpdateStatus *string `json:"updateStatus,omitempty" xmlrpc:"updateStatus,omitempty"`
+}
+
+// SoftLayer_Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem models a single Microsoft Update as reported by SoftLayer's private Windows Server Update Services (WSUS) services. All servers purchased with Microsoft Windows retrieve updates from SoftLayer's WSUS servers by default.
+type Container_Utility_Microsoft_Windows_UpdateServices_UpdateItem struct {
+ Entity
+
+ // A short description of a Microsoft Windows Update.
+ Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
+
+ // Flag indicating that this patch failed to properly install
+ Failed *bool `json:"failed,omitempty" xmlrpc:"failed,omitempty"`
+
+ // A Windows Update's knowledge base article number. Every Windows Update can be referenced on the Microsoft Help and Support site at the URL swift://@//
+ Uri *string `json:"uri,omitempty" xmlrpc:"uri,omitempty"`
+}
+
+// The guest configuration container is used to provide configuration options for creating computing instances.
+//
+// Each configuration option will include both an itemPrice
and a template
.
+//
+// The itemPrice
value will provide hourly and monthly costs (if either are applicable), and a description of the option.
+//
+// The template
will provide a fragment of the request with the properties and values that must be sent when creating a computing instance with the option.
+//
+// The [[SoftLayer_Virtual_Guest/getCreateObjectOptions|getCreateObjectOptions]] method returns this data structure.
+//
+//
+type Container_Virtual_Guest_Configuration struct {
+ Entity
+
+ //
+ // device
number of '0'
.
+ //
+ //
+ // The blockDevices.device
value in the template represents which device the option is for.
+ // The blockDevices.diskImage.capacity
value in the template represents the size, in gigabytes, of the disk.
+ // The localDiskFlag
value in the template represents whether the option is a local or SAN based disk.
+ //
+ //
+ // Note: The block device number '1'
is reserved for the SWAP disk attached to the computing instance.
+ // datacenter.name
value in the template represents which datacenter the computing instance will be provisioned in.
+ // maxMemory
value in the template represents the amount of memory, in megabytes, allocated to the computing instance.
+ // networkComponent.maxSpeed
value in the template represents the link speed, in megabits per second, of the network connections for a computing instance.
+ // operatingSystemReferenceCode
value in the template is an identifier for a particular operating system. When provided exactly as shown in the template, that operating system will be used.
+ //
+ //
+ // A reference code is structured as three tokens separated by underscores. The first token represents the product, the second is the version of the product, and the third is whether the OS is 32 or 64bit.
+ //
+ //
+ // When providing an operatingSystemReferenceCode
while ordering a computing instance the only token required to match exactly is the product. The version token may be given as 'LATEST', else it will require an exact match as well. When the bits token is not provided, 64 bits will be assumed.
+ //
+ //
+ // Providing the value of 'LATEST' for a version will select the latest release of that product for the operating system. As this may change over time, you should be sure that the release version is irrelevant for your applications.
+ //
+ //
+ // For Windows based operating systems the version will represent both the release version (2008, 2012, etc) and the edition (Standard, Enterprise, etc). For all other operating systems the version will represent the major version (Centos 6, Ubuntu 12, etc) of that operating system, minor versions are not represented in a reference code.
+ //
+ //
+ // Notice - Some operating systems are charged based on the value specified in startCpus
. The price which is used can be determined by calling [[SoftLayer_Virtual_Guest/generateOrderTemplate|generateOrderTemplate]] with your desired device specifications.
+ // startCpus
value in the template represents the number of cores allocated to the computing instance.
+ // The dedicatedAccountHostOnlyFlag
value in the template represents whether the instance will run on hosts with instances belonging to other accounts.
+ // detailTypeId
regionalInternetRegistryHandleId
registrationDetailId
propertyTypeId
sequencePosition
value
provisionDate
property.
+// When provisionDate
is not null, the server will be ready. Be sure to use the globalIdentifier
+// as your initialization parameter.
+//
+//
+// Warning: Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
+//
+//
+// Input - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
+// hostname
+// domain
+// processorCoreAmount
+// memoryCapacity
+// hourlyBillingFlag
+// operatingSystemReferenceCode
+// datacenter.name
+// datacenter
property is a [[SoftLayer_Location (type)|location]] structure with the name
field set.networkComponents.maxSpeed
+// networkComponents
property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. The maxSpeed
property must be set to specify the network uplink speed, in megabits per second, of the server.networkComponents.redundancyEnabledFlag
+// false
networkComponents
property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. When the redundancyEnabledFlag
property is true the server's network components will be in redundancy groups.privateNetworkOnlyFlag
+// false
primaryNetworkComponent.networkVlan.id
+// primaryNetworkComponent
property is a [[SoftLayer_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the frontend network vlan of the server.primaryBackendNetworkComponent.networkVlan.id
+// primaryBackendNetworkComponent
property is a [[SoftLayer_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the backend network vlan of the server.fixedConfigurationPreset.keyName
+// fixedConfigurationPreset
property is a [[SoftLayer_Product_Package_Preset (type)|fixed configuration preset]] structure. The keyName
property must be set to specify preset to use.processorCoreAmount
, memoryCapacity
and hardDrives
properties must not be set.userData.value
+// userData
property is an array with a single [[SoftLayer_Hardware_Attribute (type)|attribute]] structure with the value
property set to an arbitrary value.hardDrives
+// hardDrives
property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.
+// capacity
property.sshKeys
+// sshKeys
property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the id
property set to the value of an existing SSH key.postInstallScriptUri
+// provisionDate
property.
+// When provisionDate
is not null, the server will be ready. Be sure to use the globalIdentifier
+// as your initialization parameter.
+//
+//
+// Warning: Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
+//
+//
+// Input - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
+// hostname
+// domain
+// processorCoreAmount
+// memoryCapacity
+// hourlyBillingFlag
+// operatingSystemReferenceCode
+// datacenter.name
+// datacenter
property is a [[SoftLayer_Location (type)|location]] structure with the name
field set.networkComponents.maxSpeed
+// networkComponents
property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. The maxSpeed
property must be set to specify the network uplink speed, in megabits per second, of the server.networkComponents.redundancyEnabledFlag
+// false
networkComponents
property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. When the redundancyEnabledFlag
property is true the server's network components will be in redundancy groups.privateNetworkOnlyFlag
+// false
primaryNetworkComponent.networkVlan.id
+// primaryNetworkComponent
property is a [[SoftLayer_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the frontend network vlan of the server.primaryBackendNetworkComponent.networkVlan.id
+// primaryBackendNetworkComponent
property is a [[SoftLayer_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the backend network vlan of the server.fixedConfigurationPreset.keyName
+// fixedConfigurationPreset
property is a [[SoftLayer_Product_Package_Preset (type)|fixed configuration preset]] structure. The keyName
property must be set to specify preset to use.processorCoreAmount
, memoryCapacity
and hardDrives
properties must not be set.userData.value
+// userData
property is an array with a single [[SoftLayer_Hardware_Attribute (type)|attribute]] structure with the value
property set to an arbitrary value.hardDrives
+// hardDrives
property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.
+// capacity
property.sshKeys
+// sshKeys
property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the id
property set to the value of an existing SSH key.postInstallScriptUri
+// provisionDate
property.
+// When provisionDate
is not null, the server will be ready. Be sure to use the globalIdentifier
+// as your initialization parameter.
+//
+//
+// Warning: Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
+//
+//
+// Input - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
+// hostname
+// domain
+// processorCoreAmount
+// memoryCapacity
+// hourlyBillingFlag
+// operatingSystemReferenceCode
+// datacenter.name
+// datacenter
property is a [[SoftLayer_Location (type)|location]] structure with the name
field set.networkComponents.maxSpeed
+// networkComponents
property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. The maxSpeed
property must be set to specify the network uplink speed, in megabits per second, of the server.networkComponents.redundancyEnabledFlag
+// false
networkComponents
property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. When the redundancyEnabledFlag
property is true the server's network components will be in redundancy groups.privateNetworkOnlyFlag
+// false
primaryNetworkComponent.networkVlan.id
+// primaryNetworkComponent
property is a [[SoftLayer_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the frontend network vlan of the server.primaryBackendNetworkComponent.networkVlan.id
+// primaryBackendNetworkComponent
property is a [[SoftLayer_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the backend network vlan of the server.fixedConfigurationPreset.keyName
+// fixedConfigurationPreset
property is a [[SoftLayer_Product_Package_Preset (type)|fixed configuration preset]] structure. The keyName
property must be set to specify preset to use.processorCoreAmount
, memoryCapacity
and hardDrives
properties must not be set.userData.value
+// userData
property is an array with a single [[SoftLayer_Hardware_Attribute (type)|attribute]] structure with the value
property set to an arbitrary value.hardDrives
+// hardDrives
property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.
+// capacity
property.sshKeys
+// sshKeys
property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the id
property set to the value of an existing SSH key.postInstallScriptUri
+// provisionDate
property.
+// When provisionDate
is not null, the server will be ready. Be sure to use the globalIdentifier
+// as your initialization parameter.
+//
+//
+// Warning: Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
+//
+//
+// Input - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
+// hostname
+// domain
+// processorCoreAmount
+// memoryCapacity
+// hourlyBillingFlag
+// operatingSystemReferenceCode
+// datacenter.name
+// datacenter
property is a [[SoftLayer_Location (type)|location]] structure with the name
field set.networkComponents.maxSpeed
+// networkComponents
property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. The maxSpeed
property must be set to specify the network uplink speed, in megabits per second, of the server.networkComponents.redundancyEnabledFlag
+// false
networkComponents
property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. When the redundancyEnabledFlag
property is true the server's network components will be in redundancy groups.privateNetworkOnlyFlag
+// false
primaryNetworkComponent.networkVlan.id
+// primaryNetworkComponent
property is a [[SoftLayer_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the frontend network vlan of the server.primaryBackendNetworkComponent.networkVlan.id
+// primaryBackendNetworkComponent
property is a [[SoftLayer_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the backend network vlan of the server.fixedConfigurationPreset.keyName
+// fixedConfigurationPreset
property is a [[SoftLayer_Product_Package_Preset (type)|fixed configuration preset]] structure. The keyName
property must be set to specify preset to use.processorCoreAmount
, memoryCapacity
and hardDrives
properties must not be set.userData.value
+// userData
property is an array with a single [[SoftLayer_Hardware_Attribute (type)|attribute]] structure with the value
property set to an arbitrary value.hardDrives
+// hardDrives
property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.
+// capacity
property.sshKeys
+// sshKeys
property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the id
property set to the value of an existing SSH key.postInstallScriptUri
+// networkIdentifier
cidr
detailId
registrationId
port_speed=10,guest_disk0=LOCAL_DISK
port_speed=100,disk0=SAN_DISK
port_speed=100,private_network_only=1,guest_disk0=LOCAL_DISK
port_speed
guest_disk0
or disk0
, with values of either LOCAL_DISK
or SAN_DISK
private_network_only
dual_path_network
SoftLayer_Container_Product_Order_
has been removed from the containers in the table below for readability.Product | +//Order container | +//Package type | +//
---|---|---|
Bare metal server by CPU | +//[[SoftLayer_Container_Product_Order_Hardware_Server (type)|Hardware_Server]] | +//BARE_METAL_CPU | +//
Bare metal server by core | +//[[SoftLayer_Container_Product_Order_Hardware_Server (type)|Hardware_Server]] | +//BARE_METAL_CORE | +//
Virtual server | +//[[SoftLayer_Container_Product_Order_Virtual_Guest (type)|Virtual_Guest]] | +//VIRTUAL_SERVER_INSTANCE | +//
DNS domain registration | +//[[SoftLayer_Container_Product_Order_Dns_Domain_Registration (type)|Dns_Domain_Registration]] | +//ADDITIONAL_SERVICES | +//
Local & dedicated load balancers | +//[[SoftLayer_Container_Product_Order_Network_LoadBalancer (type)|Network_LoadBalancer]] | +//ADDITIONAL_SERVICES_LOAD_BALANCER | +//
Content delivery network | +//[[SoftLayer_Container_Product_Order_Network_ContentDelivery_Account (type)|Network_ContentDelivery_Account]] | +//ADDITIONAL_SERVICES_CDN | +//
Content delivery network Addon | +//[[SoftLayer_Container_Product_Order_Network_ContentDelivery_Account_Addon (type)|Network_ContentDelivery_Account_Addon]] | +//ADDITIONAL_SERVICES_CDN_ADDON | +//
Message queue | +//[[SoftLayer_Container_Product_Order_Network_Message_Queue (type)|Network_Message_Queue]] | +//ADDITIONAL_SERVICES_MESSAGE_QUEUE | +//
Hardware & software firewalls | +//[[SoftLayer_Container_Product_Order_Network_Protection_Firewall (type)|Network_Protection_Firewall]] | +//ADDITIONAL_SERVICES_FIREWALL | +//
Dedicated firewall | +//[[SoftLayer_Container_Product_Order_Network_Protection_Firewall_Dedicated (type)|Network_Protection_Firewall_Dedicated]] | +//ADDITIONAL_SERVICES_FIREWALL | +//
Object storage | +//[[SoftLayer_Container_Product_Order_Network_Storage_Object (type)|Network_Storage_Object]] | +//ADDITIONAL_SERVICES_OBJECT_STORAGE | +//
Object storage (hub) | +//[[SoftLayer_Container_Product_Order_Network_Storage_Hub (type)|Network_Storage_Hub]] | +//ADDITIONAL_SERVICES_OBJECT_STORAGE | +//
Network attached storage | +//[[SoftLayer_Container_Product_Order_Network_Storage_Nas (type)|Network_Storage_Nas]] | +//ADDITIONAL_SERVICES_NETWORK_ATTACHED_STORAGE | +//
Iscsi storage | +//[[SoftLayer_Container_Product_Order_Network_Storage_Iscsi (type)|Network_Storage_Iscsi]] | +//ADDITIONAL_SERVICES_ISCSI_STORAGE | +//
Evault | +//[[SoftLayer_Container_Product_Order_Network_Storage_Backup_Evault_Vault (type)|Network_Storage_Backup_Evault_Vault]] | +//ADDITIONAL_SERVICES | +//
Evault Plugin | +//[[SoftLayer_Container_Product_Order_Network_Storage_Backup_Evault_Plugin (type)|Network_Storage_Backup_Evault_Plugin]] | +//ADDITIONAL_SERVICES | +//
Application delivery appliance | +//[[SoftLayer_Container_Product_Order_Network_Application_Delivery_Controller (type)|Network_Application_Delivery_Controller]] | +//ADDITIONAL_SERVICES_APPLICATION_DELIVERY_APPLIANCE | +//
Network subnet | +//[[SoftLayer_Container_Product_Order_Network_Subnet (type)|Network_Subnet]] | +//ADDITIONAL_SERVICES | +//
Global IPv4 | +//[[SoftLayer_Container_Product_Order_Network_Subnet (type)|Network_Subnet]] | +//ADDITIONAL_SERVICES_GLOBAL_IP_ADDRESSES | +//
Global IPv6 | +//[[SoftLayer_Container_Product_Order_Network_Subnet (type)|Network_Subnet]] | +//ADDITIONAL_SERVICES_GLOBAL_IP_ADDRESSES | +//
Network VLAN | +//[[SoftLayer_Container_Product_Order_Network_Vlan (type)|Network_Vlan]] | +//ADDITIONAL_SERVICES_NETWORK_VLAN | +//
Portable storage | +//[[SoftLayer_Container_Product_Order_Virtual_Disk_Image (type)|Virtual_Disk_Image]] | +//ADDITIONAL_SERVICES_PORTABLE_STORAGE | +//
SSL certificate | +//[[SoftLayer_Container_Product_Order_Security_Certificate (type)|Security_Certificate]] | +//ADDITIONAL_SERVICES_SSL_CERTIFICATE | +//
External authentication | +//[[SoftLayer_Container_Product_Order_User_Customer_External_Binding (type)|User_Customer_External_Binding]] | +//ADDITIONAL_SERVICES | +//
Dedicated Host | +//[[SoftLayer_Container_Product_Order_Virtual_DedicatedHost (type)|Virtual_DedicatedHosts]] | +//DEDICATED_HOST | +//
primaryBackendNetworkComponent
and primaryNetworkComponent
.orderContainers
property on the base [[SoftLayer_Container_Product_Order (type)|order container]].SoftLayer_Exception_Order
exception type will be specified in the result.verifyOrder
accepts the same [[SoftLayer_Container_Product_Order (type)|container types]] as placeOrder
, so see [[SoftLayer_Product_Order/placeOrder|placeOrder]] for more details.
+//
+//
+func (r Product_Order) VerifyOrder(orderData interface{}) (resp datatypes.Container_Product_Order, err error) {
+ err = datatypes.SetComplexType(orderData)
+ if err != nil {
+ return
+ }
+ params := []interface{}{
+ orderData,
+ }
+ err = r.Session.DoRequest("SoftLayer_Product_Order", "verifyOrder", params, &r.Options, &resp)
+ return
+}
+
+// The SoftLayer_Product_Package data type contains information about packages from which orders can be generated. Packages contain general information regarding what is in them, where they are currently sold, availability, and pricing.
+type Product_Package struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProductPackageService returns an instance of the Product_Package SoftLayer service
+func GetProductPackageService(sess *session.Session) Product_Package {
+ return Product_Package{Session: sess}
+}
+
+func (r Product_Package) Id(id int) Product_Package {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Product_Package) Mask(mask string) Product_Package {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Product_Package) Filter(filter string) Product_Package {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Product_Package) Limit(limit int) Product_Package {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Product_Package) Offset(offset int) Product_Package {
+ r.Options.Offset = &offset
+ return r
+}
+
+// Retrieve The results from this call are similar to [[SoftLayer_Product_Package/getCategories|getCategories]], but these ONLY include account-restricted prices. Not all accounts have restricted pricing.
+func (r Product_Package) GetAccountRestrictedCategories() (resp []datatypes.Product_Item_Category, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getAccountRestrictedCategories", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The flag to indicate if there are any restricted prices in a package for the currently-active account.
+func (r Product_Package) GetAccountRestrictedPricesFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getAccountRestrictedPricesFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Return a list of Items in the package with their active prices.
+func (r Product_Package) GetActiveItems() (resp []datatypes.Product_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getActiveItems", nil, &r.Options, &resp)
+ return
+}
+
+// This method is deprecated and should not be used in production code.
+//
+// This method will return the [[SoftLayer_Product_Package]] objects from which you can order a bare metal server, virtual server, service (such as CDN or Object Storage) or other software filtered by an attribute type associated with the package. Once you have the package you want to order from, you may query one of various endpoints from that package to get specific information about its products and pricing. See [[SoftLayer_Product_Package/getCategories|getCategories]] or [[SoftLayer_Product_Package/getItems|getItems]] for more information.
+func (r Product_Package) GetActivePackagesByAttribute(attributeKeyName *string) (resp []datatypes.Product_Package, err error) {
+ params := []interface{}{
+ attributeKeyName,
+ }
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getActivePackagesByAttribute", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve The available preset configurations for this package.
+func (r Product_Package) GetActivePresets() (resp []datatypes.Product_Package_Preset, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getActivePresets", nil, &r.Options, &resp)
+ return
+}
+
+// This method pulls all the active private hosted cloud packages. This will give you a basic description of the packages that are currently active and from which you can order private hosted cloud configurations.
+func (r Product_Package) GetActivePrivateHostedCloudPackages() (resp []datatypes.Product_Package, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getActivePrivateHostedCloudPackages", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A collection of valid RAM items available for purchase in this package.
+func (r Product_Package) GetActiveRamItems() (resp []datatypes.Product_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getActiveRamItems", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A collection of valid server items available for purchase in this package.
+func (r Product_Package) GetActiveServerItems() (resp []datatypes.Product_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getActiveServerItems", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A collection of valid software items available for purchase in this package.
+func (r Product_Package) GetActiveSoftwareItems() (resp []datatypes.Product_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getActiveSoftwareItems", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A collection of [[SoftLayer_Product_Item_Price]] objects for pay-as-you-go usage.
+func (r Product_Package) GetActiveUsagePrices() (resp []datatypes.Product_Item_Price, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getActiveUsagePrices", nil, &r.Options, &resp)
+ return
+}
+
+// This method returns a collection of active usage rate [[SoftLayer_Product_Item_Price]] objects for the current package and specified datacenter. Optionally you can retrieve the active usage rate prices for a particular [[SoftLayer_Product_Item_Category]] by specifying a category code as the first parameter. This information is useful so that you can see "pay as you go" rates (if any) for the current package, location and optionally category.
+func (r Product_Package) GetActiveUsageRatePrices(locationId *int, categoryCode *string) (resp []datatypes.Product_Item_Price, err error) {
+ params := []interface{}{
+ locationId,
+ categoryCode,
+ }
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getActiveUsageRatePrices", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve This flag indicates that the package is an additional service.
+func (r Product_Package) GetAdditionalServiceFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getAdditionalServiceFlag", nil, &r.Options, &resp)
+ return
+}
+
+// This method pulls all the active packages. This will give you a basic description of the packages that are currently active
+func (r Product_Package) GetAllObjects() (resp []datatypes.Product_Package, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getAllObjects", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Product_Package) GetAttributes() (resp []datatypes.Product_Package_Attribute, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getAttributes", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]])
+func (r Product_Package) GetAvailableLocations() (resp []datatypes.Product_Package_Locations, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getAvailableLocations", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Product_Package) GetAvailablePackagesForImageTemplate(imageTemplate *datatypes.Virtual_Guest_Block_Device_Template_Group) (resp []datatypes.Product_Package, err error) {
+ params := []interface{}{
+ imageTemplate,
+ }
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getAvailablePackagesForImageTemplate", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve The maximum number of available disk storage units associated with the servers in a package.
+func (r Product_Package) GetAvailableStorageUnits() (resp uint, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getAvailableStorageUnits", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve This is a collection of categories ([[SoftLayer_Product_Item_Category]]) associated with a package which can be used for ordering. These categories have several objects prepopulated which are useful when determining the available products for purchase. The categories contain groups ([[SoftLayer_Product_Package_Item_Category_Group]]) that organize the products and prices by similar features. For example, operating systems will be grouped by their manufacturer and virtual server disks will be grouped by their disk type (SAN vs. local). Each group will contain prices ([[SoftLayer_Product_Item_Price]]) which you can use determine the cost of each product. Each price has a product ([[SoftLayer_Product_Item]]) which provides the name and other useful information about the server, service or software you may purchase.
+func (r Product_Package) GetCategories() (resp []datatypes.Product_Item_Category, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getCategories", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Product_Package) GetCdnItems() (resp []datatypes.Product_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getCdnItems", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Product_Package) GetCloudStorageItems(provider *int) (resp []datatypes.Product_Item, err error) {
+ params := []interface{}{
+ provider,
+ }
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getCloudStorageItems", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve The item categories associated with a package, including information detailing which item categories are required as part of a SoftLayer product order.
+func (r Product_Package) GetConfiguration() (resp []datatypes.Product_Package_Order_Configuration, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getConfiguration", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A collection of valid RAM items available for purchase in this package.
+func (r Product_Package) GetDefaultRamItems() (resp []datatypes.Product_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getDefaultRamItems", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The node type for a package in a solution deployment.
+func (r Product_Package) GetDeploymentNodeType() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getDeploymentNodeType", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The packages that are allowed in a multi-server solution. (Deprecated)
+func (r Product_Package) GetDeploymentPackages() (resp []datatypes.Product_Package, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getDeploymentPackages", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The solution deployment type.
+func (r Product_Package) GetDeploymentType() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getDeploymentType", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The package that represents a multi-server solution. (Deprecated)
+func (r Product_Package) GetDeployments() (resp []datatypes.Product_Package, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getDeployments", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve This flag indicates the package does not allow custom disk partitions.
+func (r Product_Package) GetDisallowCustomDiskPartitions() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getDisallowCustomDiskPartitions", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The Softlayer order step is optionally step-based. This returns the first SoftLayer_Product_Package_Order_Step in the step-based order process.
+func (r Product_Package) GetFirstOrderStep() (resp datatypes.Product_Package_Order_Step, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getFirstOrderStep", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve Whether the package is a specialized network gateway appliance package.
+func (r Product_Package) GetGatewayApplianceFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getGatewayApplianceFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve This flag indicates that the package supports GPUs.
+func (r Product_Package) GetGpuFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getGpuFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve Determines whether the package contains prices that can be ordered hourly.
+func (r Product_Package) GetHourlyBillingAvailableFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getHourlyBillingAvailableFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Returns a collection of SoftLayer_Product_Item_Attribute_Type objects. These item attribute types specifically deal with when an item, SoftLayer_Product_Item, from the product catalog may no longer be available. The keynames for these attribute types start with 'UNAVAILABLE_AFTER_DATE_*', where the '*' may represent any string. For example, 'UNAVAILABLE_AFTER_DATE_NEW_ORDERS', signifies that the item is not available for new orders. There is a catch all attribute type, 'UNAVAILABLE_AFTER_DATE_ALL'. If an item has one of these availability attributes set, the value should be a valid date in MM/DD/YYYY, indicating the date after which the item will no longer be available.
+func (r Product_Package) GetItemAvailabilityTypes() (resp []datatypes.Product_Item_Attribute_Type, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getItemAvailabilityTypes", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The item-item conflicts associated with a package.
+func (r Product_Package) GetItemConflicts() (resp []datatypes.Product_Item_Resource_Conflict, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getItemConflicts", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The item-location conflicts associated with a package.
+func (r Product_Package) GetItemLocationConflicts() (resp []datatypes.Product_Item_Resource_Conflict, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getItemLocationConflicts", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve cross reference for item prices
+func (r Product_Package) GetItemPriceReferences() (resp []datatypes.Product_Package_Item_Prices, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getItemPriceReferences", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A collection of SoftLayer_Product_Item_Prices that are valid for this package.
+func (r Product_Package) GetItemPrices() (resp []datatypes.Product_Item_Price, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getItemPrices", nil, &r.Options, &resp)
+ return
+}
+
+// Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description
+func (r Product_Package) GetItemPricesFromSoftwareDescriptions(softwareDescriptions []datatypes.Software_Description, includeTranslationsFlag *bool, returnAllPricesFlag *bool) (resp []datatypes.Product_Item_Price, err error) {
+ params := []interface{}{
+ softwareDescriptions,
+ includeTranslationsFlag,
+ returnAllPricesFlag,
+ }
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getItemPricesFromSoftwareDescriptions", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve A collection of valid items available for purchase in this package.
+func (r Product_Package) GetItems() (resp []datatypes.Product_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getItems", nil, &r.Options, &resp)
+ return
+}
+
+// Return a collection of [[SoftLayer_Product_Item]] objects from a [[SoftLayer_Virtual_Guest_Block_Device_Template_Group]] object
+func (r Product_Package) GetItemsFromImageTemplate(imageTemplate *datatypes.Virtual_Guest_Block_Device_Template_Group) (resp []datatypes.Product_Item, err error) {
+ params := []interface{}{
+ imageTemplate,
+ }
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getItemsFromImageTemplate", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve A collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]])
+func (r Product_Package) GetLocations() (resp []datatypes.Location, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getLocations", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The lowest server [[SoftLayer_Product_Item_Price]] related to this package.
+func (r Product_Package) GetLowestServerPrice() (resp datatypes.Product_Item_Price, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getLowestServerPrice", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The maximum available network speed associated with the package.
+func (r Product_Package) GetMaximumPortSpeed() (resp uint, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getMaximumPortSpeed", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Product_Package) GetMessageQueueItems() (resp []datatypes.Product_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getMessageQueueItems", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The minimum available network speed associated with the package.
+func (r Product_Package) GetMinimumPortSpeed() (resp uint, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getMinimumPortSpeed", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve This flag indicates that this is a MongoDB engineered package. (Deprecated)
+func (r Product_Package) GetMongoDbEngineeredFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getMongoDbEngineeredFlag", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Product_Package) GetObject() (resp datatypes.Product_Package, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// This method will return a collection of [[SoftLayer_Container_Product_Order_Network_Storage_Hub_Datacenter]] objects which contain a datacenter location and all the associated active usage rate prices where object storage is available. This method is really only applicable to the object storage additional service package which has a [[SoftLayer_Product_Package_Type]] of '''ADDITIONAL_SERVICES_OBJECT_STORAGE'''. This information is useful so that you can see the "pay as you go" rates per datacenter.
+func (r Product_Package) GetObjectStorageDatacenters() (resp []datatypes.Container_Product_Order_Network_Storage_Hub_Datacenter, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getObjectStorageDatacenters", nil, &r.Options, &resp)
+ return
+}
+
+// This method will return a collection of [[SoftLayer_Container_Product_Order_Network_Storage_ObjectStorage_LocationGroup]] objects which contain a location group and all the associated active usage rate prices where object storage is available. This method is really only applicable to the object storage additional service package which has a [[SoftLayer_Product_Package_Type]] of '''ADDITIONAL_SERVICES_OBJECT_STORAGE'''. This information is useful so that you can see the "pay as you go" rates per location group.
+func (r Product_Package) GetObjectStorageLocationGroups() (resp []datatypes.Container_Product_Order_Network_Storage_ObjectStorage_LocationGroup, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getObjectStorageLocationGroups", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The premium price modifiers associated with the [[SoftLayer_Product_Item_Price]] and [[SoftLayer_Location]] objects in a package.
+func (r Product_Package) GetOrderPremiums() (resp []datatypes.Product_Item_Price_Premium, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getOrderPremiums", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve This flag indicates the package is pre-configured. (Deprecated)
+func (r Product_Package) GetPreconfiguredFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getPreconfiguredFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve Whether the package requires the user to define a preset configuration.
+func (r Product_Package) GetPresetConfigurationRequiredFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getPresetConfigurationRequiredFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve Whether the package prevents the user from specifying a Vlan.
+func (r Product_Package) GetPreventVlanSelectionFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getPreventVlanSelectionFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve This flag indicates the package is for a private hosted cloud deployment. (Deprecated)
+func (r Product_Package) GetPrivateHostedCloudPackageFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getPrivateHostedCloudPackageFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The server role of the private hosted cloud deployment. (Deprecated)
+func (r Product_Package) GetPrivateHostedCloudPackageType() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getPrivateHostedCloudPackageType", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve Whether the package only has access to the private network.
+func (r Product_Package) GetPrivateNetworkOnlyFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getPrivateNetworkOnlyFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve Whether the package is a specialized mass storage QuantaStor package.
+func (r Product_Package) GetQuantaStorPackageFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getQuantaStorPackageFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve This flag indicates the package does not allow different disks with RAID.
+func (r Product_Package) GetRaidDiskRestrictionFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getRaidDiskRestrictionFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve This flag determines if the package contains a redundant power supply product.
+func (r Product_Package) GetRedundantPowerFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getRedundantPowerFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The regional locations that a package is available in.
+func (r Product_Package) GetRegions() (resp []datatypes.Location_Region, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getRegions", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The resource group template that describes a multi-server solution. (Deprecated)
+func (r Product_Package) GetResourceGroupTemplate() (resp datatypes.Resource_Group_Template, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getResourceGroupTemplate", nil, &r.Options, &resp)
+ return
+}
+
+// This call is similar to [[SoftLayer_Product_Package/getCategories|getCategories]], except that it does not include account-restricted pricing. Not all accounts have restricted pricing.
+func (r Product_Package) GetStandardCategories() (resp []datatypes.Product_Item_Category, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getStandardCategories", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The top level category code for this service offering.
+func (r Product_Package) GetTopLevelItemCategoryCode() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getTopLevelItemCategoryCode", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The type of service offering. This property can be used to help filter packages.
+func (r Product_Package) GetType() (resp datatypes.Product_Package_Type, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package", "getType", nil, &r.Options, &resp)
+ return
+}
+
+// Package presets are used to simplify ordering by eliminating the need for price ids when submitting orders.
+//
+// Orders submitted with a preset id defined will use the prices included in the package preset. Prices submitted on an order with a preset id will replace the prices included in the package preset for that prices category. If the package preset has a fixed configuration flag (fixedConfigurationFlag) set then the prices included in the preset configuration cannot be replaced by prices submitted on the order. The only exception to the fixed configuration flag would be if a price submitted on the order is an account-restricted price for the same product item.
+type Product_Package_Preset struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProductPackagePresetService returns an instance of the Product_Package_Preset SoftLayer service
+func GetProductPackagePresetService(sess *session.Session) Product_Package_Preset {
+ return Product_Package_Preset{Session: sess}
+}
+
+func (r Product_Package_Preset) Id(id int) Product_Package_Preset {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Product_Package_Preset) Mask(mask string) Product_Package_Preset {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Product_Package_Preset) Filter(filter string) Product_Package_Preset {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Product_Package_Preset) Limit(limit int) Product_Package_Preset {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Product_Package_Preset) Offset(offset int) Product_Package_Preset {
+ r.Options.Offset = &offset
+ return r
+}
+
+// This method returns all the active package presets.
+func (r Product_Package_Preset) GetAllObjects() (resp []datatypes.Product_Package_Preset, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getAllObjects", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Product_Package_Preset) GetAvailableStorageUnits() (resp uint, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getAvailableStorageUnits", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The item categories that are included in this package preset configuration.
+func (r Product_Package_Preset) GetCategories() (resp []datatypes.Product_Item_Category, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getCategories", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The preset configuration (category and price).
+func (r Product_Package_Preset) GetConfiguration() (resp []datatypes.Product_Package_Preset_Configuration, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getConfiguration", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A package preset with this flag set will not allow the price's defined in the preset configuration to be overriden during order placement.
+func (r Product_Package_Preset) GetFixedConfigurationFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getFixedConfigurationFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The lowest server prices related to this package preset.
+func (r Product_Package_Preset) GetLowestPresetServerPrice() (resp datatypes.Product_Item_Price, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getLowestPresetServerPrice", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Product_Package_Preset) GetObject() (resp datatypes.Product_Package_Preset, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The package this preset belongs to.
+func (r Product_Package_Preset) GetPackage() (resp datatypes.Product_Package, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getPackage", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The item categories associated with a package preset, including information detailing which item categories are required as part of a SoftLayer product order.
+func (r Product_Package_Preset) GetPackageConfiguration() (resp []datatypes.Product_Package_Order_Configuration, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getPackageConfiguration", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The item prices that are included in this package preset configuration.
+func (r Product_Package_Preset) GetPrices() (resp []datatypes.Product_Item_Price, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getPrices", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve Describes how all disks in this preset will be configured.
+func (r Product_Package_Preset) GetStorageGroupTemplateArrays() (resp []datatypes.Configuration_Storage_Group_Template_Group, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getStorageGroupTemplateArrays", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The starting hourly price for this configuration. Additional options not defined in the preset may increase the cost.
+func (r Product_Package_Preset) GetTotalMinimumHourlyFee() (resp datatypes.Float64, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getTotalMinimumHourlyFee", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The starting monthly price for this configuration. Additional options not defined in the preset may increase the cost.
+func (r Product_Package_Preset) GetTotalMinimumRecurringFee() (resp datatypes.Float64, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Preset", "getTotalMinimumRecurringFee", nil, &r.Options, &resp)
+ return
+}
+
+// The SoftLayer_Product_Package_Server data type contains summarized information for bare metal servers regarding pricing, processor stats, and feature sets.
+type Product_Package_Server struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProductPackageServerService returns an instance of the Product_Package_Server SoftLayer service
+func GetProductPackageServerService(sess *session.Session) Product_Package_Server {
+ return Product_Package_Server{Session: sess}
+}
+
+func (r Product_Package_Server) Id(id int) Product_Package_Server {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Product_Package_Server) Mask(mask string) Product_Package_Server {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Product_Package_Server) Filter(filter string) Product_Package_Server {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Product_Package_Server) Limit(limit int) Product_Package_Server {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Product_Package_Server) Offset(offset int) Product_Package_Server {
+ r.Options.Offset = &offset
+ return r
+}
+
+// This method will grab all the package servers.
+func (r Product_Package_Server) GetAllObjects() (resp []datatypes.Product_Package_Server, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Server", "getAllObjects", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Product_Package_Server) GetCatalog() (resp datatypes.Product_Catalog, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Server", "getCatalog", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Product_Package_Server) GetItem() (resp datatypes.Product_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Server", "getItem", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Product_Package_Server) GetItemPrice() (resp datatypes.Product_Item_Price, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Server", "getItemPrice", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Product_Package_Server) GetObject() (resp datatypes.Product_Package_Server, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Server", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Product_Package_Server) GetPackage() (resp datatypes.Product_Package, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Server", "getPackage", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Product_Package_Server) GetPreset() (resp datatypes.Product_Package_Preset, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Server", "getPreset", nil, &r.Options, &resp)
+ return
+}
+
+// The [[SoftLayer_Product_Package_Server_Option]] data type contains various data points associated with package servers that can be used in selection criteria.
+type Product_Package_Server_Option struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProductPackageServerOptionService returns an instance of the Product_Package_Server_Option SoftLayer service
+func GetProductPackageServerOptionService(sess *session.Session) Product_Package_Server_Option {
+ return Product_Package_Server_Option{Session: sess}
+}
+
+func (r Product_Package_Server_Option) Id(id int) Product_Package_Server_Option {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Product_Package_Server_Option) Mask(mask string) Product_Package_Server_Option {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Product_Package_Server_Option) Filter(filter string) Product_Package_Server_Option {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Product_Package_Server_Option) Limit(limit int) Product_Package_Server_Option {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Product_Package_Server_Option) Offset(offset int) Product_Package_Server_Option {
+ r.Options.Offset = &offset
+ return r
+}
+
+// This method will grab all the package server options.
+func (r Product_Package_Server_Option) GetAllOptions() (resp []datatypes.Product_Package_Server_Option, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Server_Option", "getAllOptions", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Product_Package_Server_Option) GetObject() (resp datatypes.Product_Package_Server_Option, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Server_Option", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// This method will grab all the package server options for the specified type.
+func (r Product_Package_Server_Option) GetOptions(typ *string) (resp []datatypes.Product_Package_Server_Option, err error) {
+ params := []interface{}{
+ typ,
+ }
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Server_Option", "getOptions", params, &r.Options, &resp)
+ return
+}
+
+// The [[SoftLayer_Product_Package_Type]] object indicates the type for a service offering (package). The type can be used to filter packages. For example, if you are looking for the package representing virtual servers, you can filter on the type's key name of '''VIRTUAL_SERVER_INSTANCE'''. For bare metal servers by core or CPU, filter on '''BARE_METAL_CORE''' or '''BARE_METAL_CPU''', respectively.
+type Product_Package_Type struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProductPackageTypeService returns an instance of the Product_Package_Type SoftLayer service
+func GetProductPackageTypeService(sess *session.Session) Product_Package_Type {
+ return Product_Package_Type{Session: sess}
+}
+
+func (r Product_Package_Type) Id(id int) Product_Package_Type {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Product_Package_Type) Mask(mask string) Product_Package_Type {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Product_Package_Type) Filter(filter string) Product_Package_Type {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Product_Package_Type) Limit(limit int) Product_Package_Type {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Product_Package_Type) Offset(offset int) Product_Package_Type {
+ r.Options.Offset = &offset
+ return r
+}
+
+// This method will return all of the available package types.
+func (r Product_Package_Type) GetAllObjects() (resp []datatypes.Product_Package_Type, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Type", "getAllObjects", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Product_Package_Type) GetObject() (resp datatypes.Product_Package_Type, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Type", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve All the packages associated with the given package type.
+func (r Product_Package_Type) GetPackages() (resp []datatypes.Product_Package, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Package_Type", "getPackages", nil, &r.Options, &resp)
+ return
+}
+
+// The SoftLayer_Product_Upgrade_Request data type contains general information relating to a hardware, virtual server, or service upgrade. It also relates a [[SoftLayer_Billing_Order]] to a [[SoftLayer_Ticket]].
+type Product_Upgrade_Request struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProductUpgradeRequestService returns an instance of the Product_Upgrade_Request SoftLayer service
+func GetProductUpgradeRequestService(sess *session.Session) Product_Upgrade_Request {
+ return Product_Upgrade_Request{Session: sess}
+}
+
+func (r Product_Upgrade_Request) Id(id int) Product_Upgrade_Request {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Product_Upgrade_Request) Mask(mask string) Product_Upgrade_Request {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Product_Upgrade_Request) Filter(filter string) Product_Upgrade_Request {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Product_Upgrade_Request) Limit(limit int) Product_Upgrade_Request {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Product_Upgrade_Request) Offset(offset int) Product_Upgrade_Request {
+ r.Options.Offset = &offset
+ return r
+}
+
+// When a change is made to an upgrade by Sales, this method will approve the changes that were made. A customer must acknowledge the change and approve it so that the upgrade request can proceed.
+func (r Product_Upgrade_Request) ApproveChanges() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "approveChanges", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The account that an order belongs to
+func (r Product_Upgrade_Request) GetAccount() (resp datatypes.Account, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "getAccount", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve Indicates that the upgrade request has completed or has been cancelled.
+func (r Product_Upgrade_Request) GetCompletedFlag() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "getCompletedFlag", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve This is the invoice associated with the upgrade request. For hourly servers or services, an invoice will not be available.
+func (r Product_Upgrade_Request) GetInvoice() (resp datatypes.Billing_Invoice, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "getInvoice", nil, &r.Options, &resp)
+ return
+}
+
+// getObject retrieves a SoftLayer_Product_Upgrade_Request object on your account whose ID corresponds to the ID of the init parameter passed to the SoftLayer_Product_Upgrade_Request service.
+func (r Product_Upgrade_Request) GetObject() (resp datatypes.Product_Upgrade_Request, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve An order record associated to the upgrade request
+func (r Product_Upgrade_Request) GetOrder() (resp datatypes.Billing_Order, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "getOrder", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A server object associated with the upgrade request if any.
+func (r Product_Upgrade_Request) GetServer() (resp datatypes.Hardware, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "getServer", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The current status of the upgrade request.
+func (r Product_Upgrade_Request) GetStatus() (resp datatypes.Product_Upgrade_Request_Status, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "getStatus", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The ticket that is used to coordinate the upgrade process.
+func (r Product_Upgrade_Request) GetTicket() (resp datatypes.Ticket, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "getTicket", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The user that placed the order.
+func (r Product_Upgrade_Request) GetUser() (resp datatypes.User_Customer, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "getUser", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A virtual server object associated with the upgrade request if any.
+func (r Product_Upgrade_Request) GetVirtualGuest() (resp datatypes.Virtual_Guest, err error) {
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "getVirtualGuest", nil, &r.Options, &resp)
+ return
+}
+
+// In case an upgrade cannot be performed, the maintenance window needs to be updated to a future date.
+func (r Product_Upgrade_Request) UpdateMaintenanceWindow(maintenanceStartTime *datatypes.Time, maintenanceWindowId *int) (resp bool, err error) {
+ params := []interface{}{
+ maintenanceStartTime,
+ maintenanceWindowId,
+ }
+ err = r.Session.DoRequest("SoftLayer_Product_Upgrade_Request", "updateMaintenanceWindow", params, &r.Options, &resp)
+ return
+}
diff --git a/vendor/github.com/softlayer/softlayer-go/services/provisioning.go b/vendor/github.com/softlayer/softlayer-go/services/provisioning.go
new file mode 100644
index 000000000..dc426bbb2
--- /dev/null
+++ b/vendor/github.com/softlayer/softlayer-go/services/provisioning.go
@@ -0,0 +1,564 @@
+/**
+ * Copyright 2016 IBM Corp.
+ *
+ * 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 the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
+ */
+
+package services
+
+import (
+ "fmt"
+ "strings"
+
+ "github.com/softlayer/softlayer-go/datatypes"
+ "github.com/softlayer/softlayer-go/session"
+ "github.com/softlayer/softlayer-go/sl"
+)
+
+// The SoftLayer_Provisioning_Hook contains all the information needed to add a hook into a server/Virtual provision and os reload.
+type Provisioning_Hook struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProvisioningHookService returns an instance of the Provisioning_Hook SoftLayer service
+func GetProvisioningHookService(sess *session.Session) Provisioning_Hook {
+ return Provisioning_Hook{Session: sess}
+}
+
+func (r Provisioning_Hook) Id(id int) Provisioning_Hook {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Provisioning_Hook) Mask(mask string) Provisioning_Hook {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Provisioning_Hook) Filter(filter string) Provisioning_Hook {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Provisioning_Hook) Limit(limit int) Provisioning_Hook {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Provisioning_Hook) Offset(offset int) Provisioning_Hook {
+ r.Options.Offset = &offset
+ return r
+}
+
+// no documentation yet
+func (r Provisioning_Hook) CreateObject(templateObject *datatypes.Provisioning_Hook) (resp datatypes.Provisioning_Hook, err error) {
+ params := []interface{}{
+ templateObject,
+ }
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "createObject", params, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Provisioning_Hook) DeleteObject() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "deleteObject", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Provisioning_Hook) EditObject(templateObject *datatypes.Provisioning_Hook) (resp bool, err error) {
+ params := []interface{}{
+ templateObject,
+ }
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "editObject", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Provisioning_Hook) GetAccount() (resp datatypes.Account, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "getAccount", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Provisioning_Hook) GetHookType() (resp datatypes.Provisioning_Hook_Type, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "getHookType", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Provisioning_Hook) GetObject() (resp datatypes.Provisioning_Hook, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Hook", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+type Provisioning_Hook_Type struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProvisioningHookTypeService returns an instance of the Provisioning_Hook_Type SoftLayer service
+func GetProvisioningHookTypeService(sess *session.Session) Provisioning_Hook_Type {
+ return Provisioning_Hook_Type{Session: sess}
+}
+
+func (r Provisioning_Hook_Type) Id(id int) Provisioning_Hook_Type {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Provisioning_Hook_Type) Mask(mask string) Provisioning_Hook_Type {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Provisioning_Hook_Type) Filter(filter string) Provisioning_Hook_Type {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Provisioning_Hook_Type) Limit(limit int) Provisioning_Hook_Type {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Provisioning_Hook_Type) Offset(offset int) Provisioning_Hook_Type {
+ r.Options.Offset = &offset
+ return r
+}
+
+// no documentation yet
+func (r Provisioning_Hook_Type) GetAllHookTypes() (resp []datatypes.Provisioning_Hook_Type, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Hook_Type", "getAllHookTypes", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Provisioning_Hook_Type) GetObject() (resp datatypes.Provisioning_Hook_Type, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Hook_Type", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// The SoftLayer_Provisioning_Maintenance_Classification represent a maintenance type for the specific hardware maintenance desired.
+type Provisioning_Maintenance_Classification struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProvisioningMaintenanceClassificationService returns an instance of the Provisioning_Maintenance_Classification SoftLayer service
+func GetProvisioningMaintenanceClassificationService(sess *session.Session) Provisioning_Maintenance_Classification {
+ return Provisioning_Maintenance_Classification{Session: sess}
+}
+
+func (r Provisioning_Maintenance_Classification) Id(id int) Provisioning_Maintenance_Classification {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Provisioning_Maintenance_Classification) Mask(mask string) Provisioning_Maintenance_Classification {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Provisioning_Maintenance_Classification) Filter(filter string) Provisioning_Maintenance_Classification {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Provisioning_Maintenance_Classification) Limit(limit int) Provisioning_Maintenance_Classification {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Provisioning_Maintenance_Classification) Offset(offset int) Provisioning_Maintenance_Classification {
+ r.Options.Offset = &offset
+ return r
+}
+
+// Retrieve
+func (r Provisioning_Maintenance_Classification) GetItemCategories() (resp []datatypes.Provisioning_Maintenance_Classification_Item_Category, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification", "getItemCategories", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve an array of SoftLayer_Provisioning_Maintenance_Classification data types, which contain all maintenance classifications.
+func (r Provisioning_Maintenance_Classification) GetMaintenanceClassification(maintenanceClassificationId *int) (resp []datatypes.Provisioning_Maintenance_Classification, err error) {
+ params := []interface{}{
+ maintenanceClassificationId,
+ }
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification", "getMaintenanceClassification", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve an array of SoftLayer_Provisioning_Maintenance_Classification data types, which contain all maintenance classifications.
+func (r Provisioning_Maintenance_Classification) GetMaintenanceClassificationsByItemCategory() (resp []datatypes.Provisioning_Maintenance_Classification_Item_Category, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification", "getMaintenanceClassificationsByItemCategory", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Provisioning_Maintenance_Classification) GetObject() (resp datatypes.Provisioning_Maintenance_Classification, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+type Provisioning_Maintenance_Classification_Item_Category struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProvisioningMaintenanceClassificationItemCategoryService returns an instance of the Provisioning_Maintenance_Classification_Item_Category SoftLayer service
+func GetProvisioningMaintenanceClassificationItemCategoryService(sess *session.Session) Provisioning_Maintenance_Classification_Item_Category {
+ return Provisioning_Maintenance_Classification_Item_Category{Session: sess}
+}
+
+func (r Provisioning_Maintenance_Classification_Item_Category) Id(id int) Provisioning_Maintenance_Classification_Item_Category {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Provisioning_Maintenance_Classification_Item_Category) Mask(mask string) Provisioning_Maintenance_Classification_Item_Category {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Provisioning_Maintenance_Classification_Item_Category) Filter(filter string) Provisioning_Maintenance_Classification_Item_Category {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Provisioning_Maintenance_Classification_Item_Category) Limit(limit int) Provisioning_Maintenance_Classification_Item_Category {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Provisioning_Maintenance_Classification_Item_Category) Offset(offset int) Provisioning_Maintenance_Classification_Item_Category {
+ r.Options.Offset = &offset
+ return r
+}
+
+// Retrieve
+func (r Provisioning_Maintenance_Classification_Item_Category) GetMaintenanceClassification() (resp datatypes.Provisioning_Maintenance_Classification, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification_Item_Category", "getMaintenanceClassification", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Provisioning_Maintenance_Classification_Item_Category) GetObject() (resp datatypes.Provisioning_Maintenance_Classification_Item_Category, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Classification_Item_Category", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// The SoftLayer_Provisioning_Maintenance_Slots represent the available slots for a given maintenance window at a SoftLayer data center.
+type Provisioning_Maintenance_Slots struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProvisioningMaintenanceSlotsService returns an instance of the Provisioning_Maintenance_Slots SoftLayer service
+func GetProvisioningMaintenanceSlotsService(sess *session.Session) Provisioning_Maintenance_Slots {
+ return Provisioning_Maintenance_Slots{Session: sess}
+}
+
+func (r Provisioning_Maintenance_Slots) Id(id int) Provisioning_Maintenance_Slots {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Provisioning_Maintenance_Slots) Mask(mask string) Provisioning_Maintenance_Slots {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Provisioning_Maintenance_Slots) Filter(filter string) Provisioning_Maintenance_Slots {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Provisioning_Maintenance_Slots) Limit(limit int) Provisioning_Maintenance_Slots {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Provisioning_Maintenance_Slots) Offset(offset int) Provisioning_Maintenance_Slots {
+ r.Options.Offset = &offset
+ return r
+}
+
+// no documentation yet
+func (r Provisioning_Maintenance_Slots) GetObject() (resp datatypes.Provisioning_Maintenance_Slots, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Slots", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+type Provisioning_Maintenance_Ticket struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProvisioningMaintenanceTicketService returns an instance of the Provisioning_Maintenance_Ticket SoftLayer service
+func GetProvisioningMaintenanceTicketService(sess *session.Session) Provisioning_Maintenance_Ticket {
+ return Provisioning_Maintenance_Ticket{Session: sess}
+}
+
+func (r Provisioning_Maintenance_Ticket) Id(id int) Provisioning_Maintenance_Ticket {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Provisioning_Maintenance_Ticket) Mask(mask string) Provisioning_Maintenance_Ticket {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Provisioning_Maintenance_Ticket) Filter(filter string) Provisioning_Maintenance_Ticket {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Provisioning_Maintenance_Ticket) Limit(limit int) Provisioning_Maintenance_Ticket {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Provisioning_Maintenance_Ticket) Offset(offset int) Provisioning_Maintenance_Ticket {
+ r.Options.Offset = &offset
+ return r
+}
+
+// Retrieve
+func (r Provisioning_Maintenance_Ticket) GetAvailableSlots() (resp datatypes.Provisioning_Maintenance_Slots, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Ticket", "getAvailableSlots", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Provisioning_Maintenance_Ticket) GetMaintenanceClass() (resp datatypes.Provisioning_Maintenance_Classification, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Ticket", "getMaintenanceClass", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Provisioning_Maintenance_Ticket) GetObject() (resp datatypes.Provisioning_Maintenance_Ticket, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Ticket", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Provisioning_Maintenance_Ticket) GetTicket() (resp datatypes.Ticket, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Ticket", "getTicket", nil, &r.Options, &resp)
+ return
+}
+
+// The SoftLayer_Provisioning_Maintenance_Window represent a time window that SoftLayer performs a hardware or software maintenance and upgrades.
+type Provisioning_Maintenance_Window struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProvisioningMaintenanceWindowService returns an instance of the Provisioning_Maintenance_Window SoftLayer service
+func GetProvisioningMaintenanceWindowService(sess *session.Session) Provisioning_Maintenance_Window {
+ return Provisioning_Maintenance_Window{Session: sess}
+}
+
+func (r Provisioning_Maintenance_Window) Id(id int) Provisioning_Maintenance_Window {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Provisioning_Maintenance_Window) Mask(mask string) Provisioning_Maintenance_Window {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Provisioning_Maintenance_Window) Filter(filter string) Provisioning_Maintenance_Window {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Provisioning_Maintenance_Window) Limit(limit int) Provisioning_Maintenance_Window {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Provisioning_Maintenance_Window) Offset(offset int) Provisioning_Maintenance_Window {
+ r.Options.Offset = &offset
+ return r
+}
+
+// getMaintenceWindowForTicket() returns a boolean
+func (r Provisioning_Maintenance_Window) AddCustomerUpgradeWindow(customerUpgradeWindow *datatypes.Container_Provisioning_Maintenance_Window) (resp bool, err error) {
+ params := []interface{}{
+ customerUpgradeWindow,
+ }
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "addCustomerUpgradeWindow", params, &r.Options, &resp)
+ return
+}
+
+// getMaintenanceClassifications() returns an object of maintenance classifications
+func (r Provisioning_Maintenance_Window) GetMaintenanceClassifications() (resp []datatypes.Provisioning_Maintenance_Classification, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenanceClassifications", nil, &r.Options, &resp)
+ return
+}
+
+// getMaintenanceStartEndTime() returns a specific maintenance window
+func (r Provisioning_Maintenance_Window) GetMaintenanceStartEndTime(ticketId *int) (resp datatypes.Provisioning_Maintenance_Window, err error) {
+ params := []interface{}{
+ ticketId,
+ }
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenanceStartEndTime", params, &r.Options, &resp)
+ return
+}
+
+// getMaintenceWindowForTicket() returns a specific maintenance window
+func (r Provisioning_Maintenance_Window) GetMaintenanceWindowForTicket(maintenanceWindowId *int) (resp []datatypes.Provisioning_Maintenance_Window, err error) {
+ params := []interface{}{
+ maintenanceWindowId,
+ }
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenanceWindowForTicket", params, &r.Options, &resp)
+ return
+}
+
+// getMaintenanceWindowTicketsByTicketId() returns a list maintenance window ticket records by ticket id
+func (r Provisioning_Maintenance_Window) GetMaintenanceWindowTicketsByTicketId(ticketId *int) (resp []datatypes.Provisioning_Maintenance_Ticket, err error) {
+ params := []interface{}{
+ ticketId,
+ }
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenanceWindowTicketsByTicketId", params, &r.Options, &resp)
+ return
+}
+
+// This method returns a list of available maintenance windows
+func (r Provisioning_Maintenance_Window) GetMaintenanceWindows(beginDate *datatypes.Time, endDate *datatypes.Time, locationId *int, slotsNeeded *int) (resp []datatypes.Provisioning_Maintenance_Window, err error) {
+ params := []interface{}{
+ beginDate,
+ endDate,
+ locationId,
+ slotsNeeded,
+ }
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenanceWindows", params, &r.Options, &resp)
+ return
+}
+
+// (DEPRECATED) Use [[SoftLayer_Provisioning_Maintenance_Window::getMaintenanceWindows|getMaintenanceWindows]] method.
+func (r Provisioning_Maintenance_Window) GetMaintenceWindows(beginDate *datatypes.Time, endDate *datatypes.Time, locationId *int, slotsNeeded *int) (resp []datatypes.Provisioning_Maintenance_Window, err error) {
+ params := []interface{}{
+ beginDate,
+ endDate,
+ locationId,
+ slotsNeeded,
+ }
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "getMaintenceWindows", params, &r.Options, &resp)
+ return
+}
+
+// getMaintenceWindowForTicket() returns a boolean
+func (r Provisioning_Maintenance_Window) UpdateCustomerUpgradeWindow(maintenanceStartTime *datatypes.Time, newMaintenanceWindowId *int, ticketId *int) (resp bool, err error) {
+ params := []interface{}{
+ maintenanceStartTime,
+ newMaintenanceWindowId,
+ ticketId,
+ }
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Maintenance_Window", "updateCustomerUpgradeWindow", params, &r.Options, &resp)
+ return
+}
+
+// The SoftLayer_Provisioning_Version1_Transaction_Group data type contains general information relating to a single SoftLayer hardware transaction group.
+//
+// SoftLayer customers are unable to change their hardware transactions or the hardware transaction group.
+type Provisioning_Version1_Transaction_Group struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetProvisioningVersion1TransactionGroupService returns an instance of the Provisioning_Version1_Transaction_Group SoftLayer service
+func GetProvisioningVersion1TransactionGroupService(sess *session.Session) Provisioning_Version1_Transaction_Group {
+ return Provisioning_Version1_Transaction_Group{Session: sess}
+}
+
+func (r Provisioning_Version1_Transaction_Group) Id(id int) Provisioning_Version1_Transaction_Group {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Provisioning_Version1_Transaction_Group) Mask(mask string) Provisioning_Version1_Transaction_Group {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Provisioning_Version1_Transaction_Group) Filter(filter string) Provisioning_Version1_Transaction_Group {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Provisioning_Version1_Transaction_Group) Limit(limit int) Provisioning_Version1_Transaction_Group {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Provisioning_Version1_Transaction_Group) Offset(offset int) Provisioning_Version1_Transaction_Group {
+ r.Options.Offset = &offset
+ return r
+}
+
+// no documentation yet
+func (r Provisioning_Version1_Transaction_Group) GetAllObjects() (resp []datatypes.Provisioning_Version1_Transaction_Group, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Version1_Transaction_Group", "getAllObjects", nil, &r.Options, &resp)
+ return
+}
+
+// getObject retrieves the SoftLayer_Provisioning_Version1_Transaction_Group object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Provisioning_Version1_Transaction_Group service.
+func (r Provisioning_Version1_Transaction_Group) GetObject() (resp datatypes.Provisioning_Version1_Transaction_Group, err error) {
+ err = r.Session.DoRequest("SoftLayer_Provisioning_Version1_Transaction_Group", "getObject", nil, &r.Options, &resp)
+ return
+}
diff --git a/vendor/github.com/softlayer/softlayer-go/services/resource.go b/vendor/github.com/softlayer/softlayer-go/services/resource.go
new file mode 100644
index 000000000..47a77317c
--- /dev/null
+++ b/vendor/github.com/softlayer/softlayer-go/services/resource.go
@@ -0,0 +1,419 @@
+/**
+ * Copyright 2016 IBM Corp.
+ *
+ * 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 the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
+ */
+
+package services
+
+import (
+ "fmt"
+ "strings"
+
+ "github.com/softlayer/softlayer-go/datatypes"
+ "github.com/softlayer/softlayer-go/session"
+ "github.com/softlayer/softlayer-go/sl"
+)
+
+// no documentation yet
+type Resource_Configuration struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetResourceConfigurationService returns an instance of the Resource_Configuration SoftLayer service
+func GetResourceConfigurationService(sess *session.Session) Resource_Configuration {
+ return Resource_Configuration{Session: sess}
+}
+
+func (r Resource_Configuration) Id(id int) Resource_Configuration {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Resource_Configuration) Mask(mask string) Resource_Configuration {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Resource_Configuration) Filter(filter string) Resource_Configuration {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Resource_Configuration) Limit(limit int) Resource_Configuration {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Resource_Configuration) Offset(offset int) Resource_Configuration {
+ r.Options.Offset = &offset
+ return r
+}
+
+// The setOsPasswordFromEncrypted method is used to set the operating system password from a key/pair encrypted password signed by SoftLayer.
+func (r Resource_Configuration) SetOsPasswordFromEncrypted(encryptedPassword *string) (resp bool, err error) {
+ params := []interface{}{
+ encryptedPassword,
+ }
+ err = r.Session.DoRequest("SoftLayer_Resource_Configuration", "setOsPasswordFromEncrypted", params, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+type Resource_Group struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetResourceGroupService returns an instance of the Resource_Group SoftLayer service
+func GetResourceGroupService(sess *session.Session) Resource_Group {
+ return Resource_Group{Session: sess}
+}
+
+func (r Resource_Group) Id(id int) Resource_Group {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Resource_Group) Mask(mask string) Resource_Group {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Resource_Group) Filter(filter string) Resource_Group {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Resource_Group) Limit(limit int) Resource_Group {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Resource_Group) Offset(offset int) Resource_Group {
+ r.Options.Offset = &offset
+ return r
+}
+
+// no documentation yet
+func (r Resource_Group) EditObject(templateObject *datatypes.Resource_Group) (resp bool, err error) {
+ params := []interface{}{
+ templateObject,
+ }
+ err = r.Session.DoRequest("SoftLayer_Resource_Group", "editObject", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve A resource group's associated group ancestors.
+func (r Resource_Group) GetAncestorGroups() (resp []datatypes.Resource_Group, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group", "getAncestorGroups", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A resource group's associated attributes.
+func (r Resource_Group) GetAttributes() (resp []datatypes.Resource_Group_Attribute, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group", "getAttributes", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A resource group's associated hardware members.
+func (r Resource_Group) GetHardwareMembers() (resp []datatypes.Resource_Group_Member, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group", "getHardwareMembers", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A resource group's associated members.
+func (r Resource_Group) GetMembers() (resp []datatypes.Resource_Group_Member, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group", "getMembers", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Resource_Group) GetObject() (resp datatypes.Resource_Group, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A resource group's associated root resource group.
+func (r Resource_Group) GetRootResourceGroup() (resp datatypes.Resource_Group, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group", "getRootResourceGroup", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A resource group's associated subnet members.
+func (r Resource_Group) GetSubnetMembers() (resp []datatypes.Resource_Group_Member, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group", "getSubnetMembers", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A resource group's associated template.
+func (r Resource_Group) GetTemplate() (resp datatypes.Resource_Group_Template, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group", "getTemplate", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve A resource group's associated VLAN members.
+func (r Resource_Group) GetVlanMembers() (resp []datatypes.Resource_Group_Member, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group", "getVlanMembers", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+type Resource_Group_Template struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetResourceGroupTemplateService returns an instance of the Resource_Group_Template SoftLayer service
+func GetResourceGroupTemplateService(sess *session.Session) Resource_Group_Template {
+ return Resource_Group_Template{Session: sess}
+}
+
+func (r Resource_Group_Template) Id(id int) Resource_Group_Template {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Resource_Group_Template) Mask(mask string) Resource_Group_Template {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Resource_Group_Template) Filter(filter string) Resource_Group_Template {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Resource_Group_Template) Limit(limit int) Resource_Group_Template {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Resource_Group_Template) Offset(offset int) Resource_Group_Template {
+ r.Options.Offset = &offset
+ return r
+}
+
+// no documentation yet
+func (r Resource_Group_Template) GetAllObjects() (resp []datatypes.Resource_Group_Template, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group_Template", "getAllObjects", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Resource_Group_Template) GetChildren() (resp []datatypes.Resource_Group_Template, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group_Template", "getChildren", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Resource_Group_Template) GetMembers() (resp []datatypes.Resource_Group_Template_Member, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group_Template", "getMembers", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Resource_Group_Template) GetObject() (resp datatypes.Resource_Group_Template, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group_Template", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Resource_Group_Template) GetPackage() (resp datatypes.Product_Package, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Group_Template", "getPackage", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+type Resource_Metadata struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetResourceMetadataService returns an instance of the Resource_Metadata SoftLayer service
+func GetResourceMetadataService(sess *session.Session) Resource_Metadata {
+ return Resource_Metadata{Session: sess}
+}
+
+func (r Resource_Metadata) Id(id int) Resource_Metadata {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Resource_Metadata) Mask(mask string) Resource_Metadata {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Resource_Metadata) Filter(filter string) Resource_Metadata {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Resource_Metadata) Limit(limit int) Resource_Metadata {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Resource_Metadata) Offset(offset int) Resource_Metadata {
+ r.Options.Offset = &offset
+ return r
+}
+
+// The getBackendMacAddresses method retrieves a list of backend MAC addresses for the resource
+func (r Resource_Metadata) GetBackendMacAddresses() (resp []string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getBackendMacAddresses", nil, &r.Options, &resp)
+ return
+}
+
+// The getDatacenter method retrieves the name of the datacenter in which the resource is located.
+func (r Resource_Metadata) GetDatacenter() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getDatacenter", nil, &r.Options, &resp)
+ return
+}
+
+// The getDatacenterId retrieves the ID for the datacenter in which the resource is located.
+func (r Resource_Metadata) GetDatacenterId() (resp int, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getDatacenterId", nil, &r.Options, &resp)
+ return
+}
+
+// The getDomain method retrieves the hostname for the resource.
+func (r Resource_Metadata) GetDomain() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getDomain", nil, &r.Options, &resp)
+ return
+}
+
+// The getFrontendMacAddresses method retrieves a list of frontend MAC addresses for the resource
+func (r Resource_Metadata) GetFrontendMacAddresses() (resp []string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getFrontendMacAddresses", nil, &r.Options, &resp)
+ return
+}
+
+// The getFullyQualifiedDomainName method provides the user with a combined return which includes the hostname and domain for the resource. Because this method returns multiple pieces of information, it avoids the need to use multiple methods to return the desired information.
+func (r Resource_Metadata) GetFullyQualifiedDomainName() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getFullyQualifiedDomainName", nil, &r.Options, &resp)
+ return
+}
+
+// The getId getGlobalIdentifier retrieves the globalIdentifier for the resource
+func (r Resource_Metadata) GetGlobalIdentifier() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getGlobalIdentifier", nil, &r.Options, &resp)
+ return
+}
+
+// The getHostname method retrieves the hostname for the resource.
+func (r Resource_Metadata) GetHostname() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getHostname", nil, &r.Options, &resp)
+ return
+}
+
+// The getId method retrieves the ID for the resource
+func (r Resource_Metadata) GetId() (resp int, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getId", nil, &r.Options, &resp)
+ return
+}
+
+// The getPrimaryBackendIpAddress method retrieves the primary backend IP address for the resource
+func (r Resource_Metadata) GetPrimaryBackendIpAddress() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getPrimaryBackendIpAddress", nil, &r.Options, &resp)
+ return
+}
+
+// The getPrimaryIpAddress method retrieves the primary IP address for the resource. For resources with a frontend network, the frontend IP address will be returned. For resources that have been provisioned with only a backend network, the backend IP address will be returned, as a frontend address will not exist.
+func (r Resource_Metadata) GetPrimaryIpAddress() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getPrimaryIpAddress", nil, &r.Options, &resp)
+ return
+}
+
+// The getProvisionState method retrieves the provision state of the resource. The provision state may be used to determine when it is considered safe to perform additional setup operations. The method returns 'PROCESSING' to indicate the provision is in progress and 'COMPLETE' when the provision is complete.
+func (r Resource_Metadata) GetProvisionState() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getProvisionState", nil, &r.Options, &resp)
+ return
+}
+
+// The getRouter method will return the router associated with a network component. When the router is redundant, the hostname of the redundant group will be returned, rather than the router hostname.
+func (r Resource_Metadata) GetRouter(macAddress *string) (resp string, err error) {
+ params := []interface{}{
+ macAddress,
+ }
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getRouter", params, &r.Options, &resp)
+ return
+}
+
+// The getServiceResource method retrieves a specific service resource associated with the resource. Service resources are additional resources that may be used by this resource.
+func (r Resource_Metadata) GetServiceResource(serviceName *string, index *int) (resp string, err error) {
+ params := []interface{}{
+ serviceName,
+ index,
+ }
+ err = r.Session.DoRequest("SoftLayer_Resource_Metadata", "getServiceResource", params, &r.Options, &resp)
+ return
+}
+
+// The getServiceResources method retrieves all service resources associated with the resource. Service resources are additional resources that may be used by this resource. The output format is _objectType:
quantifier in search strings. See the documentation for the [[SoftLayer_Search/search|search()]] method on how to restrict searches using object types.
+//
+// The advancedSearch() method recognizes [[SoftLayer_Container_Search_ObjectType_Property (type)|object properties]], which can also be used to limit searches. Example:
+//
+// _objectType:Type_1 propertyA:
value
+//
+// A search string can specify multiple properties, separated with spaces. Example:
+//
+// _objectType:Type_1 propertyA:
value
propertyB:
value
+//
+// A collection of available object types and their properties can be retrieved by calling the [[SoftLayer_Search/getObjectTypes|getObjectTypes()]] method.
+func (r Search) AdvancedSearch(searchString *string) (resp []datatypes.Container_Search_Result, err error) {
+ params := []interface{}{
+ searchString,
+ }
+ err = r.Session.DoRequest("SoftLayer_Search", "advancedSearch", params, &r.Options, &resp)
+ return
+}
+
+// This method returns a collection of [[SoftLayer_Container_Search_ObjectType (type)|SoftLayer_Container_Search_ObjectType]] containers that specify which indexed object types and properties are exposed for the current user. These object types can be used to discover searchable data and to create or validate object index search strings.
+//
+// Refer to the [[SoftLayer_Search/search|search()]] and [[SoftLayer_Search/advancedSearch|advancedSearch()]] methods for information on using object types and properties in search strings.
+func (r Search) GetObjectTypes() (resp []datatypes.Container_Search_ObjectType, err error) {
+ err = r.Session.DoRequest("SoftLayer_Search", "getObjectTypes", nil, &r.Options, &resp)
+ return
+}
+
+// This method allows for searching for SoftLayer resources by simple phrase. It returns a collection or array of [[SoftLayer_Container_Search_Result (type)|SoftLayer_Container_Search_Result]] objects that have search metadata for each result and the resulting resource found.
+//
+// This method recognizes the special _objectType:
quantifier in search strings. This quantifier can be used to restrict a search to specific object types. Example usage:
+//
+// _objectType:Type_1
(other search terms...)
+//
+// A search string can specify multiple object types, separated by commas (no spaces are permitted between the type names). Example:
+//
+// _objectType:Type_1,Type_2,Type_3
(other search terms...)
+//
+// If the list of object types is prefixed with a hyphen or minus sign (-), then the specified types are excluded from the search. Example:
+//
+// _objectType:-Type_4,Type_5
(other search terms...)
+//
+// A collection of available object types can be retrieved by calling the [[SoftLayer_Search/getObjectTypes|getObjectTypes()]] method.
+func (r Search) Search(searchString *string) (resp []datatypes.Container_Search_Result, err error) {
+ params := []interface{}{
+ searchString,
+ }
+ err = r.Session.DoRequest("SoftLayer_Search", "search", params, &r.Options, &resp)
+ return
+}
diff --git a/vendor/github.com/softlayer/softlayer-go/services/security.go b/vendor/github.com/softlayer/softlayer-go/services/security.go
new file mode 100644
index 000000000..1a6fb2228
--- /dev/null
+++ b/vendor/github.com/softlayer/softlayer-go/services/security.go
@@ -0,0 +1,456 @@
+/**
+ * Copyright 2016 IBM Corp.
+ *
+ * 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 the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
+ */
+
+package services
+
+import (
+ "fmt"
+ "strings"
+
+ "github.com/softlayer/softlayer-go/datatypes"
+ "github.com/softlayer/softlayer-go/session"
+ "github.com/softlayer/softlayer-go/sl"
+)
+
+// no documentation yet
+type Security_Certificate struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetSecurityCertificateService returns an instance of the Security_Certificate SoftLayer service
+func GetSecurityCertificateService(sess *session.Session) Security_Certificate {
+ return Security_Certificate{Session: sess}
+}
+
+func (r Security_Certificate) Id(id int) Security_Certificate {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Security_Certificate) Mask(mask string) Security_Certificate {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Security_Certificate) Filter(filter string) Security_Certificate {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Security_Certificate) Limit(limit int) Security_Certificate {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Security_Certificate) Offset(offset int) Security_Certificate {
+ r.Options.Offset = &offset
+ return r
+}
+
+// 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.
+//
+// The certificate signing request is not required, but can be provided for your records.
+func (r Security_Certificate) CreateObject(templateObject *datatypes.Security_Certificate) (resp datatypes.Security_Certificate, err error) {
+ params := []interface{}{
+ templateObject,
+ }
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate", "createObject", params, &r.Options, &resp)
+ return
+}
+
+// Remove a certificate from your account. You may not remove a certificate with associated services.
+func (r Security_Certificate) DeleteObject() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate", "deleteObject", nil, &r.Options, &resp)
+ return
+}
+
+// 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.
+func (r Security_Certificate) EditObject(templateObject *datatypes.Security_Certificate) (resp bool, err error) {
+ params := []interface{}{
+ templateObject,
+ }
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate", "editObject", params, &r.Options, &resp)
+ return
+}
+
+// Locate certificates by their common name, traditionally a domain name.
+func (r Security_Certificate) FindByCommonName(commonName *string) (resp []datatypes.Security_Certificate, err error) {
+ params := []interface{}{
+ commonName,
+ }
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate", "findByCommonName", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve The number of services currently associated with the certificate.
+func (r Security_Certificate) GetAssociatedServiceCount() (resp int, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate", "getAssociatedServiceCount", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The load balancers virtual IP addresses currently associated with the certificate.
+func (r Security_Certificate) GetLoadBalancerVirtualIpAddresses() (resp []datatypes.Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate", "getLoadBalancerVirtualIpAddresses", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Security_Certificate) GetObject() (resp datatypes.Security_Certificate, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve the certificate in PEM (Privacy Enhanced Mail) format, which is a string containing all base64 encoded (DER) certificates delimited by -----BEGIN/END *----- clauses.
+func (r Security_Certificate) GetPemFormat() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate", "getPemFormat", nil, &r.Options, &resp)
+ return
+}
+
+// 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.
+type Security_Certificate_Request struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetSecurityCertificateRequestService returns an instance of the Security_Certificate_Request SoftLayer service
+func GetSecurityCertificateRequestService(sess *session.Session) Security_Certificate_Request {
+ return Security_Certificate_Request{Session: sess}
+}
+
+func (r Security_Certificate_Request) Id(id int) Security_Certificate_Request {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Security_Certificate_Request) Mask(mask string) Security_Certificate_Request {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Security_Certificate_Request) Filter(filter string) Security_Certificate_Request {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Security_Certificate_Request) Limit(limit int) Security_Certificate_Request {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Security_Certificate_Request) Offset(offset int) Security_Certificate_Request {
+ r.Options.Offset = &offset
+ return r
+}
+
+// Cancels a pending SSL certificate order at the Certificate Authority
+func (r Security_Certificate_Request) CancelSslOrder() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "cancelSslOrder", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The account to which a SSL certificate request belongs.
+func (r Security_Certificate_Request) GetAccount() (resp datatypes.Account, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getAccount", nil, &r.Options, &resp)
+ return
+}
+
+// Gets the email domains that can be used to validate a certificate to a domain.
+func (r Security_Certificate_Request) GetAdministratorEmailDomains(commonName *string) (resp []string, err error) {
+ params := []interface{}{
+ commonName,
+ }
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getAdministratorEmailDomains", params, &r.Options, &resp)
+ return
+}
+
+// Gets the email accounts that can be used to validate a certificate to a domain.
+func (r Security_Certificate_Request) GetAdministratorEmailPrefixes() (resp []string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getAdministratorEmailPrefixes", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The Certificate Authority name
+func (r Security_Certificate_Request) GetCertificateAuthorityName() (resp string, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getCertificateAuthorityName", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Security_Certificate_Request) GetObject() (resp datatypes.Security_Certificate_Request, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The order contains the information related to a SSL certificate request.
+func (r Security_Certificate_Request) GetOrder() (resp datatypes.Billing_Order, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getOrder", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The associated order item for this SSL certificate request.
+func (r Security_Certificate_Request) GetOrderItem() (resp datatypes.Billing_Order_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getOrderItem", nil, &r.Options, &resp)
+ return
+}
+
+// Returns previous SSL certificate order data. You can use this data for to place a renewal order for a completed SSL certificate.
+func (r Security_Certificate_Request) GetPreviousOrderData() (resp datatypes.Container_Product_Order_Security_Certificate, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getPreviousOrderData", nil, &r.Options, &resp)
+ return
+}
+
+// Returns all the SSL certificate requests.
+func (r Security_Certificate_Request) GetSslCertificateRequests(accountId *int) (resp []datatypes.Security_Certificate_Request, err error) {
+ params := []interface{}{
+ accountId,
+ }
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getSslCertificateRequests", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve The status of a SSL certificate request.
+func (r Security_Certificate_Request) GetStatus() (resp datatypes.Security_Certificate_Request_Status, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "getStatus", nil, &r.Options, &resp)
+ return
+}
+
+// A Certificate Authority sends out various emails to your domain administrator or your technical contact. Use this service to have these emails re-sent.
+func (r Security_Certificate_Request) ResendEmail(emailType *string) (resp bool, err error) {
+ params := []interface{}{
+ emailType,
+ }
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "resendEmail", params, &r.Options, &resp)
+ return
+}
+
+// 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.
+//
+// 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]
+func (r Security_Certificate_Request) ValidateCsr(csr *string, validityMonths *int, itemId *int, serverType *string) (resp bool, err error) {
+ params := []interface{}{
+ csr,
+ validityMonths,
+ itemId,
+ serverType,
+ }
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request", "validateCsr", params, &r.Options, &resp)
+ return
+}
+
+// Represents a server type that can be specified when ordering an SSL certificate.
+type Security_Certificate_Request_ServerType struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetSecurityCertificateRequestServerTypeService returns an instance of the Security_Certificate_Request_ServerType SoftLayer service
+func GetSecurityCertificateRequestServerTypeService(sess *session.Session) Security_Certificate_Request_ServerType {
+ return Security_Certificate_Request_ServerType{Session: sess}
+}
+
+func (r Security_Certificate_Request_ServerType) Id(id int) Security_Certificate_Request_ServerType {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Security_Certificate_Request_ServerType) Mask(mask string) Security_Certificate_Request_ServerType {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Security_Certificate_Request_ServerType) Filter(filter string) Security_Certificate_Request_ServerType {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Security_Certificate_Request_ServerType) Limit(limit int) Security_Certificate_Request_ServerType {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Security_Certificate_Request_ServerType) Offset(offset int) Security_Certificate_Request_ServerType {
+ r.Options.Offset = &offset
+ return r
+}
+
+// Returns all SSL certificate server types, which are passed in on a [[SoftLayer_Container_Product_Order_Security_Certificate|certificate order]].
+func (r Security_Certificate_Request_ServerType) GetAllObjects() (resp []datatypes.Security_Certificate_Request_ServerType, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request_ServerType", "getAllObjects", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Security_Certificate_Request_ServerType) GetObject() (resp datatypes.Security_Certificate_Request_ServerType, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request_ServerType", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Represents the status of an SSL certificate request.
+type Security_Certificate_Request_Status struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetSecurityCertificateRequestStatusService returns an instance of the Security_Certificate_Request_Status SoftLayer service
+func GetSecurityCertificateRequestStatusService(sess *session.Session) Security_Certificate_Request_Status {
+ return Security_Certificate_Request_Status{Session: sess}
+}
+
+func (r Security_Certificate_Request_Status) Id(id int) Security_Certificate_Request_Status {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Security_Certificate_Request_Status) Mask(mask string) Security_Certificate_Request_Status {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Security_Certificate_Request_Status) Filter(filter string) Security_Certificate_Request_Status {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Security_Certificate_Request_Status) Limit(limit int) Security_Certificate_Request_Status {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Security_Certificate_Request_Status) Offset(offset int) Security_Certificate_Request_Status {
+ r.Options.Offset = &offset
+ return r
+}
+
+// no documentation yet
+func (r Security_Certificate_Request_Status) GetObject() (resp datatypes.Security_Certificate_Request_Status, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request_Status", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Returns all SSL certificate request status objects
+func (r Security_Certificate_Request_Status) GetSslRequestStatuses() (resp []datatypes.Security_Certificate_Request_Status, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Certificate_Request_Status", "getSslRequestStatuses", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+type Security_Ssh_Key struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetSecuritySshKeyService returns an instance of the Security_Ssh_Key SoftLayer service
+func GetSecuritySshKeyService(sess *session.Session) Security_Ssh_Key {
+ return Security_Ssh_Key{Session: sess}
+}
+
+func (r Security_Ssh_Key) Id(id int) Security_Ssh_Key {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Security_Ssh_Key) Mask(mask string) Security_Ssh_Key {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Security_Ssh_Key) Filter(filter string) Security_Ssh_Key {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Security_Ssh_Key) Limit(limit int) Security_Ssh_Key {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Security_Ssh_Key) Offset(offset int) Security_Ssh_Key {
+ r.Options.Offset = &offset
+ return r
+}
+
+// Add a ssh key to your account for use during server provisioning and os reloads.
+func (r Security_Ssh_Key) CreateObject(templateObject *datatypes.Security_Ssh_Key) (resp datatypes.Security_Ssh_Key, err error) {
+ params := []interface{}{
+ templateObject,
+ }
+ err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "createObject", params, &r.Options, &resp)
+ return
+}
+
+// Remove a ssh key from your account.
+func (r Security_Ssh_Key) DeleteObject() (resp bool, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "deleteObject", nil, &r.Options, &resp)
+ return
+}
+
+// Update a ssh key.
+func (r Security_Ssh_Key) EditObject(templateObject *datatypes.Security_Ssh_Key) (resp bool, err error) {
+ params := []interface{}{
+ templateObject,
+ }
+ err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "editObject", params, &r.Options, &resp)
+ return
+}
+
+// Retrieve
+func (r Security_Ssh_Key) GetAccount() (resp datatypes.Account, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "getAccount", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The image template groups that are linked to an SSH key.
+func (r Security_Ssh_Key) GetBlockDeviceTemplateGroups() (resp []datatypes.Virtual_Guest_Block_Device_Template_Group, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "getBlockDeviceTemplateGroups", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Security_Ssh_Key) GetObject() (resp datatypes.Security_Ssh_Key, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The OS root users that are linked to an SSH key.
+func (r Security_Ssh_Key) GetSoftwarePasswords() (resp []datatypes.Software_Component_Password, err error) {
+ err = r.Session.DoRequest("SoftLayer_Security_Ssh_Key", "getSoftwarePasswords", nil, &r.Options, &resp)
+ return
+}
diff --git a/vendor/github.com/softlayer/softlayer-go/services/software.go b/vendor/github.com/softlayer/softlayer-go/services/software.go
new file mode 100644
index 000000000..7dc00688f
--- /dev/null
+++ b/vendor/github.com/softlayer/softlayer-go/services/software.go
@@ -0,0 +1,797 @@
+/**
+ * Copyright 2016 IBM Corp.
+ *
+ * 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 the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
+ */
+
+package services
+
+import (
+ "fmt"
+ "strings"
+
+ "github.com/softlayer/softlayer-go/datatypes"
+ "github.com/softlayer/softlayer-go/session"
+ "github.com/softlayer/softlayer-go/sl"
+)
+
+// SoftLayer_Software_AccountLicense is a class that represents software licenses that are tied only to a customer's account and not to any particular hardware, IP address, etc.
+type Software_AccountLicense struct {
+ Session *session.Session
+ Options sl.Options
+}
+
+// GetSoftwareAccountLicenseService returns an instance of the Software_AccountLicense SoftLayer service
+func GetSoftwareAccountLicenseService(sess *session.Session) Software_AccountLicense {
+ return Software_AccountLicense{Session: sess}
+}
+
+func (r Software_AccountLicense) Id(id int) Software_AccountLicense {
+ r.Options.Id = &id
+ return r
+}
+
+func (r Software_AccountLicense) Mask(mask string) Software_AccountLicense {
+ if !strings.HasPrefix(mask, "mask[") && (strings.Contains(mask, "[") || strings.Contains(mask, ",")) {
+ mask = fmt.Sprintf("mask[%s]", mask)
+ }
+
+ r.Options.Mask = mask
+ return r
+}
+
+func (r Software_AccountLicense) Filter(filter string) Software_AccountLicense {
+ r.Options.Filter = filter
+ return r
+}
+
+func (r Software_AccountLicense) Limit(limit int) Software_AccountLicense {
+ r.Options.Limit = &limit
+ return r
+}
+
+func (r Software_AccountLicense) Offset(offset int) Software_AccountLicense {
+ r.Options.Offset = &offset
+ return r
+}
+
+// Retrieve The customer account this Account License belongs to.
+func (r Software_AccountLicense) GetAccount() (resp datatypes.Account, err error) {
+ err = r.Session.DoRequest("SoftLayer_Software_AccountLicense", "getAccount", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Software_AccountLicense) GetAllObjects() (resp []datatypes.Software_AccountLicense, err error) {
+ err = r.Session.DoRequest("SoftLayer_Software_AccountLicense", "getAllObjects", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The billing item for a software account license.
+func (r Software_AccountLicense) GetBillingItem() (resp datatypes.Billing_Item, err error) {
+ err = r.Session.DoRequest("SoftLayer_Software_AccountLicense", "getBillingItem", nil, &r.Options, &resp)
+ return
+}
+
+// no documentation yet
+func (r Software_AccountLicense) GetObject() (resp datatypes.Software_AccountLicense, err error) {
+ err = r.Session.DoRequest("SoftLayer_Software_AccountLicense", "getObject", nil, &r.Options, &resp)
+ return
+}
+
+// Retrieve The SoftLayer_Software_Description that this account license is for.
+func (r Software_AccountLicense) GetSoftwareDescription() (resp datatypes.Software_Description, err error) {
+ err = r.Session.DoRequest("SoftLayer_Software_AccountLicense", "getSoftwareDescription", nil, &r.Options, &resp)
+ return
+}
+
+// A SoftLayer_Software_Component ties the installation of a specific piece of software onto a specific piece of hardware.
+//
+// SoftLayer_Software_Component works with SoftLayer_Software_License and SoftLayer_Software_Description to tie this all together.
+//
+//
provisionDate
relational property. When provisionDate
is not null, the instance will be ready.
+//
+//
+// Warning: Computing instances created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Virtual_Guest/generateOrderTemplate|generateOrderTemplate]].
+//
+//
+// Input - [[SoftLayer_Virtual_Guest (type)|SoftLayer_Virtual_Guest]]
+// hostname
+// domain
+// startCpus
+// maxMemory
+// datacenter.name
+// datacenter
property is a [[SoftLayer_Location (type)|location]] structure with the name
field set.hourlyBillingFlag
+// localDiskFlag
+// dedicatedAccountHostOnlyFlag
+// false
operatingSystemReferenceCode
+// blockDeviceTemplateGroup.globalIdentifier
is provided, as the template will specify the operating system.startCpus
. The price which is used can be determined by calling [[SoftLayer_Virtual_Guest/generateOrderTemplate|generateOrderTemplate]] with your desired device specifications.blockDeviceTemplateGroup.globalIdentifier
+// operatingSystemReferenceCode
is provided, as the template will specify the operating system.startCpus
. The price which is used can be determined by calling [[SoftLayer_Virtual_Guest/generateOrderTemplate|generateOrderTemplate]] with your desired device specifications.networkComponents.maxSpeed
+// networkComponents
property is an array with a single [[SoftLayer_Virtual_Guest_Network_Component (type)|network component]] structure. The maxSpeed
property must be set to specify the network uplink speed, in megabits per second, of the computing instance.privateNetworkOnlyFlag
+// false
primaryNetworkComponent.networkVlan.id
+// primaryNetworkComponent
property is a [[SoftLayer_Virtual_Guest_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the frontend network vlan of the computing instance.primaryBackendNetworkComponent.networkVlan.id
+// primaryBackendNetworkComponent
property is a [[SoftLayer_Virtual_Guest_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the backend network vlan of the computing instance.blockDevices
+// blockDevices
property is an array of [[SoftLayer_Virtual_Guest_Block_Device (type)|block device]] structures.
+// device
property along with the diskImage
property, which is a [[SoftLayer_Virtual_Disk_Image (type)|disk image]] structure with the capacity
property set.device
number '1'
is reserved for the SWAP disk attached to the computing instance.userData.value
+// userData
property is an array with a single [[SoftLayer_Virtual_Guest_Attribute (type)|attribute]] structure with the value
property set to an arbitrary value.sshKeys
+// sshKeys
property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the id
property set to the value of an existing SSH key.postInstallScriptUri
+//