github.com/aavshr/aws-sdk-go@v1.41.3/service/marketplacecommerceanalytics/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package marketplacecommerceanalytics 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 ) 14 15 const opGenerateDataSet = "GenerateDataSet" 16 17 // GenerateDataSetRequest generates a "aws/request.Request" representing the 18 // client's request for the GenerateDataSet operation. The "output" return 19 // value will be populated with the request's response once the request completes 20 // successfully. 21 // 22 // Use "Send" method on the returned Request to send the API call to the service. 23 // the "output" return value is not valid until after Send returns without error. 24 // 25 // See GenerateDataSet for more information on using the GenerateDataSet 26 // API call, and error handling. 27 // 28 // This method is useful when you want to inject custom logic or configuration 29 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 30 // 31 // 32 // // Example sending a request using the GenerateDataSetRequest method. 33 // req, resp := client.GenerateDataSetRequest(params) 34 // 35 // err := req.Send() 36 // if err == nil { // resp is now filled 37 // fmt.Println(resp) 38 // } 39 // 40 // See also, https://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/GenerateDataSet 41 func (c *MarketplaceCommerceAnalytics) GenerateDataSetRequest(input *GenerateDataSetInput) (req *request.Request, output *GenerateDataSetOutput) { 42 op := &request.Operation{ 43 Name: opGenerateDataSet, 44 HTTPMethod: "POST", 45 HTTPPath: "/", 46 } 47 48 if input == nil { 49 input = &GenerateDataSetInput{} 50 } 51 52 output = &GenerateDataSetOutput{} 53 req = c.newRequest(op, input, output) 54 return 55 } 56 57 // GenerateDataSet API operation for AWS Marketplace Commerce Analytics. 58 // 59 // Given a data set type and data set publication date, asynchronously publishes 60 // the requested data set to the specified S3 bucket and notifies the specified 61 // SNS topic once the data is available. Returns a unique request identifier 62 // that can be used to correlate requests with notifications from the SNS topic. 63 // Data sets will be published in comma-separated values (CSV) format with the 64 // file name {data_set_type}_YYYY-MM-DD.csv. If a file with the same name already 65 // exists (e.g. if the same data set is requested twice), the original file 66 // will be overwritten by the new file. Requires a Role with an attached permissions 67 // policy providing Allow permissions for the following actions: s3:PutObject, 68 // s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish, iam:GetRolePolicy. 69 // 70 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 71 // with awserr.Error's Code and Message methods to get detailed information about 72 // the error. 73 // 74 // See the AWS API reference guide for AWS Marketplace Commerce Analytics's 75 // API operation GenerateDataSet for usage and error information. 76 // 77 // Returned Error Types: 78 // * Exception 79 // This exception is thrown when an internal service error occurs. 80 // 81 // See also, https://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/GenerateDataSet 82 func (c *MarketplaceCommerceAnalytics) GenerateDataSet(input *GenerateDataSetInput) (*GenerateDataSetOutput, error) { 83 req, out := c.GenerateDataSetRequest(input) 84 return out, req.Send() 85 } 86 87 // GenerateDataSetWithContext is the same as GenerateDataSet with the addition of 88 // the ability to pass a context and additional request options. 89 // 90 // See GenerateDataSet for details on how to use this API operation. 91 // 92 // The context must be non-nil and will be used for request cancellation. If 93 // the context is nil a panic will occur. In the future the SDK may create 94 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 95 // for more information on using Contexts. 96 func (c *MarketplaceCommerceAnalytics) GenerateDataSetWithContext(ctx aws.Context, input *GenerateDataSetInput, opts ...request.Option) (*GenerateDataSetOutput, error) { 97 req, out := c.GenerateDataSetRequest(input) 98 req.SetContext(ctx) 99 req.ApplyOptions(opts...) 100 return out, req.Send() 101 } 102 103 const opStartSupportDataExport = "StartSupportDataExport" 104 105 // StartSupportDataExportRequest generates a "aws/request.Request" representing the 106 // client's request for the StartSupportDataExport operation. The "output" return 107 // value will be populated with the request's response once the request completes 108 // successfully. 109 // 110 // Use "Send" method on the returned Request to send the API call to the service. 111 // the "output" return value is not valid until after Send returns without error. 112 // 113 // See StartSupportDataExport for more information on using the StartSupportDataExport 114 // API call, and error handling. 115 // 116 // This method is useful when you want to inject custom logic or configuration 117 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 118 // 119 // 120 // // Example sending a request using the StartSupportDataExportRequest method. 121 // req, resp := client.StartSupportDataExportRequest(params) 122 // 123 // err := req.Send() 124 // if err == nil { // resp is now filled 125 // fmt.Println(resp) 126 // } 127 // 128 // See also, https://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/StartSupportDataExport 129 func (c *MarketplaceCommerceAnalytics) StartSupportDataExportRequest(input *StartSupportDataExportInput) (req *request.Request, output *StartSupportDataExportOutput) { 130 op := &request.Operation{ 131 Name: opStartSupportDataExport, 132 HTTPMethod: "POST", 133 HTTPPath: "/", 134 } 135 136 if input == nil { 137 input = &StartSupportDataExportInput{} 138 } 139 140 output = &StartSupportDataExportOutput{} 141 req = c.newRequest(op, input, output) 142 return 143 } 144 145 // StartSupportDataExport API operation for AWS Marketplace Commerce Analytics. 146 // 147 // Given a data set type and a from date, asynchronously publishes the requested 148 // customer support data to the specified S3 bucket and notifies the specified 149 // SNS topic once the data is available. Returns a unique request identifier 150 // that can be used to correlate requests with notifications from the SNS topic. 151 // Data sets will be published in comma-separated values (CSV) format with the 152 // file name {data_set_type}_YYYY-MM-DD'T'HH-mm-ss'Z'.csv. If a file with the 153 // same name already exists (e.g. if the same data set is requested twice), 154 // the original file will be overwritten by the new file. Requires a Role with 155 // an attached permissions policy providing Allow permissions for the following 156 // actions: s3:PutObject, s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish, 157 // iam:GetRolePolicy. 158 // 159 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 160 // with awserr.Error's Code and Message methods to get detailed information about 161 // the error. 162 // 163 // See the AWS API reference guide for AWS Marketplace Commerce Analytics's 164 // API operation StartSupportDataExport for usage and error information. 165 // 166 // Returned Error Types: 167 // * Exception 168 // This exception is thrown when an internal service error occurs. 169 // 170 // See also, https://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/StartSupportDataExport 171 func (c *MarketplaceCommerceAnalytics) StartSupportDataExport(input *StartSupportDataExportInput) (*StartSupportDataExportOutput, error) { 172 req, out := c.StartSupportDataExportRequest(input) 173 return out, req.Send() 174 } 175 176 // StartSupportDataExportWithContext is the same as StartSupportDataExport with the addition of 177 // the ability to pass a context and additional request options. 178 // 179 // See StartSupportDataExport for details on how to use this API operation. 180 // 181 // The context must be non-nil and will be used for request cancellation. If 182 // the context is nil a panic will occur. In the future the SDK may create 183 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 184 // for more information on using Contexts. 185 func (c *MarketplaceCommerceAnalytics) StartSupportDataExportWithContext(ctx aws.Context, input *StartSupportDataExportInput, opts ...request.Option) (*StartSupportDataExportOutput, error) { 186 req, out := c.StartSupportDataExportRequest(input) 187 req.SetContext(ctx) 188 req.ApplyOptions(opts...) 189 return out, req.Send() 190 } 191 192 // This exception is thrown when an internal service error occurs. 193 type Exception struct { 194 _ struct{} `type:"structure"` 195 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 196 197 // This message describes details of the error. 198 Message_ *string `locationName:"message" type:"string"` 199 } 200 201 // String returns the string representation. 202 // 203 // API parameter values that are decorated as "sensitive" in the API will not 204 // be included in the string output. The member name will be present, but the 205 // value will be replaced with "sensitive". 206 func (s Exception) String() string { 207 return awsutil.Prettify(s) 208 } 209 210 // GoString returns the string representation. 211 // 212 // API parameter values that are decorated as "sensitive" in the API will not 213 // be included in the string output. The member name will be present, but the 214 // value will be replaced with "sensitive". 215 func (s Exception) GoString() string { 216 return s.String() 217 } 218 219 func newErrorException(v protocol.ResponseMetadata) error { 220 return &Exception{ 221 RespMetadata: v, 222 } 223 } 224 225 // Code returns the exception type name. 226 func (s *Exception) Code() string { 227 return "MarketplaceCommerceAnalyticsException" 228 } 229 230 // Message returns the exception's message. 231 func (s *Exception) Message() string { 232 if s.Message_ != nil { 233 return *s.Message_ 234 } 235 return "" 236 } 237 238 // OrigErr always returns nil, satisfies awserr.Error interface. 239 func (s *Exception) OrigErr() error { 240 return nil 241 } 242 243 func (s *Exception) Error() string { 244 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 245 } 246 247 // Status code returns the HTTP status code for the request's response error. 248 func (s *Exception) StatusCode() int { 249 return s.RespMetadata.StatusCode 250 } 251 252 // RequestID returns the service's response RequestID for request. 253 func (s *Exception) RequestID() string { 254 return s.RespMetadata.RequestID 255 } 256 257 // Container for the parameters to the GenerateDataSet operation. 258 type GenerateDataSetInput struct { 259 _ struct{} `type:"structure"` 260 261 // (Optional) Key-value pairs which will be returned, unmodified, in the Amazon 262 // SNS notification message and the data set metadata file. These key-value 263 // pairs can be used to correlated responses with tracking information from 264 // other systems. 265 CustomerDefinedValues map[string]*string `locationName:"customerDefinedValues" min:"1" type:"map"` 266 267 // The date a data set was published. For daily data sets, provide a date with 268 // day-level granularity for the desired day. For monthly data sets except those 269 // with prefix disbursed_amount, provide a date with month-level granularity 270 // for the desired month (the day value will be ignored). For data sets with 271 // prefix disbursed_amount, provide a date with day-level granularity for the 272 // desired day. For these data sets we will look backwards in time over the 273 // range of 31 days until the first data set is found (the latest one). 274 // 275 // DataSetPublicationDate is a required field 276 DataSetPublicationDate *time.Time `locationName:"dataSetPublicationDate" type:"timestamp" required:"true"` 277 278 // The desired data set type. 279 // 280 // * customer_subscriber_hourly_monthly_subscriptions From 2017-09-15 to 281 // present: Available daily by 24:00 UTC. 282 // 283 // * customer_subscriber_annual_subscriptions From 2017-09-15 to present: 284 // Available daily by 24:00 UTC. 285 // 286 // * daily_business_usage_by_instance_type From 2017-09-15 to present: Available 287 // daily by 24:00 UTC. 288 // 289 // * daily_business_fees From 2017-09-15 to present: Available daily by 24:00 290 // UTC. 291 // 292 // * daily_business_free_trial_conversions From 2017-09-15 to present: Available 293 // daily by 24:00 UTC. 294 // 295 // * daily_business_new_instances From 2017-09-15 to present: Available daily 296 // by 24:00 UTC. 297 // 298 // * daily_business_new_product_subscribers From 2017-09-15 to present: Available 299 // daily by 24:00 UTC. 300 // 301 // * daily_business_canceled_product_subscribers From 2017-09-15 to present: 302 // Available daily by 24:00 UTC. 303 // 304 // * monthly_revenue_billing_and_revenue_data From 2017-09-15 to present: 305 // Available monthly on the 15th day of the month by 24:00 UTC. Data includes 306 // metered transactions (e.g. hourly) from one month prior. 307 // 308 // * monthly_revenue_annual_subscriptions From 2017-09-15 to present: Available 309 // monthly on the 15th day of the month by 24:00 UTC. Data includes up-front 310 // software charges (e.g. annual) from one month prior. 311 // 312 // * monthly_revenue_field_demonstration_usage From 2018-03-15 to present: 313 // Available monthly on the 15th day of the month by 24:00 UTC. 314 // 315 // * monthly_revenue_flexible_payment_schedule From 2018-11-15 to present: 316 // Available monthly on the 15th day of the month by 24:00 UTC. 317 // 318 // * disbursed_amount_by_product From 2017-09-15 to present: Available every 319 // 30 days by 24:00 UTC. 320 // 321 // * disbursed_amount_by_instance_hours From 2017-09-15 to present: Available 322 // every 30 days by 24:00 UTC. 323 // 324 // * disbursed_amount_by_customer_geo From 2017-09-15 to present: Available 325 // every 30 days by 24:00 UTC. 326 // 327 // * disbursed_amount_by_age_of_uncollected_funds From 2017-09-15 to present: 328 // Available every 30 days by 24:00 UTC. 329 // 330 // * disbursed_amount_by_age_of_disbursed_funds From 2017-09-15 to present: 331 // Available every 30 days by 24:00 UTC. 332 // 333 // * disbursed_amount_by_age_of_past_due_funds From 2018-04-07 to present: 334 // Available every 30 days by 24:00 UTC. 335 // 336 // * disbursed_amount_by_uncollected_funds_breakdown From 2019-10-04 to present: 337 // Available every 30 days by 24:00 UTC. 338 // 339 // * sales_compensation_billed_revenue From 2017-09-15 to present: Available 340 // monthly on the 15th day of the month by 24:00 UTC. Data includes metered 341 // transactions (e.g. hourly) from one month prior, and up-front software 342 // charges (e.g. annual) from one month prior. 343 // 344 // * us_sales_and_use_tax_records From 2017-09-15 to present: Available monthly 345 // on the 15th day of the month by 24:00 UTC. 346 // 347 // * disbursed_amount_by_product_with_uncollected_funds This data set is 348 // deprecated. Download related reports from AMMP instead! 349 // 350 // * customer_profile_by_industry This data set is deprecated. Download related 351 // reports from AMMP instead! 352 // 353 // * customer_profile_by_revenue This data set is deprecated. Download related 354 // reports from AMMP instead! 355 // 356 // * customer_profile_by_geography This data set is deprecated. Download 357 // related reports from AMMP instead! 358 // 359 // DataSetType is a required field 360 DataSetType *string `locationName:"dataSetType" min:"1" type:"string" required:"true" enum:"DataSetType"` 361 362 // The name (friendly name, not ARN) of the destination S3 bucket. 363 // 364 // DestinationS3BucketName is a required field 365 DestinationS3BucketName *string `locationName:"destinationS3BucketName" min:"1" type:"string" required:"true"` 366 367 // (Optional) The desired S3 prefix for the published data set, similar to a 368 // directory path in standard file systems. For example, if given the bucket 369 // name "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile" 370 // would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If 371 // the prefix directory structure does not exist, it will be created. If no 372 // prefix is provided, the data set will be published to the S3 bucket root. 373 DestinationS3Prefix *string `locationName:"destinationS3Prefix" type:"string"` 374 375 // The Amazon Resource Name (ARN) of the Role with an attached permissions policy 376 // to interact with the provided AWS services. 377 // 378 // RoleNameArn is a required field 379 RoleNameArn *string `locationName:"roleNameArn" min:"1" type:"string" required:"true"` 380 381 // Amazon Resource Name (ARN) for the SNS Topic that will be notified when the 382 // data set has been published or if an error has occurred. 383 // 384 // SnsTopicArn is a required field 385 SnsTopicArn *string `locationName:"snsTopicArn" min:"1" type:"string" required:"true"` 386 } 387 388 // String returns the string representation. 389 // 390 // API parameter values that are decorated as "sensitive" in the API will not 391 // be included in the string output. The member name will be present, but the 392 // value will be replaced with "sensitive". 393 func (s GenerateDataSetInput) String() string { 394 return awsutil.Prettify(s) 395 } 396 397 // GoString returns the string representation. 398 // 399 // API parameter values that are decorated as "sensitive" in the API will not 400 // be included in the string output. The member name will be present, but the 401 // value will be replaced with "sensitive". 402 func (s GenerateDataSetInput) GoString() string { 403 return s.String() 404 } 405 406 // Validate inspects the fields of the type to determine if they are valid. 407 func (s *GenerateDataSetInput) Validate() error { 408 invalidParams := request.ErrInvalidParams{Context: "GenerateDataSetInput"} 409 if s.CustomerDefinedValues != nil && len(s.CustomerDefinedValues) < 1 { 410 invalidParams.Add(request.NewErrParamMinLen("CustomerDefinedValues", 1)) 411 } 412 if s.DataSetPublicationDate == nil { 413 invalidParams.Add(request.NewErrParamRequired("DataSetPublicationDate")) 414 } 415 if s.DataSetType == nil { 416 invalidParams.Add(request.NewErrParamRequired("DataSetType")) 417 } 418 if s.DataSetType != nil && len(*s.DataSetType) < 1 { 419 invalidParams.Add(request.NewErrParamMinLen("DataSetType", 1)) 420 } 421 if s.DestinationS3BucketName == nil { 422 invalidParams.Add(request.NewErrParamRequired("DestinationS3BucketName")) 423 } 424 if s.DestinationS3BucketName != nil && len(*s.DestinationS3BucketName) < 1 { 425 invalidParams.Add(request.NewErrParamMinLen("DestinationS3BucketName", 1)) 426 } 427 if s.RoleNameArn == nil { 428 invalidParams.Add(request.NewErrParamRequired("RoleNameArn")) 429 } 430 if s.RoleNameArn != nil && len(*s.RoleNameArn) < 1 { 431 invalidParams.Add(request.NewErrParamMinLen("RoleNameArn", 1)) 432 } 433 if s.SnsTopicArn == nil { 434 invalidParams.Add(request.NewErrParamRequired("SnsTopicArn")) 435 } 436 if s.SnsTopicArn != nil && len(*s.SnsTopicArn) < 1 { 437 invalidParams.Add(request.NewErrParamMinLen("SnsTopicArn", 1)) 438 } 439 440 if invalidParams.Len() > 0 { 441 return invalidParams 442 } 443 return nil 444 } 445 446 // SetCustomerDefinedValues sets the CustomerDefinedValues field's value. 447 func (s *GenerateDataSetInput) SetCustomerDefinedValues(v map[string]*string) *GenerateDataSetInput { 448 s.CustomerDefinedValues = v 449 return s 450 } 451 452 // SetDataSetPublicationDate sets the DataSetPublicationDate field's value. 453 func (s *GenerateDataSetInput) SetDataSetPublicationDate(v time.Time) *GenerateDataSetInput { 454 s.DataSetPublicationDate = &v 455 return s 456 } 457 458 // SetDataSetType sets the DataSetType field's value. 459 func (s *GenerateDataSetInput) SetDataSetType(v string) *GenerateDataSetInput { 460 s.DataSetType = &v 461 return s 462 } 463 464 // SetDestinationS3BucketName sets the DestinationS3BucketName field's value. 465 func (s *GenerateDataSetInput) SetDestinationS3BucketName(v string) *GenerateDataSetInput { 466 s.DestinationS3BucketName = &v 467 return s 468 } 469 470 // SetDestinationS3Prefix sets the DestinationS3Prefix field's value. 471 func (s *GenerateDataSetInput) SetDestinationS3Prefix(v string) *GenerateDataSetInput { 472 s.DestinationS3Prefix = &v 473 return s 474 } 475 476 // SetRoleNameArn sets the RoleNameArn field's value. 477 func (s *GenerateDataSetInput) SetRoleNameArn(v string) *GenerateDataSetInput { 478 s.RoleNameArn = &v 479 return s 480 } 481 482 // SetSnsTopicArn sets the SnsTopicArn field's value. 483 func (s *GenerateDataSetInput) SetSnsTopicArn(v string) *GenerateDataSetInput { 484 s.SnsTopicArn = &v 485 return s 486 } 487 488 // Container for the result of the GenerateDataSet operation. 489 type GenerateDataSetOutput struct { 490 _ struct{} `type:"structure"` 491 492 // A unique identifier representing a specific request to the GenerateDataSet 493 // operation. This identifier can be used to correlate a request with notifications 494 // from the SNS topic. 495 DataSetRequestId *string `locationName:"dataSetRequestId" type:"string"` 496 } 497 498 // String returns the string representation. 499 // 500 // API parameter values that are decorated as "sensitive" in the API will not 501 // be included in the string output. The member name will be present, but the 502 // value will be replaced with "sensitive". 503 func (s GenerateDataSetOutput) String() string { 504 return awsutil.Prettify(s) 505 } 506 507 // GoString returns the string representation. 508 // 509 // API parameter values that are decorated as "sensitive" in the API will not 510 // be included in the string output. The member name will be present, but the 511 // value will be replaced with "sensitive". 512 func (s GenerateDataSetOutput) GoString() string { 513 return s.String() 514 } 515 516 // SetDataSetRequestId sets the DataSetRequestId field's value. 517 func (s *GenerateDataSetOutput) SetDataSetRequestId(v string) *GenerateDataSetOutput { 518 s.DataSetRequestId = &v 519 return s 520 } 521 522 // Container for the parameters to the StartSupportDataExport operation. 523 type StartSupportDataExportInput struct { 524 _ struct{} `type:"structure"` 525 526 // (Optional) Key-value pairs which will be returned, unmodified, in the Amazon 527 // SNS notification message and the data set metadata file. 528 CustomerDefinedValues map[string]*string `locationName:"customerDefinedValues" min:"1" type:"map"` 529 530 // Specifies the data set type to be written to the output csv file. The data 531 // set types customer_support_contacts_data and test_customer_support_contacts_data 532 // both result in a csv file containing the following fields: Product Id, Product 533 // Code, Customer Guid, Subscription Guid, Subscription Start Date, Organization, 534 // AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country 535 // Code, ZIP Code, Operation Type, and Operation Time. 536 // 537 // * customer_support_contacts_data Customer support contact data. The data 538 // set will contain all changes (Creates, Updates, and Deletes) to customer 539 // support contact data from the date specified in the from_date parameter. 540 // 541 // * test_customer_support_contacts_data An example data set containing static 542 // test data in the same format as customer_support_contacts_data 543 // 544 // DataSetType is a required field 545 DataSetType *string `locationName:"dataSetType" min:"1" type:"string" required:"true" enum:"SupportDataSetType"` 546 547 // The name (friendly name, not ARN) of the destination S3 bucket. 548 // 549 // DestinationS3BucketName is a required field 550 DestinationS3BucketName *string `locationName:"destinationS3BucketName" min:"1" type:"string" required:"true"` 551 552 // (Optional) The desired S3 prefix for the published data set, similar to a 553 // directory path in standard file systems. For example, if given the bucket 554 // name "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile" 555 // would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If 556 // the prefix directory structure does not exist, it will be created. If no 557 // prefix is provided, the data set will be published to the S3 bucket root. 558 DestinationS3Prefix *string `locationName:"destinationS3Prefix" type:"string"` 559 560 // The start date from which to retrieve the data set in UTC. This parameter 561 // only affects the customer_support_contacts_data data set type. 562 // 563 // FromDate is a required field 564 FromDate *time.Time `locationName:"fromDate" type:"timestamp" required:"true"` 565 566 // The Amazon Resource Name (ARN) of the Role with an attached permissions policy 567 // to interact with the provided AWS services. 568 // 569 // RoleNameArn is a required field 570 RoleNameArn *string `locationName:"roleNameArn" min:"1" type:"string" required:"true"` 571 572 // Amazon Resource Name (ARN) for the SNS Topic that will be notified when the 573 // data set has been published or if an error has occurred. 574 // 575 // SnsTopicArn is a required field 576 SnsTopicArn *string `locationName:"snsTopicArn" min:"1" type:"string" required:"true"` 577 } 578 579 // String returns the string representation. 580 // 581 // API parameter values that are decorated as "sensitive" in the API will not 582 // be included in the string output. The member name will be present, but the 583 // value will be replaced with "sensitive". 584 func (s StartSupportDataExportInput) String() string { 585 return awsutil.Prettify(s) 586 } 587 588 // GoString returns the string representation. 589 // 590 // API parameter values that are decorated as "sensitive" in the API will not 591 // be included in the string output. The member name will be present, but the 592 // value will be replaced with "sensitive". 593 func (s StartSupportDataExportInput) GoString() string { 594 return s.String() 595 } 596 597 // Validate inspects the fields of the type to determine if they are valid. 598 func (s *StartSupportDataExportInput) Validate() error { 599 invalidParams := request.ErrInvalidParams{Context: "StartSupportDataExportInput"} 600 if s.CustomerDefinedValues != nil && len(s.CustomerDefinedValues) < 1 { 601 invalidParams.Add(request.NewErrParamMinLen("CustomerDefinedValues", 1)) 602 } 603 if s.DataSetType == nil { 604 invalidParams.Add(request.NewErrParamRequired("DataSetType")) 605 } 606 if s.DataSetType != nil && len(*s.DataSetType) < 1 { 607 invalidParams.Add(request.NewErrParamMinLen("DataSetType", 1)) 608 } 609 if s.DestinationS3BucketName == nil { 610 invalidParams.Add(request.NewErrParamRequired("DestinationS3BucketName")) 611 } 612 if s.DestinationS3BucketName != nil && len(*s.DestinationS3BucketName) < 1 { 613 invalidParams.Add(request.NewErrParamMinLen("DestinationS3BucketName", 1)) 614 } 615 if s.FromDate == nil { 616 invalidParams.Add(request.NewErrParamRequired("FromDate")) 617 } 618 if s.RoleNameArn == nil { 619 invalidParams.Add(request.NewErrParamRequired("RoleNameArn")) 620 } 621 if s.RoleNameArn != nil && len(*s.RoleNameArn) < 1 { 622 invalidParams.Add(request.NewErrParamMinLen("RoleNameArn", 1)) 623 } 624 if s.SnsTopicArn == nil { 625 invalidParams.Add(request.NewErrParamRequired("SnsTopicArn")) 626 } 627 if s.SnsTopicArn != nil && len(*s.SnsTopicArn) < 1 { 628 invalidParams.Add(request.NewErrParamMinLen("SnsTopicArn", 1)) 629 } 630 631 if invalidParams.Len() > 0 { 632 return invalidParams 633 } 634 return nil 635 } 636 637 // SetCustomerDefinedValues sets the CustomerDefinedValues field's value. 638 func (s *StartSupportDataExportInput) SetCustomerDefinedValues(v map[string]*string) *StartSupportDataExportInput { 639 s.CustomerDefinedValues = v 640 return s 641 } 642 643 // SetDataSetType sets the DataSetType field's value. 644 func (s *StartSupportDataExportInput) SetDataSetType(v string) *StartSupportDataExportInput { 645 s.DataSetType = &v 646 return s 647 } 648 649 // SetDestinationS3BucketName sets the DestinationS3BucketName field's value. 650 func (s *StartSupportDataExportInput) SetDestinationS3BucketName(v string) *StartSupportDataExportInput { 651 s.DestinationS3BucketName = &v 652 return s 653 } 654 655 // SetDestinationS3Prefix sets the DestinationS3Prefix field's value. 656 func (s *StartSupportDataExportInput) SetDestinationS3Prefix(v string) *StartSupportDataExportInput { 657 s.DestinationS3Prefix = &v 658 return s 659 } 660 661 // SetFromDate sets the FromDate field's value. 662 func (s *StartSupportDataExportInput) SetFromDate(v time.Time) *StartSupportDataExportInput { 663 s.FromDate = &v 664 return s 665 } 666 667 // SetRoleNameArn sets the RoleNameArn field's value. 668 func (s *StartSupportDataExportInput) SetRoleNameArn(v string) *StartSupportDataExportInput { 669 s.RoleNameArn = &v 670 return s 671 } 672 673 // SetSnsTopicArn sets the SnsTopicArn field's value. 674 func (s *StartSupportDataExportInput) SetSnsTopicArn(v string) *StartSupportDataExportInput { 675 s.SnsTopicArn = &v 676 return s 677 } 678 679 // Container for the result of the StartSupportDataExport operation. 680 type StartSupportDataExportOutput struct { 681 _ struct{} `type:"structure"` 682 683 // A unique identifier representing a specific request to the StartSupportDataExport 684 // operation. This identifier can be used to correlate a request with notifications 685 // from the SNS topic. 686 DataSetRequestId *string `locationName:"dataSetRequestId" type:"string"` 687 } 688 689 // String returns the string representation. 690 // 691 // API parameter values that are decorated as "sensitive" in the API will not 692 // be included in the string output. The member name will be present, but the 693 // value will be replaced with "sensitive". 694 func (s StartSupportDataExportOutput) String() string { 695 return awsutil.Prettify(s) 696 } 697 698 // GoString returns the string representation. 699 // 700 // API parameter values that are decorated as "sensitive" in the API will not 701 // be included in the string output. The member name will be present, but the 702 // value will be replaced with "sensitive". 703 func (s StartSupportDataExportOutput) GoString() string { 704 return s.String() 705 } 706 707 // SetDataSetRequestId sets the DataSetRequestId field's value. 708 func (s *StartSupportDataExportOutput) SetDataSetRequestId(v string) *StartSupportDataExportOutput { 709 s.DataSetRequestId = &v 710 return s 711 } 712 713 const ( 714 // DataSetTypeCustomerSubscriberHourlyMonthlySubscriptions is a DataSetType enum value 715 DataSetTypeCustomerSubscriberHourlyMonthlySubscriptions = "customer_subscriber_hourly_monthly_subscriptions" 716 717 // DataSetTypeCustomerSubscriberAnnualSubscriptions is a DataSetType enum value 718 DataSetTypeCustomerSubscriberAnnualSubscriptions = "customer_subscriber_annual_subscriptions" 719 720 // DataSetTypeDailyBusinessUsageByInstanceType is a DataSetType enum value 721 DataSetTypeDailyBusinessUsageByInstanceType = "daily_business_usage_by_instance_type" 722 723 // DataSetTypeDailyBusinessFees is a DataSetType enum value 724 DataSetTypeDailyBusinessFees = "daily_business_fees" 725 726 // DataSetTypeDailyBusinessFreeTrialConversions is a DataSetType enum value 727 DataSetTypeDailyBusinessFreeTrialConversions = "daily_business_free_trial_conversions" 728 729 // DataSetTypeDailyBusinessNewInstances is a DataSetType enum value 730 DataSetTypeDailyBusinessNewInstances = "daily_business_new_instances" 731 732 // DataSetTypeDailyBusinessNewProductSubscribers is a DataSetType enum value 733 DataSetTypeDailyBusinessNewProductSubscribers = "daily_business_new_product_subscribers" 734 735 // DataSetTypeDailyBusinessCanceledProductSubscribers is a DataSetType enum value 736 DataSetTypeDailyBusinessCanceledProductSubscribers = "daily_business_canceled_product_subscribers" 737 738 // DataSetTypeMonthlyRevenueBillingAndRevenueData is a DataSetType enum value 739 DataSetTypeMonthlyRevenueBillingAndRevenueData = "monthly_revenue_billing_and_revenue_data" 740 741 // DataSetTypeMonthlyRevenueAnnualSubscriptions is a DataSetType enum value 742 DataSetTypeMonthlyRevenueAnnualSubscriptions = "monthly_revenue_annual_subscriptions" 743 744 // DataSetTypeMonthlyRevenueFieldDemonstrationUsage is a DataSetType enum value 745 DataSetTypeMonthlyRevenueFieldDemonstrationUsage = "monthly_revenue_field_demonstration_usage" 746 747 // DataSetTypeMonthlyRevenueFlexiblePaymentSchedule is a DataSetType enum value 748 DataSetTypeMonthlyRevenueFlexiblePaymentSchedule = "monthly_revenue_flexible_payment_schedule" 749 750 // DataSetTypeDisbursedAmountByProduct is a DataSetType enum value 751 DataSetTypeDisbursedAmountByProduct = "disbursed_amount_by_product" 752 753 // DataSetTypeDisbursedAmountByProductWithUncollectedFunds is a DataSetType enum value 754 DataSetTypeDisbursedAmountByProductWithUncollectedFunds = "disbursed_amount_by_product_with_uncollected_funds" 755 756 // DataSetTypeDisbursedAmountByInstanceHours is a DataSetType enum value 757 DataSetTypeDisbursedAmountByInstanceHours = "disbursed_amount_by_instance_hours" 758 759 // DataSetTypeDisbursedAmountByCustomerGeo is a DataSetType enum value 760 DataSetTypeDisbursedAmountByCustomerGeo = "disbursed_amount_by_customer_geo" 761 762 // DataSetTypeDisbursedAmountByAgeOfUncollectedFunds is a DataSetType enum value 763 DataSetTypeDisbursedAmountByAgeOfUncollectedFunds = "disbursed_amount_by_age_of_uncollected_funds" 764 765 // DataSetTypeDisbursedAmountByAgeOfDisbursedFunds is a DataSetType enum value 766 DataSetTypeDisbursedAmountByAgeOfDisbursedFunds = "disbursed_amount_by_age_of_disbursed_funds" 767 768 // DataSetTypeDisbursedAmountByAgeOfPastDueFunds is a DataSetType enum value 769 DataSetTypeDisbursedAmountByAgeOfPastDueFunds = "disbursed_amount_by_age_of_past_due_funds" 770 771 // DataSetTypeDisbursedAmountByUncollectedFundsBreakdown is a DataSetType enum value 772 DataSetTypeDisbursedAmountByUncollectedFundsBreakdown = "disbursed_amount_by_uncollected_funds_breakdown" 773 774 // DataSetTypeCustomerProfileByIndustry is a DataSetType enum value 775 DataSetTypeCustomerProfileByIndustry = "customer_profile_by_industry" 776 777 // DataSetTypeCustomerProfileByRevenue is a DataSetType enum value 778 DataSetTypeCustomerProfileByRevenue = "customer_profile_by_revenue" 779 780 // DataSetTypeCustomerProfileByGeography is a DataSetType enum value 781 DataSetTypeCustomerProfileByGeography = "customer_profile_by_geography" 782 783 // DataSetTypeSalesCompensationBilledRevenue is a DataSetType enum value 784 DataSetTypeSalesCompensationBilledRevenue = "sales_compensation_billed_revenue" 785 786 // DataSetTypeUsSalesAndUseTaxRecords is a DataSetType enum value 787 DataSetTypeUsSalesAndUseTaxRecords = "us_sales_and_use_tax_records" 788 ) 789 790 // DataSetType_Values returns all elements of the DataSetType enum 791 func DataSetType_Values() []string { 792 return []string{ 793 DataSetTypeCustomerSubscriberHourlyMonthlySubscriptions, 794 DataSetTypeCustomerSubscriberAnnualSubscriptions, 795 DataSetTypeDailyBusinessUsageByInstanceType, 796 DataSetTypeDailyBusinessFees, 797 DataSetTypeDailyBusinessFreeTrialConversions, 798 DataSetTypeDailyBusinessNewInstances, 799 DataSetTypeDailyBusinessNewProductSubscribers, 800 DataSetTypeDailyBusinessCanceledProductSubscribers, 801 DataSetTypeMonthlyRevenueBillingAndRevenueData, 802 DataSetTypeMonthlyRevenueAnnualSubscriptions, 803 DataSetTypeMonthlyRevenueFieldDemonstrationUsage, 804 DataSetTypeMonthlyRevenueFlexiblePaymentSchedule, 805 DataSetTypeDisbursedAmountByProduct, 806 DataSetTypeDisbursedAmountByProductWithUncollectedFunds, 807 DataSetTypeDisbursedAmountByInstanceHours, 808 DataSetTypeDisbursedAmountByCustomerGeo, 809 DataSetTypeDisbursedAmountByAgeOfUncollectedFunds, 810 DataSetTypeDisbursedAmountByAgeOfDisbursedFunds, 811 DataSetTypeDisbursedAmountByAgeOfPastDueFunds, 812 DataSetTypeDisbursedAmountByUncollectedFundsBreakdown, 813 DataSetTypeCustomerProfileByIndustry, 814 DataSetTypeCustomerProfileByRevenue, 815 DataSetTypeCustomerProfileByGeography, 816 DataSetTypeSalesCompensationBilledRevenue, 817 DataSetTypeUsSalesAndUseTaxRecords, 818 } 819 } 820 821 const ( 822 // SupportDataSetTypeCustomerSupportContactsData is a SupportDataSetType enum value 823 SupportDataSetTypeCustomerSupportContactsData = "customer_support_contacts_data" 824 825 // SupportDataSetTypeTestCustomerSupportContactsData is a SupportDataSetType enum value 826 SupportDataSetTypeTestCustomerSupportContactsData = "test_customer_support_contacts_data" 827 ) 828 829 // SupportDataSetType_Values returns all elements of the SupportDataSetType enum 830 func SupportDataSetType_Values() []string { 831 return []string{ 832 SupportDataSetTypeCustomerSupportContactsData, 833 SupportDataSetTypeTestCustomerSupportContactsData, 834 } 835 }