github.com/aavshr/aws-sdk-go@v1.41.3/service/qldb/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package qldb 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 "github.com/aavshr/aws-sdk-go/private/protocol/restjson" 14 ) 15 16 const opCancelJournalKinesisStream = "CancelJournalKinesisStream" 17 18 // CancelJournalKinesisStreamRequest generates a "aws/request.Request" representing the 19 // client's request for the CancelJournalKinesisStream operation. The "output" return 20 // value will be populated with the request's response once the request completes 21 // successfully. 22 // 23 // Use "Send" method on the returned Request to send the API call to the service. 24 // the "output" return value is not valid until after Send returns without error. 25 // 26 // See CancelJournalKinesisStream for more information on using the CancelJournalKinesisStream 27 // API call, and error handling. 28 // 29 // This method is useful when you want to inject custom logic or configuration 30 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 31 // 32 // 33 // // Example sending a request using the CancelJournalKinesisStreamRequest method. 34 // req, resp := client.CancelJournalKinesisStreamRequest(params) 35 // 36 // err := req.Send() 37 // if err == nil { // resp is now filled 38 // fmt.Println(resp) 39 // } 40 // 41 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CancelJournalKinesisStream 42 func (c *QLDB) CancelJournalKinesisStreamRequest(input *CancelJournalKinesisStreamInput) (req *request.Request, output *CancelJournalKinesisStreamOutput) { 43 op := &request.Operation{ 44 Name: opCancelJournalKinesisStream, 45 HTTPMethod: "DELETE", 46 HTTPPath: "/ledgers/{name}/journal-kinesis-streams/{streamId}", 47 } 48 49 if input == nil { 50 input = &CancelJournalKinesisStreamInput{} 51 } 52 53 output = &CancelJournalKinesisStreamOutput{} 54 req = c.newRequest(op, input, output) 55 return 56 } 57 58 // CancelJournalKinesisStream API operation for Amazon QLDB. 59 // 60 // Ends a given Amazon QLDB journal stream. Before a stream can be canceled, 61 // its current status must be ACTIVE. 62 // 63 // You can't restart a stream after you cancel it. Canceled QLDB stream resources 64 // are subject to a 7-day retention period, so they are automatically deleted 65 // after this limit expires. 66 // 67 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 68 // with awserr.Error's Code and Message methods to get detailed information about 69 // the error. 70 // 71 // See the AWS API reference guide for Amazon QLDB's 72 // API operation CancelJournalKinesisStream for usage and error information. 73 // 74 // Returned Error Types: 75 // * InvalidParameterException 76 // One or more parameters in the request aren't valid. 77 // 78 // * ResourceNotFoundException 79 // The specified resource doesn't exist. 80 // 81 // * ResourcePreconditionNotMetException 82 // The operation failed because a condition wasn't satisfied in advance. 83 // 84 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CancelJournalKinesisStream 85 func (c *QLDB) CancelJournalKinesisStream(input *CancelJournalKinesisStreamInput) (*CancelJournalKinesisStreamOutput, error) { 86 req, out := c.CancelJournalKinesisStreamRequest(input) 87 return out, req.Send() 88 } 89 90 // CancelJournalKinesisStreamWithContext is the same as CancelJournalKinesisStream with the addition of 91 // the ability to pass a context and additional request options. 92 // 93 // See CancelJournalKinesisStream for details on how to use this API operation. 94 // 95 // The context must be non-nil and will be used for request cancellation. If 96 // the context is nil a panic will occur. In the future the SDK may create 97 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 98 // for more information on using Contexts. 99 func (c *QLDB) CancelJournalKinesisStreamWithContext(ctx aws.Context, input *CancelJournalKinesisStreamInput, opts ...request.Option) (*CancelJournalKinesisStreamOutput, error) { 100 req, out := c.CancelJournalKinesisStreamRequest(input) 101 req.SetContext(ctx) 102 req.ApplyOptions(opts...) 103 return out, req.Send() 104 } 105 106 const opCreateLedger = "CreateLedger" 107 108 // CreateLedgerRequest generates a "aws/request.Request" representing the 109 // client's request for the CreateLedger operation. The "output" return 110 // value will be populated with the request's response once the request completes 111 // successfully. 112 // 113 // Use "Send" method on the returned Request to send the API call to the service. 114 // the "output" return value is not valid until after Send returns without error. 115 // 116 // See CreateLedger for more information on using the CreateLedger 117 // API call, and error handling. 118 // 119 // This method is useful when you want to inject custom logic or configuration 120 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 121 // 122 // 123 // // Example sending a request using the CreateLedgerRequest method. 124 // req, resp := client.CreateLedgerRequest(params) 125 // 126 // err := req.Send() 127 // if err == nil { // resp is now filled 128 // fmt.Println(resp) 129 // } 130 // 131 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CreateLedger 132 func (c *QLDB) CreateLedgerRequest(input *CreateLedgerInput) (req *request.Request, output *CreateLedgerOutput) { 133 op := &request.Operation{ 134 Name: opCreateLedger, 135 HTTPMethod: "POST", 136 HTTPPath: "/ledgers", 137 } 138 139 if input == nil { 140 input = &CreateLedgerInput{} 141 } 142 143 output = &CreateLedgerOutput{} 144 req = c.newRequest(op, input, output) 145 return 146 } 147 148 // CreateLedger API operation for Amazon QLDB. 149 // 150 // Creates a new ledger in your account in the current Region. 151 // 152 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 153 // with awserr.Error's Code and Message methods to get detailed information about 154 // the error. 155 // 156 // See the AWS API reference guide for Amazon QLDB's 157 // API operation CreateLedger for usage and error information. 158 // 159 // Returned Error Types: 160 // * InvalidParameterException 161 // One or more parameters in the request aren't valid. 162 // 163 // * ResourceAlreadyExistsException 164 // The specified resource already exists. 165 // 166 // * LimitExceededException 167 // You have reached the limit on the maximum number of resources allowed. 168 // 169 // * ResourceInUseException 170 // The specified resource can't be modified at this time. 171 // 172 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/CreateLedger 173 func (c *QLDB) CreateLedger(input *CreateLedgerInput) (*CreateLedgerOutput, error) { 174 req, out := c.CreateLedgerRequest(input) 175 return out, req.Send() 176 } 177 178 // CreateLedgerWithContext is the same as CreateLedger with the addition of 179 // the ability to pass a context and additional request options. 180 // 181 // See CreateLedger for details on how to use this API operation. 182 // 183 // The context must be non-nil and will be used for request cancellation. If 184 // the context is nil a panic will occur. In the future the SDK may create 185 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 186 // for more information on using Contexts. 187 func (c *QLDB) CreateLedgerWithContext(ctx aws.Context, input *CreateLedgerInput, opts ...request.Option) (*CreateLedgerOutput, error) { 188 req, out := c.CreateLedgerRequest(input) 189 req.SetContext(ctx) 190 req.ApplyOptions(opts...) 191 return out, req.Send() 192 } 193 194 const opDeleteLedger = "DeleteLedger" 195 196 // DeleteLedgerRequest generates a "aws/request.Request" representing the 197 // client's request for the DeleteLedger operation. The "output" return 198 // value will be populated with the request's response once the request completes 199 // successfully. 200 // 201 // Use "Send" method on the returned Request to send the API call to the service. 202 // the "output" return value is not valid until after Send returns without error. 203 // 204 // See DeleteLedger for more information on using the DeleteLedger 205 // API call, and error handling. 206 // 207 // This method is useful when you want to inject custom logic or configuration 208 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 209 // 210 // 211 // // Example sending a request using the DeleteLedgerRequest method. 212 // req, resp := client.DeleteLedgerRequest(params) 213 // 214 // err := req.Send() 215 // if err == nil { // resp is now filled 216 // fmt.Println(resp) 217 // } 218 // 219 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DeleteLedger 220 func (c *QLDB) DeleteLedgerRequest(input *DeleteLedgerInput) (req *request.Request, output *DeleteLedgerOutput) { 221 op := &request.Operation{ 222 Name: opDeleteLedger, 223 HTTPMethod: "DELETE", 224 HTTPPath: "/ledgers/{name}", 225 } 226 227 if input == nil { 228 input = &DeleteLedgerInput{} 229 } 230 231 output = &DeleteLedgerOutput{} 232 req = c.newRequest(op, input, output) 233 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 234 return 235 } 236 237 // DeleteLedger API operation for Amazon QLDB. 238 // 239 // Deletes a ledger and all of its contents. This action is irreversible. 240 // 241 // If deletion protection is enabled, you must first disable it before you can 242 // delete the ledger. You can disable it by calling the UpdateLedger operation 243 // to set the flag to false. 244 // 245 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 246 // with awserr.Error's Code and Message methods to get detailed information about 247 // the error. 248 // 249 // See the AWS API reference guide for Amazon QLDB's 250 // API operation DeleteLedger for usage and error information. 251 // 252 // Returned Error Types: 253 // * InvalidParameterException 254 // One or more parameters in the request aren't valid. 255 // 256 // * ResourceNotFoundException 257 // The specified resource doesn't exist. 258 // 259 // * ResourceInUseException 260 // The specified resource can't be modified at this time. 261 // 262 // * ResourcePreconditionNotMetException 263 // The operation failed because a condition wasn't satisfied in advance. 264 // 265 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DeleteLedger 266 func (c *QLDB) DeleteLedger(input *DeleteLedgerInput) (*DeleteLedgerOutput, error) { 267 req, out := c.DeleteLedgerRequest(input) 268 return out, req.Send() 269 } 270 271 // DeleteLedgerWithContext is the same as DeleteLedger with the addition of 272 // the ability to pass a context and additional request options. 273 // 274 // See DeleteLedger for details on how to use this API operation. 275 // 276 // The context must be non-nil and will be used for request cancellation. If 277 // the context is nil a panic will occur. In the future the SDK may create 278 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 279 // for more information on using Contexts. 280 func (c *QLDB) DeleteLedgerWithContext(ctx aws.Context, input *DeleteLedgerInput, opts ...request.Option) (*DeleteLedgerOutput, error) { 281 req, out := c.DeleteLedgerRequest(input) 282 req.SetContext(ctx) 283 req.ApplyOptions(opts...) 284 return out, req.Send() 285 } 286 287 const opDescribeJournalKinesisStream = "DescribeJournalKinesisStream" 288 289 // DescribeJournalKinesisStreamRequest generates a "aws/request.Request" representing the 290 // client's request for the DescribeJournalKinesisStream operation. The "output" return 291 // value will be populated with the request's response once the request completes 292 // successfully. 293 // 294 // Use "Send" method on the returned Request to send the API call to the service. 295 // the "output" return value is not valid until after Send returns without error. 296 // 297 // See DescribeJournalKinesisStream for more information on using the DescribeJournalKinesisStream 298 // API call, and error handling. 299 // 300 // This method is useful when you want to inject custom logic or configuration 301 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 302 // 303 // 304 // // Example sending a request using the DescribeJournalKinesisStreamRequest method. 305 // req, resp := client.DescribeJournalKinesisStreamRequest(params) 306 // 307 // err := req.Send() 308 // if err == nil { // resp is now filled 309 // fmt.Println(resp) 310 // } 311 // 312 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeJournalKinesisStream 313 func (c *QLDB) DescribeJournalKinesisStreamRequest(input *DescribeJournalKinesisStreamInput) (req *request.Request, output *DescribeJournalKinesisStreamOutput) { 314 op := &request.Operation{ 315 Name: opDescribeJournalKinesisStream, 316 HTTPMethod: "GET", 317 HTTPPath: "/ledgers/{name}/journal-kinesis-streams/{streamId}", 318 } 319 320 if input == nil { 321 input = &DescribeJournalKinesisStreamInput{} 322 } 323 324 output = &DescribeJournalKinesisStreamOutput{} 325 req = c.newRequest(op, input, output) 326 return 327 } 328 329 // DescribeJournalKinesisStream API operation for Amazon QLDB. 330 // 331 // Returns detailed information about a given Amazon QLDB journal stream. The 332 // output includes the Amazon Resource Name (ARN), stream name, current status, 333 // creation time, and the parameters of the original stream creation request. 334 // 335 // This action does not return any expired journal streams. For more information, 336 // see Expiration for terminal streams (https://docs.aws.amazon.com/qldb/latest/developerguide/streams.create.html#streams.create.states.expiration) 337 // in the Amazon QLDB Developer Guide. 338 // 339 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 340 // with awserr.Error's Code and Message methods to get detailed information about 341 // the error. 342 // 343 // See the AWS API reference guide for Amazon QLDB's 344 // API operation DescribeJournalKinesisStream for usage and error information. 345 // 346 // Returned Error Types: 347 // * InvalidParameterException 348 // One or more parameters in the request aren't valid. 349 // 350 // * ResourceNotFoundException 351 // The specified resource doesn't exist. 352 // 353 // * ResourcePreconditionNotMetException 354 // The operation failed because a condition wasn't satisfied in advance. 355 // 356 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeJournalKinesisStream 357 func (c *QLDB) DescribeJournalKinesisStream(input *DescribeJournalKinesisStreamInput) (*DescribeJournalKinesisStreamOutput, error) { 358 req, out := c.DescribeJournalKinesisStreamRequest(input) 359 return out, req.Send() 360 } 361 362 // DescribeJournalKinesisStreamWithContext is the same as DescribeJournalKinesisStream with the addition of 363 // the ability to pass a context and additional request options. 364 // 365 // See DescribeJournalKinesisStream for details on how to use this API operation. 366 // 367 // The context must be non-nil and will be used for request cancellation. If 368 // the context is nil a panic will occur. In the future the SDK may create 369 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 370 // for more information on using Contexts. 371 func (c *QLDB) DescribeJournalKinesisStreamWithContext(ctx aws.Context, input *DescribeJournalKinesisStreamInput, opts ...request.Option) (*DescribeJournalKinesisStreamOutput, error) { 372 req, out := c.DescribeJournalKinesisStreamRequest(input) 373 req.SetContext(ctx) 374 req.ApplyOptions(opts...) 375 return out, req.Send() 376 } 377 378 const opDescribeJournalS3Export = "DescribeJournalS3Export" 379 380 // DescribeJournalS3ExportRequest generates a "aws/request.Request" representing the 381 // client's request for the DescribeJournalS3Export operation. The "output" return 382 // value will be populated with the request's response once the request completes 383 // successfully. 384 // 385 // Use "Send" method on the returned Request to send the API call to the service. 386 // the "output" return value is not valid until after Send returns without error. 387 // 388 // See DescribeJournalS3Export for more information on using the DescribeJournalS3Export 389 // API call, and error handling. 390 // 391 // This method is useful when you want to inject custom logic or configuration 392 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 393 // 394 // 395 // // Example sending a request using the DescribeJournalS3ExportRequest method. 396 // req, resp := client.DescribeJournalS3ExportRequest(params) 397 // 398 // err := req.Send() 399 // if err == nil { // resp is now filled 400 // fmt.Println(resp) 401 // } 402 // 403 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeJournalS3Export 404 func (c *QLDB) DescribeJournalS3ExportRequest(input *DescribeJournalS3ExportInput) (req *request.Request, output *DescribeJournalS3ExportOutput) { 405 op := &request.Operation{ 406 Name: opDescribeJournalS3Export, 407 HTTPMethod: "GET", 408 HTTPPath: "/ledgers/{name}/journal-s3-exports/{exportId}", 409 } 410 411 if input == nil { 412 input = &DescribeJournalS3ExportInput{} 413 } 414 415 output = &DescribeJournalS3ExportOutput{} 416 req = c.newRequest(op, input, output) 417 return 418 } 419 420 // DescribeJournalS3Export API operation for Amazon QLDB. 421 // 422 // Returns information about a journal export job, including the ledger name, 423 // export ID, creation time, current status, and the parameters of the original 424 // export creation request. 425 // 426 // This action does not return any expired export jobs. For more information, 427 // see Export job expiration (https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration) 428 // in the Amazon QLDB Developer Guide. 429 // 430 // If the export job with the given ExportId doesn't exist, then throws ResourceNotFoundException. 431 // 432 // If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException. 433 // 434 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 435 // with awserr.Error's Code and Message methods to get detailed information about 436 // the error. 437 // 438 // See the AWS API reference guide for Amazon QLDB's 439 // API operation DescribeJournalS3Export for usage and error information. 440 // 441 // Returned Error Types: 442 // * ResourceNotFoundException 443 // The specified resource doesn't exist. 444 // 445 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeJournalS3Export 446 func (c *QLDB) DescribeJournalS3Export(input *DescribeJournalS3ExportInput) (*DescribeJournalS3ExportOutput, error) { 447 req, out := c.DescribeJournalS3ExportRequest(input) 448 return out, req.Send() 449 } 450 451 // DescribeJournalS3ExportWithContext is the same as DescribeJournalS3Export with the addition of 452 // the ability to pass a context and additional request options. 453 // 454 // See DescribeJournalS3Export for details on how to use this API operation. 455 // 456 // The context must be non-nil and will be used for request cancellation. If 457 // the context is nil a panic will occur. In the future the SDK may create 458 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 459 // for more information on using Contexts. 460 func (c *QLDB) DescribeJournalS3ExportWithContext(ctx aws.Context, input *DescribeJournalS3ExportInput, opts ...request.Option) (*DescribeJournalS3ExportOutput, error) { 461 req, out := c.DescribeJournalS3ExportRequest(input) 462 req.SetContext(ctx) 463 req.ApplyOptions(opts...) 464 return out, req.Send() 465 } 466 467 const opDescribeLedger = "DescribeLedger" 468 469 // DescribeLedgerRequest generates a "aws/request.Request" representing the 470 // client's request for the DescribeLedger operation. The "output" return 471 // value will be populated with the request's response once the request completes 472 // successfully. 473 // 474 // Use "Send" method on the returned Request to send the API call to the service. 475 // the "output" return value is not valid until after Send returns without error. 476 // 477 // See DescribeLedger for more information on using the DescribeLedger 478 // API call, and error handling. 479 // 480 // This method is useful when you want to inject custom logic or configuration 481 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 482 // 483 // 484 // // Example sending a request using the DescribeLedgerRequest method. 485 // req, resp := client.DescribeLedgerRequest(params) 486 // 487 // err := req.Send() 488 // if err == nil { // resp is now filled 489 // fmt.Println(resp) 490 // } 491 // 492 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeLedger 493 func (c *QLDB) DescribeLedgerRequest(input *DescribeLedgerInput) (req *request.Request, output *DescribeLedgerOutput) { 494 op := &request.Operation{ 495 Name: opDescribeLedger, 496 HTTPMethod: "GET", 497 HTTPPath: "/ledgers/{name}", 498 } 499 500 if input == nil { 501 input = &DescribeLedgerInput{} 502 } 503 504 output = &DescribeLedgerOutput{} 505 req = c.newRequest(op, input, output) 506 return 507 } 508 509 // DescribeLedger API operation for Amazon QLDB. 510 // 511 // Returns information about a ledger, including its state, permissions mode, 512 // encryption at rest settings, and when it was created. 513 // 514 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 515 // with awserr.Error's Code and Message methods to get detailed information about 516 // the error. 517 // 518 // See the AWS API reference guide for Amazon QLDB's 519 // API operation DescribeLedger for usage and error information. 520 // 521 // Returned Error Types: 522 // * InvalidParameterException 523 // One or more parameters in the request aren't valid. 524 // 525 // * ResourceNotFoundException 526 // The specified resource doesn't exist. 527 // 528 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/DescribeLedger 529 func (c *QLDB) DescribeLedger(input *DescribeLedgerInput) (*DescribeLedgerOutput, error) { 530 req, out := c.DescribeLedgerRequest(input) 531 return out, req.Send() 532 } 533 534 // DescribeLedgerWithContext is the same as DescribeLedger with the addition of 535 // the ability to pass a context and additional request options. 536 // 537 // See DescribeLedger for details on how to use this API operation. 538 // 539 // The context must be non-nil and will be used for request cancellation. If 540 // the context is nil a panic will occur. In the future the SDK may create 541 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 542 // for more information on using Contexts. 543 func (c *QLDB) DescribeLedgerWithContext(ctx aws.Context, input *DescribeLedgerInput, opts ...request.Option) (*DescribeLedgerOutput, error) { 544 req, out := c.DescribeLedgerRequest(input) 545 req.SetContext(ctx) 546 req.ApplyOptions(opts...) 547 return out, req.Send() 548 } 549 550 const opExportJournalToS3 = "ExportJournalToS3" 551 552 // ExportJournalToS3Request generates a "aws/request.Request" representing the 553 // client's request for the ExportJournalToS3 operation. The "output" return 554 // value will be populated with the request's response once the request completes 555 // successfully. 556 // 557 // Use "Send" method on the returned Request to send the API call to the service. 558 // the "output" return value is not valid until after Send returns without error. 559 // 560 // See ExportJournalToS3 for more information on using the ExportJournalToS3 561 // API call, and error handling. 562 // 563 // This method is useful when you want to inject custom logic or configuration 564 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 565 // 566 // 567 // // Example sending a request using the ExportJournalToS3Request method. 568 // req, resp := client.ExportJournalToS3Request(params) 569 // 570 // err := req.Send() 571 // if err == nil { // resp is now filled 572 // fmt.Println(resp) 573 // } 574 // 575 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ExportJournalToS3 576 func (c *QLDB) ExportJournalToS3Request(input *ExportJournalToS3Input) (req *request.Request, output *ExportJournalToS3Output) { 577 op := &request.Operation{ 578 Name: opExportJournalToS3, 579 HTTPMethod: "POST", 580 HTTPPath: "/ledgers/{name}/journal-s3-exports", 581 } 582 583 if input == nil { 584 input = &ExportJournalToS3Input{} 585 } 586 587 output = &ExportJournalToS3Output{} 588 req = c.newRequest(op, input, output) 589 return 590 } 591 592 // ExportJournalToS3 API operation for Amazon QLDB. 593 // 594 // Exports journal contents within a date and time range from a ledger into 595 // a specified Amazon Simple Storage Service (Amazon S3) bucket. The data is 596 // written as files in Amazon Ion format. 597 // 598 // If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException. 599 // 600 // If the ledger with the given Name is in CREATING status, then throws ResourcePreconditionNotMetException. 601 // 602 // You can initiate up to two concurrent journal export requests for each ledger. 603 // Beyond this limit, journal export requests throw LimitExceededException. 604 // 605 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 606 // with awserr.Error's Code and Message methods to get detailed information about 607 // the error. 608 // 609 // See the AWS API reference guide for Amazon QLDB's 610 // API operation ExportJournalToS3 for usage and error information. 611 // 612 // Returned Error Types: 613 // * ResourceNotFoundException 614 // The specified resource doesn't exist. 615 // 616 // * ResourcePreconditionNotMetException 617 // The operation failed because a condition wasn't satisfied in advance. 618 // 619 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ExportJournalToS3 620 func (c *QLDB) ExportJournalToS3(input *ExportJournalToS3Input) (*ExportJournalToS3Output, error) { 621 req, out := c.ExportJournalToS3Request(input) 622 return out, req.Send() 623 } 624 625 // ExportJournalToS3WithContext is the same as ExportJournalToS3 with the addition of 626 // the ability to pass a context and additional request options. 627 // 628 // See ExportJournalToS3 for details on how to use this API operation. 629 // 630 // The context must be non-nil and will be used for request cancellation. If 631 // the context is nil a panic will occur. In the future the SDK may create 632 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 633 // for more information on using Contexts. 634 func (c *QLDB) ExportJournalToS3WithContext(ctx aws.Context, input *ExportJournalToS3Input, opts ...request.Option) (*ExportJournalToS3Output, error) { 635 req, out := c.ExportJournalToS3Request(input) 636 req.SetContext(ctx) 637 req.ApplyOptions(opts...) 638 return out, req.Send() 639 } 640 641 const opGetBlock = "GetBlock" 642 643 // GetBlockRequest generates a "aws/request.Request" representing the 644 // client's request for the GetBlock operation. The "output" return 645 // value will be populated with the request's response once the request completes 646 // successfully. 647 // 648 // Use "Send" method on the returned Request to send the API call to the service. 649 // the "output" return value is not valid until after Send returns without error. 650 // 651 // See GetBlock for more information on using the GetBlock 652 // API call, and error handling. 653 // 654 // This method is useful when you want to inject custom logic or configuration 655 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 656 // 657 // 658 // // Example sending a request using the GetBlockRequest method. 659 // req, resp := client.GetBlockRequest(params) 660 // 661 // err := req.Send() 662 // if err == nil { // resp is now filled 663 // fmt.Println(resp) 664 // } 665 // 666 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/GetBlock 667 func (c *QLDB) GetBlockRequest(input *GetBlockInput) (req *request.Request, output *GetBlockOutput) { 668 op := &request.Operation{ 669 Name: opGetBlock, 670 HTTPMethod: "POST", 671 HTTPPath: "/ledgers/{name}/block", 672 } 673 674 if input == nil { 675 input = &GetBlockInput{} 676 } 677 678 output = &GetBlockOutput{} 679 req = c.newRequest(op, input, output) 680 return 681 } 682 683 // GetBlock API operation for Amazon QLDB. 684 // 685 // Returns a block object at a specified address in a journal. Also returns 686 // a proof of the specified block for verification if DigestTipAddress is provided. 687 // 688 // For information about the data contents in a block, see Journal contents 689 // (https://docs.aws.amazon.com/qldb/latest/developerguide/journal-contents.html) 690 // in the Amazon QLDB Developer Guide. 691 // 692 // If the specified ledger doesn't exist or is in DELETING status, then throws 693 // ResourceNotFoundException. 694 // 695 // If the specified ledger is in CREATING status, then throws ResourcePreconditionNotMetException. 696 // 697 // If no block exists with the specified address, then throws InvalidParameterException. 698 // 699 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 700 // with awserr.Error's Code and Message methods to get detailed information about 701 // the error. 702 // 703 // See the AWS API reference guide for Amazon QLDB's 704 // API operation GetBlock for usage and error information. 705 // 706 // Returned Error Types: 707 // * InvalidParameterException 708 // One or more parameters in the request aren't valid. 709 // 710 // * ResourceNotFoundException 711 // The specified resource doesn't exist. 712 // 713 // * ResourcePreconditionNotMetException 714 // The operation failed because a condition wasn't satisfied in advance. 715 // 716 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/GetBlock 717 func (c *QLDB) GetBlock(input *GetBlockInput) (*GetBlockOutput, error) { 718 req, out := c.GetBlockRequest(input) 719 return out, req.Send() 720 } 721 722 // GetBlockWithContext is the same as GetBlock with the addition of 723 // the ability to pass a context and additional request options. 724 // 725 // See GetBlock for details on how to use this API operation. 726 // 727 // The context must be non-nil and will be used for request cancellation. If 728 // the context is nil a panic will occur. In the future the SDK may create 729 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 730 // for more information on using Contexts. 731 func (c *QLDB) GetBlockWithContext(ctx aws.Context, input *GetBlockInput, opts ...request.Option) (*GetBlockOutput, error) { 732 req, out := c.GetBlockRequest(input) 733 req.SetContext(ctx) 734 req.ApplyOptions(opts...) 735 return out, req.Send() 736 } 737 738 const opGetDigest = "GetDigest" 739 740 // GetDigestRequest generates a "aws/request.Request" representing the 741 // client's request for the GetDigest operation. The "output" return 742 // value will be populated with the request's response once the request completes 743 // successfully. 744 // 745 // Use "Send" method on the returned Request to send the API call to the service. 746 // the "output" return value is not valid until after Send returns without error. 747 // 748 // See GetDigest for more information on using the GetDigest 749 // API call, and error handling. 750 // 751 // This method is useful when you want to inject custom logic or configuration 752 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 753 // 754 // 755 // // Example sending a request using the GetDigestRequest method. 756 // req, resp := client.GetDigestRequest(params) 757 // 758 // err := req.Send() 759 // if err == nil { // resp is now filled 760 // fmt.Println(resp) 761 // } 762 // 763 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/GetDigest 764 func (c *QLDB) GetDigestRequest(input *GetDigestInput) (req *request.Request, output *GetDigestOutput) { 765 op := &request.Operation{ 766 Name: opGetDigest, 767 HTTPMethod: "POST", 768 HTTPPath: "/ledgers/{name}/digest", 769 } 770 771 if input == nil { 772 input = &GetDigestInput{} 773 } 774 775 output = &GetDigestOutput{} 776 req = c.newRequest(op, input, output) 777 return 778 } 779 780 // GetDigest API operation for Amazon QLDB. 781 // 782 // Returns the digest of a ledger at the latest committed block in the journal. 783 // The response includes a 256-bit hash value and a block address. 784 // 785 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 786 // with awserr.Error's Code and Message methods to get detailed information about 787 // the error. 788 // 789 // See the AWS API reference guide for Amazon QLDB's 790 // API operation GetDigest for usage and error information. 791 // 792 // Returned Error Types: 793 // * InvalidParameterException 794 // One or more parameters in the request aren't valid. 795 // 796 // * ResourceNotFoundException 797 // The specified resource doesn't exist. 798 // 799 // * ResourcePreconditionNotMetException 800 // The operation failed because a condition wasn't satisfied in advance. 801 // 802 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/GetDigest 803 func (c *QLDB) GetDigest(input *GetDigestInput) (*GetDigestOutput, error) { 804 req, out := c.GetDigestRequest(input) 805 return out, req.Send() 806 } 807 808 // GetDigestWithContext is the same as GetDigest with the addition of 809 // the ability to pass a context and additional request options. 810 // 811 // See GetDigest for details on how to use this API operation. 812 // 813 // The context must be non-nil and will be used for request cancellation. If 814 // the context is nil a panic will occur. In the future the SDK may create 815 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 816 // for more information on using Contexts. 817 func (c *QLDB) GetDigestWithContext(ctx aws.Context, input *GetDigestInput, opts ...request.Option) (*GetDigestOutput, error) { 818 req, out := c.GetDigestRequest(input) 819 req.SetContext(ctx) 820 req.ApplyOptions(opts...) 821 return out, req.Send() 822 } 823 824 const opGetRevision = "GetRevision" 825 826 // GetRevisionRequest generates a "aws/request.Request" representing the 827 // client's request for the GetRevision operation. The "output" return 828 // value will be populated with the request's response once the request completes 829 // successfully. 830 // 831 // Use "Send" method on the returned Request to send the API call to the service. 832 // the "output" return value is not valid until after Send returns without error. 833 // 834 // See GetRevision for more information on using the GetRevision 835 // API call, and error handling. 836 // 837 // This method is useful when you want to inject custom logic or configuration 838 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 839 // 840 // 841 // // Example sending a request using the GetRevisionRequest method. 842 // req, resp := client.GetRevisionRequest(params) 843 // 844 // err := req.Send() 845 // if err == nil { // resp is now filled 846 // fmt.Println(resp) 847 // } 848 // 849 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/GetRevision 850 func (c *QLDB) GetRevisionRequest(input *GetRevisionInput) (req *request.Request, output *GetRevisionOutput) { 851 op := &request.Operation{ 852 Name: opGetRevision, 853 HTTPMethod: "POST", 854 HTTPPath: "/ledgers/{name}/revision", 855 } 856 857 if input == nil { 858 input = &GetRevisionInput{} 859 } 860 861 output = &GetRevisionOutput{} 862 req = c.newRequest(op, input, output) 863 return 864 } 865 866 // GetRevision API operation for Amazon QLDB. 867 // 868 // Returns a revision data object for a specified document ID and block address. 869 // Also returns a proof of the specified revision for verification if DigestTipAddress 870 // is provided. 871 // 872 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 873 // with awserr.Error's Code and Message methods to get detailed information about 874 // the error. 875 // 876 // See the AWS API reference guide for Amazon QLDB's 877 // API operation GetRevision for usage and error information. 878 // 879 // Returned Error Types: 880 // * InvalidParameterException 881 // One or more parameters in the request aren't valid. 882 // 883 // * ResourceNotFoundException 884 // The specified resource doesn't exist. 885 // 886 // * ResourcePreconditionNotMetException 887 // The operation failed because a condition wasn't satisfied in advance. 888 // 889 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/GetRevision 890 func (c *QLDB) GetRevision(input *GetRevisionInput) (*GetRevisionOutput, error) { 891 req, out := c.GetRevisionRequest(input) 892 return out, req.Send() 893 } 894 895 // GetRevisionWithContext is the same as GetRevision with the addition of 896 // the ability to pass a context and additional request options. 897 // 898 // See GetRevision for details on how to use this API operation. 899 // 900 // The context must be non-nil and will be used for request cancellation. If 901 // the context is nil a panic will occur. In the future the SDK may create 902 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 903 // for more information on using Contexts. 904 func (c *QLDB) GetRevisionWithContext(ctx aws.Context, input *GetRevisionInput, opts ...request.Option) (*GetRevisionOutput, error) { 905 req, out := c.GetRevisionRequest(input) 906 req.SetContext(ctx) 907 req.ApplyOptions(opts...) 908 return out, req.Send() 909 } 910 911 const opListJournalKinesisStreamsForLedger = "ListJournalKinesisStreamsForLedger" 912 913 // ListJournalKinesisStreamsForLedgerRequest generates a "aws/request.Request" representing the 914 // client's request for the ListJournalKinesisStreamsForLedger operation. The "output" return 915 // value will be populated with the request's response once the request completes 916 // successfully. 917 // 918 // Use "Send" method on the returned Request to send the API call to the service. 919 // the "output" return value is not valid until after Send returns without error. 920 // 921 // See ListJournalKinesisStreamsForLedger for more information on using the ListJournalKinesisStreamsForLedger 922 // API call, and error handling. 923 // 924 // This method is useful when you want to inject custom logic or configuration 925 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 926 // 927 // 928 // // Example sending a request using the ListJournalKinesisStreamsForLedgerRequest method. 929 // req, resp := client.ListJournalKinesisStreamsForLedgerRequest(params) 930 // 931 // err := req.Send() 932 // if err == nil { // resp is now filled 933 // fmt.Println(resp) 934 // } 935 // 936 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalKinesisStreamsForLedger 937 func (c *QLDB) ListJournalKinesisStreamsForLedgerRequest(input *ListJournalKinesisStreamsForLedgerInput) (req *request.Request, output *ListJournalKinesisStreamsForLedgerOutput) { 938 op := &request.Operation{ 939 Name: opListJournalKinesisStreamsForLedger, 940 HTTPMethod: "GET", 941 HTTPPath: "/ledgers/{name}/journal-kinesis-streams", 942 Paginator: &request.Paginator{ 943 InputTokens: []string{"NextToken"}, 944 OutputTokens: []string{"NextToken"}, 945 LimitToken: "MaxResults", 946 TruncationToken: "", 947 }, 948 } 949 950 if input == nil { 951 input = &ListJournalKinesisStreamsForLedgerInput{} 952 } 953 954 output = &ListJournalKinesisStreamsForLedgerOutput{} 955 req = c.newRequest(op, input, output) 956 return 957 } 958 959 // ListJournalKinesisStreamsForLedger API operation for Amazon QLDB. 960 // 961 // Returns an array of all Amazon QLDB journal stream descriptors for a given 962 // ledger. The output of each stream descriptor includes the same details that 963 // are returned by DescribeJournalKinesisStream. 964 // 965 // This action does not return any expired journal streams. For more information, 966 // see Expiration for terminal streams (https://docs.aws.amazon.com/qldb/latest/developerguide/streams.create.html#streams.create.states.expiration) 967 // in the Amazon QLDB Developer Guide. 968 // 969 // This action returns a maximum of MaxResults items. It is paginated so that 970 // you can retrieve all the items by calling ListJournalKinesisStreamsForLedger 971 // multiple times. 972 // 973 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 974 // with awserr.Error's Code and Message methods to get detailed information about 975 // the error. 976 // 977 // See the AWS API reference guide for Amazon QLDB's 978 // API operation ListJournalKinesisStreamsForLedger for usage and error information. 979 // 980 // Returned Error Types: 981 // * InvalidParameterException 982 // One or more parameters in the request aren't valid. 983 // 984 // * ResourceNotFoundException 985 // The specified resource doesn't exist. 986 // 987 // * ResourcePreconditionNotMetException 988 // The operation failed because a condition wasn't satisfied in advance. 989 // 990 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalKinesisStreamsForLedger 991 func (c *QLDB) ListJournalKinesisStreamsForLedger(input *ListJournalKinesisStreamsForLedgerInput) (*ListJournalKinesisStreamsForLedgerOutput, error) { 992 req, out := c.ListJournalKinesisStreamsForLedgerRequest(input) 993 return out, req.Send() 994 } 995 996 // ListJournalKinesisStreamsForLedgerWithContext is the same as ListJournalKinesisStreamsForLedger with the addition of 997 // the ability to pass a context and additional request options. 998 // 999 // See ListJournalKinesisStreamsForLedger for details on how to use this API operation. 1000 // 1001 // The context must be non-nil and will be used for request cancellation. If 1002 // the context is nil a panic will occur. In the future the SDK may create 1003 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1004 // for more information on using Contexts. 1005 func (c *QLDB) ListJournalKinesisStreamsForLedgerWithContext(ctx aws.Context, input *ListJournalKinesisStreamsForLedgerInput, opts ...request.Option) (*ListJournalKinesisStreamsForLedgerOutput, error) { 1006 req, out := c.ListJournalKinesisStreamsForLedgerRequest(input) 1007 req.SetContext(ctx) 1008 req.ApplyOptions(opts...) 1009 return out, req.Send() 1010 } 1011 1012 // ListJournalKinesisStreamsForLedgerPages iterates over the pages of a ListJournalKinesisStreamsForLedger operation, 1013 // calling the "fn" function with the response data for each page. To stop 1014 // iterating, return false from the fn function. 1015 // 1016 // See ListJournalKinesisStreamsForLedger method for more information on how to use this operation. 1017 // 1018 // Note: This operation can generate multiple requests to a service. 1019 // 1020 // // Example iterating over at most 3 pages of a ListJournalKinesisStreamsForLedger operation. 1021 // pageNum := 0 1022 // err := client.ListJournalKinesisStreamsForLedgerPages(params, 1023 // func(page *qldb.ListJournalKinesisStreamsForLedgerOutput, lastPage bool) bool { 1024 // pageNum++ 1025 // fmt.Println(page) 1026 // return pageNum <= 3 1027 // }) 1028 // 1029 func (c *QLDB) ListJournalKinesisStreamsForLedgerPages(input *ListJournalKinesisStreamsForLedgerInput, fn func(*ListJournalKinesisStreamsForLedgerOutput, bool) bool) error { 1030 return c.ListJournalKinesisStreamsForLedgerPagesWithContext(aws.BackgroundContext(), input, fn) 1031 } 1032 1033 // ListJournalKinesisStreamsForLedgerPagesWithContext same as ListJournalKinesisStreamsForLedgerPages except 1034 // it takes a Context and allows setting request options on the pages. 1035 // 1036 // The context must be non-nil and will be used for request cancellation. If 1037 // the context is nil a panic will occur. In the future the SDK may create 1038 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1039 // for more information on using Contexts. 1040 func (c *QLDB) ListJournalKinesisStreamsForLedgerPagesWithContext(ctx aws.Context, input *ListJournalKinesisStreamsForLedgerInput, fn func(*ListJournalKinesisStreamsForLedgerOutput, bool) bool, opts ...request.Option) error { 1041 p := request.Pagination{ 1042 NewRequest: func() (*request.Request, error) { 1043 var inCpy *ListJournalKinesisStreamsForLedgerInput 1044 if input != nil { 1045 tmp := *input 1046 inCpy = &tmp 1047 } 1048 req, _ := c.ListJournalKinesisStreamsForLedgerRequest(inCpy) 1049 req.SetContext(ctx) 1050 req.ApplyOptions(opts...) 1051 return req, nil 1052 }, 1053 } 1054 1055 for p.Next() { 1056 if !fn(p.Page().(*ListJournalKinesisStreamsForLedgerOutput), !p.HasNextPage()) { 1057 break 1058 } 1059 } 1060 1061 return p.Err() 1062 } 1063 1064 const opListJournalS3Exports = "ListJournalS3Exports" 1065 1066 // ListJournalS3ExportsRequest generates a "aws/request.Request" representing the 1067 // client's request for the ListJournalS3Exports operation. The "output" return 1068 // value will be populated with the request's response once the request completes 1069 // successfully. 1070 // 1071 // Use "Send" method on the returned Request to send the API call to the service. 1072 // the "output" return value is not valid until after Send returns without error. 1073 // 1074 // See ListJournalS3Exports for more information on using the ListJournalS3Exports 1075 // API call, and error handling. 1076 // 1077 // This method is useful when you want to inject custom logic or configuration 1078 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1079 // 1080 // 1081 // // Example sending a request using the ListJournalS3ExportsRequest method. 1082 // req, resp := client.ListJournalS3ExportsRequest(params) 1083 // 1084 // err := req.Send() 1085 // if err == nil { // resp is now filled 1086 // fmt.Println(resp) 1087 // } 1088 // 1089 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalS3Exports 1090 func (c *QLDB) ListJournalS3ExportsRequest(input *ListJournalS3ExportsInput) (req *request.Request, output *ListJournalS3ExportsOutput) { 1091 op := &request.Operation{ 1092 Name: opListJournalS3Exports, 1093 HTTPMethod: "GET", 1094 HTTPPath: "/journal-s3-exports", 1095 Paginator: &request.Paginator{ 1096 InputTokens: []string{"NextToken"}, 1097 OutputTokens: []string{"NextToken"}, 1098 LimitToken: "MaxResults", 1099 TruncationToken: "", 1100 }, 1101 } 1102 1103 if input == nil { 1104 input = &ListJournalS3ExportsInput{} 1105 } 1106 1107 output = &ListJournalS3ExportsOutput{} 1108 req = c.newRequest(op, input, output) 1109 return 1110 } 1111 1112 // ListJournalS3Exports API operation for Amazon QLDB. 1113 // 1114 // Returns an array of journal export job descriptions for all ledgers that 1115 // are associated with the current account and Region. 1116 // 1117 // This action returns a maximum of MaxResults items, and is paginated so that 1118 // you can retrieve all the items by calling ListJournalS3Exports multiple times. 1119 // 1120 // This action does not return any expired export jobs. For more information, 1121 // see Export job expiration (https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration) 1122 // in the Amazon QLDB Developer Guide. 1123 // 1124 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1125 // with awserr.Error's Code and Message methods to get detailed information about 1126 // the error. 1127 // 1128 // See the AWS API reference guide for Amazon QLDB's 1129 // API operation ListJournalS3Exports for usage and error information. 1130 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalS3Exports 1131 func (c *QLDB) ListJournalS3Exports(input *ListJournalS3ExportsInput) (*ListJournalS3ExportsOutput, error) { 1132 req, out := c.ListJournalS3ExportsRequest(input) 1133 return out, req.Send() 1134 } 1135 1136 // ListJournalS3ExportsWithContext is the same as ListJournalS3Exports with the addition of 1137 // the ability to pass a context and additional request options. 1138 // 1139 // See ListJournalS3Exports for details on how to use this API operation. 1140 // 1141 // The context must be non-nil and will be used for request cancellation. If 1142 // the context is nil a panic will occur. In the future the SDK may create 1143 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1144 // for more information on using Contexts. 1145 func (c *QLDB) ListJournalS3ExportsWithContext(ctx aws.Context, input *ListJournalS3ExportsInput, opts ...request.Option) (*ListJournalS3ExportsOutput, error) { 1146 req, out := c.ListJournalS3ExportsRequest(input) 1147 req.SetContext(ctx) 1148 req.ApplyOptions(opts...) 1149 return out, req.Send() 1150 } 1151 1152 // ListJournalS3ExportsPages iterates over the pages of a ListJournalS3Exports operation, 1153 // calling the "fn" function with the response data for each page. To stop 1154 // iterating, return false from the fn function. 1155 // 1156 // See ListJournalS3Exports method for more information on how to use this operation. 1157 // 1158 // Note: This operation can generate multiple requests to a service. 1159 // 1160 // // Example iterating over at most 3 pages of a ListJournalS3Exports operation. 1161 // pageNum := 0 1162 // err := client.ListJournalS3ExportsPages(params, 1163 // func(page *qldb.ListJournalS3ExportsOutput, lastPage bool) bool { 1164 // pageNum++ 1165 // fmt.Println(page) 1166 // return pageNum <= 3 1167 // }) 1168 // 1169 func (c *QLDB) ListJournalS3ExportsPages(input *ListJournalS3ExportsInput, fn func(*ListJournalS3ExportsOutput, bool) bool) error { 1170 return c.ListJournalS3ExportsPagesWithContext(aws.BackgroundContext(), input, fn) 1171 } 1172 1173 // ListJournalS3ExportsPagesWithContext same as ListJournalS3ExportsPages except 1174 // it takes a Context and allows setting request options on the pages. 1175 // 1176 // The context must be non-nil and will be used for request cancellation. If 1177 // the context is nil a panic will occur. In the future the SDK may create 1178 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1179 // for more information on using Contexts. 1180 func (c *QLDB) ListJournalS3ExportsPagesWithContext(ctx aws.Context, input *ListJournalS3ExportsInput, fn func(*ListJournalS3ExportsOutput, bool) bool, opts ...request.Option) error { 1181 p := request.Pagination{ 1182 NewRequest: func() (*request.Request, error) { 1183 var inCpy *ListJournalS3ExportsInput 1184 if input != nil { 1185 tmp := *input 1186 inCpy = &tmp 1187 } 1188 req, _ := c.ListJournalS3ExportsRequest(inCpy) 1189 req.SetContext(ctx) 1190 req.ApplyOptions(opts...) 1191 return req, nil 1192 }, 1193 } 1194 1195 for p.Next() { 1196 if !fn(p.Page().(*ListJournalS3ExportsOutput), !p.HasNextPage()) { 1197 break 1198 } 1199 } 1200 1201 return p.Err() 1202 } 1203 1204 const opListJournalS3ExportsForLedger = "ListJournalS3ExportsForLedger" 1205 1206 // ListJournalS3ExportsForLedgerRequest generates a "aws/request.Request" representing the 1207 // client's request for the ListJournalS3ExportsForLedger operation. The "output" return 1208 // value will be populated with the request's response once the request completes 1209 // successfully. 1210 // 1211 // Use "Send" method on the returned Request to send the API call to the service. 1212 // the "output" return value is not valid until after Send returns without error. 1213 // 1214 // See ListJournalS3ExportsForLedger for more information on using the ListJournalS3ExportsForLedger 1215 // API call, and error handling. 1216 // 1217 // This method is useful when you want to inject custom logic or configuration 1218 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1219 // 1220 // 1221 // // Example sending a request using the ListJournalS3ExportsForLedgerRequest method. 1222 // req, resp := client.ListJournalS3ExportsForLedgerRequest(params) 1223 // 1224 // err := req.Send() 1225 // if err == nil { // resp is now filled 1226 // fmt.Println(resp) 1227 // } 1228 // 1229 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalS3ExportsForLedger 1230 func (c *QLDB) ListJournalS3ExportsForLedgerRequest(input *ListJournalS3ExportsForLedgerInput) (req *request.Request, output *ListJournalS3ExportsForLedgerOutput) { 1231 op := &request.Operation{ 1232 Name: opListJournalS3ExportsForLedger, 1233 HTTPMethod: "GET", 1234 HTTPPath: "/ledgers/{name}/journal-s3-exports", 1235 Paginator: &request.Paginator{ 1236 InputTokens: []string{"NextToken"}, 1237 OutputTokens: []string{"NextToken"}, 1238 LimitToken: "MaxResults", 1239 TruncationToken: "", 1240 }, 1241 } 1242 1243 if input == nil { 1244 input = &ListJournalS3ExportsForLedgerInput{} 1245 } 1246 1247 output = &ListJournalS3ExportsForLedgerOutput{} 1248 req = c.newRequest(op, input, output) 1249 return 1250 } 1251 1252 // ListJournalS3ExportsForLedger API operation for Amazon QLDB. 1253 // 1254 // Returns an array of journal export job descriptions for a specified ledger. 1255 // 1256 // This action returns a maximum of MaxResults items, and is paginated so that 1257 // you can retrieve all the items by calling ListJournalS3ExportsForLedger multiple 1258 // times. 1259 // 1260 // This action does not return any expired export jobs. For more information, 1261 // see Export job expiration (https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration) 1262 // in the Amazon QLDB Developer Guide. 1263 // 1264 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1265 // with awserr.Error's Code and Message methods to get detailed information about 1266 // the error. 1267 // 1268 // See the AWS API reference guide for Amazon QLDB's 1269 // API operation ListJournalS3ExportsForLedger for usage and error information. 1270 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListJournalS3ExportsForLedger 1271 func (c *QLDB) ListJournalS3ExportsForLedger(input *ListJournalS3ExportsForLedgerInput) (*ListJournalS3ExportsForLedgerOutput, error) { 1272 req, out := c.ListJournalS3ExportsForLedgerRequest(input) 1273 return out, req.Send() 1274 } 1275 1276 // ListJournalS3ExportsForLedgerWithContext is the same as ListJournalS3ExportsForLedger with the addition of 1277 // the ability to pass a context and additional request options. 1278 // 1279 // See ListJournalS3ExportsForLedger for details on how to use this API operation. 1280 // 1281 // The context must be non-nil and will be used for request cancellation. If 1282 // the context is nil a panic will occur. In the future the SDK may create 1283 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1284 // for more information on using Contexts. 1285 func (c *QLDB) ListJournalS3ExportsForLedgerWithContext(ctx aws.Context, input *ListJournalS3ExportsForLedgerInput, opts ...request.Option) (*ListJournalS3ExportsForLedgerOutput, error) { 1286 req, out := c.ListJournalS3ExportsForLedgerRequest(input) 1287 req.SetContext(ctx) 1288 req.ApplyOptions(opts...) 1289 return out, req.Send() 1290 } 1291 1292 // ListJournalS3ExportsForLedgerPages iterates over the pages of a ListJournalS3ExportsForLedger operation, 1293 // calling the "fn" function with the response data for each page. To stop 1294 // iterating, return false from the fn function. 1295 // 1296 // See ListJournalS3ExportsForLedger method for more information on how to use this operation. 1297 // 1298 // Note: This operation can generate multiple requests to a service. 1299 // 1300 // // Example iterating over at most 3 pages of a ListJournalS3ExportsForLedger operation. 1301 // pageNum := 0 1302 // err := client.ListJournalS3ExportsForLedgerPages(params, 1303 // func(page *qldb.ListJournalS3ExportsForLedgerOutput, lastPage bool) bool { 1304 // pageNum++ 1305 // fmt.Println(page) 1306 // return pageNum <= 3 1307 // }) 1308 // 1309 func (c *QLDB) ListJournalS3ExportsForLedgerPages(input *ListJournalS3ExportsForLedgerInput, fn func(*ListJournalS3ExportsForLedgerOutput, bool) bool) error { 1310 return c.ListJournalS3ExportsForLedgerPagesWithContext(aws.BackgroundContext(), input, fn) 1311 } 1312 1313 // ListJournalS3ExportsForLedgerPagesWithContext same as ListJournalS3ExportsForLedgerPages except 1314 // it takes a Context and allows setting request options on the pages. 1315 // 1316 // The context must be non-nil and will be used for request cancellation. If 1317 // the context is nil a panic will occur. In the future the SDK may create 1318 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1319 // for more information on using Contexts. 1320 func (c *QLDB) ListJournalS3ExportsForLedgerPagesWithContext(ctx aws.Context, input *ListJournalS3ExportsForLedgerInput, fn func(*ListJournalS3ExportsForLedgerOutput, bool) bool, opts ...request.Option) error { 1321 p := request.Pagination{ 1322 NewRequest: func() (*request.Request, error) { 1323 var inCpy *ListJournalS3ExportsForLedgerInput 1324 if input != nil { 1325 tmp := *input 1326 inCpy = &tmp 1327 } 1328 req, _ := c.ListJournalS3ExportsForLedgerRequest(inCpy) 1329 req.SetContext(ctx) 1330 req.ApplyOptions(opts...) 1331 return req, nil 1332 }, 1333 } 1334 1335 for p.Next() { 1336 if !fn(p.Page().(*ListJournalS3ExportsForLedgerOutput), !p.HasNextPage()) { 1337 break 1338 } 1339 } 1340 1341 return p.Err() 1342 } 1343 1344 const opListLedgers = "ListLedgers" 1345 1346 // ListLedgersRequest generates a "aws/request.Request" representing the 1347 // client's request for the ListLedgers operation. The "output" return 1348 // value will be populated with the request's response once the request completes 1349 // successfully. 1350 // 1351 // Use "Send" method on the returned Request to send the API call to the service. 1352 // the "output" return value is not valid until after Send returns without error. 1353 // 1354 // See ListLedgers for more information on using the ListLedgers 1355 // API call, and error handling. 1356 // 1357 // This method is useful when you want to inject custom logic or configuration 1358 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1359 // 1360 // 1361 // // Example sending a request using the ListLedgersRequest method. 1362 // req, resp := client.ListLedgersRequest(params) 1363 // 1364 // err := req.Send() 1365 // if err == nil { // resp is now filled 1366 // fmt.Println(resp) 1367 // } 1368 // 1369 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListLedgers 1370 func (c *QLDB) ListLedgersRequest(input *ListLedgersInput) (req *request.Request, output *ListLedgersOutput) { 1371 op := &request.Operation{ 1372 Name: opListLedgers, 1373 HTTPMethod: "GET", 1374 HTTPPath: "/ledgers", 1375 Paginator: &request.Paginator{ 1376 InputTokens: []string{"NextToken"}, 1377 OutputTokens: []string{"NextToken"}, 1378 LimitToken: "MaxResults", 1379 TruncationToken: "", 1380 }, 1381 } 1382 1383 if input == nil { 1384 input = &ListLedgersInput{} 1385 } 1386 1387 output = &ListLedgersOutput{} 1388 req = c.newRequest(op, input, output) 1389 return 1390 } 1391 1392 // ListLedgers API operation for Amazon QLDB. 1393 // 1394 // Returns an array of ledger summaries that are associated with the current 1395 // account and Region. 1396 // 1397 // This action returns a maximum of 100 items and is paginated so that you can 1398 // retrieve all the items by calling ListLedgers multiple times. 1399 // 1400 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1401 // with awserr.Error's Code and Message methods to get detailed information about 1402 // the error. 1403 // 1404 // See the AWS API reference guide for Amazon QLDB's 1405 // API operation ListLedgers for usage and error information. 1406 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListLedgers 1407 func (c *QLDB) ListLedgers(input *ListLedgersInput) (*ListLedgersOutput, error) { 1408 req, out := c.ListLedgersRequest(input) 1409 return out, req.Send() 1410 } 1411 1412 // ListLedgersWithContext is the same as ListLedgers with the addition of 1413 // the ability to pass a context and additional request options. 1414 // 1415 // See ListLedgers for details on how to use this API operation. 1416 // 1417 // The context must be non-nil and will be used for request cancellation. If 1418 // the context is nil a panic will occur. In the future the SDK may create 1419 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1420 // for more information on using Contexts. 1421 func (c *QLDB) ListLedgersWithContext(ctx aws.Context, input *ListLedgersInput, opts ...request.Option) (*ListLedgersOutput, error) { 1422 req, out := c.ListLedgersRequest(input) 1423 req.SetContext(ctx) 1424 req.ApplyOptions(opts...) 1425 return out, req.Send() 1426 } 1427 1428 // ListLedgersPages iterates over the pages of a ListLedgers operation, 1429 // calling the "fn" function with the response data for each page. To stop 1430 // iterating, return false from the fn function. 1431 // 1432 // See ListLedgers method for more information on how to use this operation. 1433 // 1434 // Note: This operation can generate multiple requests to a service. 1435 // 1436 // // Example iterating over at most 3 pages of a ListLedgers operation. 1437 // pageNum := 0 1438 // err := client.ListLedgersPages(params, 1439 // func(page *qldb.ListLedgersOutput, lastPage bool) bool { 1440 // pageNum++ 1441 // fmt.Println(page) 1442 // return pageNum <= 3 1443 // }) 1444 // 1445 func (c *QLDB) ListLedgersPages(input *ListLedgersInput, fn func(*ListLedgersOutput, bool) bool) error { 1446 return c.ListLedgersPagesWithContext(aws.BackgroundContext(), input, fn) 1447 } 1448 1449 // ListLedgersPagesWithContext same as ListLedgersPages except 1450 // it takes a Context and allows setting request options on the pages. 1451 // 1452 // The context must be non-nil and will be used for request cancellation. If 1453 // the context is nil a panic will occur. In the future the SDK may create 1454 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1455 // for more information on using Contexts. 1456 func (c *QLDB) ListLedgersPagesWithContext(ctx aws.Context, input *ListLedgersInput, fn func(*ListLedgersOutput, bool) bool, opts ...request.Option) error { 1457 p := request.Pagination{ 1458 NewRequest: func() (*request.Request, error) { 1459 var inCpy *ListLedgersInput 1460 if input != nil { 1461 tmp := *input 1462 inCpy = &tmp 1463 } 1464 req, _ := c.ListLedgersRequest(inCpy) 1465 req.SetContext(ctx) 1466 req.ApplyOptions(opts...) 1467 return req, nil 1468 }, 1469 } 1470 1471 for p.Next() { 1472 if !fn(p.Page().(*ListLedgersOutput), !p.HasNextPage()) { 1473 break 1474 } 1475 } 1476 1477 return p.Err() 1478 } 1479 1480 const opListTagsForResource = "ListTagsForResource" 1481 1482 // ListTagsForResourceRequest generates a "aws/request.Request" representing the 1483 // client's request for the ListTagsForResource operation. The "output" return 1484 // value will be populated with the request's response once the request completes 1485 // successfully. 1486 // 1487 // Use "Send" method on the returned Request to send the API call to the service. 1488 // the "output" return value is not valid until after Send returns without error. 1489 // 1490 // See ListTagsForResource for more information on using the ListTagsForResource 1491 // API call, and error handling. 1492 // 1493 // This method is useful when you want to inject custom logic or configuration 1494 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1495 // 1496 // 1497 // // Example sending a request using the ListTagsForResourceRequest method. 1498 // req, resp := client.ListTagsForResourceRequest(params) 1499 // 1500 // err := req.Send() 1501 // if err == nil { // resp is now filled 1502 // fmt.Println(resp) 1503 // } 1504 // 1505 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListTagsForResource 1506 func (c *QLDB) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1507 op := &request.Operation{ 1508 Name: opListTagsForResource, 1509 HTTPMethod: "GET", 1510 HTTPPath: "/tags/{resourceArn}", 1511 } 1512 1513 if input == nil { 1514 input = &ListTagsForResourceInput{} 1515 } 1516 1517 output = &ListTagsForResourceOutput{} 1518 req = c.newRequest(op, input, output) 1519 return 1520 } 1521 1522 // ListTagsForResource API operation for Amazon QLDB. 1523 // 1524 // Returns all tags for a specified Amazon QLDB resource. 1525 // 1526 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1527 // with awserr.Error's Code and Message methods to get detailed information about 1528 // the error. 1529 // 1530 // See the AWS API reference guide for Amazon QLDB's 1531 // API operation ListTagsForResource for usage and error information. 1532 // 1533 // Returned Error Types: 1534 // * InvalidParameterException 1535 // One or more parameters in the request aren't valid. 1536 // 1537 // * ResourceNotFoundException 1538 // The specified resource doesn't exist. 1539 // 1540 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/ListTagsForResource 1541 func (c *QLDB) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 1542 req, out := c.ListTagsForResourceRequest(input) 1543 return out, req.Send() 1544 } 1545 1546 // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 1547 // the ability to pass a context and additional request options. 1548 // 1549 // See ListTagsForResource for details on how to use this API operation. 1550 // 1551 // The context must be non-nil and will be used for request cancellation. If 1552 // the context is nil a panic will occur. In the future the SDK may create 1553 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1554 // for more information on using Contexts. 1555 func (c *QLDB) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 1556 req, out := c.ListTagsForResourceRequest(input) 1557 req.SetContext(ctx) 1558 req.ApplyOptions(opts...) 1559 return out, req.Send() 1560 } 1561 1562 const opStreamJournalToKinesis = "StreamJournalToKinesis" 1563 1564 // StreamJournalToKinesisRequest generates a "aws/request.Request" representing the 1565 // client's request for the StreamJournalToKinesis operation. The "output" return 1566 // value will be populated with the request's response once the request completes 1567 // successfully. 1568 // 1569 // Use "Send" method on the returned Request to send the API call to the service. 1570 // the "output" return value is not valid until after Send returns without error. 1571 // 1572 // See StreamJournalToKinesis for more information on using the StreamJournalToKinesis 1573 // API call, and error handling. 1574 // 1575 // This method is useful when you want to inject custom logic or configuration 1576 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1577 // 1578 // 1579 // // Example sending a request using the StreamJournalToKinesisRequest method. 1580 // req, resp := client.StreamJournalToKinesisRequest(params) 1581 // 1582 // err := req.Send() 1583 // if err == nil { // resp is now filled 1584 // fmt.Println(resp) 1585 // } 1586 // 1587 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/StreamJournalToKinesis 1588 func (c *QLDB) StreamJournalToKinesisRequest(input *StreamJournalToKinesisInput) (req *request.Request, output *StreamJournalToKinesisOutput) { 1589 op := &request.Operation{ 1590 Name: opStreamJournalToKinesis, 1591 HTTPMethod: "POST", 1592 HTTPPath: "/ledgers/{name}/journal-kinesis-streams", 1593 } 1594 1595 if input == nil { 1596 input = &StreamJournalToKinesisInput{} 1597 } 1598 1599 output = &StreamJournalToKinesisOutput{} 1600 req = c.newRequest(op, input, output) 1601 return 1602 } 1603 1604 // StreamJournalToKinesis API operation for Amazon QLDB. 1605 // 1606 // Creates a journal stream for a given Amazon QLDB ledger. The stream captures 1607 // every document revision that is committed to the ledger's journal and delivers 1608 // the data to a specified Amazon Kinesis Data Streams resource. 1609 // 1610 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1611 // with awserr.Error's Code and Message methods to get detailed information about 1612 // the error. 1613 // 1614 // See the AWS API reference guide for Amazon QLDB's 1615 // API operation StreamJournalToKinesis for usage and error information. 1616 // 1617 // Returned Error Types: 1618 // * InvalidParameterException 1619 // One or more parameters in the request aren't valid. 1620 // 1621 // * ResourceNotFoundException 1622 // The specified resource doesn't exist. 1623 // 1624 // * ResourcePreconditionNotMetException 1625 // The operation failed because a condition wasn't satisfied in advance. 1626 // 1627 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/StreamJournalToKinesis 1628 func (c *QLDB) StreamJournalToKinesis(input *StreamJournalToKinesisInput) (*StreamJournalToKinesisOutput, error) { 1629 req, out := c.StreamJournalToKinesisRequest(input) 1630 return out, req.Send() 1631 } 1632 1633 // StreamJournalToKinesisWithContext is the same as StreamJournalToKinesis with the addition of 1634 // the ability to pass a context and additional request options. 1635 // 1636 // See StreamJournalToKinesis for details on how to use this API operation. 1637 // 1638 // The context must be non-nil and will be used for request cancellation. If 1639 // the context is nil a panic will occur. In the future the SDK may create 1640 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1641 // for more information on using Contexts. 1642 func (c *QLDB) StreamJournalToKinesisWithContext(ctx aws.Context, input *StreamJournalToKinesisInput, opts ...request.Option) (*StreamJournalToKinesisOutput, error) { 1643 req, out := c.StreamJournalToKinesisRequest(input) 1644 req.SetContext(ctx) 1645 req.ApplyOptions(opts...) 1646 return out, req.Send() 1647 } 1648 1649 const opTagResource = "TagResource" 1650 1651 // TagResourceRequest generates a "aws/request.Request" representing the 1652 // client's request for the TagResource operation. The "output" return 1653 // value will be populated with the request's response once the request completes 1654 // successfully. 1655 // 1656 // Use "Send" method on the returned Request to send the API call to the service. 1657 // the "output" return value is not valid until after Send returns without error. 1658 // 1659 // See TagResource for more information on using the TagResource 1660 // API call, and error handling. 1661 // 1662 // This method is useful when you want to inject custom logic or configuration 1663 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1664 // 1665 // 1666 // // Example sending a request using the TagResourceRequest method. 1667 // req, resp := client.TagResourceRequest(params) 1668 // 1669 // err := req.Send() 1670 // if err == nil { // resp is now filled 1671 // fmt.Println(resp) 1672 // } 1673 // 1674 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/TagResource 1675 func (c *QLDB) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 1676 op := &request.Operation{ 1677 Name: opTagResource, 1678 HTTPMethod: "POST", 1679 HTTPPath: "/tags/{resourceArn}", 1680 } 1681 1682 if input == nil { 1683 input = &TagResourceInput{} 1684 } 1685 1686 output = &TagResourceOutput{} 1687 req = c.newRequest(op, input, output) 1688 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1689 return 1690 } 1691 1692 // TagResource API operation for Amazon QLDB. 1693 // 1694 // Adds one or more tags to a specified Amazon QLDB resource. 1695 // 1696 // A resource can have up to 50 tags. If you try to create more than 50 tags 1697 // for a resource, your request fails and returns an error. 1698 // 1699 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1700 // with awserr.Error's Code and Message methods to get detailed information about 1701 // the error. 1702 // 1703 // See the AWS API reference guide for Amazon QLDB's 1704 // API operation TagResource for usage and error information. 1705 // 1706 // Returned Error Types: 1707 // * InvalidParameterException 1708 // One or more parameters in the request aren't valid. 1709 // 1710 // * ResourceNotFoundException 1711 // The specified resource doesn't exist. 1712 // 1713 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/TagResource 1714 func (c *QLDB) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 1715 req, out := c.TagResourceRequest(input) 1716 return out, req.Send() 1717 } 1718 1719 // TagResourceWithContext is the same as TagResource with the addition of 1720 // the ability to pass a context and additional request options. 1721 // 1722 // See TagResource for details on how to use this API operation. 1723 // 1724 // The context must be non-nil and will be used for request cancellation. If 1725 // the context is nil a panic will occur. In the future the SDK may create 1726 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1727 // for more information on using Contexts. 1728 func (c *QLDB) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 1729 req, out := c.TagResourceRequest(input) 1730 req.SetContext(ctx) 1731 req.ApplyOptions(opts...) 1732 return out, req.Send() 1733 } 1734 1735 const opUntagResource = "UntagResource" 1736 1737 // UntagResourceRequest generates a "aws/request.Request" representing the 1738 // client's request for the UntagResource operation. The "output" return 1739 // value will be populated with the request's response once the request completes 1740 // successfully. 1741 // 1742 // Use "Send" method on the returned Request to send the API call to the service. 1743 // the "output" return value is not valid until after Send returns without error. 1744 // 1745 // See UntagResource for more information on using the UntagResource 1746 // API call, and error handling. 1747 // 1748 // This method is useful when you want to inject custom logic or configuration 1749 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1750 // 1751 // 1752 // // Example sending a request using the UntagResourceRequest method. 1753 // req, resp := client.UntagResourceRequest(params) 1754 // 1755 // err := req.Send() 1756 // if err == nil { // resp is now filled 1757 // fmt.Println(resp) 1758 // } 1759 // 1760 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UntagResource 1761 func (c *QLDB) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 1762 op := &request.Operation{ 1763 Name: opUntagResource, 1764 HTTPMethod: "DELETE", 1765 HTTPPath: "/tags/{resourceArn}", 1766 } 1767 1768 if input == nil { 1769 input = &UntagResourceInput{} 1770 } 1771 1772 output = &UntagResourceOutput{} 1773 req = c.newRequest(op, input, output) 1774 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1775 return 1776 } 1777 1778 // UntagResource API operation for Amazon QLDB. 1779 // 1780 // Removes one or more tags from a specified Amazon QLDB resource. You can specify 1781 // up to 50 tag keys to remove. 1782 // 1783 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1784 // with awserr.Error's Code and Message methods to get detailed information about 1785 // the error. 1786 // 1787 // See the AWS API reference guide for Amazon QLDB's 1788 // API operation UntagResource for usage and error information. 1789 // 1790 // Returned Error Types: 1791 // * InvalidParameterException 1792 // One or more parameters in the request aren't valid. 1793 // 1794 // * ResourceNotFoundException 1795 // The specified resource doesn't exist. 1796 // 1797 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UntagResource 1798 func (c *QLDB) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 1799 req, out := c.UntagResourceRequest(input) 1800 return out, req.Send() 1801 } 1802 1803 // UntagResourceWithContext is the same as UntagResource with the addition of 1804 // the ability to pass a context and additional request options. 1805 // 1806 // See UntagResource for details on how to use this API operation. 1807 // 1808 // The context must be non-nil and will be used for request cancellation. If 1809 // the context is nil a panic will occur. In the future the SDK may create 1810 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1811 // for more information on using Contexts. 1812 func (c *QLDB) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 1813 req, out := c.UntagResourceRequest(input) 1814 req.SetContext(ctx) 1815 req.ApplyOptions(opts...) 1816 return out, req.Send() 1817 } 1818 1819 const opUpdateLedger = "UpdateLedger" 1820 1821 // UpdateLedgerRequest generates a "aws/request.Request" representing the 1822 // client's request for the UpdateLedger operation. The "output" return 1823 // value will be populated with the request's response once the request completes 1824 // successfully. 1825 // 1826 // Use "Send" method on the returned Request to send the API call to the service. 1827 // the "output" return value is not valid until after Send returns without error. 1828 // 1829 // See UpdateLedger for more information on using the UpdateLedger 1830 // API call, and error handling. 1831 // 1832 // This method is useful when you want to inject custom logic or configuration 1833 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1834 // 1835 // 1836 // // Example sending a request using the UpdateLedgerRequest method. 1837 // req, resp := client.UpdateLedgerRequest(params) 1838 // 1839 // err := req.Send() 1840 // if err == nil { // resp is now filled 1841 // fmt.Println(resp) 1842 // } 1843 // 1844 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedger 1845 func (c *QLDB) UpdateLedgerRequest(input *UpdateLedgerInput) (req *request.Request, output *UpdateLedgerOutput) { 1846 op := &request.Operation{ 1847 Name: opUpdateLedger, 1848 HTTPMethod: "PATCH", 1849 HTTPPath: "/ledgers/{name}", 1850 } 1851 1852 if input == nil { 1853 input = &UpdateLedgerInput{} 1854 } 1855 1856 output = &UpdateLedgerOutput{} 1857 req = c.newRequest(op, input, output) 1858 return 1859 } 1860 1861 // UpdateLedger API operation for Amazon QLDB. 1862 // 1863 // Updates properties on a ledger. 1864 // 1865 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1866 // with awserr.Error's Code and Message methods to get detailed information about 1867 // the error. 1868 // 1869 // See the AWS API reference guide for Amazon QLDB's 1870 // API operation UpdateLedger for usage and error information. 1871 // 1872 // Returned Error Types: 1873 // * InvalidParameterException 1874 // One or more parameters in the request aren't valid. 1875 // 1876 // * ResourceNotFoundException 1877 // The specified resource doesn't exist. 1878 // 1879 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedger 1880 func (c *QLDB) UpdateLedger(input *UpdateLedgerInput) (*UpdateLedgerOutput, error) { 1881 req, out := c.UpdateLedgerRequest(input) 1882 return out, req.Send() 1883 } 1884 1885 // UpdateLedgerWithContext is the same as UpdateLedger with the addition of 1886 // the ability to pass a context and additional request options. 1887 // 1888 // See UpdateLedger for details on how to use this API operation. 1889 // 1890 // The context must be non-nil and will be used for request cancellation. If 1891 // the context is nil a panic will occur. In the future the SDK may create 1892 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1893 // for more information on using Contexts. 1894 func (c *QLDB) UpdateLedgerWithContext(ctx aws.Context, input *UpdateLedgerInput, opts ...request.Option) (*UpdateLedgerOutput, error) { 1895 req, out := c.UpdateLedgerRequest(input) 1896 req.SetContext(ctx) 1897 req.ApplyOptions(opts...) 1898 return out, req.Send() 1899 } 1900 1901 const opUpdateLedgerPermissionsMode = "UpdateLedgerPermissionsMode" 1902 1903 // UpdateLedgerPermissionsModeRequest generates a "aws/request.Request" representing the 1904 // client's request for the UpdateLedgerPermissionsMode operation. The "output" return 1905 // value will be populated with the request's response once the request completes 1906 // successfully. 1907 // 1908 // Use "Send" method on the returned Request to send the API call to the service. 1909 // the "output" return value is not valid until after Send returns without error. 1910 // 1911 // See UpdateLedgerPermissionsMode for more information on using the UpdateLedgerPermissionsMode 1912 // API call, and error handling. 1913 // 1914 // This method is useful when you want to inject custom logic or configuration 1915 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1916 // 1917 // 1918 // // Example sending a request using the UpdateLedgerPermissionsModeRequest method. 1919 // req, resp := client.UpdateLedgerPermissionsModeRequest(params) 1920 // 1921 // err := req.Send() 1922 // if err == nil { // resp is now filled 1923 // fmt.Println(resp) 1924 // } 1925 // 1926 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedgerPermissionsMode 1927 func (c *QLDB) UpdateLedgerPermissionsModeRequest(input *UpdateLedgerPermissionsModeInput) (req *request.Request, output *UpdateLedgerPermissionsModeOutput) { 1928 op := &request.Operation{ 1929 Name: opUpdateLedgerPermissionsMode, 1930 HTTPMethod: "PATCH", 1931 HTTPPath: "/ledgers/{name}/permissions-mode", 1932 } 1933 1934 if input == nil { 1935 input = &UpdateLedgerPermissionsModeInput{} 1936 } 1937 1938 output = &UpdateLedgerPermissionsModeOutput{} 1939 req = c.newRequest(op, input, output) 1940 return 1941 } 1942 1943 // UpdateLedgerPermissionsMode API operation for Amazon QLDB. 1944 // 1945 // Updates the permissions mode of a ledger. 1946 // 1947 // Before you switch to the STANDARD permissions mode, you must first create 1948 // all required IAM policies and table tags to avoid disruption to your users. 1949 // To learn more, see Migrating to the standard permissions mode (https://docs.aws.amazon.com/qldb/latest/developerguide/ledger-management.basics.html#ledger-mgmt.basics.update-permissions.migrating) 1950 // in the Amazon QLDB Developer Guide. 1951 // 1952 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1953 // with awserr.Error's Code and Message methods to get detailed information about 1954 // the error. 1955 // 1956 // See the AWS API reference guide for Amazon QLDB's 1957 // API operation UpdateLedgerPermissionsMode for usage and error information. 1958 // 1959 // Returned Error Types: 1960 // * InvalidParameterException 1961 // One or more parameters in the request aren't valid. 1962 // 1963 // * ResourceNotFoundException 1964 // The specified resource doesn't exist. 1965 // 1966 // See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedgerPermissionsMode 1967 func (c *QLDB) UpdateLedgerPermissionsMode(input *UpdateLedgerPermissionsModeInput) (*UpdateLedgerPermissionsModeOutput, error) { 1968 req, out := c.UpdateLedgerPermissionsModeRequest(input) 1969 return out, req.Send() 1970 } 1971 1972 // UpdateLedgerPermissionsModeWithContext is the same as UpdateLedgerPermissionsMode with the addition of 1973 // the ability to pass a context and additional request options. 1974 // 1975 // See UpdateLedgerPermissionsMode for details on how to use this API operation. 1976 // 1977 // The context must be non-nil and will be used for request cancellation. If 1978 // the context is nil a panic will occur. In the future the SDK may create 1979 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1980 // for more information on using Contexts. 1981 func (c *QLDB) UpdateLedgerPermissionsModeWithContext(ctx aws.Context, input *UpdateLedgerPermissionsModeInput, opts ...request.Option) (*UpdateLedgerPermissionsModeOutput, error) { 1982 req, out := c.UpdateLedgerPermissionsModeRequest(input) 1983 req.SetContext(ctx) 1984 req.ApplyOptions(opts...) 1985 return out, req.Send() 1986 } 1987 1988 type CancelJournalKinesisStreamInput struct { 1989 _ struct{} `type:"structure" nopayload:"true"` 1990 1991 // The name of the ledger. 1992 // 1993 // LedgerName is a required field 1994 LedgerName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 1995 1996 // The UUID (represented in Base62-encoded text) of the QLDB journal stream 1997 // to be canceled. 1998 // 1999 // StreamId is a required field 2000 StreamId *string `location:"uri" locationName:"streamId" min:"22" type:"string" required:"true"` 2001 } 2002 2003 // String returns the string representation. 2004 // 2005 // API parameter values that are decorated as "sensitive" in the API will not 2006 // be included in the string output. The member name will be present, but the 2007 // value will be replaced with "sensitive". 2008 func (s CancelJournalKinesisStreamInput) String() string { 2009 return awsutil.Prettify(s) 2010 } 2011 2012 // GoString returns the string representation. 2013 // 2014 // API parameter values that are decorated as "sensitive" in the API will not 2015 // be included in the string output. The member name will be present, but the 2016 // value will be replaced with "sensitive". 2017 func (s CancelJournalKinesisStreamInput) GoString() string { 2018 return s.String() 2019 } 2020 2021 // Validate inspects the fields of the type to determine if they are valid. 2022 func (s *CancelJournalKinesisStreamInput) Validate() error { 2023 invalidParams := request.ErrInvalidParams{Context: "CancelJournalKinesisStreamInput"} 2024 if s.LedgerName == nil { 2025 invalidParams.Add(request.NewErrParamRequired("LedgerName")) 2026 } 2027 if s.LedgerName != nil && len(*s.LedgerName) < 1 { 2028 invalidParams.Add(request.NewErrParamMinLen("LedgerName", 1)) 2029 } 2030 if s.StreamId == nil { 2031 invalidParams.Add(request.NewErrParamRequired("StreamId")) 2032 } 2033 if s.StreamId != nil && len(*s.StreamId) < 22 { 2034 invalidParams.Add(request.NewErrParamMinLen("StreamId", 22)) 2035 } 2036 2037 if invalidParams.Len() > 0 { 2038 return invalidParams 2039 } 2040 return nil 2041 } 2042 2043 // SetLedgerName sets the LedgerName field's value. 2044 func (s *CancelJournalKinesisStreamInput) SetLedgerName(v string) *CancelJournalKinesisStreamInput { 2045 s.LedgerName = &v 2046 return s 2047 } 2048 2049 // SetStreamId sets the StreamId field's value. 2050 func (s *CancelJournalKinesisStreamInput) SetStreamId(v string) *CancelJournalKinesisStreamInput { 2051 s.StreamId = &v 2052 return s 2053 } 2054 2055 type CancelJournalKinesisStreamOutput struct { 2056 _ struct{} `type:"structure"` 2057 2058 // The UUID (Base62-encoded text) of the canceled QLDB journal stream. 2059 StreamId *string `min:"22" type:"string"` 2060 } 2061 2062 // String returns the string representation. 2063 // 2064 // API parameter values that are decorated as "sensitive" in the API will not 2065 // be included in the string output. The member name will be present, but the 2066 // value will be replaced with "sensitive". 2067 func (s CancelJournalKinesisStreamOutput) String() string { 2068 return awsutil.Prettify(s) 2069 } 2070 2071 // GoString returns the string representation. 2072 // 2073 // API parameter values that are decorated as "sensitive" in the API will not 2074 // be included in the string output. The member name will be present, but the 2075 // value will be replaced with "sensitive". 2076 func (s CancelJournalKinesisStreamOutput) GoString() string { 2077 return s.String() 2078 } 2079 2080 // SetStreamId sets the StreamId field's value. 2081 func (s *CancelJournalKinesisStreamOutput) SetStreamId(v string) *CancelJournalKinesisStreamOutput { 2082 s.StreamId = &v 2083 return s 2084 } 2085 2086 type CreateLedgerInput struct { 2087 _ struct{} `type:"structure"` 2088 2089 // The flag that prevents a ledger from being deleted by any user. If not provided 2090 // on ledger creation, this feature is enabled (true) by default. 2091 // 2092 // If deletion protection is enabled, you must first disable it before you can 2093 // delete the ledger. You can disable it by calling the UpdateLedger operation 2094 // to set the flag to false. 2095 DeletionProtection *bool `type:"boolean"` 2096 2097 // The key in Key Management Service (KMS) to use for encryption of data at 2098 // rest in the ledger. For more information, see Encryption at rest (https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html) 2099 // in the Amazon QLDB Developer Guide. 2100 // 2101 // Use one of the following options to specify this parameter: 2102 // 2103 // * AWS_OWNED_KMS_KEY: Use an KMS key that is owned and managed by Amazon 2104 // Web Services on your behalf. 2105 // 2106 // * Undefined: By default, use an Amazon Web Services owned KMS key. 2107 // 2108 // * A valid symmetric customer managed KMS key: Use the specified KMS key 2109 // in your account that you create, own, and manage. Amazon QLDB does not 2110 // support asymmetric keys. For more information, see Using symmetric and 2111 // asymmetric keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) 2112 // in the Key Management Service Developer Guide. 2113 // 2114 // To specify a customer managed KMS key, you can use its key ID, Amazon Resource 2115 // Name (ARN), alias name, or alias ARN. When using an alias name, prefix it 2116 // with "alias/". To specify a key in a different account, you must use the 2117 // key ARN or alias ARN. 2118 // 2119 // For example: 2120 // 2121 // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab 2122 // 2123 // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab 2124 // 2125 // * Alias name: alias/ExampleAlias 2126 // 2127 // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias 2128 // 2129 // For more information, see Key identifiers (KeyId) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id) 2130 // in the Key Management Service Developer Guide. 2131 KmsKey *string `type:"string"` 2132 2133 // The name of the ledger that you want to create. The name must be unique among 2134 // all of the ledgers in your account in the current Region. 2135 // 2136 // Naming constraints for ledger names are defined in Quotas in Amazon QLDB 2137 // (https://docs.aws.amazon.com/qldb/latest/developerguide/limits.html#limits.naming) 2138 // in the Amazon QLDB Developer Guide. 2139 // 2140 // Name is a required field 2141 Name *string `min:"1" type:"string" required:"true"` 2142 2143 // The permissions mode to assign to the ledger that you want to create. This 2144 // parameter can have one of the following values: 2145 // 2146 // * ALLOW_ALL: A legacy permissions mode that enables access control with 2147 // API-level granularity for ledgers. This mode allows users who have the 2148 // SendCommand API permission for this ledger to run all PartiQL commands 2149 // (hence, ALLOW_ALL) on any tables in the specified ledger. This mode disregards 2150 // any table-level or command-level IAM permissions policies that you create 2151 // for the ledger. 2152 // 2153 // * STANDARD: (Recommended) A permissions mode that enables access control 2154 // with finer granularity for ledgers, tables, and PartiQL commands. By default, 2155 // this mode denies all user requests to run any PartiQL commands on any 2156 // tables in this ledger. To allow PartiQL commands to run, you must create 2157 // IAM permissions policies for specific table resources and PartiQL actions, 2158 // in addition to the SendCommand API permission for the ledger. For information, 2159 // see Getting started with the standard permissions mode (https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-standard-mode.html) 2160 // in the Amazon QLDB Developer Guide. 2161 // 2162 // We strongly recommend using the STANDARD permissions mode to maximize the 2163 // security of your ledger data. 2164 // 2165 // PermissionsMode is a required field 2166 PermissionsMode *string `type:"string" required:"true" enum:"PermissionsMode"` 2167 2168 // The key-value pairs to add as tags to the ledger that you want to create. 2169 // Tag keys are case sensitive. Tag values are case sensitive and can be null. 2170 Tags map[string]*string `type:"map"` 2171 } 2172 2173 // String returns the string representation. 2174 // 2175 // API parameter values that are decorated as "sensitive" in the API will not 2176 // be included in the string output. The member name will be present, but the 2177 // value will be replaced with "sensitive". 2178 func (s CreateLedgerInput) String() string { 2179 return awsutil.Prettify(s) 2180 } 2181 2182 // GoString returns the string representation. 2183 // 2184 // API parameter values that are decorated as "sensitive" in the API will not 2185 // be included in the string output. The member name will be present, but the 2186 // value will be replaced with "sensitive". 2187 func (s CreateLedgerInput) GoString() string { 2188 return s.String() 2189 } 2190 2191 // Validate inspects the fields of the type to determine if they are valid. 2192 func (s *CreateLedgerInput) Validate() error { 2193 invalidParams := request.ErrInvalidParams{Context: "CreateLedgerInput"} 2194 if s.Name == nil { 2195 invalidParams.Add(request.NewErrParamRequired("Name")) 2196 } 2197 if s.Name != nil && len(*s.Name) < 1 { 2198 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 2199 } 2200 if s.PermissionsMode == nil { 2201 invalidParams.Add(request.NewErrParamRequired("PermissionsMode")) 2202 } 2203 2204 if invalidParams.Len() > 0 { 2205 return invalidParams 2206 } 2207 return nil 2208 } 2209 2210 // SetDeletionProtection sets the DeletionProtection field's value. 2211 func (s *CreateLedgerInput) SetDeletionProtection(v bool) *CreateLedgerInput { 2212 s.DeletionProtection = &v 2213 return s 2214 } 2215 2216 // SetKmsKey sets the KmsKey field's value. 2217 func (s *CreateLedgerInput) SetKmsKey(v string) *CreateLedgerInput { 2218 s.KmsKey = &v 2219 return s 2220 } 2221 2222 // SetName sets the Name field's value. 2223 func (s *CreateLedgerInput) SetName(v string) *CreateLedgerInput { 2224 s.Name = &v 2225 return s 2226 } 2227 2228 // SetPermissionsMode sets the PermissionsMode field's value. 2229 func (s *CreateLedgerInput) SetPermissionsMode(v string) *CreateLedgerInput { 2230 s.PermissionsMode = &v 2231 return s 2232 } 2233 2234 // SetTags sets the Tags field's value. 2235 func (s *CreateLedgerInput) SetTags(v map[string]*string) *CreateLedgerInput { 2236 s.Tags = v 2237 return s 2238 } 2239 2240 type CreateLedgerOutput struct { 2241 _ struct{} `type:"structure"` 2242 2243 // The Amazon Resource Name (ARN) for the ledger. 2244 Arn *string `min:"20" type:"string"` 2245 2246 // The date and time, in epoch time format, when the ledger was created. (Epoch 2247 // time format is the number of seconds elapsed since 12:00:00 AM January 1, 2248 // 1970 UTC.) 2249 CreationDateTime *time.Time `type:"timestamp"` 2250 2251 // The flag that prevents a ledger from being deleted by any user. If not provided 2252 // on ledger creation, this feature is enabled (true) by default. 2253 // 2254 // If deletion protection is enabled, you must first disable it before you can 2255 // delete the ledger. You can disable it by calling the UpdateLedger operation 2256 // to set the flag to false. 2257 DeletionProtection *bool `type:"boolean"` 2258 2259 // The ARN of the customer managed KMS key that the ledger uses for encryption 2260 // at rest. If this parameter is undefined, the ledger uses an Amazon Web Services 2261 // owned KMS key for encryption. 2262 KmsKeyArn *string `min:"20" type:"string"` 2263 2264 // The name of the ledger. 2265 Name *string `min:"1" type:"string"` 2266 2267 // The permissions mode of the ledger that you created. 2268 PermissionsMode *string `type:"string" enum:"PermissionsMode"` 2269 2270 // The current status of the ledger. 2271 State *string `type:"string" enum:"LedgerState"` 2272 } 2273 2274 // String returns the string representation. 2275 // 2276 // API parameter values that are decorated as "sensitive" in the API will not 2277 // be included in the string output. The member name will be present, but the 2278 // value will be replaced with "sensitive". 2279 func (s CreateLedgerOutput) String() string { 2280 return awsutil.Prettify(s) 2281 } 2282 2283 // GoString returns the string representation. 2284 // 2285 // API parameter values that are decorated as "sensitive" in the API will not 2286 // be included in the string output. The member name will be present, but the 2287 // value will be replaced with "sensitive". 2288 func (s CreateLedgerOutput) GoString() string { 2289 return s.String() 2290 } 2291 2292 // SetArn sets the Arn field's value. 2293 func (s *CreateLedgerOutput) SetArn(v string) *CreateLedgerOutput { 2294 s.Arn = &v 2295 return s 2296 } 2297 2298 // SetCreationDateTime sets the CreationDateTime field's value. 2299 func (s *CreateLedgerOutput) SetCreationDateTime(v time.Time) *CreateLedgerOutput { 2300 s.CreationDateTime = &v 2301 return s 2302 } 2303 2304 // SetDeletionProtection sets the DeletionProtection field's value. 2305 func (s *CreateLedgerOutput) SetDeletionProtection(v bool) *CreateLedgerOutput { 2306 s.DeletionProtection = &v 2307 return s 2308 } 2309 2310 // SetKmsKeyArn sets the KmsKeyArn field's value. 2311 func (s *CreateLedgerOutput) SetKmsKeyArn(v string) *CreateLedgerOutput { 2312 s.KmsKeyArn = &v 2313 return s 2314 } 2315 2316 // SetName sets the Name field's value. 2317 func (s *CreateLedgerOutput) SetName(v string) *CreateLedgerOutput { 2318 s.Name = &v 2319 return s 2320 } 2321 2322 // SetPermissionsMode sets the PermissionsMode field's value. 2323 func (s *CreateLedgerOutput) SetPermissionsMode(v string) *CreateLedgerOutput { 2324 s.PermissionsMode = &v 2325 return s 2326 } 2327 2328 // SetState sets the State field's value. 2329 func (s *CreateLedgerOutput) SetState(v string) *CreateLedgerOutput { 2330 s.State = &v 2331 return s 2332 } 2333 2334 type DeleteLedgerInput struct { 2335 _ struct{} `type:"structure" nopayload:"true"` 2336 2337 // The name of the ledger that you want to delete. 2338 // 2339 // Name is a required field 2340 Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 2341 } 2342 2343 // String returns the string representation. 2344 // 2345 // API parameter values that are decorated as "sensitive" in the API will not 2346 // be included in the string output. The member name will be present, but the 2347 // value will be replaced with "sensitive". 2348 func (s DeleteLedgerInput) String() string { 2349 return awsutil.Prettify(s) 2350 } 2351 2352 // GoString returns the string representation. 2353 // 2354 // API parameter values that are decorated as "sensitive" in the API will not 2355 // be included in the string output. The member name will be present, but the 2356 // value will be replaced with "sensitive". 2357 func (s DeleteLedgerInput) GoString() string { 2358 return s.String() 2359 } 2360 2361 // Validate inspects the fields of the type to determine if they are valid. 2362 func (s *DeleteLedgerInput) Validate() error { 2363 invalidParams := request.ErrInvalidParams{Context: "DeleteLedgerInput"} 2364 if s.Name == nil { 2365 invalidParams.Add(request.NewErrParamRequired("Name")) 2366 } 2367 if s.Name != nil && len(*s.Name) < 1 { 2368 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 2369 } 2370 2371 if invalidParams.Len() > 0 { 2372 return invalidParams 2373 } 2374 return nil 2375 } 2376 2377 // SetName sets the Name field's value. 2378 func (s *DeleteLedgerInput) SetName(v string) *DeleteLedgerInput { 2379 s.Name = &v 2380 return s 2381 } 2382 2383 type DeleteLedgerOutput struct { 2384 _ struct{} `type:"structure" nopayload:"true"` 2385 } 2386 2387 // String returns the string representation. 2388 // 2389 // API parameter values that are decorated as "sensitive" in the API will not 2390 // be included in the string output. The member name will be present, but the 2391 // value will be replaced with "sensitive". 2392 func (s DeleteLedgerOutput) String() string { 2393 return awsutil.Prettify(s) 2394 } 2395 2396 // GoString returns the string representation. 2397 // 2398 // API parameter values that are decorated as "sensitive" in the API will not 2399 // be included in the string output. The member name will be present, but the 2400 // value will be replaced with "sensitive". 2401 func (s DeleteLedgerOutput) GoString() string { 2402 return s.String() 2403 } 2404 2405 type DescribeJournalKinesisStreamInput struct { 2406 _ struct{} `type:"structure" nopayload:"true"` 2407 2408 // The name of the ledger. 2409 // 2410 // LedgerName is a required field 2411 LedgerName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 2412 2413 // The UUID (represented in Base62-encoded text) of the QLDB journal stream 2414 // to describe. 2415 // 2416 // StreamId is a required field 2417 StreamId *string `location:"uri" locationName:"streamId" min:"22" type:"string" required:"true"` 2418 } 2419 2420 // String returns the string representation. 2421 // 2422 // API parameter values that are decorated as "sensitive" in the API will not 2423 // be included in the string output. The member name will be present, but the 2424 // value will be replaced with "sensitive". 2425 func (s DescribeJournalKinesisStreamInput) String() string { 2426 return awsutil.Prettify(s) 2427 } 2428 2429 // GoString returns the string representation. 2430 // 2431 // API parameter values that are decorated as "sensitive" in the API will not 2432 // be included in the string output. The member name will be present, but the 2433 // value will be replaced with "sensitive". 2434 func (s DescribeJournalKinesisStreamInput) GoString() string { 2435 return s.String() 2436 } 2437 2438 // Validate inspects the fields of the type to determine if they are valid. 2439 func (s *DescribeJournalKinesisStreamInput) Validate() error { 2440 invalidParams := request.ErrInvalidParams{Context: "DescribeJournalKinesisStreamInput"} 2441 if s.LedgerName == nil { 2442 invalidParams.Add(request.NewErrParamRequired("LedgerName")) 2443 } 2444 if s.LedgerName != nil && len(*s.LedgerName) < 1 { 2445 invalidParams.Add(request.NewErrParamMinLen("LedgerName", 1)) 2446 } 2447 if s.StreamId == nil { 2448 invalidParams.Add(request.NewErrParamRequired("StreamId")) 2449 } 2450 if s.StreamId != nil && len(*s.StreamId) < 22 { 2451 invalidParams.Add(request.NewErrParamMinLen("StreamId", 22)) 2452 } 2453 2454 if invalidParams.Len() > 0 { 2455 return invalidParams 2456 } 2457 return nil 2458 } 2459 2460 // SetLedgerName sets the LedgerName field's value. 2461 func (s *DescribeJournalKinesisStreamInput) SetLedgerName(v string) *DescribeJournalKinesisStreamInput { 2462 s.LedgerName = &v 2463 return s 2464 } 2465 2466 // SetStreamId sets the StreamId field's value. 2467 func (s *DescribeJournalKinesisStreamInput) SetStreamId(v string) *DescribeJournalKinesisStreamInput { 2468 s.StreamId = &v 2469 return s 2470 } 2471 2472 type DescribeJournalKinesisStreamOutput struct { 2473 _ struct{} `type:"structure"` 2474 2475 // Information about the QLDB journal stream returned by a DescribeJournalS3Export 2476 // request. 2477 Stream *JournalKinesisStreamDescription `type:"structure"` 2478 } 2479 2480 // String returns the string representation. 2481 // 2482 // API parameter values that are decorated as "sensitive" in the API will not 2483 // be included in the string output. The member name will be present, but the 2484 // value will be replaced with "sensitive". 2485 func (s DescribeJournalKinesisStreamOutput) String() string { 2486 return awsutil.Prettify(s) 2487 } 2488 2489 // GoString returns the string representation. 2490 // 2491 // API parameter values that are decorated as "sensitive" in the API will not 2492 // be included in the string output. The member name will be present, but the 2493 // value will be replaced with "sensitive". 2494 func (s DescribeJournalKinesisStreamOutput) GoString() string { 2495 return s.String() 2496 } 2497 2498 // SetStream sets the Stream field's value. 2499 func (s *DescribeJournalKinesisStreamOutput) SetStream(v *JournalKinesisStreamDescription) *DescribeJournalKinesisStreamOutput { 2500 s.Stream = v 2501 return s 2502 } 2503 2504 type DescribeJournalS3ExportInput struct { 2505 _ struct{} `type:"structure" nopayload:"true"` 2506 2507 // The UUID (represented in Base62-encoded text) of the journal export job to 2508 // describe. 2509 // 2510 // ExportId is a required field 2511 ExportId *string `location:"uri" locationName:"exportId" min:"22" type:"string" required:"true"` 2512 2513 // The name of the ledger. 2514 // 2515 // Name is a required field 2516 Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 2517 } 2518 2519 // String returns the string representation. 2520 // 2521 // API parameter values that are decorated as "sensitive" in the API will not 2522 // be included in the string output. The member name will be present, but the 2523 // value will be replaced with "sensitive". 2524 func (s DescribeJournalS3ExportInput) String() string { 2525 return awsutil.Prettify(s) 2526 } 2527 2528 // GoString returns the string representation. 2529 // 2530 // API parameter values that are decorated as "sensitive" in the API will not 2531 // be included in the string output. The member name will be present, but the 2532 // value will be replaced with "sensitive". 2533 func (s DescribeJournalS3ExportInput) GoString() string { 2534 return s.String() 2535 } 2536 2537 // Validate inspects the fields of the type to determine if they are valid. 2538 func (s *DescribeJournalS3ExportInput) Validate() error { 2539 invalidParams := request.ErrInvalidParams{Context: "DescribeJournalS3ExportInput"} 2540 if s.ExportId == nil { 2541 invalidParams.Add(request.NewErrParamRequired("ExportId")) 2542 } 2543 if s.ExportId != nil && len(*s.ExportId) < 22 { 2544 invalidParams.Add(request.NewErrParamMinLen("ExportId", 22)) 2545 } 2546 if s.Name == nil { 2547 invalidParams.Add(request.NewErrParamRequired("Name")) 2548 } 2549 if s.Name != nil && len(*s.Name) < 1 { 2550 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 2551 } 2552 2553 if invalidParams.Len() > 0 { 2554 return invalidParams 2555 } 2556 return nil 2557 } 2558 2559 // SetExportId sets the ExportId field's value. 2560 func (s *DescribeJournalS3ExportInput) SetExportId(v string) *DescribeJournalS3ExportInput { 2561 s.ExportId = &v 2562 return s 2563 } 2564 2565 // SetName sets the Name field's value. 2566 func (s *DescribeJournalS3ExportInput) SetName(v string) *DescribeJournalS3ExportInput { 2567 s.Name = &v 2568 return s 2569 } 2570 2571 type DescribeJournalS3ExportOutput struct { 2572 _ struct{} `type:"structure"` 2573 2574 // Information about the journal export job returned by a DescribeJournalS3Export 2575 // request. 2576 // 2577 // ExportDescription is a required field 2578 ExportDescription *JournalS3ExportDescription `type:"structure" required:"true"` 2579 } 2580 2581 // String returns the string representation. 2582 // 2583 // API parameter values that are decorated as "sensitive" in the API will not 2584 // be included in the string output. The member name will be present, but the 2585 // value will be replaced with "sensitive". 2586 func (s DescribeJournalS3ExportOutput) String() string { 2587 return awsutil.Prettify(s) 2588 } 2589 2590 // GoString returns the string representation. 2591 // 2592 // API parameter values that are decorated as "sensitive" in the API will not 2593 // be included in the string output. The member name will be present, but the 2594 // value will be replaced with "sensitive". 2595 func (s DescribeJournalS3ExportOutput) GoString() string { 2596 return s.String() 2597 } 2598 2599 // SetExportDescription sets the ExportDescription field's value. 2600 func (s *DescribeJournalS3ExportOutput) SetExportDescription(v *JournalS3ExportDescription) *DescribeJournalS3ExportOutput { 2601 s.ExportDescription = v 2602 return s 2603 } 2604 2605 type DescribeLedgerInput struct { 2606 _ struct{} `type:"structure" nopayload:"true"` 2607 2608 // The name of the ledger that you want to describe. 2609 // 2610 // Name is a required field 2611 Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 2612 } 2613 2614 // String returns the string representation. 2615 // 2616 // API parameter values that are decorated as "sensitive" in the API will not 2617 // be included in the string output. The member name will be present, but the 2618 // value will be replaced with "sensitive". 2619 func (s DescribeLedgerInput) String() string { 2620 return awsutil.Prettify(s) 2621 } 2622 2623 // GoString returns the string representation. 2624 // 2625 // API parameter values that are decorated as "sensitive" in the API will not 2626 // be included in the string output. The member name will be present, but the 2627 // value will be replaced with "sensitive". 2628 func (s DescribeLedgerInput) GoString() string { 2629 return s.String() 2630 } 2631 2632 // Validate inspects the fields of the type to determine if they are valid. 2633 func (s *DescribeLedgerInput) Validate() error { 2634 invalidParams := request.ErrInvalidParams{Context: "DescribeLedgerInput"} 2635 if s.Name == nil { 2636 invalidParams.Add(request.NewErrParamRequired("Name")) 2637 } 2638 if s.Name != nil && len(*s.Name) < 1 { 2639 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 2640 } 2641 2642 if invalidParams.Len() > 0 { 2643 return invalidParams 2644 } 2645 return nil 2646 } 2647 2648 // SetName sets the Name field's value. 2649 func (s *DescribeLedgerInput) SetName(v string) *DescribeLedgerInput { 2650 s.Name = &v 2651 return s 2652 } 2653 2654 type DescribeLedgerOutput struct { 2655 _ struct{} `type:"structure"` 2656 2657 // The Amazon Resource Name (ARN) for the ledger. 2658 Arn *string `min:"20" type:"string"` 2659 2660 // The date and time, in epoch time format, when the ledger was created. (Epoch 2661 // time format is the number of seconds elapsed since 12:00:00 AM January 1, 2662 // 1970 UTC.) 2663 CreationDateTime *time.Time `type:"timestamp"` 2664 2665 // The flag that prevents a ledger from being deleted by any user. If not provided 2666 // on ledger creation, this feature is enabled (true) by default. 2667 // 2668 // If deletion protection is enabled, you must first disable it before you can 2669 // delete the ledger. You can disable it by calling the UpdateLedger operation 2670 // to set the flag to false. 2671 DeletionProtection *bool `type:"boolean"` 2672 2673 // Information about the encryption of data at rest in the ledger. This includes 2674 // the current status, the KMS key, and when the key became inaccessible (in 2675 // the case of an error). 2676 EncryptionDescription *LedgerEncryptionDescription `type:"structure"` 2677 2678 // The name of the ledger. 2679 Name *string `min:"1" type:"string"` 2680 2681 // The permissions mode of the ledger. 2682 PermissionsMode *string `type:"string" enum:"PermissionsMode"` 2683 2684 // The current status of the ledger. 2685 State *string `type:"string" enum:"LedgerState"` 2686 } 2687 2688 // String returns the string representation. 2689 // 2690 // API parameter values that are decorated as "sensitive" in the API will not 2691 // be included in the string output. The member name will be present, but the 2692 // value will be replaced with "sensitive". 2693 func (s DescribeLedgerOutput) String() string { 2694 return awsutil.Prettify(s) 2695 } 2696 2697 // GoString returns the string representation. 2698 // 2699 // API parameter values that are decorated as "sensitive" in the API will not 2700 // be included in the string output. The member name will be present, but the 2701 // value will be replaced with "sensitive". 2702 func (s DescribeLedgerOutput) GoString() string { 2703 return s.String() 2704 } 2705 2706 // SetArn sets the Arn field's value. 2707 func (s *DescribeLedgerOutput) SetArn(v string) *DescribeLedgerOutput { 2708 s.Arn = &v 2709 return s 2710 } 2711 2712 // SetCreationDateTime sets the CreationDateTime field's value. 2713 func (s *DescribeLedgerOutput) SetCreationDateTime(v time.Time) *DescribeLedgerOutput { 2714 s.CreationDateTime = &v 2715 return s 2716 } 2717 2718 // SetDeletionProtection sets the DeletionProtection field's value. 2719 func (s *DescribeLedgerOutput) SetDeletionProtection(v bool) *DescribeLedgerOutput { 2720 s.DeletionProtection = &v 2721 return s 2722 } 2723 2724 // SetEncryptionDescription sets the EncryptionDescription field's value. 2725 func (s *DescribeLedgerOutput) SetEncryptionDescription(v *LedgerEncryptionDescription) *DescribeLedgerOutput { 2726 s.EncryptionDescription = v 2727 return s 2728 } 2729 2730 // SetName sets the Name field's value. 2731 func (s *DescribeLedgerOutput) SetName(v string) *DescribeLedgerOutput { 2732 s.Name = &v 2733 return s 2734 } 2735 2736 // SetPermissionsMode sets the PermissionsMode field's value. 2737 func (s *DescribeLedgerOutput) SetPermissionsMode(v string) *DescribeLedgerOutput { 2738 s.PermissionsMode = &v 2739 return s 2740 } 2741 2742 // SetState sets the State field's value. 2743 func (s *DescribeLedgerOutput) SetState(v string) *DescribeLedgerOutput { 2744 s.State = &v 2745 return s 2746 } 2747 2748 type ExportJournalToS3Input struct { 2749 _ struct{} `type:"structure"` 2750 2751 // The exclusive end date and time for the range of journal contents to export. 2752 // 2753 // The ExclusiveEndTime must be in ISO 8601 date and time format and in Universal 2754 // Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. 2755 // 2756 // The ExclusiveEndTime must be less than or equal to the current UTC date and 2757 // time. 2758 // 2759 // ExclusiveEndTime is a required field 2760 ExclusiveEndTime *time.Time `type:"timestamp" required:"true"` 2761 2762 // The inclusive start date and time for the range of journal contents to export. 2763 // 2764 // The InclusiveStartTime must be in ISO 8601 date and time format and in Universal 2765 // Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. 2766 // 2767 // The InclusiveStartTime must be before ExclusiveEndTime. 2768 // 2769 // If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, 2770 // Amazon QLDB defaults it to the ledger's CreationDateTime. 2771 // 2772 // InclusiveStartTime is a required field 2773 InclusiveStartTime *time.Time `type:"timestamp" required:"true"` 2774 2775 // The name of the ledger. 2776 // 2777 // Name is a required field 2778 Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 2779 2780 // The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions 2781 // for a journal export job to do the following: 2782 // 2783 // * Write objects into your Amazon Simple Storage Service (Amazon S3) bucket. 2784 // 2785 // * (Optional) Use your customer master key (CMK) in Key Management Service 2786 // (KMS) for server-side encryption of your exported data. 2787 // 2788 // RoleArn is a required field 2789 RoleArn *string `min:"20" type:"string" required:"true"` 2790 2791 // The configuration settings of the Amazon S3 bucket destination for your export 2792 // request. 2793 // 2794 // S3ExportConfiguration is a required field 2795 S3ExportConfiguration *S3ExportConfiguration `type:"structure" required:"true"` 2796 } 2797 2798 // String returns the string representation. 2799 // 2800 // API parameter values that are decorated as "sensitive" in the API will not 2801 // be included in the string output. The member name will be present, but the 2802 // value will be replaced with "sensitive". 2803 func (s ExportJournalToS3Input) String() string { 2804 return awsutil.Prettify(s) 2805 } 2806 2807 // GoString returns the string representation. 2808 // 2809 // API parameter values that are decorated as "sensitive" in the API will not 2810 // be included in the string output. The member name will be present, but the 2811 // value will be replaced with "sensitive". 2812 func (s ExportJournalToS3Input) GoString() string { 2813 return s.String() 2814 } 2815 2816 // Validate inspects the fields of the type to determine if they are valid. 2817 func (s *ExportJournalToS3Input) Validate() error { 2818 invalidParams := request.ErrInvalidParams{Context: "ExportJournalToS3Input"} 2819 if s.ExclusiveEndTime == nil { 2820 invalidParams.Add(request.NewErrParamRequired("ExclusiveEndTime")) 2821 } 2822 if s.InclusiveStartTime == nil { 2823 invalidParams.Add(request.NewErrParamRequired("InclusiveStartTime")) 2824 } 2825 if s.Name == nil { 2826 invalidParams.Add(request.NewErrParamRequired("Name")) 2827 } 2828 if s.Name != nil && len(*s.Name) < 1 { 2829 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 2830 } 2831 if s.RoleArn == nil { 2832 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 2833 } 2834 if s.RoleArn != nil && len(*s.RoleArn) < 20 { 2835 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) 2836 } 2837 if s.S3ExportConfiguration == nil { 2838 invalidParams.Add(request.NewErrParamRequired("S3ExportConfiguration")) 2839 } 2840 if s.S3ExportConfiguration != nil { 2841 if err := s.S3ExportConfiguration.Validate(); err != nil { 2842 invalidParams.AddNested("S3ExportConfiguration", err.(request.ErrInvalidParams)) 2843 } 2844 } 2845 2846 if invalidParams.Len() > 0 { 2847 return invalidParams 2848 } 2849 return nil 2850 } 2851 2852 // SetExclusiveEndTime sets the ExclusiveEndTime field's value. 2853 func (s *ExportJournalToS3Input) SetExclusiveEndTime(v time.Time) *ExportJournalToS3Input { 2854 s.ExclusiveEndTime = &v 2855 return s 2856 } 2857 2858 // SetInclusiveStartTime sets the InclusiveStartTime field's value. 2859 func (s *ExportJournalToS3Input) SetInclusiveStartTime(v time.Time) *ExportJournalToS3Input { 2860 s.InclusiveStartTime = &v 2861 return s 2862 } 2863 2864 // SetName sets the Name field's value. 2865 func (s *ExportJournalToS3Input) SetName(v string) *ExportJournalToS3Input { 2866 s.Name = &v 2867 return s 2868 } 2869 2870 // SetRoleArn sets the RoleArn field's value. 2871 func (s *ExportJournalToS3Input) SetRoleArn(v string) *ExportJournalToS3Input { 2872 s.RoleArn = &v 2873 return s 2874 } 2875 2876 // SetS3ExportConfiguration sets the S3ExportConfiguration field's value. 2877 func (s *ExportJournalToS3Input) SetS3ExportConfiguration(v *S3ExportConfiguration) *ExportJournalToS3Input { 2878 s.S3ExportConfiguration = v 2879 return s 2880 } 2881 2882 type ExportJournalToS3Output struct { 2883 _ struct{} `type:"structure"` 2884 2885 // The UUID (represented in Base62-encoded text) that QLDB assigns to each journal 2886 // export job. 2887 // 2888 // To describe your export request and check the status of the job, you can 2889 // use ExportId to call DescribeJournalS3Export. 2890 // 2891 // ExportId is a required field 2892 ExportId *string `min:"22" type:"string" required:"true"` 2893 } 2894 2895 // String returns the string representation. 2896 // 2897 // API parameter values that are decorated as "sensitive" in the API will not 2898 // be included in the string output. The member name will be present, but the 2899 // value will be replaced with "sensitive". 2900 func (s ExportJournalToS3Output) String() string { 2901 return awsutil.Prettify(s) 2902 } 2903 2904 // GoString returns the string representation. 2905 // 2906 // API parameter values that are decorated as "sensitive" in the API will not 2907 // be included in the string output. The member name will be present, but the 2908 // value will be replaced with "sensitive". 2909 func (s ExportJournalToS3Output) GoString() string { 2910 return s.String() 2911 } 2912 2913 // SetExportId sets the ExportId field's value. 2914 func (s *ExportJournalToS3Output) SetExportId(v string) *ExportJournalToS3Output { 2915 s.ExportId = &v 2916 return s 2917 } 2918 2919 type GetBlockInput struct { 2920 _ struct{} `type:"structure"` 2921 2922 // The location of the block that you want to request. An address is an Amazon 2923 // Ion structure that has two fields: strandId and sequenceNo. 2924 // 2925 // For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14}. 2926 // 2927 // BlockAddress is a sensitive parameter and its value will be 2928 // replaced with "sensitive" in string returned by GetBlockInput's 2929 // String and GoString methods. 2930 // 2931 // BlockAddress is a required field 2932 BlockAddress *ValueHolder `type:"structure" required:"true" sensitive:"true"` 2933 2934 // The latest block location covered by the digest for which to request a proof. 2935 // An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. 2936 // 2937 // For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49}. 2938 // 2939 // DigestTipAddress is a sensitive parameter and its value will be 2940 // replaced with "sensitive" in string returned by GetBlockInput's 2941 // String and GoString methods. 2942 DigestTipAddress *ValueHolder `type:"structure" sensitive:"true"` 2943 2944 // The name of the ledger. 2945 // 2946 // Name is a required field 2947 Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 2948 } 2949 2950 // String returns the string representation. 2951 // 2952 // API parameter values that are decorated as "sensitive" in the API will not 2953 // be included in the string output. The member name will be present, but the 2954 // value will be replaced with "sensitive". 2955 func (s GetBlockInput) String() string { 2956 return awsutil.Prettify(s) 2957 } 2958 2959 // GoString returns the string representation. 2960 // 2961 // API parameter values that are decorated as "sensitive" in the API will not 2962 // be included in the string output. The member name will be present, but the 2963 // value will be replaced with "sensitive". 2964 func (s GetBlockInput) GoString() string { 2965 return s.String() 2966 } 2967 2968 // Validate inspects the fields of the type to determine if they are valid. 2969 func (s *GetBlockInput) Validate() error { 2970 invalidParams := request.ErrInvalidParams{Context: "GetBlockInput"} 2971 if s.BlockAddress == nil { 2972 invalidParams.Add(request.NewErrParamRequired("BlockAddress")) 2973 } 2974 if s.Name == nil { 2975 invalidParams.Add(request.NewErrParamRequired("Name")) 2976 } 2977 if s.Name != nil && len(*s.Name) < 1 { 2978 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 2979 } 2980 if s.BlockAddress != nil { 2981 if err := s.BlockAddress.Validate(); err != nil { 2982 invalidParams.AddNested("BlockAddress", err.(request.ErrInvalidParams)) 2983 } 2984 } 2985 if s.DigestTipAddress != nil { 2986 if err := s.DigestTipAddress.Validate(); err != nil { 2987 invalidParams.AddNested("DigestTipAddress", err.(request.ErrInvalidParams)) 2988 } 2989 } 2990 2991 if invalidParams.Len() > 0 { 2992 return invalidParams 2993 } 2994 return nil 2995 } 2996 2997 // SetBlockAddress sets the BlockAddress field's value. 2998 func (s *GetBlockInput) SetBlockAddress(v *ValueHolder) *GetBlockInput { 2999 s.BlockAddress = v 3000 return s 3001 } 3002 3003 // SetDigestTipAddress sets the DigestTipAddress field's value. 3004 func (s *GetBlockInput) SetDigestTipAddress(v *ValueHolder) *GetBlockInput { 3005 s.DigestTipAddress = v 3006 return s 3007 } 3008 3009 // SetName sets the Name field's value. 3010 func (s *GetBlockInput) SetName(v string) *GetBlockInput { 3011 s.Name = &v 3012 return s 3013 } 3014 3015 type GetBlockOutput struct { 3016 _ struct{} `type:"structure"` 3017 3018 // The block data object in Amazon Ion format. 3019 // 3020 // Block is a sensitive parameter and its value will be 3021 // replaced with "sensitive" in string returned by GetBlockOutput's 3022 // String and GoString methods. 3023 // 3024 // Block is a required field 3025 Block *ValueHolder `type:"structure" required:"true" sensitive:"true"` 3026 3027 // The proof object in Amazon Ion format returned by a GetBlock request. A proof 3028 // contains the list of hash values required to recalculate the specified digest 3029 // using a Merkle tree, starting with the specified block. 3030 // 3031 // Proof is a sensitive parameter and its value will be 3032 // replaced with "sensitive" in string returned by GetBlockOutput's 3033 // String and GoString methods. 3034 Proof *ValueHolder `type:"structure" sensitive:"true"` 3035 } 3036 3037 // String returns the string representation. 3038 // 3039 // API parameter values that are decorated as "sensitive" in the API will not 3040 // be included in the string output. The member name will be present, but the 3041 // value will be replaced with "sensitive". 3042 func (s GetBlockOutput) String() string { 3043 return awsutil.Prettify(s) 3044 } 3045 3046 // GoString returns the string representation. 3047 // 3048 // API parameter values that are decorated as "sensitive" in the API will not 3049 // be included in the string output. The member name will be present, but the 3050 // value will be replaced with "sensitive". 3051 func (s GetBlockOutput) GoString() string { 3052 return s.String() 3053 } 3054 3055 // SetBlock sets the Block field's value. 3056 func (s *GetBlockOutput) SetBlock(v *ValueHolder) *GetBlockOutput { 3057 s.Block = v 3058 return s 3059 } 3060 3061 // SetProof sets the Proof field's value. 3062 func (s *GetBlockOutput) SetProof(v *ValueHolder) *GetBlockOutput { 3063 s.Proof = v 3064 return s 3065 } 3066 3067 type GetDigestInput struct { 3068 _ struct{} `type:"structure" nopayload:"true"` 3069 3070 // The name of the ledger. 3071 // 3072 // Name is a required field 3073 Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 3074 } 3075 3076 // String returns the string representation. 3077 // 3078 // API parameter values that are decorated as "sensitive" in the API will not 3079 // be included in the string output. The member name will be present, but the 3080 // value will be replaced with "sensitive". 3081 func (s GetDigestInput) String() string { 3082 return awsutil.Prettify(s) 3083 } 3084 3085 // GoString returns the string representation. 3086 // 3087 // API parameter values that are decorated as "sensitive" in the API will not 3088 // be included in the string output. The member name will be present, but the 3089 // value will be replaced with "sensitive". 3090 func (s GetDigestInput) GoString() string { 3091 return s.String() 3092 } 3093 3094 // Validate inspects the fields of the type to determine if they are valid. 3095 func (s *GetDigestInput) Validate() error { 3096 invalidParams := request.ErrInvalidParams{Context: "GetDigestInput"} 3097 if s.Name == nil { 3098 invalidParams.Add(request.NewErrParamRequired("Name")) 3099 } 3100 if s.Name != nil && len(*s.Name) < 1 { 3101 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3102 } 3103 3104 if invalidParams.Len() > 0 { 3105 return invalidParams 3106 } 3107 return nil 3108 } 3109 3110 // SetName sets the Name field's value. 3111 func (s *GetDigestInput) SetName(v string) *GetDigestInput { 3112 s.Name = &v 3113 return s 3114 } 3115 3116 type GetDigestOutput struct { 3117 _ struct{} `type:"structure"` 3118 3119 // The 256-bit hash value representing the digest returned by a GetDigest request. 3120 // Digest is automatically base64 encoded/decoded by the SDK. 3121 // 3122 // Digest is a required field 3123 Digest []byte `min:"32" type:"blob" required:"true"` 3124 3125 // The latest block location covered by the digest that you requested. An address 3126 // is an Amazon Ion structure that has two fields: strandId and sequenceNo. 3127 // 3128 // DigestTipAddress is a sensitive parameter and its value will be 3129 // replaced with "sensitive" in string returned by GetDigestOutput's 3130 // String and GoString methods. 3131 // 3132 // DigestTipAddress is a required field 3133 DigestTipAddress *ValueHolder `type:"structure" required:"true" sensitive:"true"` 3134 } 3135 3136 // String returns the string representation. 3137 // 3138 // API parameter values that are decorated as "sensitive" in the API will not 3139 // be included in the string output. The member name will be present, but the 3140 // value will be replaced with "sensitive". 3141 func (s GetDigestOutput) String() string { 3142 return awsutil.Prettify(s) 3143 } 3144 3145 // GoString returns the string representation. 3146 // 3147 // API parameter values that are decorated as "sensitive" in the API will not 3148 // be included in the string output. The member name will be present, but the 3149 // value will be replaced with "sensitive". 3150 func (s GetDigestOutput) GoString() string { 3151 return s.String() 3152 } 3153 3154 // SetDigest sets the Digest field's value. 3155 func (s *GetDigestOutput) SetDigest(v []byte) *GetDigestOutput { 3156 s.Digest = v 3157 return s 3158 } 3159 3160 // SetDigestTipAddress sets the DigestTipAddress field's value. 3161 func (s *GetDigestOutput) SetDigestTipAddress(v *ValueHolder) *GetDigestOutput { 3162 s.DigestTipAddress = v 3163 return s 3164 } 3165 3166 type GetRevisionInput struct { 3167 _ struct{} `type:"structure"` 3168 3169 // The block location of the document revision to be verified. An address is 3170 // an Amazon Ion structure that has two fields: strandId and sequenceNo. 3171 // 3172 // For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14}. 3173 // 3174 // BlockAddress is a sensitive parameter and its value will be 3175 // replaced with "sensitive" in string returned by GetRevisionInput's 3176 // String and GoString methods. 3177 // 3178 // BlockAddress is a required field 3179 BlockAddress *ValueHolder `type:"structure" required:"true" sensitive:"true"` 3180 3181 // The latest block location covered by the digest for which to request a proof. 3182 // An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. 3183 // 3184 // For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49}. 3185 // 3186 // DigestTipAddress is a sensitive parameter and its value will be 3187 // replaced with "sensitive" in string returned by GetRevisionInput's 3188 // String and GoString methods. 3189 DigestTipAddress *ValueHolder `type:"structure" sensitive:"true"` 3190 3191 // The UUID (represented in Base62-encoded text) of the document to be verified. 3192 // 3193 // DocumentId is a required field 3194 DocumentId *string `min:"22" type:"string" required:"true"` 3195 3196 // The name of the ledger. 3197 // 3198 // Name is a required field 3199 Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 3200 } 3201 3202 // String returns the string representation. 3203 // 3204 // API parameter values that are decorated as "sensitive" in the API will not 3205 // be included in the string output. The member name will be present, but the 3206 // value will be replaced with "sensitive". 3207 func (s GetRevisionInput) String() string { 3208 return awsutil.Prettify(s) 3209 } 3210 3211 // GoString returns the string representation. 3212 // 3213 // API parameter values that are decorated as "sensitive" in the API will not 3214 // be included in the string output. The member name will be present, but the 3215 // value will be replaced with "sensitive". 3216 func (s GetRevisionInput) GoString() string { 3217 return s.String() 3218 } 3219 3220 // Validate inspects the fields of the type to determine if they are valid. 3221 func (s *GetRevisionInput) Validate() error { 3222 invalidParams := request.ErrInvalidParams{Context: "GetRevisionInput"} 3223 if s.BlockAddress == nil { 3224 invalidParams.Add(request.NewErrParamRequired("BlockAddress")) 3225 } 3226 if s.DocumentId == nil { 3227 invalidParams.Add(request.NewErrParamRequired("DocumentId")) 3228 } 3229 if s.DocumentId != nil && len(*s.DocumentId) < 22 { 3230 invalidParams.Add(request.NewErrParamMinLen("DocumentId", 22)) 3231 } 3232 if s.Name == nil { 3233 invalidParams.Add(request.NewErrParamRequired("Name")) 3234 } 3235 if s.Name != nil && len(*s.Name) < 1 { 3236 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 3237 } 3238 if s.BlockAddress != nil { 3239 if err := s.BlockAddress.Validate(); err != nil { 3240 invalidParams.AddNested("BlockAddress", err.(request.ErrInvalidParams)) 3241 } 3242 } 3243 if s.DigestTipAddress != nil { 3244 if err := s.DigestTipAddress.Validate(); err != nil { 3245 invalidParams.AddNested("DigestTipAddress", err.(request.ErrInvalidParams)) 3246 } 3247 } 3248 3249 if invalidParams.Len() > 0 { 3250 return invalidParams 3251 } 3252 return nil 3253 } 3254 3255 // SetBlockAddress sets the BlockAddress field's value. 3256 func (s *GetRevisionInput) SetBlockAddress(v *ValueHolder) *GetRevisionInput { 3257 s.BlockAddress = v 3258 return s 3259 } 3260 3261 // SetDigestTipAddress sets the DigestTipAddress field's value. 3262 func (s *GetRevisionInput) SetDigestTipAddress(v *ValueHolder) *GetRevisionInput { 3263 s.DigestTipAddress = v 3264 return s 3265 } 3266 3267 // SetDocumentId sets the DocumentId field's value. 3268 func (s *GetRevisionInput) SetDocumentId(v string) *GetRevisionInput { 3269 s.DocumentId = &v 3270 return s 3271 } 3272 3273 // SetName sets the Name field's value. 3274 func (s *GetRevisionInput) SetName(v string) *GetRevisionInput { 3275 s.Name = &v 3276 return s 3277 } 3278 3279 type GetRevisionOutput struct { 3280 _ struct{} `type:"structure"` 3281 3282 // The proof object in Amazon Ion format returned by a GetRevision request. 3283 // A proof contains the list of hash values that are required to recalculate 3284 // the specified digest using a Merkle tree, starting with the specified document 3285 // revision. 3286 // 3287 // Proof is a sensitive parameter and its value will be 3288 // replaced with "sensitive" in string returned by GetRevisionOutput's 3289 // String and GoString methods. 3290 Proof *ValueHolder `type:"structure" sensitive:"true"` 3291 3292 // The document revision data object in Amazon Ion format. 3293 // 3294 // Revision is a sensitive parameter and its value will be 3295 // replaced with "sensitive" in string returned by GetRevisionOutput's 3296 // String and GoString methods. 3297 // 3298 // Revision is a required field 3299 Revision *ValueHolder `type:"structure" required:"true" sensitive:"true"` 3300 } 3301 3302 // String returns the string representation. 3303 // 3304 // API parameter values that are decorated as "sensitive" in the API will not 3305 // be included in the string output. The member name will be present, but the 3306 // value will be replaced with "sensitive". 3307 func (s GetRevisionOutput) String() string { 3308 return awsutil.Prettify(s) 3309 } 3310 3311 // GoString returns the string representation. 3312 // 3313 // API parameter values that are decorated as "sensitive" in the API will not 3314 // be included in the string output. The member name will be present, but the 3315 // value will be replaced with "sensitive". 3316 func (s GetRevisionOutput) GoString() string { 3317 return s.String() 3318 } 3319 3320 // SetProof sets the Proof field's value. 3321 func (s *GetRevisionOutput) SetProof(v *ValueHolder) *GetRevisionOutput { 3322 s.Proof = v 3323 return s 3324 } 3325 3326 // SetRevision sets the Revision field's value. 3327 func (s *GetRevisionOutput) SetRevision(v *ValueHolder) *GetRevisionOutput { 3328 s.Revision = v 3329 return s 3330 } 3331 3332 // One or more parameters in the request aren't valid. 3333 type InvalidParameterException struct { 3334 _ struct{} `type:"structure"` 3335 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3336 3337 Message_ *string `locationName:"Message" type:"string"` 3338 3339 // The name of the invalid parameter. 3340 ParameterName *string `type:"string"` 3341 } 3342 3343 // String returns the string representation. 3344 // 3345 // API parameter values that are decorated as "sensitive" in the API will not 3346 // be included in the string output. The member name will be present, but the 3347 // value will be replaced with "sensitive". 3348 func (s InvalidParameterException) String() string { 3349 return awsutil.Prettify(s) 3350 } 3351 3352 // GoString returns the string representation. 3353 // 3354 // API parameter values that are decorated as "sensitive" in the API will not 3355 // be included in the string output. The member name will be present, but the 3356 // value will be replaced with "sensitive". 3357 func (s InvalidParameterException) GoString() string { 3358 return s.String() 3359 } 3360 3361 func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 3362 return &InvalidParameterException{ 3363 RespMetadata: v, 3364 } 3365 } 3366 3367 // Code returns the exception type name. 3368 func (s *InvalidParameterException) Code() string { 3369 return "InvalidParameterException" 3370 } 3371 3372 // Message returns the exception's message. 3373 func (s *InvalidParameterException) Message() string { 3374 if s.Message_ != nil { 3375 return *s.Message_ 3376 } 3377 return "" 3378 } 3379 3380 // OrigErr always returns nil, satisfies awserr.Error interface. 3381 func (s *InvalidParameterException) OrigErr() error { 3382 return nil 3383 } 3384 3385 func (s *InvalidParameterException) Error() string { 3386 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 3387 } 3388 3389 // Status code returns the HTTP status code for the request's response error. 3390 func (s *InvalidParameterException) StatusCode() int { 3391 return s.RespMetadata.StatusCode 3392 } 3393 3394 // RequestID returns the service's response RequestID for request. 3395 func (s *InvalidParameterException) RequestID() string { 3396 return s.RespMetadata.RequestID 3397 } 3398 3399 // Information about an Amazon QLDB journal stream, including the Amazon Resource 3400 // Name (ARN), stream name, creation time, current status, and the parameters 3401 // of the original stream creation request. 3402 type JournalKinesisStreamDescription struct { 3403 _ struct{} `type:"structure"` 3404 3405 // The Amazon Resource Name (ARN) of the QLDB journal stream. 3406 Arn *string `min:"20" type:"string"` 3407 3408 // The date and time, in epoch time format, when the QLDB journal stream was 3409 // created. (Epoch time format is the number of seconds elapsed since 12:00:00 3410 // AM January 1, 1970 UTC.) 3411 CreationTime *time.Time `type:"timestamp"` 3412 3413 // The error message that describes the reason that a stream has a status of 3414 // IMPAIRED or FAILED. This is not applicable to streams that have other status 3415 // values. 3416 ErrorCause *string `type:"string" enum:"ErrorCause"` 3417 3418 // The exclusive date and time that specifies when the stream ends. If this 3419 // parameter is undefined, the stream runs indefinitely until you cancel it. 3420 ExclusiveEndTime *time.Time `type:"timestamp"` 3421 3422 // The inclusive start date and time from which to start streaming journal data. 3423 InclusiveStartTime *time.Time `type:"timestamp"` 3424 3425 // The configuration settings of the Amazon Kinesis Data Streams destination 3426 // for a QLDB journal stream. 3427 // 3428 // KinesisConfiguration is a required field 3429 KinesisConfiguration *KinesisConfiguration `type:"structure" required:"true"` 3430 3431 // The name of the ledger. 3432 // 3433 // LedgerName is a required field 3434 LedgerName *string `min:"1" type:"string" required:"true"` 3435 3436 // The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions 3437 // for a journal stream to write data records to a Kinesis Data Streams resource. 3438 // 3439 // RoleArn is a required field 3440 RoleArn *string `min:"20" type:"string" required:"true"` 3441 3442 // The current state of the QLDB journal stream. 3443 // 3444 // Status is a required field 3445 Status *string `type:"string" required:"true" enum:"StreamStatus"` 3446 3447 // The UUID (represented in Base62-encoded text) of the QLDB journal stream. 3448 // 3449 // StreamId is a required field 3450 StreamId *string `min:"22" type:"string" required:"true"` 3451 3452 // The user-defined name of the QLDB journal stream. 3453 // 3454 // StreamName is a required field 3455 StreamName *string `min:"1" type:"string" required:"true"` 3456 } 3457 3458 // String returns the string representation. 3459 // 3460 // API parameter values that are decorated as "sensitive" in the API will not 3461 // be included in the string output. The member name will be present, but the 3462 // value will be replaced with "sensitive". 3463 func (s JournalKinesisStreamDescription) String() string { 3464 return awsutil.Prettify(s) 3465 } 3466 3467 // GoString returns the string representation. 3468 // 3469 // API parameter values that are decorated as "sensitive" in the API will not 3470 // be included in the string output. The member name will be present, but the 3471 // value will be replaced with "sensitive". 3472 func (s JournalKinesisStreamDescription) GoString() string { 3473 return s.String() 3474 } 3475 3476 // SetArn sets the Arn field's value. 3477 func (s *JournalKinesisStreamDescription) SetArn(v string) *JournalKinesisStreamDescription { 3478 s.Arn = &v 3479 return s 3480 } 3481 3482 // SetCreationTime sets the CreationTime field's value. 3483 func (s *JournalKinesisStreamDescription) SetCreationTime(v time.Time) *JournalKinesisStreamDescription { 3484 s.CreationTime = &v 3485 return s 3486 } 3487 3488 // SetErrorCause sets the ErrorCause field's value. 3489 func (s *JournalKinesisStreamDescription) SetErrorCause(v string) *JournalKinesisStreamDescription { 3490 s.ErrorCause = &v 3491 return s 3492 } 3493 3494 // SetExclusiveEndTime sets the ExclusiveEndTime field's value. 3495 func (s *JournalKinesisStreamDescription) SetExclusiveEndTime(v time.Time) *JournalKinesisStreamDescription { 3496 s.ExclusiveEndTime = &v 3497 return s 3498 } 3499 3500 // SetInclusiveStartTime sets the InclusiveStartTime field's value. 3501 func (s *JournalKinesisStreamDescription) SetInclusiveStartTime(v time.Time) *JournalKinesisStreamDescription { 3502 s.InclusiveStartTime = &v 3503 return s 3504 } 3505 3506 // SetKinesisConfiguration sets the KinesisConfiguration field's value. 3507 func (s *JournalKinesisStreamDescription) SetKinesisConfiguration(v *KinesisConfiguration) *JournalKinesisStreamDescription { 3508 s.KinesisConfiguration = v 3509 return s 3510 } 3511 3512 // SetLedgerName sets the LedgerName field's value. 3513 func (s *JournalKinesisStreamDescription) SetLedgerName(v string) *JournalKinesisStreamDescription { 3514 s.LedgerName = &v 3515 return s 3516 } 3517 3518 // SetRoleArn sets the RoleArn field's value. 3519 func (s *JournalKinesisStreamDescription) SetRoleArn(v string) *JournalKinesisStreamDescription { 3520 s.RoleArn = &v 3521 return s 3522 } 3523 3524 // SetStatus sets the Status field's value. 3525 func (s *JournalKinesisStreamDescription) SetStatus(v string) *JournalKinesisStreamDescription { 3526 s.Status = &v 3527 return s 3528 } 3529 3530 // SetStreamId sets the StreamId field's value. 3531 func (s *JournalKinesisStreamDescription) SetStreamId(v string) *JournalKinesisStreamDescription { 3532 s.StreamId = &v 3533 return s 3534 } 3535 3536 // SetStreamName sets the StreamName field's value. 3537 func (s *JournalKinesisStreamDescription) SetStreamName(v string) *JournalKinesisStreamDescription { 3538 s.StreamName = &v 3539 return s 3540 } 3541 3542 // Information about a journal export job, including the ledger name, export 3543 // ID, creation time, current status, and the parameters of the original export 3544 // creation request. 3545 type JournalS3ExportDescription struct { 3546 _ struct{} `type:"structure"` 3547 3548 // The exclusive end date and time for the range of journal contents that are 3549 // specified in the original export request. 3550 // 3551 // ExclusiveEndTime is a required field 3552 ExclusiveEndTime *time.Time `type:"timestamp" required:"true"` 3553 3554 // The date and time, in epoch time format, when the export job was created. 3555 // (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 3556 // 1, 1970 UTC.) 3557 // 3558 // ExportCreationTime is a required field 3559 ExportCreationTime *time.Time `type:"timestamp" required:"true"` 3560 3561 // The UUID (represented in Base62-encoded text) of the journal export job. 3562 // 3563 // ExportId is a required field 3564 ExportId *string `min:"22" type:"string" required:"true"` 3565 3566 // The inclusive start date and time for the range of journal contents that 3567 // are specified in the original export request. 3568 // 3569 // InclusiveStartTime is a required field 3570 InclusiveStartTime *time.Time `type:"timestamp" required:"true"` 3571 3572 // The name of the ledger. 3573 // 3574 // LedgerName is a required field 3575 LedgerName *string `min:"1" type:"string" required:"true"` 3576 3577 // The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions 3578 // for a journal export job to do the following: 3579 // 3580 // * Write objects into your Amazon Simple Storage Service (Amazon S3) bucket. 3581 // 3582 // * (Optional) Use your customer master key (CMK) in Key Management Service 3583 // (KMS) for server-side encryption of your exported data. 3584 // 3585 // RoleArn is a required field 3586 RoleArn *string `min:"20" type:"string" required:"true"` 3587 3588 // The Amazon Simple Storage Service (Amazon S3) bucket location in which a 3589 // journal export job writes the journal contents. 3590 // 3591 // S3ExportConfiguration is a required field 3592 S3ExportConfiguration *S3ExportConfiguration `type:"structure" required:"true"` 3593 3594 // The current state of the journal export job. 3595 // 3596 // Status is a required field 3597 Status *string `type:"string" required:"true" enum:"ExportStatus"` 3598 } 3599 3600 // String returns the string representation. 3601 // 3602 // API parameter values that are decorated as "sensitive" in the API will not 3603 // be included in the string output. The member name will be present, but the 3604 // value will be replaced with "sensitive". 3605 func (s JournalS3ExportDescription) String() string { 3606 return awsutil.Prettify(s) 3607 } 3608 3609 // GoString returns the string representation. 3610 // 3611 // API parameter values that are decorated as "sensitive" in the API will not 3612 // be included in the string output. The member name will be present, but the 3613 // value will be replaced with "sensitive". 3614 func (s JournalS3ExportDescription) GoString() string { 3615 return s.String() 3616 } 3617 3618 // SetExclusiveEndTime sets the ExclusiveEndTime field's value. 3619 func (s *JournalS3ExportDescription) SetExclusiveEndTime(v time.Time) *JournalS3ExportDescription { 3620 s.ExclusiveEndTime = &v 3621 return s 3622 } 3623 3624 // SetExportCreationTime sets the ExportCreationTime field's value. 3625 func (s *JournalS3ExportDescription) SetExportCreationTime(v time.Time) *JournalS3ExportDescription { 3626 s.ExportCreationTime = &v 3627 return s 3628 } 3629 3630 // SetExportId sets the ExportId field's value. 3631 func (s *JournalS3ExportDescription) SetExportId(v string) *JournalS3ExportDescription { 3632 s.ExportId = &v 3633 return s 3634 } 3635 3636 // SetInclusiveStartTime sets the InclusiveStartTime field's value. 3637 func (s *JournalS3ExportDescription) SetInclusiveStartTime(v time.Time) *JournalS3ExportDescription { 3638 s.InclusiveStartTime = &v 3639 return s 3640 } 3641 3642 // SetLedgerName sets the LedgerName field's value. 3643 func (s *JournalS3ExportDescription) SetLedgerName(v string) *JournalS3ExportDescription { 3644 s.LedgerName = &v 3645 return s 3646 } 3647 3648 // SetRoleArn sets the RoleArn field's value. 3649 func (s *JournalS3ExportDescription) SetRoleArn(v string) *JournalS3ExportDescription { 3650 s.RoleArn = &v 3651 return s 3652 } 3653 3654 // SetS3ExportConfiguration sets the S3ExportConfiguration field's value. 3655 func (s *JournalS3ExportDescription) SetS3ExportConfiguration(v *S3ExportConfiguration) *JournalS3ExportDescription { 3656 s.S3ExportConfiguration = v 3657 return s 3658 } 3659 3660 // SetStatus sets the Status field's value. 3661 func (s *JournalS3ExportDescription) SetStatus(v string) *JournalS3ExportDescription { 3662 s.Status = &v 3663 return s 3664 } 3665 3666 // The configuration settings of the Amazon Kinesis Data Streams destination 3667 // for an Amazon QLDB journal stream. 3668 type KinesisConfiguration struct { 3669 _ struct{} `type:"structure"` 3670 3671 // Enables QLDB to publish multiple data records in a single Kinesis Data Streams 3672 // record, increasing the number of records sent per API call. 3673 // 3674 // This option is enabled by default. Record aggregation has important implications 3675 // for processing records and requires de-aggregation in your stream consumer. 3676 // To learn more, see KPL Key Concepts (https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-concepts.html) 3677 // and Consumer De-aggregation (https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-consumer-deaggregation.html) 3678 // in the Amazon Kinesis Data Streams Developer Guide. 3679 AggregationEnabled *bool `type:"boolean"` 3680 3681 // The Amazon Resource Name (ARN) of the Kinesis Data Streams resource. 3682 // 3683 // StreamArn is a required field 3684 StreamArn *string `min:"20" type:"string" required:"true"` 3685 } 3686 3687 // String returns the string representation. 3688 // 3689 // API parameter values that are decorated as "sensitive" in the API will not 3690 // be included in the string output. The member name will be present, but the 3691 // value will be replaced with "sensitive". 3692 func (s KinesisConfiguration) String() string { 3693 return awsutil.Prettify(s) 3694 } 3695 3696 // GoString returns the string representation. 3697 // 3698 // API parameter values that are decorated as "sensitive" in the API will not 3699 // be included in the string output. The member name will be present, but the 3700 // value will be replaced with "sensitive". 3701 func (s KinesisConfiguration) GoString() string { 3702 return s.String() 3703 } 3704 3705 // Validate inspects the fields of the type to determine if they are valid. 3706 func (s *KinesisConfiguration) Validate() error { 3707 invalidParams := request.ErrInvalidParams{Context: "KinesisConfiguration"} 3708 if s.StreamArn == nil { 3709 invalidParams.Add(request.NewErrParamRequired("StreamArn")) 3710 } 3711 if s.StreamArn != nil && len(*s.StreamArn) < 20 { 3712 invalidParams.Add(request.NewErrParamMinLen("StreamArn", 20)) 3713 } 3714 3715 if invalidParams.Len() > 0 { 3716 return invalidParams 3717 } 3718 return nil 3719 } 3720 3721 // SetAggregationEnabled sets the AggregationEnabled field's value. 3722 func (s *KinesisConfiguration) SetAggregationEnabled(v bool) *KinesisConfiguration { 3723 s.AggregationEnabled = &v 3724 return s 3725 } 3726 3727 // SetStreamArn sets the StreamArn field's value. 3728 func (s *KinesisConfiguration) SetStreamArn(v string) *KinesisConfiguration { 3729 s.StreamArn = &v 3730 return s 3731 } 3732 3733 // Information about the encryption of data at rest in an Amazon QLDB ledger. 3734 // This includes the current status, the key in Key Management Service (KMS), 3735 // and when the key became inaccessible (in the case of an error). 3736 // 3737 // For more information, see Encryption at rest (https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html) 3738 // in the Amazon QLDB Developer Guide. 3739 type LedgerEncryptionDescription struct { 3740 _ struct{} `type:"structure"` 3741 3742 // The current state of encryption at rest for the ledger. This can be one of 3743 // the following values: 3744 // 3745 // * ENABLED: Encryption is fully enabled using the specified key. 3746 // 3747 // * UPDATING: The ledger is actively processing the specified key change. 3748 // Key changes in QLDB are asynchronous. The ledger is fully accessible without 3749 // any performance impact while the key change is being processed. The amount 3750 // of time it takes to update a key varies depending on the ledger size. 3751 // 3752 // * KMS_KEY_INACCESSIBLE: The specified customer managed KMS key is not 3753 // accessible, and the ledger is impaired. Either the key was disabled or 3754 // deleted, or the grants on the key were revoked. When a ledger is impaired, 3755 // it is not accessible and does not accept any read or write requests. An 3756 // impaired ledger automatically returns to an active state after you restore 3757 // the grants on the key, or re-enable the key that was disabled. However, 3758 // deleting a customer managed KMS key is irreversible. After a key is deleted, 3759 // you can no longer access the ledgers that are protected with that key, 3760 // and the data becomes unrecoverable permanently. 3761 // 3762 // EncryptionStatus is a required field 3763 EncryptionStatus *string `type:"string" required:"true" enum:"EncryptionStatus"` 3764 3765 // The date and time, in epoch time format, when the KMS key first became inaccessible, 3766 // in the case of an error. (Epoch time format is the number of seconds that 3767 // have elapsed since 12:00:00 AM January 1, 1970 UTC.) 3768 // 3769 // This parameter is undefined if the KMS key is accessible. 3770 InaccessibleKmsKeyDateTime *time.Time `type:"timestamp"` 3771 3772 // The Amazon Resource Name (ARN) of the customer managed KMS key that the ledger 3773 // uses for encryption at rest. If this parameter is undefined, the ledger uses 3774 // an Amazon Web Services owned KMS key for encryption. 3775 // 3776 // KmsKeyArn is a required field 3777 KmsKeyArn *string `min:"20" type:"string" required:"true"` 3778 } 3779 3780 // String returns the string representation. 3781 // 3782 // API parameter values that are decorated as "sensitive" in the API will not 3783 // be included in the string output. The member name will be present, but the 3784 // value will be replaced with "sensitive". 3785 func (s LedgerEncryptionDescription) String() string { 3786 return awsutil.Prettify(s) 3787 } 3788 3789 // GoString returns the string representation. 3790 // 3791 // API parameter values that are decorated as "sensitive" in the API will not 3792 // be included in the string output. The member name will be present, but the 3793 // value will be replaced with "sensitive". 3794 func (s LedgerEncryptionDescription) GoString() string { 3795 return s.String() 3796 } 3797 3798 // SetEncryptionStatus sets the EncryptionStatus field's value. 3799 func (s *LedgerEncryptionDescription) SetEncryptionStatus(v string) *LedgerEncryptionDescription { 3800 s.EncryptionStatus = &v 3801 return s 3802 } 3803 3804 // SetInaccessibleKmsKeyDateTime sets the InaccessibleKmsKeyDateTime field's value. 3805 func (s *LedgerEncryptionDescription) SetInaccessibleKmsKeyDateTime(v time.Time) *LedgerEncryptionDescription { 3806 s.InaccessibleKmsKeyDateTime = &v 3807 return s 3808 } 3809 3810 // SetKmsKeyArn sets the KmsKeyArn field's value. 3811 func (s *LedgerEncryptionDescription) SetKmsKeyArn(v string) *LedgerEncryptionDescription { 3812 s.KmsKeyArn = &v 3813 return s 3814 } 3815 3816 // Information about a ledger, including its name, state, and when it was created. 3817 type LedgerSummary struct { 3818 _ struct{} `type:"structure"` 3819 3820 // The date and time, in epoch time format, when the ledger was created. (Epoch 3821 // time format is the number of seconds elapsed since 12:00:00 AM January 1, 3822 // 1970 UTC.) 3823 CreationDateTime *time.Time `type:"timestamp"` 3824 3825 // The name of the ledger. 3826 Name *string `min:"1" type:"string"` 3827 3828 // The current status of the ledger. 3829 State *string `type:"string" enum:"LedgerState"` 3830 } 3831 3832 // String returns the string representation. 3833 // 3834 // API parameter values that are decorated as "sensitive" in the API will not 3835 // be included in the string output. The member name will be present, but the 3836 // value will be replaced with "sensitive". 3837 func (s LedgerSummary) String() string { 3838 return awsutil.Prettify(s) 3839 } 3840 3841 // GoString returns the string representation. 3842 // 3843 // API parameter values that are decorated as "sensitive" in the API will not 3844 // be included in the string output. The member name will be present, but the 3845 // value will be replaced with "sensitive". 3846 func (s LedgerSummary) GoString() string { 3847 return s.String() 3848 } 3849 3850 // SetCreationDateTime sets the CreationDateTime field's value. 3851 func (s *LedgerSummary) SetCreationDateTime(v time.Time) *LedgerSummary { 3852 s.CreationDateTime = &v 3853 return s 3854 } 3855 3856 // SetName sets the Name field's value. 3857 func (s *LedgerSummary) SetName(v string) *LedgerSummary { 3858 s.Name = &v 3859 return s 3860 } 3861 3862 // SetState sets the State field's value. 3863 func (s *LedgerSummary) SetState(v string) *LedgerSummary { 3864 s.State = &v 3865 return s 3866 } 3867 3868 // You have reached the limit on the maximum number of resources allowed. 3869 type LimitExceededException struct { 3870 _ struct{} `type:"structure"` 3871 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3872 3873 Message_ *string `locationName:"Message" type:"string"` 3874 3875 // The type of resource. 3876 ResourceType *string `type:"string"` 3877 } 3878 3879 // String returns the string representation. 3880 // 3881 // API parameter values that are decorated as "sensitive" in the API will not 3882 // be included in the string output. The member name will be present, but the 3883 // value will be replaced with "sensitive". 3884 func (s LimitExceededException) String() string { 3885 return awsutil.Prettify(s) 3886 } 3887 3888 // GoString returns the string representation. 3889 // 3890 // API parameter values that are decorated as "sensitive" in the API will not 3891 // be included in the string output. The member name will be present, but the 3892 // value will be replaced with "sensitive". 3893 func (s LimitExceededException) GoString() string { 3894 return s.String() 3895 } 3896 3897 func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 3898 return &LimitExceededException{ 3899 RespMetadata: v, 3900 } 3901 } 3902 3903 // Code returns the exception type name. 3904 func (s *LimitExceededException) Code() string { 3905 return "LimitExceededException" 3906 } 3907 3908 // Message returns the exception's message. 3909 func (s *LimitExceededException) Message() string { 3910 if s.Message_ != nil { 3911 return *s.Message_ 3912 } 3913 return "" 3914 } 3915 3916 // OrigErr always returns nil, satisfies awserr.Error interface. 3917 func (s *LimitExceededException) OrigErr() error { 3918 return nil 3919 } 3920 3921 func (s *LimitExceededException) Error() string { 3922 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 3923 } 3924 3925 // Status code returns the HTTP status code for the request's response error. 3926 func (s *LimitExceededException) StatusCode() int { 3927 return s.RespMetadata.StatusCode 3928 } 3929 3930 // RequestID returns the service's response RequestID for request. 3931 func (s *LimitExceededException) RequestID() string { 3932 return s.RespMetadata.RequestID 3933 } 3934 3935 type ListJournalKinesisStreamsForLedgerInput struct { 3936 _ struct{} `type:"structure" nopayload:"true"` 3937 3938 // The name of the ledger. 3939 // 3940 // LedgerName is a required field 3941 LedgerName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 3942 3943 // The maximum number of results to return in a single ListJournalKinesisStreamsForLedger 3944 // request. (The actual number of results returned might be fewer.) 3945 MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"` 3946 3947 // A pagination token, indicating that you want to retrieve the next page of 3948 // results. If you received a value for NextToken in the response from a previous 3949 // ListJournalKinesisStreamsForLedger call, you should use that value as input 3950 // here. 3951 NextToken *string `location:"querystring" locationName:"next_token" min:"4" type:"string"` 3952 } 3953 3954 // String returns the string representation. 3955 // 3956 // API parameter values that are decorated as "sensitive" in the API will not 3957 // be included in the string output. The member name will be present, but the 3958 // value will be replaced with "sensitive". 3959 func (s ListJournalKinesisStreamsForLedgerInput) String() string { 3960 return awsutil.Prettify(s) 3961 } 3962 3963 // GoString returns the string representation. 3964 // 3965 // API parameter values that are decorated as "sensitive" in the API will not 3966 // be included in the string output. The member name will be present, but the 3967 // value will be replaced with "sensitive". 3968 func (s ListJournalKinesisStreamsForLedgerInput) GoString() string { 3969 return s.String() 3970 } 3971 3972 // Validate inspects the fields of the type to determine if they are valid. 3973 func (s *ListJournalKinesisStreamsForLedgerInput) Validate() error { 3974 invalidParams := request.ErrInvalidParams{Context: "ListJournalKinesisStreamsForLedgerInput"} 3975 if s.LedgerName == nil { 3976 invalidParams.Add(request.NewErrParamRequired("LedgerName")) 3977 } 3978 if s.LedgerName != nil && len(*s.LedgerName) < 1 { 3979 invalidParams.Add(request.NewErrParamMinLen("LedgerName", 1)) 3980 } 3981 if s.MaxResults != nil && *s.MaxResults < 1 { 3982 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3983 } 3984 if s.NextToken != nil && len(*s.NextToken) < 4 { 3985 invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) 3986 } 3987 3988 if invalidParams.Len() > 0 { 3989 return invalidParams 3990 } 3991 return nil 3992 } 3993 3994 // SetLedgerName sets the LedgerName field's value. 3995 func (s *ListJournalKinesisStreamsForLedgerInput) SetLedgerName(v string) *ListJournalKinesisStreamsForLedgerInput { 3996 s.LedgerName = &v 3997 return s 3998 } 3999 4000 // SetMaxResults sets the MaxResults field's value. 4001 func (s *ListJournalKinesisStreamsForLedgerInput) SetMaxResults(v int64) *ListJournalKinesisStreamsForLedgerInput { 4002 s.MaxResults = &v 4003 return s 4004 } 4005 4006 // SetNextToken sets the NextToken field's value. 4007 func (s *ListJournalKinesisStreamsForLedgerInput) SetNextToken(v string) *ListJournalKinesisStreamsForLedgerInput { 4008 s.NextToken = &v 4009 return s 4010 } 4011 4012 type ListJournalKinesisStreamsForLedgerOutput struct { 4013 _ struct{} `type:"structure"` 4014 4015 // * If NextToken is empty, the last page of results has been processed and 4016 // there are no more results to be retrieved. 4017 // 4018 // * If NextToken is not empty, more results are available. To retrieve the 4019 // next page of results, use the value of NextToken in a subsequent ListJournalKinesisStreamsForLedger 4020 // call. 4021 NextToken *string `min:"4" type:"string"` 4022 4023 // The array of QLDB journal stream descriptors that are associated with the 4024 // given ledger. 4025 Streams []*JournalKinesisStreamDescription `type:"list"` 4026 } 4027 4028 // String returns the string representation. 4029 // 4030 // API parameter values that are decorated as "sensitive" in the API will not 4031 // be included in the string output. The member name will be present, but the 4032 // value will be replaced with "sensitive". 4033 func (s ListJournalKinesisStreamsForLedgerOutput) String() string { 4034 return awsutil.Prettify(s) 4035 } 4036 4037 // GoString returns the string representation. 4038 // 4039 // API parameter values that are decorated as "sensitive" in the API will not 4040 // be included in the string output. The member name will be present, but the 4041 // value will be replaced with "sensitive". 4042 func (s ListJournalKinesisStreamsForLedgerOutput) GoString() string { 4043 return s.String() 4044 } 4045 4046 // SetNextToken sets the NextToken field's value. 4047 func (s *ListJournalKinesisStreamsForLedgerOutput) SetNextToken(v string) *ListJournalKinesisStreamsForLedgerOutput { 4048 s.NextToken = &v 4049 return s 4050 } 4051 4052 // SetStreams sets the Streams field's value. 4053 func (s *ListJournalKinesisStreamsForLedgerOutput) SetStreams(v []*JournalKinesisStreamDescription) *ListJournalKinesisStreamsForLedgerOutput { 4054 s.Streams = v 4055 return s 4056 } 4057 4058 type ListJournalS3ExportsForLedgerInput struct { 4059 _ struct{} `type:"structure" nopayload:"true"` 4060 4061 // The maximum number of results to return in a single ListJournalS3ExportsForLedger 4062 // request. (The actual number of results returned might be fewer.) 4063 MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"` 4064 4065 // The name of the ledger. 4066 // 4067 // Name is a required field 4068 Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 4069 4070 // A pagination token, indicating that you want to retrieve the next page of 4071 // results. If you received a value for NextToken in the response from a previous 4072 // ListJournalS3ExportsForLedger call, then you should use that value as input 4073 // here. 4074 NextToken *string `location:"querystring" locationName:"next_token" min:"4" type:"string"` 4075 } 4076 4077 // String returns the string representation. 4078 // 4079 // API parameter values that are decorated as "sensitive" in the API will not 4080 // be included in the string output. The member name will be present, but the 4081 // value will be replaced with "sensitive". 4082 func (s ListJournalS3ExportsForLedgerInput) String() string { 4083 return awsutil.Prettify(s) 4084 } 4085 4086 // GoString returns the string representation. 4087 // 4088 // API parameter values that are decorated as "sensitive" in the API will not 4089 // be included in the string output. The member name will be present, but the 4090 // value will be replaced with "sensitive". 4091 func (s ListJournalS3ExportsForLedgerInput) GoString() string { 4092 return s.String() 4093 } 4094 4095 // Validate inspects the fields of the type to determine if they are valid. 4096 func (s *ListJournalS3ExportsForLedgerInput) Validate() error { 4097 invalidParams := request.ErrInvalidParams{Context: "ListJournalS3ExportsForLedgerInput"} 4098 if s.MaxResults != nil && *s.MaxResults < 1 { 4099 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4100 } 4101 if s.Name == nil { 4102 invalidParams.Add(request.NewErrParamRequired("Name")) 4103 } 4104 if s.Name != nil && len(*s.Name) < 1 { 4105 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 4106 } 4107 if s.NextToken != nil && len(*s.NextToken) < 4 { 4108 invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) 4109 } 4110 4111 if invalidParams.Len() > 0 { 4112 return invalidParams 4113 } 4114 return nil 4115 } 4116 4117 // SetMaxResults sets the MaxResults field's value. 4118 func (s *ListJournalS3ExportsForLedgerInput) SetMaxResults(v int64) *ListJournalS3ExportsForLedgerInput { 4119 s.MaxResults = &v 4120 return s 4121 } 4122 4123 // SetName sets the Name field's value. 4124 func (s *ListJournalS3ExportsForLedgerInput) SetName(v string) *ListJournalS3ExportsForLedgerInput { 4125 s.Name = &v 4126 return s 4127 } 4128 4129 // SetNextToken sets the NextToken field's value. 4130 func (s *ListJournalS3ExportsForLedgerInput) SetNextToken(v string) *ListJournalS3ExportsForLedgerInput { 4131 s.NextToken = &v 4132 return s 4133 } 4134 4135 type ListJournalS3ExportsForLedgerOutput struct { 4136 _ struct{} `type:"structure"` 4137 4138 // The array of journal export job descriptions that are associated with the 4139 // specified ledger. 4140 JournalS3Exports []*JournalS3ExportDescription `type:"list"` 4141 4142 // * If NextToken is empty, then the last page of results has been processed 4143 // and there are no more results to be retrieved. 4144 // 4145 // * If NextToken is not empty, then there are more results available. To 4146 // retrieve the next page of results, use the value of NextToken in a subsequent 4147 // ListJournalS3ExportsForLedger call. 4148 NextToken *string `min:"4" type:"string"` 4149 } 4150 4151 // String returns the string representation. 4152 // 4153 // API parameter values that are decorated as "sensitive" in the API will not 4154 // be included in the string output. The member name will be present, but the 4155 // value will be replaced with "sensitive". 4156 func (s ListJournalS3ExportsForLedgerOutput) String() string { 4157 return awsutil.Prettify(s) 4158 } 4159 4160 // GoString returns the string representation. 4161 // 4162 // API parameter values that are decorated as "sensitive" in the API will not 4163 // be included in the string output. The member name will be present, but the 4164 // value will be replaced with "sensitive". 4165 func (s ListJournalS3ExportsForLedgerOutput) GoString() string { 4166 return s.String() 4167 } 4168 4169 // SetJournalS3Exports sets the JournalS3Exports field's value. 4170 func (s *ListJournalS3ExportsForLedgerOutput) SetJournalS3Exports(v []*JournalS3ExportDescription) *ListJournalS3ExportsForLedgerOutput { 4171 s.JournalS3Exports = v 4172 return s 4173 } 4174 4175 // SetNextToken sets the NextToken field's value. 4176 func (s *ListJournalS3ExportsForLedgerOutput) SetNextToken(v string) *ListJournalS3ExportsForLedgerOutput { 4177 s.NextToken = &v 4178 return s 4179 } 4180 4181 type ListJournalS3ExportsInput struct { 4182 _ struct{} `type:"structure" nopayload:"true"` 4183 4184 // The maximum number of results to return in a single ListJournalS3Exports 4185 // request. (The actual number of results returned might be fewer.) 4186 MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"` 4187 4188 // A pagination token, indicating that you want to retrieve the next page of 4189 // results. If you received a value for NextToken in the response from a previous 4190 // ListJournalS3Exports call, then you should use that value as input here. 4191 NextToken *string `location:"querystring" locationName:"next_token" min:"4" type:"string"` 4192 } 4193 4194 // String returns the string representation. 4195 // 4196 // API parameter values that are decorated as "sensitive" in the API will not 4197 // be included in the string output. The member name will be present, but the 4198 // value will be replaced with "sensitive". 4199 func (s ListJournalS3ExportsInput) String() string { 4200 return awsutil.Prettify(s) 4201 } 4202 4203 // GoString returns the string representation. 4204 // 4205 // API parameter values that are decorated as "sensitive" in the API will not 4206 // be included in the string output. The member name will be present, but the 4207 // value will be replaced with "sensitive". 4208 func (s ListJournalS3ExportsInput) GoString() string { 4209 return s.String() 4210 } 4211 4212 // Validate inspects the fields of the type to determine if they are valid. 4213 func (s *ListJournalS3ExportsInput) Validate() error { 4214 invalidParams := request.ErrInvalidParams{Context: "ListJournalS3ExportsInput"} 4215 if s.MaxResults != nil && *s.MaxResults < 1 { 4216 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4217 } 4218 if s.NextToken != nil && len(*s.NextToken) < 4 { 4219 invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) 4220 } 4221 4222 if invalidParams.Len() > 0 { 4223 return invalidParams 4224 } 4225 return nil 4226 } 4227 4228 // SetMaxResults sets the MaxResults field's value. 4229 func (s *ListJournalS3ExportsInput) SetMaxResults(v int64) *ListJournalS3ExportsInput { 4230 s.MaxResults = &v 4231 return s 4232 } 4233 4234 // SetNextToken sets the NextToken field's value. 4235 func (s *ListJournalS3ExportsInput) SetNextToken(v string) *ListJournalS3ExportsInput { 4236 s.NextToken = &v 4237 return s 4238 } 4239 4240 type ListJournalS3ExportsOutput struct { 4241 _ struct{} `type:"structure"` 4242 4243 // The array of journal export job descriptions for all ledgers that are associated 4244 // with the current account and Region. 4245 JournalS3Exports []*JournalS3ExportDescription `type:"list"` 4246 4247 // * If NextToken is empty, then the last page of results has been processed 4248 // and there are no more results to be retrieved. 4249 // 4250 // * If NextToken is not empty, then there are more results available. To 4251 // retrieve the next page of results, use the value of NextToken in a subsequent 4252 // ListJournalS3Exports call. 4253 NextToken *string `min:"4" type:"string"` 4254 } 4255 4256 // String returns the string representation. 4257 // 4258 // API parameter values that are decorated as "sensitive" in the API will not 4259 // be included in the string output. The member name will be present, but the 4260 // value will be replaced with "sensitive". 4261 func (s ListJournalS3ExportsOutput) String() string { 4262 return awsutil.Prettify(s) 4263 } 4264 4265 // GoString returns the string representation. 4266 // 4267 // API parameter values that are decorated as "sensitive" in the API will not 4268 // be included in the string output. The member name will be present, but the 4269 // value will be replaced with "sensitive". 4270 func (s ListJournalS3ExportsOutput) GoString() string { 4271 return s.String() 4272 } 4273 4274 // SetJournalS3Exports sets the JournalS3Exports field's value. 4275 func (s *ListJournalS3ExportsOutput) SetJournalS3Exports(v []*JournalS3ExportDescription) *ListJournalS3ExportsOutput { 4276 s.JournalS3Exports = v 4277 return s 4278 } 4279 4280 // SetNextToken sets the NextToken field's value. 4281 func (s *ListJournalS3ExportsOutput) SetNextToken(v string) *ListJournalS3ExportsOutput { 4282 s.NextToken = &v 4283 return s 4284 } 4285 4286 type ListLedgersInput struct { 4287 _ struct{} `type:"structure" nopayload:"true"` 4288 4289 // The maximum number of results to return in a single ListLedgers request. 4290 // (The actual number of results returned might be fewer.) 4291 MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"` 4292 4293 // A pagination token, indicating that you want to retrieve the next page of 4294 // results. If you received a value for NextToken in the response from a previous 4295 // ListLedgers call, then you should use that value as input here. 4296 NextToken *string `location:"querystring" locationName:"next_token" min:"4" type:"string"` 4297 } 4298 4299 // String returns the string representation. 4300 // 4301 // API parameter values that are decorated as "sensitive" in the API will not 4302 // be included in the string output. The member name will be present, but the 4303 // value will be replaced with "sensitive". 4304 func (s ListLedgersInput) String() string { 4305 return awsutil.Prettify(s) 4306 } 4307 4308 // GoString returns the string representation. 4309 // 4310 // API parameter values that are decorated as "sensitive" in the API will not 4311 // be included in the string output. The member name will be present, but the 4312 // value will be replaced with "sensitive". 4313 func (s ListLedgersInput) GoString() string { 4314 return s.String() 4315 } 4316 4317 // Validate inspects the fields of the type to determine if they are valid. 4318 func (s *ListLedgersInput) Validate() error { 4319 invalidParams := request.ErrInvalidParams{Context: "ListLedgersInput"} 4320 if s.MaxResults != nil && *s.MaxResults < 1 { 4321 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4322 } 4323 if s.NextToken != nil && len(*s.NextToken) < 4 { 4324 invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) 4325 } 4326 4327 if invalidParams.Len() > 0 { 4328 return invalidParams 4329 } 4330 return nil 4331 } 4332 4333 // SetMaxResults sets the MaxResults field's value. 4334 func (s *ListLedgersInput) SetMaxResults(v int64) *ListLedgersInput { 4335 s.MaxResults = &v 4336 return s 4337 } 4338 4339 // SetNextToken sets the NextToken field's value. 4340 func (s *ListLedgersInput) SetNextToken(v string) *ListLedgersInput { 4341 s.NextToken = &v 4342 return s 4343 } 4344 4345 type ListLedgersOutput struct { 4346 _ struct{} `type:"structure"` 4347 4348 // The array of ledger summaries that are associated with the current account 4349 // and Region. 4350 Ledgers []*LedgerSummary `type:"list"` 4351 4352 // A pagination token, indicating whether there are more results available: 4353 // 4354 // * If NextToken is empty, then the last page of results has been processed 4355 // and there are no more results to be retrieved. 4356 // 4357 // * If NextToken is not empty, then there are more results available. To 4358 // retrieve the next page of results, use the value of NextToken in a subsequent 4359 // ListLedgers call. 4360 NextToken *string `min:"4" type:"string"` 4361 } 4362 4363 // String returns the string representation. 4364 // 4365 // API parameter values that are decorated as "sensitive" in the API will not 4366 // be included in the string output. The member name will be present, but the 4367 // value will be replaced with "sensitive". 4368 func (s ListLedgersOutput) String() string { 4369 return awsutil.Prettify(s) 4370 } 4371 4372 // GoString returns the string representation. 4373 // 4374 // API parameter values that are decorated as "sensitive" in the API will not 4375 // be included in the string output. The member name will be present, but the 4376 // value will be replaced with "sensitive". 4377 func (s ListLedgersOutput) GoString() string { 4378 return s.String() 4379 } 4380 4381 // SetLedgers sets the Ledgers field's value. 4382 func (s *ListLedgersOutput) SetLedgers(v []*LedgerSummary) *ListLedgersOutput { 4383 s.Ledgers = v 4384 return s 4385 } 4386 4387 // SetNextToken sets the NextToken field's value. 4388 func (s *ListLedgersOutput) SetNextToken(v string) *ListLedgersOutput { 4389 s.NextToken = &v 4390 return s 4391 } 4392 4393 type ListTagsForResourceInput struct { 4394 _ struct{} `type:"structure" nopayload:"true"` 4395 4396 // The Amazon Resource Name (ARN) for which to list the tags. For example: 4397 // 4398 // arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger 4399 // 4400 // ResourceArn is a required field 4401 ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` 4402 } 4403 4404 // String returns the string representation. 4405 // 4406 // API parameter values that are decorated as "sensitive" in the API will not 4407 // be included in the string output. The member name will be present, but the 4408 // value will be replaced with "sensitive". 4409 func (s ListTagsForResourceInput) String() string { 4410 return awsutil.Prettify(s) 4411 } 4412 4413 // GoString returns the string representation. 4414 // 4415 // API parameter values that are decorated as "sensitive" in the API will not 4416 // be included in the string output. The member name will be present, but the 4417 // value will be replaced with "sensitive". 4418 func (s ListTagsForResourceInput) GoString() string { 4419 return s.String() 4420 } 4421 4422 // Validate inspects the fields of the type to determine if they are valid. 4423 func (s *ListTagsForResourceInput) Validate() error { 4424 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 4425 if s.ResourceArn == nil { 4426 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 4427 } 4428 if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { 4429 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) 4430 } 4431 4432 if invalidParams.Len() > 0 { 4433 return invalidParams 4434 } 4435 return nil 4436 } 4437 4438 // SetResourceArn sets the ResourceArn field's value. 4439 func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 4440 s.ResourceArn = &v 4441 return s 4442 } 4443 4444 type ListTagsForResourceOutput struct { 4445 _ struct{} `type:"structure"` 4446 4447 // The tags that are currently associated with the specified Amazon QLDB resource. 4448 Tags map[string]*string `type:"map"` 4449 } 4450 4451 // String returns the string representation. 4452 // 4453 // API parameter values that are decorated as "sensitive" in the API will not 4454 // be included in the string output. The member name will be present, but the 4455 // value will be replaced with "sensitive". 4456 func (s ListTagsForResourceOutput) String() string { 4457 return awsutil.Prettify(s) 4458 } 4459 4460 // GoString returns the string representation. 4461 // 4462 // API parameter values that are decorated as "sensitive" in the API will not 4463 // be included in the string output. The member name will be present, but the 4464 // value will be replaced with "sensitive". 4465 func (s ListTagsForResourceOutput) GoString() string { 4466 return s.String() 4467 } 4468 4469 // SetTags sets the Tags field's value. 4470 func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 4471 s.Tags = v 4472 return s 4473 } 4474 4475 // The specified resource already exists. 4476 type ResourceAlreadyExistsException struct { 4477 _ struct{} `type:"structure"` 4478 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4479 4480 Message_ *string `locationName:"Message" type:"string"` 4481 4482 // The name of the resource. 4483 ResourceName *string `type:"string"` 4484 4485 // The type of resource. 4486 ResourceType *string `type:"string"` 4487 } 4488 4489 // String returns the string representation. 4490 // 4491 // API parameter values that are decorated as "sensitive" in the API will not 4492 // be included in the string output. The member name will be present, but the 4493 // value will be replaced with "sensitive". 4494 func (s ResourceAlreadyExistsException) String() string { 4495 return awsutil.Prettify(s) 4496 } 4497 4498 // GoString returns the string representation. 4499 // 4500 // API parameter values that are decorated as "sensitive" in the API will not 4501 // be included in the string output. The member name will be present, but the 4502 // value will be replaced with "sensitive". 4503 func (s ResourceAlreadyExistsException) GoString() string { 4504 return s.String() 4505 } 4506 4507 func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { 4508 return &ResourceAlreadyExistsException{ 4509 RespMetadata: v, 4510 } 4511 } 4512 4513 // Code returns the exception type name. 4514 func (s *ResourceAlreadyExistsException) Code() string { 4515 return "ResourceAlreadyExistsException" 4516 } 4517 4518 // Message returns the exception's message. 4519 func (s *ResourceAlreadyExistsException) Message() string { 4520 if s.Message_ != nil { 4521 return *s.Message_ 4522 } 4523 return "" 4524 } 4525 4526 // OrigErr always returns nil, satisfies awserr.Error interface. 4527 func (s *ResourceAlreadyExistsException) OrigErr() error { 4528 return nil 4529 } 4530 4531 func (s *ResourceAlreadyExistsException) Error() string { 4532 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 4533 } 4534 4535 // Status code returns the HTTP status code for the request's response error. 4536 func (s *ResourceAlreadyExistsException) StatusCode() int { 4537 return s.RespMetadata.StatusCode 4538 } 4539 4540 // RequestID returns the service's response RequestID for request. 4541 func (s *ResourceAlreadyExistsException) RequestID() string { 4542 return s.RespMetadata.RequestID 4543 } 4544 4545 // The specified resource can't be modified at this time. 4546 type ResourceInUseException struct { 4547 _ struct{} `type:"structure"` 4548 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4549 4550 Message_ *string `locationName:"Message" type:"string"` 4551 4552 // The name of the resource. 4553 ResourceName *string `type:"string"` 4554 4555 // The type of resource. 4556 ResourceType *string `type:"string"` 4557 } 4558 4559 // String returns the string representation. 4560 // 4561 // API parameter values that are decorated as "sensitive" in the API will not 4562 // be included in the string output. The member name will be present, but the 4563 // value will be replaced with "sensitive". 4564 func (s ResourceInUseException) String() string { 4565 return awsutil.Prettify(s) 4566 } 4567 4568 // GoString returns the string representation. 4569 // 4570 // API parameter values that are decorated as "sensitive" in the API will not 4571 // be included in the string output. The member name will be present, but the 4572 // value will be replaced with "sensitive". 4573 func (s ResourceInUseException) GoString() string { 4574 return s.String() 4575 } 4576 4577 func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 4578 return &ResourceInUseException{ 4579 RespMetadata: v, 4580 } 4581 } 4582 4583 // Code returns the exception type name. 4584 func (s *ResourceInUseException) Code() string { 4585 return "ResourceInUseException" 4586 } 4587 4588 // Message returns the exception's message. 4589 func (s *ResourceInUseException) Message() string { 4590 if s.Message_ != nil { 4591 return *s.Message_ 4592 } 4593 return "" 4594 } 4595 4596 // OrigErr always returns nil, satisfies awserr.Error interface. 4597 func (s *ResourceInUseException) OrigErr() error { 4598 return nil 4599 } 4600 4601 func (s *ResourceInUseException) Error() string { 4602 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 4603 } 4604 4605 // Status code returns the HTTP status code for the request's response error. 4606 func (s *ResourceInUseException) StatusCode() int { 4607 return s.RespMetadata.StatusCode 4608 } 4609 4610 // RequestID returns the service's response RequestID for request. 4611 func (s *ResourceInUseException) RequestID() string { 4612 return s.RespMetadata.RequestID 4613 } 4614 4615 // The specified resource doesn't exist. 4616 type ResourceNotFoundException struct { 4617 _ struct{} `type:"structure"` 4618 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4619 4620 Message_ *string `locationName:"Message" type:"string"` 4621 4622 // The name of the resource. 4623 ResourceName *string `type:"string"` 4624 4625 // The type of resource. 4626 ResourceType *string `type:"string"` 4627 } 4628 4629 // String returns the string representation. 4630 // 4631 // API parameter values that are decorated as "sensitive" in the API will not 4632 // be included in the string output. The member name will be present, but the 4633 // value will be replaced with "sensitive". 4634 func (s ResourceNotFoundException) String() string { 4635 return awsutil.Prettify(s) 4636 } 4637 4638 // GoString returns the string representation. 4639 // 4640 // API parameter values that are decorated as "sensitive" in the API will not 4641 // be included in the string output. The member name will be present, but the 4642 // value will be replaced with "sensitive". 4643 func (s ResourceNotFoundException) GoString() string { 4644 return s.String() 4645 } 4646 4647 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 4648 return &ResourceNotFoundException{ 4649 RespMetadata: v, 4650 } 4651 } 4652 4653 // Code returns the exception type name. 4654 func (s *ResourceNotFoundException) Code() string { 4655 return "ResourceNotFoundException" 4656 } 4657 4658 // Message returns the exception's message. 4659 func (s *ResourceNotFoundException) Message() string { 4660 if s.Message_ != nil { 4661 return *s.Message_ 4662 } 4663 return "" 4664 } 4665 4666 // OrigErr always returns nil, satisfies awserr.Error interface. 4667 func (s *ResourceNotFoundException) OrigErr() error { 4668 return nil 4669 } 4670 4671 func (s *ResourceNotFoundException) Error() string { 4672 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 4673 } 4674 4675 // Status code returns the HTTP status code for the request's response error. 4676 func (s *ResourceNotFoundException) StatusCode() int { 4677 return s.RespMetadata.StatusCode 4678 } 4679 4680 // RequestID returns the service's response RequestID for request. 4681 func (s *ResourceNotFoundException) RequestID() string { 4682 return s.RespMetadata.RequestID 4683 } 4684 4685 // The operation failed because a condition wasn't satisfied in advance. 4686 type ResourcePreconditionNotMetException struct { 4687 _ struct{} `type:"structure"` 4688 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4689 4690 Message_ *string `locationName:"Message" type:"string"` 4691 4692 // The name of the resource. 4693 ResourceName *string `type:"string"` 4694 4695 // The type of resource. 4696 ResourceType *string `type:"string"` 4697 } 4698 4699 // String returns the string representation. 4700 // 4701 // API parameter values that are decorated as "sensitive" in the API will not 4702 // be included in the string output. The member name will be present, but the 4703 // value will be replaced with "sensitive". 4704 func (s ResourcePreconditionNotMetException) String() string { 4705 return awsutil.Prettify(s) 4706 } 4707 4708 // GoString returns the string representation. 4709 // 4710 // API parameter values that are decorated as "sensitive" in the API will not 4711 // be included in the string output. The member name will be present, but the 4712 // value will be replaced with "sensitive". 4713 func (s ResourcePreconditionNotMetException) GoString() string { 4714 return s.String() 4715 } 4716 4717 func newErrorResourcePreconditionNotMetException(v protocol.ResponseMetadata) error { 4718 return &ResourcePreconditionNotMetException{ 4719 RespMetadata: v, 4720 } 4721 } 4722 4723 // Code returns the exception type name. 4724 func (s *ResourcePreconditionNotMetException) Code() string { 4725 return "ResourcePreconditionNotMetException" 4726 } 4727 4728 // Message returns the exception's message. 4729 func (s *ResourcePreconditionNotMetException) Message() string { 4730 if s.Message_ != nil { 4731 return *s.Message_ 4732 } 4733 return "" 4734 } 4735 4736 // OrigErr always returns nil, satisfies awserr.Error interface. 4737 func (s *ResourcePreconditionNotMetException) OrigErr() error { 4738 return nil 4739 } 4740 4741 func (s *ResourcePreconditionNotMetException) Error() string { 4742 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 4743 } 4744 4745 // Status code returns the HTTP status code for the request's response error. 4746 func (s *ResourcePreconditionNotMetException) StatusCode() int { 4747 return s.RespMetadata.StatusCode 4748 } 4749 4750 // RequestID returns the service's response RequestID for request. 4751 func (s *ResourcePreconditionNotMetException) RequestID() string { 4752 return s.RespMetadata.RequestID 4753 } 4754 4755 // The encryption settings that are used by a journal export job to write data 4756 // in an Amazon Simple Storage Service (Amazon S3) bucket. 4757 type S3EncryptionConfiguration struct { 4758 _ struct{} `type:"structure"` 4759 4760 // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) in 4761 // Key Management Service (KMS). Amazon S3 does not support asymmetric CMKs. 4762 // 4763 // You must provide a KmsKeyArn if you specify SSE_KMS as the ObjectEncryptionType. 4764 // 4765 // KmsKeyArn is not required if you specify SSE_S3 as the ObjectEncryptionType. 4766 KmsKeyArn *string `min:"20" type:"string"` 4767 4768 // The Amazon S3 object encryption type. 4769 // 4770 // To learn more about server-side encryption options in Amazon S3, see Protecting 4771 // Data Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html) 4772 // in the Amazon S3 Developer Guide. 4773 // 4774 // ObjectEncryptionType is a required field 4775 ObjectEncryptionType *string `type:"string" required:"true" enum:"S3ObjectEncryptionType"` 4776 } 4777 4778 // String returns the string representation. 4779 // 4780 // API parameter values that are decorated as "sensitive" in the API will not 4781 // be included in the string output. The member name will be present, but the 4782 // value will be replaced with "sensitive". 4783 func (s S3EncryptionConfiguration) String() string { 4784 return awsutil.Prettify(s) 4785 } 4786 4787 // GoString returns the string representation. 4788 // 4789 // API parameter values that are decorated as "sensitive" in the API will not 4790 // be included in the string output. The member name will be present, but the 4791 // value will be replaced with "sensitive". 4792 func (s S3EncryptionConfiguration) GoString() string { 4793 return s.String() 4794 } 4795 4796 // Validate inspects the fields of the type to determine if they are valid. 4797 func (s *S3EncryptionConfiguration) Validate() error { 4798 invalidParams := request.ErrInvalidParams{Context: "S3EncryptionConfiguration"} 4799 if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 { 4800 invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20)) 4801 } 4802 if s.ObjectEncryptionType == nil { 4803 invalidParams.Add(request.NewErrParamRequired("ObjectEncryptionType")) 4804 } 4805 4806 if invalidParams.Len() > 0 { 4807 return invalidParams 4808 } 4809 return nil 4810 } 4811 4812 // SetKmsKeyArn sets the KmsKeyArn field's value. 4813 func (s *S3EncryptionConfiguration) SetKmsKeyArn(v string) *S3EncryptionConfiguration { 4814 s.KmsKeyArn = &v 4815 return s 4816 } 4817 4818 // SetObjectEncryptionType sets the ObjectEncryptionType field's value. 4819 func (s *S3EncryptionConfiguration) SetObjectEncryptionType(v string) *S3EncryptionConfiguration { 4820 s.ObjectEncryptionType = &v 4821 return s 4822 } 4823 4824 // The Amazon Simple Storage Service (Amazon S3) bucket location in which a 4825 // journal export job writes the journal contents. 4826 type S3ExportConfiguration struct { 4827 _ struct{} `type:"structure"` 4828 4829 // The Amazon S3 bucket name in which a journal export job writes the journal 4830 // contents. 4831 // 4832 // The bucket name must comply with the Amazon S3 bucket naming conventions. 4833 // For more information, see Bucket Restrictions and Limitations (https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) 4834 // in the Amazon S3 Developer Guide. 4835 // 4836 // Bucket is a required field 4837 Bucket *string `min:"3" type:"string" required:"true"` 4838 4839 // The encryption settings that are used by a journal export job to write data 4840 // in an Amazon S3 bucket. 4841 // 4842 // EncryptionConfiguration is a required field 4843 EncryptionConfiguration *S3EncryptionConfiguration `type:"structure" required:"true"` 4844 4845 // The prefix for the Amazon S3 bucket in which a journal export job writes 4846 // the journal contents. 4847 // 4848 // The prefix must comply with Amazon S3 key naming rules and restrictions. 4849 // For more information, see Object Key and Metadata (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html) 4850 // in the Amazon S3 Developer Guide. 4851 // 4852 // The following are examples of valid Prefix values: 4853 // 4854 // * JournalExports-ForMyLedger/Testing/ 4855 // 4856 // * JournalExports 4857 // 4858 // * My:Tests/ 4859 // 4860 // Prefix is a required field 4861 Prefix *string `type:"string" required:"true"` 4862 } 4863 4864 // String returns the string representation. 4865 // 4866 // API parameter values that are decorated as "sensitive" in the API will not 4867 // be included in the string output. The member name will be present, but the 4868 // value will be replaced with "sensitive". 4869 func (s S3ExportConfiguration) String() string { 4870 return awsutil.Prettify(s) 4871 } 4872 4873 // GoString returns the string representation. 4874 // 4875 // API parameter values that are decorated as "sensitive" in the API will not 4876 // be included in the string output. The member name will be present, but the 4877 // value will be replaced with "sensitive". 4878 func (s S3ExportConfiguration) GoString() string { 4879 return s.String() 4880 } 4881 4882 // Validate inspects the fields of the type to determine if they are valid. 4883 func (s *S3ExportConfiguration) Validate() error { 4884 invalidParams := request.ErrInvalidParams{Context: "S3ExportConfiguration"} 4885 if s.Bucket == nil { 4886 invalidParams.Add(request.NewErrParamRequired("Bucket")) 4887 } 4888 if s.Bucket != nil && len(*s.Bucket) < 3 { 4889 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 4890 } 4891 if s.EncryptionConfiguration == nil { 4892 invalidParams.Add(request.NewErrParamRequired("EncryptionConfiguration")) 4893 } 4894 if s.Prefix == nil { 4895 invalidParams.Add(request.NewErrParamRequired("Prefix")) 4896 } 4897 if s.EncryptionConfiguration != nil { 4898 if err := s.EncryptionConfiguration.Validate(); err != nil { 4899 invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) 4900 } 4901 } 4902 4903 if invalidParams.Len() > 0 { 4904 return invalidParams 4905 } 4906 return nil 4907 } 4908 4909 // SetBucket sets the Bucket field's value. 4910 func (s *S3ExportConfiguration) SetBucket(v string) *S3ExportConfiguration { 4911 s.Bucket = &v 4912 return s 4913 } 4914 4915 // SetEncryptionConfiguration sets the EncryptionConfiguration field's value. 4916 func (s *S3ExportConfiguration) SetEncryptionConfiguration(v *S3EncryptionConfiguration) *S3ExportConfiguration { 4917 s.EncryptionConfiguration = v 4918 return s 4919 } 4920 4921 // SetPrefix sets the Prefix field's value. 4922 func (s *S3ExportConfiguration) SetPrefix(v string) *S3ExportConfiguration { 4923 s.Prefix = &v 4924 return s 4925 } 4926 4927 type StreamJournalToKinesisInput struct { 4928 _ struct{} `type:"structure"` 4929 4930 // The exclusive date and time that specifies when the stream ends. If you don't 4931 // define this parameter, the stream runs indefinitely until you cancel it. 4932 // 4933 // The ExclusiveEndTime must be in ISO 8601 date and time format and in Universal 4934 // Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. 4935 ExclusiveEndTime *time.Time `type:"timestamp"` 4936 4937 // The inclusive start date and time from which to start streaming journal data. 4938 // This parameter must be in ISO 8601 date and time format and in Universal 4939 // Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. 4940 // 4941 // The InclusiveStartTime cannot be in the future and must be before ExclusiveEndTime. 4942 // 4943 // If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, 4944 // QLDB effectively defaults it to the ledger's CreationDateTime. 4945 // 4946 // InclusiveStartTime is a required field 4947 InclusiveStartTime *time.Time `type:"timestamp" required:"true"` 4948 4949 // The configuration settings of the Kinesis Data Streams destination for your 4950 // stream request. 4951 // 4952 // KinesisConfiguration is a required field 4953 KinesisConfiguration *KinesisConfiguration `type:"structure" required:"true"` 4954 4955 // The name of the ledger. 4956 // 4957 // LedgerName is a required field 4958 LedgerName *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 4959 4960 // The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions 4961 // for a journal stream to write data records to a Kinesis Data Streams resource. 4962 // 4963 // RoleArn is a required field 4964 RoleArn *string `min:"20" type:"string" required:"true"` 4965 4966 // The name that you want to assign to the QLDB journal stream. User-defined 4967 // names can help identify and indicate the purpose of a stream. 4968 // 4969 // Your stream name must be unique among other active streams for a given ledger. 4970 // Stream names have the same naming constraints as ledger names, as defined 4971 // in Quotas in Amazon QLDB (https://docs.aws.amazon.com/qldb/latest/developerguide/limits.html#limits.naming) 4972 // in the Amazon QLDB Developer Guide. 4973 // 4974 // StreamName is a required field 4975 StreamName *string `min:"1" type:"string" required:"true"` 4976 4977 // The key-value pairs to add as tags to the stream that you want to create. 4978 // Tag keys are case sensitive. Tag values are case sensitive and can be null. 4979 Tags map[string]*string `type:"map"` 4980 } 4981 4982 // String returns the string representation. 4983 // 4984 // API parameter values that are decorated as "sensitive" in the API will not 4985 // be included in the string output. The member name will be present, but the 4986 // value will be replaced with "sensitive". 4987 func (s StreamJournalToKinesisInput) String() string { 4988 return awsutil.Prettify(s) 4989 } 4990 4991 // GoString returns the string representation. 4992 // 4993 // API parameter values that are decorated as "sensitive" in the API will not 4994 // be included in the string output. The member name will be present, but the 4995 // value will be replaced with "sensitive". 4996 func (s StreamJournalToKinesisInput) GoString() string { 4997 return s.String() 4998 } 4999 5000 // Validate inspects the fields of the type to determine if they are valid. 5001 func (s *StreamJournalToKinesisInput) Validate() error { 5002 invalidParams := request.ErrInvalidParams{Context: "StreamJournalToKinesisInput"} 5003 if s.InclusiveStartTime == nil { 5004 invalidParams.Add(request.NewErrParamRequired("InclusiveStartTime")) 5005 } 5006 if s.KinesisConfiguration == nil { 5007 invalidParams.Add(request.NewErrParamRequired("KinesisConfiguration")) 5008 } 5009 if s.LedgerName == nil { 5010 invalidParams.Add(request.NewErrParamRequired("LedgerName")) 5011 } 5012 if s.LedgerName != nil && len(*s.LedgerName) < 1 { 5013 invalidParams.Add(request.NewErrParamMinLen("LedgerName", 1)) 5014 } 5015 if s.RoleArn == nil { 5016 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 5017 } 5018 if s.RoleArn != nil && len(*s.RoleArn) < 20 { 5019 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) 5020 } 5021 if s.StreamName == nil { 5022 invalidParams.Add(request.NewErrParamRequired("StreamName")) 5023 } 5024 if s.StreamName != nil && len(*s.StreamName) < 1 { 5025 invalidParams.Add(request.NewErrParamMinLen("StreamName", 1)) 5026 } 5027 if s.KinesisConfiguration != nil { 5028 if err := s.KinesisConfiguration.Validate(); err != nil { 5029 invalidParams.AddNested("KinesisConfiguration", err.(request.ErrInvalidParams)) 5030 } 5031 } 5032 5033 if invalidParams.Len() > 0 { 5034 return invalidParams 5035 } 5036 return nil 5037 } 5038 5039 // SetExclusiveEndTime sets the ExclusiveEndTime field's value. 5040 func (s *StreamJournalToKinesisInput) SetExclusiveEndTime(v time.Time) *StreamJournalToKinesisInput { 5041 s.ExclusiveEndTime = &v 5042 return s 5043 } 5044 5045 // SetInclusiveStartTime sets the InclusiveStartTime field's value. 5046 func (s *StreamJournalToKinesisInput) SetInclusiveStartTime(v time.Time) *StreamJournalToKinesisInput { 5047 s.InclusiveStartTime = &v 5048 return s 5049 } 5050 5051 // SetKinesisConfiguration sets the KinesisConfiguration field's value. 5052 func (s *StreamJournalToKinesisInput) SetKinesisConfiguration(v *KinesisConfiguration) *StreamJournalToKinesisInput { 5053 s.KinesisConfiguration = v 5054 return s 5055 } 5056 5057 // SetLedgerName sets the LedgerName field's value. 5058 func (s *StreamJournalToKinesisInput) SetLedgerName(v string) *StreamJournalToKinesisInput { 5059 s.LedgerName = &v 5060 return s 5061 } 5062 5063 // SetRoleArn sets the RoleArn field's value. 5064 func (s *StreamJournalToKinesisInput) SetRoleArn(v string) *StreamJournalToKinesisInput { 5065 s.RoleArn = &v 5066 return s 5067 } 5068 5069 // SetStreamName sets the StreamName field's value. 5070 func (s *StreamJournalToKinesisInput) SetStreamName(v string) *StreamJournalToKinesisInput { 5071 s.StreamName = &v 5072 return s 5073 } 5074 5075 // SetTags sets the Tags field's value. 5076 func (s *StreamJournalToKinesisInput) SetTags(v map[string]*string) *StreamJournalToKinesisInput { 5077 s.Tags = v 5078 return s 5079 } 5080 5081 type StreamJournalToKinesisOutput struct { 5082 _ struct{} `type:"structure"` 5083 5084 // The UUID (represented in Base62-encoded text) that QLDB assigns to each QLDB 5085 // journal stream. 5086 StreamId *string `min:"22" type:"string"` 5087 } 5088 5089 // String returns the string representation. 5090 // 5091 // API parameter values that are decorated as "sensitive" in the API will not 5092 // be included in the string output. The member name will be present, but the 5093 // value will be replaced with "sensitive". 5094 func (s StreamJournalToKinesisOutput) String() string { 5095 return awsutil.Prettify(s) 5096 } 5097 5098 // GoString returns the string representation. 5099 // 5100 // API parameter values that are decorated as "sensitive" in the API will not 5101 // be included in the string output. The member name will be present, but the 5102 // value will be replaced with "sensitive". 5103 func (s StreamJournalToKinesisOutput) GoString() string { 5104 return s.String() 5105 } 5106 5107 // SetStreamId sets the StreamId field's value. 5108 func (s *StreamJournalToKinesisOutput) SetStreamId(v string) *StreamJournalToKinesisOutput { 5109 s.StreamId = &v 5110 return s 5111 } 5112 5113 type TagResourceInput struct { 5114 _ struct{} `type:"structure"` 5115 5116 // The Amazon Resource Name (ARN) to which you want to add the tags. For example: 5117 // 5118 // arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger 5119 // 5120 // ResourceArn is a required field 5121 ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` 5122 5123 // The key-value pairs to add as tags to the specified QLDB resource. Tag keys 5124 // are case sensitive. If you specify a key that already exists for the resource, 5125 // your request fails and returns an error. Tag values are case sensitive and 5126 // can be null. 5127 // 5128 // Tags is a required field 5129 Tags map[string]*string `type:"map" required:"true"` 5130 } 5131 5132 // String returns the string representation. 5133 // 5134 // API parameter values that are decorated as "sensitive" in the API will not 5135 // be included in the string output. The member name will be present, but the 5136 // value will be replaced with "sensitive". 5137 func (s TagResourceInput) String() string { 5138 return awsutil.Prettify(s) 5139 } 5140 5141 // GoString returns the string representation. 5142 // 5143 // API parameter values that are decorated as "sensitive" in the API will not 5144 // be included in the string output. The member name will be present, but the 5145 // value will be replaced with "sensitive". 5146 func (s TagResourceInput) GoString() string { 5147 return s.String() 5148 } 5149 5150 // Validate inspects the fields of the type to determine if they are valid. 5151 func (s *TagResourceInput) Validate() error { 5152 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 5153 if s.ResourceArn == nil { 5154 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 5155 } 5156 if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { 5157 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) 5158 } 5159 if s.Tags == nil { 5160 invalidParams.Add(request.NewErrParamRequired("Tags")) 5161 } 5162 5163 if invalidParams.Len() > 0 { 5164 return invalidParams 5165 } 5166 return nil 5167 } 5168 5169 // SetResourceArn sets the ResourceArn field's value. 5170 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 5171 s.ResourceArn = &v 5172 return s 5173 } 5174 5175 // SetTags sets the Tags field's value. 5176 func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 5177 s.Tags = v 5178 return s 5179 } 5180 5181 type TagResourceOutput struct { 5182 _ struct{} `type:"structure" nopayload:"true"` 5183 } 5184 5185 // String returns the string representation. 5186 // 5187 // API parameter values that are decorated as "sensitive" in the API will not 5188 // be included in the string output. The member name will be present, but the 5189 // value will be replaced with "sensitive". 5190 func (s TagResourceOutput) String() string { 5191 return awsutil.Prettify(s) 5192 } 5193 5194 // GoString returns the string representation. 5195 // 5196 // API parameter values that are decorated as "sensitive" in the API will not 5197 // be included in the string output. The member name will be present, but the 5198 // value will be replaced with "sensitive". 5199 func (s TagResourceOutput) GoString() string { 5200 return s.String() 5201 } 5202 5203 type UntagResourceInput struct { 5204 _ struct{} `type:"structure" nopayload:"true"` 5205 5206 // The Amazon Resource Name (ARN) from which to remove the tags. For example: 5207 // 5208 // arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger 5209 // 5210 // ResourceArn is a required field 5211 ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` 5212 5213 // The list of tag keys to remove. 5214 // 5215 // TagKeys is a required field 5216 TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` 5217 } 5218 5219 // String returns the string representation. 5220 // 5221 // API parameter values that are decorated as "sensitive" in the API will not 5222 // be included in the string output. The member name will be present, but the 5223 // value will be replaced with "sensitive". 5224 func (s UntagResourceInput) String() string { 5225 return awsutil.Prettify(s) 5226 } 5227 5228 // GoString returns the string representation. 5229 // 5230 // API parameter values that are decorated as "sensitive" in the API will not 5231 // be included in the string output. The member name will be present, but the 5232 // value will be replaced with "sensitive". 5233 func (s UntagResourceInput) GoString() string { 5234 return s.String() 5235 } 5236 5237 // Validate inspects the fields of the type to determine if they are valid. 5238 func (s *UntagResourceInput) Validate() error { 5239 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 5240 if s.ResourceArn == nil { 5241 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 5242 } 5243 if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { 5244 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) 5245 } 5246 if s.TagKeys == nil { 5247 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 5248 } 5249 5250 if invalidParams.Len() > 0 { 5251 return invalidParams 5252 } 5253 return nil 5254 } 5255 5256 // SetResourceArn sets the ResourceArn field's value. 5257 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 5258 s.ResourceArn = &v 5259 return s 5260 } 5261 5262 // SetTagKeys sets the TagKeys field's value. 5263 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 5264 s.TagKeys = v 5265 return s 5266 } 5267 5268 type UntagResourceOutput struct { 5269 _ struct{} `type:"structure" nopayload:"true"` 5270 } 5271 5272 // String returns the string representation. 5273 // 5274 // API parameter values that are decorated as "sensitive" in the API will not 5275 // be included in the string output. The member name will be present, but the 5276 // value will be replaced with "sensitive". 5277 func (s UntagResourceOutput) String() string { 5278 return awsutil.Prettify(s) 5279 } 5280 5281 // GoString returns the string representation. 5282 // 5283 // API parameter values that are decorated as "sensitive" in the API will not 5284 // be included in the string output. The member name will be present, but the 5285 // value will be replaced with "sensitive". 5286 func (s UntagResourceOutput) GoString() string { 5287 return s.String() 5288 } 5289 5290 type UpdateLedgerInput struct { 5291 _ struct{} `type:"structure"` 5292 5293 // The flag that prevents a ledger from being deleted by any user. If not provided 5294 // on ledger creation, this feature is enabled (true) by default. 5295 // 5296 // If deletion protection is enabled, you must first disable it before you can 5297 // delete the ledger. You can disable it by calling the UpdateLedger operation 5298 // to set the flag to false. 5299 DeletionProtection *bool `type:"boolean"` 5300 5301 // The key in Key Management Service (KMS) to use for encryption of data at 5302 // rest in the ledger. For more information, see Encryption at rest (https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html) 5303 // in the Amazon QLDB Developer Guide. 5304 // 5305 // Use one of the following options to specify this parameter: 5306 // 5307 // * AWS_OWNED_KMS_KEY: Use an KMS key that is owned and managed by Amazon 5308 // Web Services on your behalf. 5309 // 5310 // * Undefined: Make no changes to the KMS key of the ledger. 5311 // 5312 // * A valid symmetric customer managed KMS key: Use the specified KMS key 5313 // in your account that you create, own, and manage. Amazon QLDB does not 5314 // support asymmetric keys. For more information, see Using symmetric and 5315 // asymmetric keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) 5316 // in the Key Management Service Developer Guide. 5317 // 5318 // To specify a customer managed KMS key, you can use its key ID, Amazon Resource 5319 // Name (ARN), alias name, or alias ARN. When using an alias name, prefix it 5320 // with "alias/". To specify a key in a different account, you must use the 5321 // key ARN or alias ARN. 5322 // 5323 // For example: 5324 // 5325 // * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab 5326 // 5327 // * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab 5328 // 5329 // * Alias name: alias/ExampleAlias 5330 // 5331 // * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias 5332 // 5333 // For more information, see Key identifiers (KeyId) (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id) 5334 // in the Key Management Service Developer Guide. 5335 KmsKey *string `type:"string"` 5336 5337 // The name of the ledger. 5338 // 5339 // Name is a required field 5340 Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 5341 } 5342 5343 // String returns the string representation. 5344 // 5345 // API parameter values that are decorated as "sensitive" in the API will not 5346 // be included in the string output. The member name will be present, but the 5347 // value will be replaced with "sensitive". 5348 func (s UpdateLedgerInput) String() string { 5349 return awsutil.Prettify(s) 5350 } 5351 5352 // GoString returns the string representation. 5353 // 5354 // API parameter values that are decorated as "sensitive" in the API will not 5355 // be included in the string output. The member name will be present, but the 5356 // value will be replaced with "sensitive". 5357 func (s UpdateLedgerInput) GoString() string { 5358 return s.String() 5359 } 5360 5361 // Validate inspects the fields of the type to determine if they are valid. 5362 func (s *UpdateLedgerInput) Validate() error { 5363 invalidParams := request.ErrInvalidParams{Context: "UpdateLedgerInput"} 5364 if s.Name == nil { 5365 invalidParams.Add(request.NewErrParamRequired("Name")) 5366 } 5367 if s.Name != nil && len(*s.Name) < 1 { 5368 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 5369 } 5370 5371 if invalidParams.Len() > 0 { 5372 return invalidParams 5373 } 5374 return nil 5375 } 5376 5377 // SetDeletionProtection sets the DeletionProtection field's value. 5378 func (s *UpdateLedgerInput) SetDeletionProtection(v bool) *UpdateLedgerInput { 5379 s.DeletionProtection = &v 5380 return s 5381 } 5382 5383 // SetKmsKey sets the KmsKey field's value. 5384 func (s *UpdateLedgerInput) SetKmsKey(v string) *UpdateLedgerInput { 5385 s.KmsKey = &v 5386 return s 5387 } 5388 5389 // SetName sets the Name field's value. 5390 func (s *UpdateLedgerInput) SetName(v string) *UpdateLedgerInput { 5391 s.Name = &v 5392 return s 5393 } 5394 5395 type UpdateLedgerOutput struct { 5396 _ struct{} `type:"structure"` 5397 5398 // The Amazon Resource Name (ARN) for the ledger. 5399 Arn *string `min:"20" type:"string"` 5400 5401 // The date and time, in epoch time format, when the ledger was created. (Epoch 5402 // time format is the number of seconds elapsed since 12:00:00 AM January 1, 5403 // 1970 UTC.) 5404 CreationDateTime *time.Time `type:"timestamp"` 5405 5406 // The flag that prevents a ledger from being deleted by any user. If not provided 5407 // on ledger creation, this feature is enabled (true) by default. 5408 // 5409 // If deletion protection is enabled, you must first disable it before you can 5410 // delete the ledger. You can disable it by calling the UpdateLedger operation 5411 // to set the flag to false. 5412 DeletionProtection *bool `type:"boolean"` 5413 5414 // Information about the encryption of data at rest in the ledger. This includes 5415 // the current status, the KMS key, and when the key became inaccessible (in 5416 // the case of an error). 5417 EncryptionDescription *LedgerEncryptionDescription `type:"structure"` 5418 5419 // The name of the ledger. 5420 Name *string `min:"1" type:"string"` 5421 5422 // The current status of the ledger. 5423 State *string `type:"string" enum:"LedgerState"` 5424 } 5425 5426 // String returns the string representation. 5427 // 5428 // API parameter values that are decorated as "sensitive" in the API will not 5429 // be included in the string output. The member name will be present, but the 5430 // value will be replaced with "sensitive". 5431 func (s UpdateLedgerOutput) String() string { 5432 return awsutil.Prettify(s) 5433 } 5434 5435 // GoString returns the string representation. 5436 // 5437 // API parameter values that are decorated as "sensitive" in the API will not 5438 // be included in the string output. The member name will be present, but the 5439 // value will be replaced with "sensitive". 5440 func (s UpdateLedgerOutput) GoString() string { 5441 return s.String() 5442 } 5443 5444 // SetArn sets the Arn field's value. 5445 func (s *UpdateLedgerOutput) SetArn(v string) *UpdateLedgerOutput { 5446 s.Arn = &v 5447 return s 5448 } 5449 5450 // SetCreationDateTime sets the CreationDateTime field's value. 5451 func (s *UpdateLedgerOutput) SetCreationDateTime(v time.Time) *UpdateLedgerOutput { 5452 s.CreationDateTime = &v 5453 return s 5454 } 5455 5456 // SetDeletionProtection sets the DeletionProtection field's value. 5457 func (s *UpdateLedgerOutput) SetDeletionProtection(v bool) *UpdateLedgerOutput { 5458 s.DeletionProtection = &v 5459 return s 5460 } 5461 5462 // SetEncryptionDescription sets the EncryptionDescription field's value. 5463 func (s *UpdateLedgerOutput) SetEncryptionDescription(v *LedgerEncryptionDescription) *UpdateLedgerOutput { 5464 s.EncryptionDescription = v 5465 return s 5466 } 5467 5468 // SetName sets the Name field's value. 5469 func (s *UpdateLedgerOutput) SetName(v string) *UpdateLedgerOutput { 5470 s.Name = &v 5471 return s 5472 } 5473 5474 // SetState sets the State field's value. 5475 func (s *UpdateLedgerOutput) SetState(v string) *UpdateLedgerOutput { 5476 s.State = &v 5477 return s 5478 } 5479 5480 type UpdateLedgerPermissionsModeInput struct { 5481 _ struct{} `type:"structure"` 5482 5483 // The name of the ledger. 5484 // 5485 // Name is a required field 5486 Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` 5487 5488 // The permissions mode to assign to the ledger. This parameter can have one 5489 // of the following values: 5490 // 5491 // * ALLOW_ALL: A legacy permissions mode that enables access control with 5492 // API-level granularity for ledgers. This mode allows users who have the 5493 // SendCommand API permission for this ledger to run all PartiQL commands 5494 // (hence, ALLOW_ALL) on any tables in the specified ledger. This mode disregards 5495 // any table-level or command-level IAM permissions policies that you create 5496 // for the ledger. 5497 // 5498 // * STANDARD: (Recommended) A permissions mode that enables access control 5499 // with finer granularity for ledgers, tables, and PartiQL commands. By default, 5500 // this mode denies all user requests to run any PartiQL commands on any 5501 // tables in this ledger. To allow PartiQL commands to run, you must create 5502 // IAM permissions policies for specific table resources and PartiQL actions, 5503 // in addition to the SendCommand API permission for the ledger. For information, 5504 // see Getting started with the standard permissions mode (https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-standard-mode.html) 5505 // in the Amazon QLDB Developer Guide. 5506 // 5507 // We strongly recommend using the STANDARD permissions mode to maximize the 5508 // security of your ledger data. 5509 // 5510 // PermissionsMode is a required field 5511 PermissionsMode *string `type:"string" required:"true" enum:"PermissionsMode"` 5512 } 5513 5514 // String returns the string representation. 5515 // 5516 // API parameter values that are decorated as "sensitive" in the API will not 5517 // be included in the string output. The member name will be present, but the 5518 // value will be replaced with "sensitive". 5519 func (s UpdateLedgerPermissionsModeInput) String() string { 5520 return awsutil.Prettify(s) 5521 } 5522 5523 // GoString returns the string representation. 5524 // 5525 // API parameter values that are decorated as "sensitive" in the API will not 5526 // be included in the string output. The member name will be present, but the 5527 // value will be replaced with "sensitive". 5528 func (s UpdateLedgerPermissionsModeInput) GoString() string { 5529 return s.String() 5530 } 5531 5532 // Validate inspects the fields of the type to determine if they are valid. 5533 func (s *UpdateLedgerPermissionsModeInput) Validate() error { 5534 invalidParams := request.ErrInvalidParams{Context: "UpdateLedgerPermissionsModeInput"} 5535 if s.Name == nil { 5536 invalidParams.Add(request.NewErrParamRequired("Name")) 5537 } 5538 if s.Name != nil && len(*s.Name) < 1 { 5539 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 5540 } 5541 if s.PermissionsMode == nil { 5542 invalidParams.Add(request.NewErrParamRequired("PermissionsMode")) 5543 } 5544 5545 if invalidParams.Len() > 0 { 5546 return invalidParams 5547 } 5548 return nil 5549 } 5550 5551 // SetName sets the Name field's value. 5552 func (s *UpdateLedgerPermissionsModeInput) SetName(v string) *UpdateLedgerPermissionsModeInput { 5553 s.Name = &v 5554 return s 5555 } 5556 5557 // SetPermissionsMode sets the PermissionsMode field's value. 5558 func (s *UpdateLedgerPermissionsModeInput) SetPermissionsMode(v string) *UpdateLedgerPermissionsModeInput { 5559 s.PermissionsMode = &v 5560 return s 5561 } 5562 5563 type UpdateLedgerPermissionsModeOutput struct { 5564 _ struct{} `type:"structure"` 5565 5566 // The Amazon Resource Name (ARN) for the ledger. 5567 Arn *string `min:"20" type:"string"` 5568 5569 // The name of the ledger. 5570 Name *string `min:"1" type:"string"` 5571 5572 // The current permissions mode of the ledger. 5573 PermissionsMode *string `type:"string" enum:"PermissionsMode"` 5574 } 5575 5576 // String returns the string representation. 5577 // 5578 // API parameter values that are decorated as "sensitive" in the API will not 5579 // be included in the string output. The member name will be present, but the 5580 // value will be replaced with "sensitive". 5581 func (s UpdateLedgerPermissionsModeOutput) String() string { 5582 return awsutil.Prettify(s) 5583 } 5584 5585 // GoString returns the string representation. 5586 // 5587 // API parameter values that are decorated as "sensitive" in the API will not 5588 // be included in the string output. The member name will be present, but the 5589 // value will be replaced with "sensitive". 5590 func (s UpdateLedgerPermissionsModeOutput) GoString() string { 5591 return s.String() 5592 } 5593 5594 // SetArn sets the Arn field's value. 5595 func (s *UpdateLedgerPermissionsModeOutput) SetArn(v string) *UpdateLedgerPermissionsModeOutput { 5596 s.Arn = &v 5597 return s 5598 } 5599 5600 // SetName sets the Name field's value. 5601 func (s *UpdateLedgerPermissionsModeOutput) SetName(v string) *UpdateLedgerPermissionsModeOutput { 5602 s.Name = &v 5603 return s 5604 } 5605 5606 // SetPermissionsMode sets the PermissionsMode field's value. 5607 func (s *UpdateLedgerPermissionsModeOutput) SetPermissionsMode(v string) *UpdateLedgerPermissionsModeOutput { 5608 s.PermissionsMode = &v 5609 return s 5610 } 5611 5612 // A structure that can contain a value in multiple encoding formats. 5613 type ValueHolder struct { 5614 _ struct{} `type:"structure" sensitive:"true"` 5615 5616 // An Amazon Ion plaintext value contained in a ValueHolder structure. 5617 // 5618 // IonText is a sensitive parameter and its value will be 5619 // replaced with "sensitive" in string returned by ValueHolder's 5620 // String and GoString methods. 5621 IonText *string `min:"1" type:"string" sensitive:"true"` 5622 } 5623 5624 // String returns the string representation. 5625 // 5626 // API parameter values that are decorated as "sensitive" in the API will not 5627 // be included in the string output. The member name will be present, but the 5628 // value will be replaced with "sensitive". 5629 func (s ValueHolder) String() string { 5630 return awsutil.Prettify(s) 5631 } 5632 5633 // GoString returns the string representation. 5634 // 5635 // API parameter values that are decorated as "sensitive" in the API will not 5636 // be included in the string output. The member name will be present, but the 5637 // value will be replaced with "sensitive". 5638 func (s ValueHolder) GoString() string { 5639 return s.String() 5640 } 5641 5642 // Validate inspects the fields of the type to determine if they are valid. 5643 func (s *ValueHolder) Validate() error { 5644 invalidParams := request.ErrInvalidParams{Context: "ValueHolder"} 5645 if s.IonText != nil && len(*s.IonText) < 1 { 5646 invalidParams.Add(request.NewErrParamMinLen("IonText", 1)) 5647 } 5648 5649 if invalidParams.Len() > 0 { 5650 return invalidParams 5651 } 5652 return nil 5653 } 5654 5655 // SetIonText sets the IonText field's value. 5656 func (s *ValueHolder) SetIonText(v string) *ValueHolder { 5657 s.IonText = &v 5658 return s 5659 } 5660 5661 const ( 5662 // EncryptionStatusEnabled is a EncryptionStatus enum value 5663 EncryptionStatusEnabled = "ENABLED" 5664 5665 // EncryptionStatusUpdating is a EncryptionStatus enum value 5666 EncryptionStatusUpdating = "UPDATING" 5667 5668 // EncryptionStatusKmsKeyInaccessible is a EncryptionStatus enum value 5669 EncryptionStatusKmsKeyInaccessible = "KMS_KEY_INACCESSIBLE" 5670 ) 5671 5672 // EncryptionStatus_Values returns all elements of the EncryptionStatus enum 5673 func EncryptionStatus_Values() []string { 5674 return []string{ 5675 EncryptionStatusEnabled, 5676 EncryptionStatusUpdating, 5677 EncryptionStatusKmsKeyInaccessible, 5678 } 5679 } 5680 5681 const ( 5682 // ErrorCauseKinesisStreamNotFound is a ErrorCause enum value 5683 ErrorCauseKinesisStreamNotFound = "KINESIS_STREAM_NOT_FOUND" 5684 5685 // ErrorCauseIamPermissionRevoked is a ErrorCause enum value 5686 ErrorCauseIamPermissionRevoked = "IAM_PERMISSION_REVOKED" 5687 ) 5688 5689 // ErrorCause_Values returns all elements of the ErrorCause enum 5690 func ErrorCause_Values() []string { 5691 return []string{ 5692 ErrorCauseKinesisStreamNotFound, 5693 ErrorCauseIamPermissionRevoked, 5694 } 5695 } 5696 5697 const ( 5698 // ExportStatusInProgress is a ExportStatus enum value 5699 ExportStatusInProgress = "IN_PROGRESS" 5700 5701 // ExportStatusCompleted is a ExportStatus enum value 5702 ExportStatusCompleted = "COMPLETED" 5703 5704 // ExportStatusCancelled is a ExportStatus enum value 5705 ExportStatusCancelled = "CANCELLED" 5706 ) 5707 5708 // ExportStatus_Values returns all elements of the ExportStatus enum 5709 func ExportStatus_Values() []string { 5710 return []string{ 5711 ExportStatusInProgress, 5712 ExportStatusCompleted, 5713 ExportStatusCancelled, 5714 } 5715 } 5716 5717 const ( 5718 // LedgerStateCreating is a LedgerState enum value 5719 LedgerStateCreating = "CREATING" 5720 5721 // LedgerStateActive is a LedgerState enum value 5722 LedgerStateActive = "ACTIVE" 5723 5724 // LedgerStateDeleting is a LedgerState enum value 5725 LedgerStateDeleting = "DELETING" 5726 5727 // LedgerStateDeleted is a LedgerState enum value 5728 LedgerStateDeleted = "DELETED" 5729 ) 5730 5731 // LedgerState_Values returns all elements of the LedgerState enum 5732 func LedgerState_Values() []string { 5733 return []string{ 5734 LedgerStateCreating, 5735 LedgerStateActive, 5736 LedgerStateDeleting, 5737 LedgerStateDeleted, 5738 } 5739 } 5740 5741 const ( 5742 // PermissionsModeAllowAll is a PermissionsMode enum value 5743 PermissionsModeAllowAll = "ALLOW_ALL" 5744 5745 // PermissionsModeStandard is a PermissionsMode enum value 5746 PermissionsModeStandard = "STANDARD" 5747 ) 5748 5749 // PermissionsMode_Values returns all elements of the PermissionsMode enum 5750 func PermissionsMode_Values() []string { 5751 return []string{ 5752 PermissionsModeAllowAll, 5753 PermissionsModeStandard, 5754 } 5755 } 5756 5757 const ( 5758 // S3ObjectEncryptionTypeSseKms is a S3ObjectEncryptionType enum value 5759 S3ObjectEncryptionTypeSseKms = "SSE_KMS" 5760 5761 // S3ObjectEncryptionTypeSseS3 is a S3ObjectEncryptionType enum value 5762 S3ObjectEncryptionTypeSseS3 = "SSE_S3" 5763 5764 // S3ObjectEncryptionTypeNoEncryption is a S3ObjectEncryptionType enum value 5765 S3ObjectEncryptionTypeNoEncryption = "NO_ENCRYPTION" 5766 ) 5767 5768 // S3ObjectEncryptionType_Values returns all elements of the S3ObjectEncryptionType enum 5769 func S3ObjectEncryptionType_Values() []string { 5770 return []string{ 5771 S3ObjectEncryptionTypeSseKms, 5772 S3ObjectEncryptionTypeSseS3, 5773 S3ObjectEncryptionTypeNoEncryption, 5774 } 5775 } 5776 5777 const ( 5778 // StreamStatusActive is a StreamStatus enum value 5779 StreamStatusActive = "ACTIVE" 5780 5781 // StreamStatusCompleted is a StreamStatus enum value 5782 StreamStatusCompleted = "COMPLETED" 5783 5784 // StreamStatusCanceled is a StreamStatus enum value 5785 StreamStatusCanceled = "CANCELED" 5786 5787 // StreamStatusFailed is a StreamStatus enum value 5788 StreamStatusFailed = "FAILED" 5789 5790 // StreamStatusImpaired is a StreamStatus enum value 5791 StreamStatusImpaired = "IMPAIRED" 5792 ) 5793 5794 // StreamStatus_Values returns all elements of the StreamStatus enum 5795 func StreamStatus_Values() []string { 5796 return []string{ 5797 StreamStatusActive, 5798 StreamStatusCompleted, 5799 StreamStatusCanceled, 5800 StreamStatusFailed, 5801 StreamStatusImpaired, 5802 } 5803 }