1/**
2 * Copyright 2016 IBM Corp.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *    http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/**
18 * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
19 */
20
21package datatypes
22
23// The SoftLayer_Brand data type contains brand information relating to the single SoftLayer customer account.
24//
25// IBM Cloud Infrastructure customers are unable to change their brand information in the portal or the API.
26type Brand struct {
27	Entity
28
29	// no documentation yet
30	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
31
32	// A count of all accounts owned by the brand.
33	AllOwnedAccountCount *uint `json:"allOwnedAccountCount,omitempty" xmlrpc:"allOwnedAccountCount,omitempty"`
34
35	// All accounts owned by the brand.
36	AllOwnedAccounts []Account `json:"allOwnedAccounts,omitempty" xmlrpc:"allOwnedAccounts,omitempty"`
37
38	// This flag indicates if creation of accounts is allowed.
39	AllowAccountCreationFlag *bool `json:"allowAccountCreationFlag,omitempty" xmlrpc:"allowAccountCreationFlag,omitempty"`
40
41	// Business Partner details for the brand. Country Enterprise Code, Channel, Segment, Reseller Level.
42	BusinessPartner *Brand_Business_Partner `json:"businessPartner,omitempty" xmlrpc:"businessPartner,omitempty"`
43
44	// Flag indicating if the brand is a business partner.
45	BusinessPartnerFlag *bool `json:"businessPartnerFlag,omitempty" xmlrpc:"businessPartnerFlag,omitempty"`
46
47	// The Product Catalog for the Brand
48	Catalog *Product_Catalog `json:"catalog,omitempty" xmlrpc:"catalog,omitempty"`
49
50	// ID of the Catalog used by this Brand
51	CatalogId *int `json:"catalogId,omitempty" xmlrpc:"catalogId,omitempty"`
52
53	// A count of the contacts for the brand.
54	ContactCount *uint `json:"contactCount,omitempty" xmlrpc:"contactCount,omitempty"`
55
56	// The contacts for the brand.
57	Contacts []Brand_Contact `json:"contacts,omitempty" xmlrpc:"contacts,omitempty"`
58
59	// A count of this references relationship between brands, locations and countries associated with a user's account that are ineligible when ordering products. For example, the India datacenter may not be available on this brand for customers that live in Great Britain.
60	CustomerCountryLocationRestrictionCount *uint `json:"customerCountryLocationRestrictionCount,omitempty" xmlrpc:"customerCountryLocationRestrictionCount,omitempty"`
61
62	// This references relationship between brands, locations and countries associated with a user's account that are ineligible when ordering products. For example, the India datacenter may not be available on this brand for customers that live in Great Britain.
63	CustomerCountryLocationRestrictions []Brand_Restriction_Location_CustomerCountry `json:"customerCountryLocationRestrictions,omitempty" xmlrpc:"customerCountryLocationRestrictions,omitempty"`
64
65	// no documentation yet
66	Distributor *Brand `json:"distributor,omitempty" xmlrpc:"distributor,omitempty"`
67
68	// no documentation yet
69	DistributorChildFlag *bool `json:"distributorChildFlag,omitempty" xmlrpc:"distributorChildFlag,omitempty"`
70
71	// no documentation yet
72	DistributorFlag *string `json:"distributorFlag,omitempty" xmlrpc:"distributorFlag,omitempty"`
73
74	// An account's associated hardware objects.
75	Hardware []Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
76
77	// A count of an account's associated hardware objects.
78	HardwareCount *uint `json:"hardwareCount,omitempty" xmlrpc:"hardwareCount,omitempty"`
79
80	// no documentation yet
81	HasAgentAdvancedSupportFlag *bool `json:"hasAgentAdvancedSupportFlag,omitempty" xmlrpc:"hasAgentAdvancedSupportFlag,omitempty"`
82
83	// no documentation yet
84	HasAgentSupportFlag *bool `json:"hasAgentSupportFlag,omitempty" xmlrpc:"hasAgentSupportFlag,omitempty"`
85
86	// no documentation yet
87	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
88
89	// The brand key name.
90	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
91
92	// The brand long name.
93	LongName *string `json:"longName,omitempty" xmlrpc:"longName,omitempty"`
94
95	// The brand name.
96	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
97
98	// A count of
99	OpenTicketCount *uint `json:"openTicketCount,omitempty" xmlrpc:"openTicketCount,omitempty"`
100
101	// no documentation yet
102	OpenTickets []Ticket `json:"openTickets,omitempty" xmlrpc:"openTickets,omitempty"`
103
104	// A count of active accounts owned by the brand.
105	OwnedAccountCount *uint `json:"ownedAccountCount,omitempty" xmlrpc:"ownedAccountCount,omitempty"`
106
107	// Active accounts owned by the brand.
108	OwnedAccounts []Account `json:"ownedAccounts,omitempty" xmlrpc:"ownedAccounts,omitempty"`
109
110	// no documentation yet
111	SecurityLevel *Security_Level `json:"securityLevel,omitempty" xmlrpc:"securityLevel,omitempty"`
112
113	// A count of
114	TicketCount *uint `json:"ticketCount,omitempty" xmlrpc:"ticketCount,omitempty"`
115
116	// A count of
117	TicketGroupCount *uint `json:"ticketGroupCount,omitempty" xmlrpc:"ticketGroupCount,omitempty"`
118
119	// no documentation yet
120	TicketGroups []Ticket_Group `json:"ticketGroups,omitempty" xmlrpc:"ticketGroups,omitempty"`
121
122	// no documentation yet
123	Tickets []Ticket `json:"tickets,omitempty" xmlrpc:"tickets,omitempty"`
124
125	// A count of
126	UserCount *uint `json:"userCount,omitempty" xmlrpc:"userCount,omitempty"`
127
128	// no documentation yet
129	Users []User_Customer `json:"users,omitempty" xmlrpc:"users,omitempty"`
130
131	// A count of an account's associated virtual guest objects.
132	VirtualGuestCount *uint `json:"virtualGuestCount,omitempty" xmlrpc:"virtualGuestCount,omitempty"`
133
134	// An account's associated virtual guest objects.
135	VirtualGuests []Virtual_Guest `json:"virtualGuests,omitempty" xmlrpc:"virtualGuests,omitempty"`
136}
137
138// no documentation yet
139type Brand_Attribute struct {
140	Entity
141
142	// no documentation yet
143	Brand *Brand `json:"brand,omitempty" xmlrpc:"brand,omitempty"`
144}
145
146// Contains business partner details associated with a brand. Country Enterprise Identifier (CEID), Channel ID, Segment ID and Reseller Level.
147type Brand_Business_Partner struct {
148	Entity
149
150	// Brand associated with the business partner data
151	Brand *Brand `json:"brand,omitempty" xmlrpc:"brand,omitempty"`
152
153	// Channel indicator used to categorize business partner revenue.
154	Channel *Business_Partner_Channel `json:"channel,omitempty" xmlrpc:"channel,omitempty"`
155
156	// Brand business partner channel identifier
157	ChannelId *int `json:"channelId,omitempty" xmlrpc:"channelId,omitempty"`
158
159	// Brand business partner country enterprise code
160	CountryEnterpriseCode *string `json:"countryEnterpriseCode,omitempty" xmlrpc:"countryEnterpriseCode,omitempty"`
161
162	// Reseller level of a brand business partner
163	ResellerLevel *int `json:"resellerLevel,omitempty" xmlrpc:"resellerLevel,omitempty"`
164
165	// Segment indicator used to categorize business partner revenue.
166	Segment *Business_Partner_Segment `json:"segment,omitempty" xmlrpc:"segment,omitempty"`
167
168	// Brand business partner segment identifier
169	SegmentId *int `json:"segmentId,omitempty" xmlrpc:"segmentId,omitempty"`
170}
171
172// SoftLayer_Brand_Contact contains the contact information for the brand such as Corporate or Support contact information
173type Brand_Contact struct {
174	Entity
175
176	// The contact's address 1.
177	Address1 *string `json:"address1,omitempty" xmlrpc:"address1,omitempty"`
178
179	// The contact's address 2.
180	Address2 *string `json:"address2,omitempty" xmlrpc:"address2,omitempty"`
181
182	// The contact's alternate phone number.
183	AlternatePhone *string `json:"alternatePhone,omitempty" xmlrpc:"alternatePhone,omitempty"`
184
185	// no documentation yet
186	Brand *Brand `json:"brand,omitempty" xmlrpc:"brand,omitempty"`
187
188	// no documentation yet
189	BrandContactType *Brand_Contact_Type `json:"brandContactType,omitempty" xmlrpc:"brandContactType,omitempty"`
190
191	// The contact's type identifier.
192	BrandContactTypeId *int `json:"brandContactTypeId,omitempty" xmlrpc:"brandContactTypeId,omitempty"`
193
194	// The contact's city.
195	City *string `json:"city,omitempty" xmlrpc:"city,omitempty"`
196
197	// The contact's country.
198	Country *string `json:"country,omitempty" xmlrpc:"country,omitempty"`
199
200	// The contact's email address.
201	Email *string `json:"email,omitempty" xmlrpc:"email,omitempty"`
202
203	// The contact's fax number.
204	FaxPhone *string `json:"faxPhone,omitempty" xmlrpc:"faxPhone,omitempty"`
205
206	// The contact's first name.
207	FirstName *string `json:"firstName,omitempty" xmlrpc:"firstName,omitempty"`
208
209	// The contact's last name.
210	LastName *string `json:"lastName,omitempty" xmlrpc:"lastName,omitempty"`
211
212	// The contact's phone number.
213	OfficePhone *string `json:"officePhone,omitempty" xmlrpc:"officePhone,omitempty"`
214
215	// The contact's postal code.
216	PostalCode *string `json:"postalCode,omitempty" xmlrpc:"postalCode,omitempty"`
217
218	// The contact's state.
219	State *string `json:"state,omitempty" xmlrpc:"state,omitempty"`
220}
221
222// SoftLayer_Brand_Contact_Type contains the contact type information for the brand contacts such as Corporate or Support contact type
223type Brand_Contact_Type struct {
224	Entity
225
226	// Contact type description.
227	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
228
229	// Contact type key name.
230	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
231
232	// Contact type name.
233	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
234}
235
236// no documentation yet
237type Brand_Payment_Processor struct {
238	Entity
239
240	// no documentation yet
241	Brand *Brand `json:"brand,omitempty" xmlrpc:"brand,omitempty"`
242
243	// no documentation yet
244	PaymentProcessor *Billing_Payment_Processor `json:"paymentProcessor,omitempty" xmlrpc:"paymentProcessor,omitempty"`
245}
246
247// The [[SoftLayer_Brand_Restriction_Location_CustomerCountry]] data type defines the relationship between brands, locations and countries associated with a user's account that are ineligible when ordering products. For example, the India datacenter may not be available on the SoftLayer US brand for customers that live in Great Britain.
248type Brand_Restriction_Location_CustomerCountry struct {
249	Entity
250
251	// This references the brand that has a brand-location-country restriction setup.
252	Brand *Brand `json:"brand,omitempty" xmlrpc:"brand,omitempty"`
253
254	// The brand associated with customer's account.
255	BrandId *int `json:"brandId,omitempty" xmlrpc:"brandId,omitempty"`
256
257	// country code associated with customer's account.
258	CustomerCountryCode *string `json:"customerCountryCode,omitempty" xmlrpc:"customerCountryCode,omitempty"`
259
260	// This references the datacenter that has a brand-location-country restriction setup. For example, if a datacenter is listed with a restriction for Canada, a Canadian customer may not be eligible to order services at that location.
261	Location *Location `json:"location,omitempty" xmlrpc:"location,omitempty"`
262
263	// The id for datacenter location.
264	LocationId *int `json:"locationId,omitempty" xmlrpc:"locationId,omitempty"`
265}
266