1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package transfer 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 14) 15 16const opCreateAccess = "CreateAccess" 17 18// CreateAccessRequest generates a "aws/request.Request" representing the 19// client's request for the CreateAccess 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 CreateAccess for more information on using the CreateAccess 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 CreateAccessRequest method. 34// req, resp := client.CreateAccessRequest(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/transfer-2018-11-05/CreateAccess 42func (c *Transfer) CreateAccessRequest(input *CreateAccessInput) (req *request.Request, output *CreateAccessOutput) { 43 op := &request.Operation{ 44 Name: opCreateAccess, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateAccessInput{} 51 } 52 53 output = &CreateAccessOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateAccess API operation for AWS Transfer Family. 59// 60// Used by administrators to choose which groups in the directory should have 61// access to upload and download files over the enabled protocols using Amazon 62// Web Services Transfer Family. For example, a Microsoft Active Directory might 63// contain 50,000 users, but only a small fraction might need the ability to 64// transfer files to the server. An administrator can use CreateAccess to limit 65// the access to the correct set of users who need this ability. 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 AWS Transfer Family's 72// API operation CreateAccess for usage and error information. 73// 74// Returned Error Types: 75// * ServiceUnavailableException 76// The request has failed because the Amazon Web ServicesTransfer Family service 77// is not available. 78// 79// * InternalServiceError 80// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 81// Family service. 82// 83// * InvalidRequestException 84// This exception is thrown when the client submits a malformed request. 85// 86// * ResourceExistsException 87// The requested resource does not exist. 88// 89// * ResourceNotFoundException 90// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 91// Family service. 92// 93// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAccess 94func (c *Transfer) CreateAccess(input *CreateAccessInput) (*CreateAccessOutput, error) { 95 req, out := c.CreateAccessRequest(input) 96 return out, req.Send() 97} 98 99// CreateAccessWithContext is the same as CreateAccess with the addition of 100// the ability to pass a context and additional request options. 101// 102// See CreateAccess for details on how to use this API operation. 103// 104// The context must be non-nil and will be used for request cancellation. If 105// the context is nil a panic will occur. In the future the SDK may create 106// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 107// for more information on using Contexts. 108func (c *Transfer) CreateAccessWithContext(ctx aws.Context, input *CreateAccessInput, opts ...request.Option) (*CreateAccessOutput, error) { 109 req, out := c.CreateAccessRequest(input) 110 req.SetContext(ctx) 111 req.ApplyOptions(opts...) 112 return out, req.Send() 113} 114 115const opCreateServer = "CreateServer" 116 117// CreateServerRequest generates a "aws/request.Request" representing the 118// client's request for the CreateServer operation. The "output" return 119// value will be populated with the request's response once the request completes 120// successfully. 121// 122// Use "Send" method on the returned Request to send the API call to the service. 123// the "output" return value is not valid until after Send returns without error. 124// 125// See CreateServer for more information on using the CreateServer 126// API call, and error handling. 127// 128// This method is useful when you want to inject custom logic or configuration 129// into the SDK's request lifecycle. Such as custom headers, or retry logic. 130// 131// 132// // Example sending a request using the CreateServerRequest method. 133// req, resp := client.CreateServerRequest(params) 134// 135// err := req.Send() 136// if err == nil { // resp is now filled 137// fmt.Println(resp) 138// } 139// 140// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateServer 141func (c *Transfer) CreateServerRequest(input *CreateServerInput) (req *request.Request, output *CreateServerOutput) { 142 op := &request.Operation{ 143 Name: opCreateServer, 144 HTTPMethod: "POST", 145 HTTPPath: "/", 146 } 147 148 if input == nil { 149 input = &CreateServerInput{} 150 } 151 152 output = &CreateServerOutput{} 153 req = c.newRequest(op, input, output) 154 return 155} 156 157// CreateServer API operation for AWS Transfer Family. 158// 159// Instantiates an auto-scaling virtual server based on the selected file transfer 160// protocol in Amazon Web Services. When you make updates to your file transfer 161// protocol-enabled server or when you work with users, use the service-generated 162// ServerId property that is assigned to the newly created server. 163// 164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 165// with awserr.Error's Code and Message methods to get detailed information about 166// the error. 167// 168// See the AWS API reference guide for AWS Transfer Family's 169// API operation CreateServer for usage and error information. 170// 171// Returned Error Types: 172// * AccessDeniedException 173// You do not have sufficient access to perform this action. 174// 175// * ServiceUnavailableException 176// The request has failed because the Amazon Web ServicesTransfer Family service 177// is not available. 178// 179// * InternalServiceError 180// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 181// Family service. 182// 183// * InvalidRequestException 184// This exception is thrown when the client submits a malformed request. 185// 186// * ResourceExistsException 187// The requested resource does not exist. 188// 189// * ResourceNotFoundException 190// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 191// Family service. 192// 193// * ThrottlingException 194// The request was denied due to request throttling. 195// 196// HTTP Status Code: 400 197// 198// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateServer 199func (c *Transfer) CreateServer(input *CreateServerInput) (*CreateServerOutput, error) { 200 req, out := c.CreateServerRequest(input) 201 return out, req.Send() 202} 203 204// CreateServerWithContext is the same as CreateServer with the addition of 205// the ability to pass a context and additional request options. 206// 207// See CreateServer for details on how to use this API operation. 208// 209// The context must be non-nil and will be used for request cancellation. If 210// the context is nil a panic will occur. In the future the SDK may create 211// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 212// for more information on using Contexts. 213func (c *Transfer) CreateServerWithContext(ctx aws.Context, input *CreateServerInput, opts ...request.Option) (*CreateServerOutput, error) { 214 req, out := c.CreateServerRequest(input) 215 req.SetContext(ctx) 216 req.ApplyOptions(opts...) 217 return out, req.Send() 218} 219 220const opCreateUser = "CreateUser" 221 222// CreateUserRequest generates a "aws/request.Request" representing the 223// client's request for the CreateUser operation. The "output" return 224// value will be populated with the request's response once the request completes 225// successfully. 226// 227// Use "Send" method on the returned Request to send the API call to the service. 228// the "output" return value is not valid until after Send returns without error. 229// 230// See CreateUser for more information on using the CreateUser 231// API call, and error handling. 232// 233// This method is useful when you want to inject custom logic or configuration 234// into the SDK's request lifecycle. Such as custom headers, or retry logic. 235// 236// 237// // Example sending a request using the CreateUserRequest method. 238// req, resp := client.CreateUserRequest(params) 239// 240// err := req.Send() 241// if err == nil { // resp is now filled 242// fmt.Println(resp) 243// } 244// 245// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateUser 246func (c *Transfer) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) { 247 op := &request.Operation{ 248 Name: opCreateUser, 249 HTTPMethod: "POST", 250 HTTPPath: "/", 251 } 252 253 if input == nil { 254 input = &CreateUserInput{} 255 } 256 257 output = &CreateUserOutput{} 258 req = c.newRequest(op, input, output) 259 return 260} 261 262// CreateUser API operation for AWS Transfer Family. 263// 264// Creates a user and associates them with an existing file transfer protocol-enabled 265// server. You can only create and associate users with servers that have the 266// IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, 267// you can specify the user name, set the home directory, store the user's public 268// key, and assign the user's Amazon Web Services Identity and Access Management 269// (IAM) role. You can also optionally add a session policy, and assign metadata 270// with tags that can be used to group and search for users. 271// 272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 273// with awserr.Error's Code and Message methods to get detailed information about 274// the error. 275// 276// See the AWS API reference guide for AWS Transfer Family's 277// API operation CreateUser for usage and error information. 278// 279// Returned Error Types: 280// * ServiceUnavailableException 281// The request has failed because the Amazon Web ServicesTransfer Family service 282// is not available. 283// 284// * InternalServiceError 285// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 286// Family service. 287// 288// * InvalidRequestException 289// This exception is thrown when the client submits a malformed request. 290// 291// * ResourceExistsException 292// The requested resource does not exist. 293// 294// * ResourceNotFoundException 295// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 296// Family service. 297// 298// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateUser 299func (c *Transfer) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) { 300 req, out := c.CreateUserRequest(input) 301 return out, req.Send() 302} 303 304// CreateUserWithContext is the same as CreateUser with the addition of 305// the ability to pass a context and additional request options. 306// 307// See CreateUser for details on how to use this API operation. 308// 309// The context must be non-nil and will be used for request cancellation. If 310// the context is nil a panic will occur. In the future the SDK may create 311// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 312// for more information on using Contexts. 313func (c *Transfer) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) { 314 req, out := c.CreateUserRequest(input) 315 req.SetContext(ctx) 316 req.ApplyOptions(opts...) 317 return out, req.Send() 318} 319 320const opCreateWorkflow = "CreateWorkflow" 321 322// CreateWorkflowRequest generates a "aws/request.Request" representing the 323// client's request for the CreateWorkflow operation. The "output" return 324// value will be populated with the request's response once the request completes 325// successfully. 326// 327// Use "Send" method on the returned Request to send the API call to the service. 328// the "output" return value is not valid until after Send returns without error. 329// 330// See CreateWorkflow for more information on using the CreateWorkflow 331// API call, and error handling. 332// 333// This method is useful when you want to inject custom logic or configuration 334// into the SDK's request lifecycle. Such as custom headers, or retry logic. 335// 336// 337// // Example sending a request using the CreateWorkflowRequest method. 338// req, resp := client.CreateWorkflowRequest(params) 339// 340// err := req.Send() 341// if err == nil { // resp is now filled 342// fmt.Println(resp) 343// } 344// 345// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateWorkflow 346func (c *Transfer) CreateWorkflowRequest(input *CreateWorkflowInput) (req *request.Request, output *CreateWorkflowOutput) { 347 op := &request.Operation{ 348 Name: opCreateWorkflow, 349 HTTPMethod: "POST", 350 HTTPPath: "/", 351 } 352 353 if input == nil { 354 input = &CreateWorkflowInput{} 355 } 356 357 output = &CreateWorkflowOutput{} 358 req = c.newRequest(op, input, output) 359 return 360} 361 362// CreateWorkflow API operation for AWS Transfer Family. 363// 364// Allows you to create a workflow with specified steps and step details the 365// workflow invokes after file transfer completes. After creating a workflow, 366// you can associate the workflow created with any transfer servers by specifying 367// the workflow-details field in CreateServer and UpdateServer operations. 368// 369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 370// with awserr.Error's Code and Message methods to get detailed information about 371// the error. 372// 373// See the AWS API reference guide for AWS Transfer Family's 374// API operation CreateWorkflow for usage and error information. 375// 376// Returned Error Types: 377// * AccessDeniedException 378// You do not have sufficient access to perform this action. 379// 380// * ServiceUnavailableException 381// The request has failed because the Amazon Web ServicesTransfer Family service 382// is not available. 383// 384// * InternalServiceError 385// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 386// Family service. 387// 388// * InvalidRequestException 389// This exception is thrown when the client submits a malformed request. 390// 391// * ResourceExistsException 392// The requested resource does not exist. 393// 394// * ThrottlingException 395// The request was denied due to request throttling. 396// 397// HTTP Status Code: 400 398// 399// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateWorkflow 400func (c *Transfer) CreateWorkflow(input *CreateWorkflowInput) (*CreateWorkflowOutput, error) { 401 req, out := c.CreateWorkflowRequest(input) 402 return out, req.Send() 403} 404 405// CreateWorkflowWithContext is the same as CreateWorkflow with the addition of 406// the ability to pass a context and additional request options. 407// 408// See CreateWorkflow for details on how to use this API operation. 409// 410// The context must be non-nil and will be used for request cancellation. If 411// the context is nil a panic will occur. In the future the SDK may create 412// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 413// for more information on using Contexts. 414func (c *Transfer) CreateWorkflowWithContext(ctx aws.Context, input *CreateWorkflowInput, opts ...request.Option) (*CreateWorkflowOutput, error) { 415 req, out := c.CreateWorkflowRequest(input) 416 req.SetContext(ctx) 417 req.ApplyOptions(opts...) 418 return out, req.Send() 419} 420 421const opDeleteAccess = "DeleteAccess" 422 423// DeleteAccessRequest generates a "aws/request.Request" representing the 424// client's request for the DeleteAccess operation. The "output" return 425// value will be populated with the request's response once the request completes 426// successfully. 427// 428// Use "Send" method on the returned Request to send the API call to the service. 429// the "output" return value is not valid until after Send returns without error. 430// 431// See DeleteAccess for more information on using the DeleteAccess 432// API call, and error handling. 433// 434// This method is useful when you want to inject custom logic or configuration 435// into the SDK's request lifecycle. Such as custom headers, or retry logic. 436// 437// 438// // Example sending a request using the DeleteAccessRequest method. 439// req, resp := client.DeleteAccessRequest(params) 440// 441// err := req.Send() 442// if err == nil { // resp is now filled 443// fmt.Println(resp) 444// } 445// 446// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteAccess 447func (c *Transfer) DeleteAccessRequest(input *DeleteAccessInput) (req *request.Request, output *DeleteAccessOutput) { 448 op := &request.Operation{ 449 Name: opDeleteAccess, 450 HTTPMethod: "POST", 451 HTTPPath: "/", 452 } 453 454 if input == nil { 455 input = &DeleteAccessInput{} 456 } 457 458 output = &DeleteAccessOutput{} 459 req = c.newRequest(op, input, output) 460 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 461 return 462} 463 464// DeleteAccess API operation for AWS Transfer Family. 465// 466// Allows you to delete the access specified in the ServerID and ExternalID 467// parameters. 468// 469// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 470// with awserr.Error's Code and Message methods to get detailed information about 471// the error. 472// 473// See the AWS API reference guide for AWS Transfer Family's 474// API operation DeleteAccess for usage and error information. 475// 476// Returned Error Types: 477// * ServiceUnavailableException 478// The request has failed because the Amazon Web ServicesTransfer Family service 479// is not available. 480// 481// * InternalServiceError 482// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 483// Family service. 484// 485// * InvalidRequestException 486// This exception is thrown when the client submits a malformed request. 487// 488// * ResourceNotFoundException 489// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 490// Family service. 491// 492// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteAccess 493func (c *Transfer) DeleteAccess(input *DeleteAccessInput) (*DeleteAccessOutput, error) { 494 req, out := c.DeleteAccessRequest(input) 495 return out, req.Send() 496} 497 498// DeleteAccessWithContext is the same as DeleteAccess with the addition of 499// the ability to pass a context and additional request options. 500// 501// See DeleteAccess for details on how to use this API operation. 502// 503// The context must be non-nil and will be used for request cancellation. If 504// the context is nil a panic will occur. In the future the SDK may create 505// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 506// for more information on using Contexts. 507func (c *Transfer) DeleteAccessWithContext(ctx aws.Context, input *DeleteAccessInput, opts ...request.Option) (*DeleteAccessOutput, error) { 508 req, out := c.DeleteAccessRequest(input) 509 req.SetContext(ctx) 510 req.ApplyOptions(opts...) 511 return out, req.Send() 512} 513 514const opDeleteServer = "DeleteServer" 515 516// DeleteServerRequest generates a "aws/request.Request" representing the 517// client's request for the DeleteServer operation. The "output" return 518// value will be populated with the request's response once the request completes 519// successfully. 520// 521// Use "Send" method on the returned Request to send the API call to the service. 522// the "output" return value is not valid until after Send returns without error. 523// 524// See DeleteServer for more information on using the DeleteServer 525// API call, and error handling. 526// 527// This method is useful when you want to inject custom logic or configuration 528// into the SDK's request lifecycle. Such as custom headers, or retry logic. 529// 530// 531// // Example sending a request using the DeleteServerRequest method. 532// req, resp := client.DeleteServerRequest(params) 533// 534// err := req.Send() 535// if err == nil { // resp is now filled 536// fmt.Println(resp) 537// } 538// 539// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteServer 540func (c *Transfer) DeleteServerRequest(input *DeleteServerInput) (req *request.Request, output *DeleteServerOutput) { 541 op := &request.Operation{ 542 Name: opDeleteServer, 543 HTTPMethod: "POST", 544 HTTPPath: "/", 545 } 546 547 if input == nil { 548 input = &DeleteServerInput{} 549 } 550 551 output = &DeleteServerOutput{} 552 req = c.newRequest(op, input, output) 553 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 554 return 555} 556 557// DeleteServer API operation for AWS Transfer Family. 558// 559// Deletes the file transfer protocol-enabled server that you specify. 560// 561// No response returns from this operation. 562// 563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 564// with awserr.Error's Code and Message methods to get detailed information about 565// the error. 566// 567// See the AWS API reference guide for AWS Transfer Family's 568// API operation DeleteServer for usage and error information. 569// 570// Returned Error Types: 571// * AccessDeniedException 572// You do not have sufficient access to perform this action. 573// 574// * ServiceUnavailableException 575// The request has failed because the Amazon Web ServicesTransfer Family service 576// is not available. 577// 578// * InternalServiceError 579// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 580// Family service. 581// 582// * InvalidRequestException 583// This exception is thrown when the client submits a malformed request. 584// 585// * ResourceNotFoundException 586// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 587// Family service. 588// 589// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteServer 590func (c *Transfer) DeleteServer(input *DeleteServerInput) (*DeleteServerOutput, error) { 591 req, out := c.DeleteServerRequest(input) 592 return out, req.Send() 593} 594 595// DeleteServerWithContext is the same as DeleteServer with the addition of 596// the ability to pass a context and additional request options. 597// 598// See DeleteServer for details on how to use this API operation. 599// 600// The context must be non-nil and will be used for request cancellation. If 601// the context is nil a panic will occur. In the future the SDK may create 602// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 603// for more information on using Contexts. 604func (c *Transfer) DeleteServerWithContext(ctx aws.Context, input *DeleteServerInput, opts ...request.Option) (*DeleteServerOutput, error) { 605 req, out := c.DeleteServerRequest(input) 606 req.SetContext(ctx) 607 req.ApplyOptions(opts...) 608 return out, req.Send() 609} 610 611const opDeleteSshPublicKey = "DeleteSshPublicKey" 612 613// DeleteSshPublicKeyRequest generates a "aws/request.Request" representing the 614// client's request for the DeleteSshPublicKey operation. The "output" return 615// value will be populated with the request's response once the request completes 616// successfully. 617// 618// Use "Send" method on the returned Request to send the API call to the service. 619// the "output" return value is not valid until after Send returns without error. 620// 621// See DeleteSshPublicKey for more information on using the DeleteSshPublicKey 622// API call, and error handling. 623// 624// This method is useful when you want to inject custom logic or configuration 625// into the SDK's request lifecycle. Such as custom headers, or retry logic. 626// 627// 628// // Example sending a request using the DeleteSshPublicKeyRequest method. 629// req, resp := client.DeleteSshPublicKeyRequest(params) 630// 631// err := req.Send() 632// if err == nil { // resp is now filled 633// fmt.Println(resp) 634// } 635// 636// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteSshPublicKey 637func (c *Transfer) DeleteSshPublicKeyRequest(input *DeleteSshPublicKeyInput) (req *request.Request, output *DeleteSshPublicKeyOutput) { 638 op := &request.Operation{ 639 Name: opDeleteSshPublicKey, 640 HTTPMethod: "POST", 641 HTTPPath: "/", 642 } 643 644 if input == nil { 645 input = &DeleteSshPublicKeyInput{} 646 } 647 648 output = &DeleteSshPublicKeyOutput{} 649 req = c.newRequest(op, input, output) 650 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 651 return 652} 653 654// DeleteSshPublicKey API operation for AWS Transfer Family. 655// 656// Deletes a user's Secure Shell (SSH) public key. 657// 658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 659// with awserr.Error's Code and Message methods to get detailed information about 660// the error. 661// 662// See the AWS API reference guide for AWS Transfer Family's 663// API operation DeleteSshPublicKey for usage and error information. 664// 665// Returned Error Types: 666// * ServiceUnavailableException 667// The request has failed because the Amazon Web ServicesTransfer Family service 668// is not available. 669// 670// * InternalServiceError 671// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 672// Family service. 673// 674// * InvalidRequestException 675// This exception is thrown when the client submits a malformed request. 676// 677// * ResourceNotFoundException 678// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 679// Family service. 680// 681// * ThrottlingException 682// The request was denied due to request throttling. 683// 684// HTTP Status Code: 400 685// 686// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteSshPublicKey 687func (c *Transfer) DeleteSshPublicKey(input *DeleteSshPublicKeyInput) (*DeleteSshPublicKeyOutput, error) { 688 req, out := c.DeleteSshPublicKeyRequest(input) 689 return out, req.Send() 690} 691 692// DeleteSshPublicKeyWithContext is the same as DeleteSshPublicKey with the addition of 693// the ability to pass a context and additional request options. 694// 695// See DeleteSshPublicKey for details on how to use this API operation. 696// 697// The context must be non-nil and will be used for request cancellation. If 698// the context is nil a panic will occur. In the future the SDK may create 699// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 700// for more information on using Contexts. 701func (c *Transfer) DeleteSshPublicKeyWithContext(ctx aws.Context, input *DeleteSshPublicKeyInput, opts ...request.Option) (*DeleteSshPublicKeyOutput, error) { 702 req, out := c.DeleteSshPublicKeyRequest(input) 703 req.SetContext(ctx) 704 req.ApplyOptions(opts...) 705 return out, req.Send() 706} 707 708const opDeleteUser = "DeleteUser" 709 710// DeleteUserRequest generates a "aws/request.Request" representing the 711// client's request for the DeleteUser operation. The "output" return 712// value will be populated with the request's response once the request completes 713// successfully. 714// 715// Use "Send" method on the returned Request to send the API call to the service. 716// the "output" return value is not valid until after Send returns without error. 717// 718// See DeleteUser for more information on using the DeleteUser 719// API call, and error handling. 720// 721// This method is useful when you want to inject custom logic or configuration 722// into the SDK's request lifecycle. Such as custom headers, or retry logic. 723// 724// 725// // Example sending a request using the DeleteUserRequest method. 726// req, resp := client.DeleteUserRequest(params) 727// 728// err := req.Send() 729// if err == nil { // resp is now filled 730// fmt.Println(resp) 731// } 732// 733// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteUser 734func (c *Transfer) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { 735 op := &request.Operation{ 736 Name: opDeleteUser, 737 HTTPMethod: "POST", 738 HTTPPath: "/", 739 } 740 741 if input == nil { 742 input = &DeleteUserInput{} 743 } 744 745 output = &DeleteUserOutput{} 746 req = c.newRequest(op, input, output) 747 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 748 return 749} 750 751// DeleteUser API operation for AWS Transfer Family. 752// 753// Deletes the user belonging to a file transfer protocol-enabled server you 754// specify. 755// 756// No response returns from this operation. 757// 758// When you delete a user from a server, the user's information is lost. 759// 760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 761// with awserr.Error's Code and Message methods to get detailed information about 762// the error. 763// 764// See the AWS API reference guide for AWS Transfer Family's 765// API operation DeleteUser for usage and error information. 766// 767// Returned Error Types: 768// * ServiceUnavailableException 769// The request has failed because the Amazon Web ServicesTransfer Family service 770// is not available. 771// 772// * InternalServiceError 773// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 774// Family service. 775// 776// * InvalidRequestException 777// This exception is thrown when the client submits a malformed request. 778// 779// * ResourceNotFoundException 780// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 781// Family service. 782// 783// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteUser 784func (c *Transfer) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { 785 req, out := c.DeleteUserRequest(input) 786 return out, req.Send() 787} 788 789// DeleteUserWithContext is the same as DeleteUser with the addition of 790// the ability to pass a context and additional request options. 791// 792// See DeleteUser for details on how to use this API operation. 793// 794// The context must be non-nil and will be used for request cancellation. If 795// the context is nil a panic will occur. In the future the SDK may create 796// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 797// for more information on using Contexts. 798func (c *Transfer) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { 799 req, out := c.DeleteUserRequest(input) 800 req.SetContext(ctx) 801 req.ApplyOptions(opts...) 802 return out, req.Send() 803} 804 805const opDeleteWorkflow = "DeleteWorkflow" 806 807// DeleteWorkflowRequest generates a "aws/request.Request" representing the 808// client's request for the DeleteWorkflow operation. The "output" return 809// value will be populated with the request's response once the request completes 810// successfully. 811// 812// Use "Send" method on the returned Request to send the API call to the service. 813// the "output" return value is not valid until after Send returns without error. 814// 815// See DeleteWorkflow for more information on using the DeleteWorkflow 816// API call, and error handling. 817// 818// This method is useful when you want to inject custom logic or configuration 819// into the SDK's request lifecycle. Such as custom headers, or retry logic. 820// 821// 822// // Example sending a request using the DeleteWorkflowRequest method. 823// req, resp := client.DeleteWorkflowRequest(params) 824// 825// err := req.Send() 826// if err == nil { // resp is now filled 827// fmt.Println(resp) 828// } 829// 830// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteWorkflow 831func (c *Transfer) DeleteWorkflowRequest(input *DeleteWorkflowInput) (req *request.Request, output *DeleteWorkflowOutput) { 832 op := &request.Operation{ 833 Name: opDeleteWorkflow, 834 HTTPMethod: "POST", 835 HTTPPath: "/", 836 } 837 838 if input == nil { 839 input = &DeleteWorkflowInput{} 840 } 841 842 output = &DeleteWorkflowOutput{} 843 req = c.newRequest(op, input, output) 844 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 845 return 846} 847 848// DeleteWorkflow API operation for AWS Transfer Family. 849// 850// Deletes the specified workflow. 851// 852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 853// with awserr.Error's Code and Message methods to get detailed information about 854// the error. 855// 856// See the AWS API reference guide for AWS Transfer Family's 857// API operation DeleteWorkflow for usage and error information. 858// 859// Returned Error Types: 860// * AccessDeniedException 861// You do not have sufficient access to perform this action. 862// 863// * ServiceUnavailableException 864// The request has failed because the Amazon Web ServicesTransfer Family service 865// is not available. 866// 867// * InternalServiceError 868// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 869// Family service. 870// 871// * InvalidRequestException 872// This exception is thrown when the client submits a malformed request. 873// 874// * ResourceNotFoundException 875// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 876// Family service. 877// 878// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteWorkflow 879func (c *Transfer) DeleteWorkflow(input *DeleteWorkflowInput) (*DeleteWorkflowOutput, error) { 880 req, out := c.DeleteWorkflowRequest(input) 881 return out, req.Send() 882} 883 884// DeleteWorkflowWithContext is the same as DeleteWorkflow with the addition of 885// the ability to pass a context and additional request options. 886// 887// See DeleteWorkflow for details on how to use this API operation. 888// 889// The context must be non-nil and will be used for request cancellation. If 890// the context is nil a panic will occur. In the future the SDK may create 891// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 892// for more information on using Contexts. 893func (c *Transfer) DeleteWorkflowWithContext(ctx aws.Context, input *DeleteWorkflowInput, opts ...request.Option) (*DeleteWorkflowOutput, error) { 894 req, out := c.DeleteWorkflowRequest(input) 895 req.SetContext(ctx) 896 req.ApplyOptions(opts...) 897 return out, req.Send() 898} 899 900const opDescribeAccess = "DescribeAccess" 901 902// DescribeAccessRequest generates a "aws/request.Request" representing the 903// client's request for the DescribeAccess operation. The "output" return 904// value will be populated with the request's response once the request completes 905// successfully. 906// 907// Use "Send" method on the returned Request to send the API call to the service. 908// the "output" return value is not valid until after Send returns without error. 909// 910// See DescribeAccess for more information on using the DescribeAccess 911// API call, and error handling. 912// 913// This method is useful when you want to inject custom logic or configuration 914// into the SDK's request lifecycle. Such as custom headers, or retry logic. 915// 916// 917// // Example sending a request using the DescribeAccessRequest method. 918// req, resp := client.DescribeAccessRequest(params) 919// 920// err := req.Send() 921// if err == nil { // resp is now filled 922// fmt.Println(resp) 923// } 924// 925// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAccess 926func (c *Transfer) DescribeAccessRequest(input *DescribeAccessInput) (req *request.Request, output *DescribeAccessOutput) { 927 op := &request.Operation{ 928 Name: opDescribeAccess, 929 HTTPMethod: "POST", 930 HTTPPath: "/", 931 } 932 933 if input == nil { 934 input = &DescribeAccessInput{} 935 } 936 937 output = &DescribeAccessOutput{} 938 req = c.newRequest(op, input, output) 939 return 940} 941 942// DescribeAccess API operation for AWS Transfer Family. 943// 944// Describes the access that is assigned to the specific file transfer protocol-enabled 945// server, as identified by its ServerId property and its ExternalID. 946// 947// The response from this call returns the properties of the access that is 948// associated with the ServerId value that was specified. 949// 950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 951// with awserr.Error's Code and Message methods to get detailed information about 952// the error. 953// 954// See the AWS API reference guide for AWS Transfer Family's 955// API operation DescribeAccess for usage and error information. 956// 957// Returned Error Types: 958// * ServiceUnavailableException 959// The request has failed because the Amazon Web ServicesTransfer Family service 960// is not available. 961// 962// * InternalServiceError 963// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 964// Family service. 965// 966// * InvalidRequestException 967// This exception is thrown when the client submits a malformed request. 968// 969// * ResourceNotFoundException 970// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 971// Family service. 972// 973// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAccess 974func (c *Transfer) DescribeAccess(input *DescribeAccessInput) (*DescribeAccessOutput, error) { 975 req, out := c.DescribeAccessRequest(input) 976 return out, req.Send() 977} 978 979// DescribeAccessWithContext is the same as DescribeAccess with the addition of 980// the ability to pass a context and additional request options. 981// 982// See DescribeAccess for details on how to use this API operation. 983// 984// The context must be non-nil and will be used for request cancellation. If 985// the context is nil a panic will occur. In the future the SDK may create 986// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 987// for more information on using Contexts. 988func (c *Transfer) DescribeAccessWithContext(ctx aws.Context, input *DescribeAccessInput, opts ...request.Option) (*DescribeAccessOutput, error) { 989 req, out := c.DescribeAccessRequest(input) 990 req.SetContext(ctx) 991 req.ApplyOptions(opts...) 992 return out, req.Send() 993} 994 995const opDescribeExecution = "DescribeExecution" 996 997// DescribeExecutionRequest generates a "aws/request.Request" representing the 998// client's request for the DescribeExecution operation. The "output" return 999// value will be populated with the request's response once the request completes 1000// successfully. 1001// 1002// Use "Send" method on the returned Request to send the API call to the service. 1003// the "output" return value is not valid until after Send returns without error. 1004// 1005// See DescribeExecution for more information on using the DescribeExecution 1006// API call, and error handling. 1007// 1008// This method is useful when you want to inject custom logic or configuration 1009// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1010// 1011// 1012// // Example sending a request using the DescribeExecutionRequest method. 1013// req, resp := client.DescribeExecutionRequest(params) 1014// 1015// err := req.Send() 1016// if err == nil { // resp is now filled 1017// fmt.Println(resp) 1018// } 1019// 1020// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeExecution 1021func (c *Transfer) DescribeExecutionRequest(input *DescribeExecutionInput) (req *request.Request, output *DescribeExecutionOutput) { 1022 op := &request.Operation{ 1023 Name: opDescribeExecution, 1024 HTTPMethod: "POST", 1025 HTTPPath: "/", 1026 } 1027 1028 if input == nil { 1029 input = &DescribeExecutionInput{} 1030 } 1031 1032 output = &DescribeExecutionOutput{} 1033 req = c.newRequest(op, input, output) 1034 return 1035} 1036 1037// DescribeExecution API operation for AWS Transfer Family. 1038// 1039// You can use DescribeExecution to check the details of the execution of the 1040// specified workflow. 1041// 1042// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1043// with awserr.Error's Code and Message methods to get detailed information about 1044// the error. 1045// 1046// See the AWS API reference guide for AWS Transfer Family's 1047// API operation DescribeExecution for usage and error information. 1048// 1049// Returned Error Types: 1050// * ServiceUnavailableException 1051// The request has failed because the Amazon Web ServicesTransfer Family service 1052// is not available. 1053// 1054// * InternalServiceError 1055// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 1056// Family service. 1057// 1058// * InvalidRequestException 1059// This exception is thrown when the client submits a malformed request. 1060// 1061// * ResourceNotFoundException 1062// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 1063// Family service. 1064// 1065// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeExecution 1066func (c *Transfer) DescribeExecution(input *DescribeExecutionInput) (*DescribeExecutionOutput, error) { 1067 req, out := c.DescribeExecutionRequest(input) 1068 return out, req.Send() 1069} 1070 1071// DescribeExecutionWithContext is the same as DescribeExecution with the addition of 1072// the ability to pass a context and additional request options. 1073// 1074// See DescribeExecution for details on how to use this API operation. 1075// 1076// The context must be non-nil and will be used for request cancellation. If 1077// the context is nil a panic will occur. In the future the SDK may create 1078// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1079// for more information on using Contexts. 1080func (c *Transfer) DescribeExecutionWithContext(ctx aws.Context, input *DescribeExecutionInput, opts ...request.Option) (*DescribeExecutionOutput, error) { 1081 req, out := c.DescribeExecutionRequest(input) 1082 req.SetContext(ctx) 1083 req.ApplyOptions(opts...) 1084 return out, req.Send() 1085} 1086 1087const opDescribeSecurityPolicy = "DescribeSecurityPolicy" 1088 1089// DescribeSecurityPolicyRequest generates a "aws/request.Request" representing the 1090// client's request for the DescribeSecurityPolicy operation. The "output" return 1091// value will be populated with the request's response once the request completes 1092// successfully. 1093// 1094// Use "Send" method on the returned Request to send the API call to the service. 1095// the "output" return value is not valid until after Send returns without error. 1096// 1097// See DescribeSecurityPolicy for more information on using the DescribeSecurityPolicy 1098// API call, and error handling. 1099// 1100// This method is useful when you want to inject custom logic or configuration 1101// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1102// 1103// 1104// // Example sending a request using the DescribeSecurityPolicyRequest method. 1105// req, resp := client.DescribeSecurityPolicyRequest(params) 1106// 1107// err := req.Send() 1108// if err == nil { // resp is now filled 1109// fmt.Println(resp) 1110// } 1111// 1112// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeSecurityPolicy 1113func (c *Transfer) DescribeSecurityPolicyRequest(input *DescribeSecurityPolicyInput) (req *request.Request, output *DescribeSecurityPolicyOutput) { 1114 op := &request.Operation{ 1115 Name: opDescribeSecurityPolicy, 1116 HTTPMethod: "POST", 1117 HTTPPath: "/", 1118 } 1119 1120 if input == nil { 1121 input = &DescribeSecurityPolicyInput{} 1122 } 1123 1124 output = &DescribeSecurityPolicyOutput{} 1125 req = c.newRequest(op, input, output) 1126 return 1127} 1128 1129// DescribeSecurityPolicy API operation for AWS Transfer Family. 1130// 1131// Describes the security policy that is attached to your file transfer protocol-enabled 1132// server. The response contains a description of the security policy's properties. 1133// For more information about security policies, see Working with security policies 1134// (https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html). 1135// 1136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1137// with awserr.Error's Code and Message methods to get detailed information about 1138// the error. 1139// 1140// See the AWS API reference guide for AWS Transfer Family's 1141// API operation DescribeSecurityPolicy for usage and error information. 1142// 1143// Returned Error Types: 1144// * ServiceUnavailableException 1145// The request has failed because the Amazon Web ServicesTransfer Family service 1146// is not available. 1147// 1148// * InternalServiceError 1149// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 1150// Family service. 1151// 1152// * InvalidRequestException 1153// This exception is thrown when the client submits a malformed request. 1154// 1155// * ResourceNotFoundException 1156// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 1157// Family service. 1158// 1159// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeSecurityPolicy 1160func (c *Transfer) DescribeSecurityPolicy(input *DescribeSecurityPolicyInput) (*DescribeSecurityPolicyOutput, error) { 1161 req, out := c.DescribeSecurityPolicyRequest(input) 1162 return out, req.Send() 1163} 1164 1165// DescribeSecurityPolicyWithContext is the same as DescribeSecurityPolicy with the addition of 1166// the ability to pass a context and additional request options. 1167// 1168// See DescribeSecurityPolicy for details on how to use this API operation. 1169// 1170// The context must be non-nil and will be used for request cancellation. If 1171// the context is nil a panic will occur. In the future the SDK may create 1172// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1173// for more information on using Contexts. 1174func (c *Transfer) DescribeSecurityPolicyWithContext(ctx aws.Context, input *DescribeSecurityPolicyInput, opts ...request.Option) (*DescribeSecurityPolicyOutput, error) { 1175 req, out := c.DescribeSecurityPolicyRequest(input) 1176 req.SetContext(ctx) 1177 req.ApplyOptions(opts...) 1178 return out, req.Send() 1179} 1180 1181const opDescribeServer = "DescribeServer" 1182 1183// DescribeServerRequest generates a "aws/request.Request" representing the 1184// client's request for the DescribeServer operation. The "output" return 1185// value will be populated with the request's response once the request completes 1186// successfully. 1187// 1188// Use "Send" method on the returned Request to send the API call to the service. 1189// the "output" return value is not valid until after Send returns without error. 1190// 1191// See DescribeServer for more information on using the DescribeServer 1192// API call, and error handling. 1193// 1194// This method is useful when you want to inject custom logic or configuration 1195// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1196// 1197// 1198// // Example sending a request using the DescribeServerRequest method. 1199// req, resp := client.DescribeServerRequest(params) 1200// 1201// err := req.Send() 1202// if err == nil { // resp is now filled 1203// fmt.Println(resp) 1204// } 1205// 1206// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServer 1207func (c *Transfer) DescribeServerRequest(input *DescribeServerInput) (req *request.Request, output *DescribeServerOutput) { 1208 op := &request.Operation{ 1209 Name: opDescribeServer, 1210 HTTPMethod: "POST", 1211 HTTPPath: "/", 1212 } 1213 1214 if input == nil { 1215 input = &DescribeServerInput{} 1216 } 1217 1218 output = &DescribeServerOutput{} 1219 req = c.newRequest(op, input, output) 1220 return 1221} 1222 1223// DescribeServer API operation for AWS Transfer Family. 1224// 1225// Describes a file transfer protocol-enabled server that you specify by passing 1226// the ServerId parameter. 1227// 1228// The response contains a description of a server's properties. When you set 1229// EndpointType to VPC, the response will contain the EndpointDetails. 1230// 1231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1232// with awserr.Error's Code and Message methods to get detailed information about 1233// the error. 1234// 1235// See the AWS API reference guide for AWS Transfer Family's 1236// API operation DescribeServer for usage and error information. 1237// 1238// Returned Error Types: 1239// * ServiceUnavailableException 1240// The request has failed because the Amazon Web ServicesTransfer Family service 1241// is not available. 1242// 1243// * InternalServiceError 1244// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 1245// Family service. 1246// 1247// * InvalidRequestException 1248// This exception is thrown when the client submits a malformed request. 1249// 1250// * ResourceNotFoundException 1251// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 1252// Family service. 1253// 1254// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServer 1255func (c *Transfer) DescribeServer(input *DescribeServerInput) (*DescribeServerOutput, error) { 1256 req, out := c.DescribeServerRequest(input) 1257 return out, req.Send() 1258} 1259 1260// DescribeServerWithContext is the same as DescribeServer with the addition of 1261// the ability to pass a context and additional request options. 1262// 1263// See DescribeServer for details on how to use this API operation. 1264// 1265// The context must be non-nil and will be used for request cancellation. If 1266// the context is nil a panic will occur. In the future the SDK may create 1267// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1268// for more information on using Contexts. 1269func (c *Transfer) DescribeServerWithContext(ctx aws.Context, input *DescribeServerInput, opts ...request.Option) (*DescribeServerOutput, error) { 1270 req, out := c.DescribeServerRequest(input) 1271 req.SetContext(ctx) 1272 req.ApplyOptions(opts...) 1273 return out, req.Send() 1274} 1275 1276const opDescribeUser = "DescribeUser" 1277 1278// DescribeUserRequest generates a "aws/request.Request" representing the 1279// client's request for the DescribeUser operation. The "output" return 1280// value will be populated with the request's response once the request completes 1281// successfully. 1282// 1283// Use "Send" method on the returned Request to send the API call to the service. 1284// the "output" return value is not valid until after Send returns without error. 1285// 1286// See DescribeUser for more information on using the DescribeUser 1287// API call, and error handling. 1288// 1289// This method is useful when you want to inject custom logic or configuration 1290// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1291// 1292// 1293// // Example sending a request using the DescribeUserRequest method. 1294// req, resp := client.DescribeUserRequest(params) 1295// 1296// err := req.Send() 1297// if err == nil { // resp is now filled 1298// fmt.Println(resp) 1299// } 1300// 1301// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUser 1302func (c *Transfer) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) { 1303 op := &request.Operation{ 1304 Name: opDescribeUser, 1305 HTTPMethod: "POST", 1306 HTTPPath: "/", 1307 } 1308 1309 if input == nil { 1310 input = &DescribeUserInput{} 1311 } 1312 1313 output = &DescribeUserOutput{} 1314 req = c.newRequest(op, input, output) 1315 return 1316} 1317 1318// DescribeUser API operation for AWS Transfer Family. 1319// 1320// Describes the user assigned to the specific file transfer protocol-enabled 1321// server, as identified by its ServerId property. 1322// 1323// The response from this call returns the properties of the user associated 1324// with the ServerId value that was specified. 1325// 1326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1327// with awserr.Error's Code and Message methods to get detailed information about 1328// the error. 1329// 1330// See the AWS API reference guide for AWS Transfer Family's 1331// API operation DescribeUser for usage and error information. 1332// 1333// Returned Error Types: 1334// * ServiceUnavailableException 1335// The request has failed because the Amazon Web ServicesTransfer Family service 1336// is not available. 1337// 1338// * InternalServiceError 1339// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 1340// Family service. 1341// 1342// * InvalidRequestException 1343// This exception is thrown when the client submits a malformed request. 1344// 1345// * ResourceNotFoundException 1346// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 1347// Family service. 1348// 1349// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUser 1350func (c *Transfer) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) { 1351 req, out := c.DescribeUserRequest(input) 1352 return out, req.Send() 1353} 1354 1355// DescribeUserWithContext is the same as DescribeUser with the addition of 1356// the ability to pass a context and additional request options. 1357// 1358// See DescribeUser for details on how to use this API operation. 1359// 1360// The context must be non-nil and will be used for request cancellation. If 1361// the context is nil a panic will occur. In the future the SDK may create 1362// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1363// for more information on using Contexts. 1364func (c *Transfer) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) { 1365 req, out := c.DescribeUserRequest(input) 1366 req.SetContext(ctx) 1367 req.ApplyOptions(opts...) 1368 return out, req.Send() 1369} 1370 1371const opDescribeWorkflow = "DescribeWorkflow" 1372 1373// DescribeWorkflowRequest generates a "aws/request.Request" representing the 1374// client's request for the DescribeWorkflow operation. The "output" return 1375// value will be populated with the request's response once the request completes 1376// successfully. 1377// 1378// Use "Send" method on the returned Request to send the API call to the service. 1379// the "output" return value is not valid until after Send returns without error. 1380// 1381// See DescribeWorkflow for more information on using the DescribeWorkflow 1382// API call, and error handling. 1383// 1384// This method is useful when you want to inject custom logic or configuration 1385// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1386// 1387// 1388// // Example sending a request using the DescribeWorkflowRequest method. 1389// req, resp := client.DescribeWorkflowRequest(params) 1390// 1391// err := req.Send() 1392// if err == nil { // resp is now filled 1393// fmt.Println(resp) 1394// } 1395// 1396// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeWorkflow 1397func (c *Transfer) DescribeWorkflowRequest(input *DescribeWorkflowInput) (req *request.Request, output *DescribeWorkflowOutput) { 1398 op := &request.Operation{ 1399 Name: opDescribeWorkflow, 1400 HTTPMethod: "POST", 1401 HTTPPath: "/", 1402 } 1403 1404 if input == nil { 1405 input = &DescribeWorkflowInput{} 1406 } 1407 1408 output = &DescribeWorkflowOutput{} 1409 req = c.newRequest(op, input, output) 1410 return 1411} 1412 1413// DescribeWorkflow API operation for AWS Transfer Family. 1414// 1415// Describes the specified workflow. 1416// 1417// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1418// with awserr.Error's Code and Message methods to get detailed information about 1419// the error. 1420// 1421// See the AWS API reference guide for AWS Transfer Family's 1422// API operation DescribeWorkflow for usage and error information. 1423// 1424// Returned Error Types: 1425// * ServiceUnavailableException 1426// The request has failed because the Amazon Web ServicesTransfer Family service 1427// is not available. 1428// 1429// * InternalServiceError 1430// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 1431// Family service. 1432// 1433// * InvalidRequestException 1434// This exception is thrown when the client submits a malformed request. 1435// 1436// * ResourceNotFoundException 1437// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 1438// Family service. 1439// 1440// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeWorkflow 1441func (c *Transfer) DescribeWorkflow(input *DescribeWorkflowInput) (*DescribeWorkflowOutput, error) { 1442 req, out := c.DescribeWorkflowRequest(input) 1443 return out, req.Send() 1444} 1445 1446// DescribeWorkflowWithContext is the same as DescribeWorkflow with the addition of 1447// the ability to pass a context and additional request options. 1448// 1449// See DescribeWorkflow for details on how to use this API operation. 1450// 1451// The context must be non-nil and will be used for request cancellation. If 1452// the context is nil a panic will occur. In the future the SDK may create 1453// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1454// for more information on using Contexts. 1455func (c *Transfer) DescribeWorkflowWithContext(ctx aws.Context, input *DescribeWorkflowInput, opts ...request.Option) (*DescribeWorkflowOutput, error) { 1456 req, out := c.DescribeWorkflowRequest(input) 1457 req.SetContext(ctx) 1458 req.ApplyOptions(opts...) 1459 return out, req.Send() 1460} 1461 1462const opImportSshPublicKey = "ImportSshPublicKey" 1463 1464// ImportSshPublicKeyRequest generates a "aws/request.Request" representing the 1465// client's request for the ImportSshPublicKey operation. The "output" return 1466// value will be populated with the request's response once the request completes 1467// successfully. 1468// 1469// Use "Send" method on the returned Request to send the API call to the service. 1470// the "output" return value is not valid until after Send returns without error. 1471// 1472// See ImportSshPublicKey for more information on using the ImportSshPublicKey 1473// API call, and error handling. 1474// 1475// This method is useful when you want to inject custom logic or configuration 1476// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1477// 1478// 1479// // Example sending a request using the ImportSshPublicKeyRequest method. 1480// req, resp := client.ImportSshPublicKeyRequest(params) 1481// 1482// err := req.Send() 1483// if err == nil { // resp is now filled 1484// fmt.Println(resp) 1485// } 1486// 1487// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportSshPublicKey 1488func (c *Transfer) ImportSshPublicKeyRequest(input *ImportSshPublicKeyInput) (req *request.Request, output *ImportSshPublicKeyOutput) { 1489 op := &request.Operation{ 1490 Name: opImportSshPublicKey, 1491 HTTPMethod: "POST", 1492 HTTPPath: "/", 1493 } 1494 1495 if input == nil { 1496 input = &ImportSshPublicKeyInput{} 1497 } 1498 1499 output = &ImportSshPublicKeyOutput{} 1500 req = c.newRequest(op, input, output) 1501 return 1502} 1503 1504// ImportSshPublicKey API operation for AWS Transfer Family. 1505// 1506// Adds a Secure Shell (SSH) public key to a user account identified by a UserName 1507// value assigned to the specific file transfer protocol-enabled server, identified 1508// by ServerId. 1509// 1510// The response returns the UserName value, the ServerId value, and the name 1511// of the SshPublicKeyId. 1512// 1513// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1514// with awserr.Error's Code and Message methods to get detailed information about 1515// the error. 1516// 1517// See the AWS API reference guide for AWS Transfer Family's 1518// API operation ImportSshPublicKey for usage and error information. 1519// 1520// Returned Error Types: 1521// * ServiceUnavailableException 1522// The request has failed because the Amazon Web ServicesTransfer Family service 1523// is not available. 1524// 1525// * InternalServiceError 1526// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 1527// Family service. 1528// 1529// * InvalidRequestException 1530// This exception is thrown when the client submits a malformed request. 1531// 1532// * ResourceExistsException 1533// The requested resource does not exist. 1534// 1535// * ResourceNotFoundException 1536// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 1537// Family service. 1538// 1539// * ThrottlingException 1540// The request was denied due to request throttling. 1541// 1542// HTTP Status Code: 400 1543// 1544// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportSshPublicKey 1545func (c *Transfer) ImportSshPublicKey(input *ImportSshPublicKeyInput) (*ImportSshPublicKeyOutput, error) { 1546 req, out := c.ImportSshPublicKeyRequest(input) 1547 return out, req.Send() 1548} 1549 1550// ImportSshPublicKeyWithContext is the same as ImportSshPublicKey with the addition of 1551// the ability to pass a context and additional request options. 1552// 1553// See ImportSshPublicKey for details on how to use this API operation. 1554// 1555// The context must be non-nil and will be used for request cancellation. If 1556// the context is nil a panic will occur. In the future the SDK may create 1557// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1558// for more information on using Contexts. 1559func (c *Transfer) ImportSshPublicKeyWithContext(ctx aws.Context, input *ImportSshPublicKeyInput, opts ...request.Option) (*ImportSshPublicKeyOutput, error) { 1560 req, out := c.ImportSshPublicKeyRequest(input) 1561 req.SetContext(ctx) 1562 req.ApplyOptions(opts...) 1563 return out, req.Send() 1564} 1565 1566const opListAccesses = "ListAccesses" 1567 1568// ListAccessesRequest generates a "aws/request.Request" representing the 1569// client's request for the ListAccesses operation. The "output" return 1570// value will be populated with the request's response once the request completes 1571// successfully. 1572// 1573// Use "Send" method on the returned Request to send the API call to the service. 1574// the "output" return value is not valid until after Send returns without error. 1575// 1576// See ListAccesses for more information on using the ListAccesses 1577// API call, and error handling. 1578// 1579// This method is useful when you want to inject custom logic or configuration 1580// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1581// 1582// 1583// // Example sending a request using the ListAccessesRequest method. 1584// req, resp := client.ListAccessesRequest(params) 1585// 1586// err := req.Send() 1587// if err == nil { // resp is now filled 1588// fmt.Println(resp) 1589// } 1590// 1591// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAccesses 1592func (c *Transfer) ListAccessesRequest(input *ListAccessesInput) (req *request.Request, output *ListAccessesOutput) { 1593 op := &request.Operation{ 1594 Name: opListAccesses, 1595 HTTPMethod: "POST", 1596 HTTPPath: "/", 1597 Paginator: &request.Paginator{ 1598 InputTokens: []string{"NextToken"}, 1599 OutputTokens: []string{"NextToken"}, 1600 LimitToken: "MaxResults", 1601 TruncationToken: "", 1602 }, 1603 } 1604 1605 if input == nil { 1606 input = &ListAccessesInput{} 1607 } 1608 1609 output = &ListAccessesOutput{} 1610 req = c.newRequest(op, input, output) 1611 return 1612} 1613 1614// ListAccesses API operation for AWS Transfer Family. 1615// 1616// Lists the details for all the accesses you have on your server. 1617// 1618// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1619// with awserr.Error's Code and Message methods to get detailed information about 1620// the error. 1621// 1622// See the AWS API reference guide for AWS Transfer Family's 1623// API operation ListAccesses for usage and error information. 1624// 1625// Returned Error Types: 1626// * ServiceUnavailableException 1627// The request has failed because the Amazon Web ServicesTransfer Family service 1628// is not available. 1629// 1630// * InternalServiceError 1631// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 1632// Family service. 1633// 1634// * InvalidNextTokenException 1635// The NextToken parameter that was passed is invalid. 1636// 1637// * InvalidRequestException 1638// This exception is thrown when the client submits a malformed request. 1639// 1640// * ResourceNotFoundException 1641// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 1642// Family service. 1643// 1644// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAccesses 1645func (c *Transfer) ListAccesses(input *ListAccessesInput) (*ListAccessesOutput, error) { 1646 req, out := c.ListAccessesRequest(input) 1647 return out, req.Send() 1648} 1649 1650// ListAccessesWithContext is the same as ListAccesses with the addition of 1651// the ability to pass a context and additional request options. 1652// 1653// See ListAccesses for details on how to use this API operation. 1654// 1655// The context must be non-nil and will be used for request cancellation. If 1656// the context is nil a panic will occur. In the future the SDK may create 1657// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1658// for more information on using Contexts. 1659func (c *Transfer) ListAccessesWithContext(ctx aws.Context, input *ListAccessesInput, opts ...request.Option) (*ListAccessesOutput, error) { 1660 req, out := c.ListAccessesRequest(input) 1661 req.SetContext(ctx) 1662 req.ApplyOptions(opts...) 1663 return out, req.Send() 1664} 1665 1666// ListAccessesPages iterates over the pages of a ListAccesses operation, 1667// calling the "fn" function with the response data for each page. To stop 1668// iterating, return false from the fn function. 1669// 1670// See ListAccesses method for more information on how to use this operation. 1671// 1672// Note: This operation can generate multiple requests to a service. 1673// 1674// // Example iterating over at most 3 pages of a ListAccesses operation. 1675// pageNum := 0 1676// err := client.ListAccessesPages(params, 1677// func(page *transfer.ListAccessesOutput, lastPage bool) bool { 1678// pageNum++ 1679// fmt.Println(page) 1680// return pageNum <= 3 1681// }) 1682// 1683func (c *Transfer) ListAccessesPages(input *ListAccessesInput, fn func(*ListAccessesOutput, bool) bool) error { 1684 return c.ListAccessesPagesWithContext(aws.BackgroundContext(), input, fn) 1685} 1686 1687// ListAccessesPagesWithContext same as ListAccessesPages except 1688// it takes a Context and allows setting request options on the pages. 1689// 1690// The context must be non-nil and will be used for request cancellation. If 1691// the context is nil a panic will occur. In the future the SDK may create 1692// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1693// for more information on using Contexts. 1694func (c *Transfer) ListAccessesPagesWithContext(ctx aws.Context, input *ListAccessesInput, fn func(*ListAccessesOutput, bool) bool, opts ...request.Option) error { 1695 p := request.Pagination{ 1696 NewRequest: func() (*request.Request, error) { 1697 var inCpy *ListAccessesInput 1698 if input != nil { 1699 tmp := *input 1700 inCpy = &tmp 1701 } 1702 req, _ := c.ListAccessesRequest(inCpy) 1703 req.SetContext(ctx) 1704 req.ApplyOptions(opts...) 1705 return req, nil 1706 }, 1707 } 1708 1709 for p.Next() { 1710 if !fn(p.Page().(*ListAccessesOutput), !p.HasNextPage()) { 1711 break 1712 } 1713 } 1714 1715 return p.Err() 1716} 1717 1718const opListExecutions = "ListExecutions" 1719 1720// ListExecutionsRequest generates a "aws/request.Request" representing the 1721// client's request for the ListExecutions operation. The "output" return 1722// value will be populated with the request's response once the request completes 1723// successfully. 1724// 1725// Use "Send" method on the returned Request to send the API call to the service. 1726// the "output" return value is not valid until after Send returns without error. 1727// 1728// See ListExecutions for more information on using the ListExecutions 1729// API call, and error handling. 1730// 1731// This method is useful when you want to inject custom logic or configuration 1732// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1733// 1734// 1735// // Example sending a request using the ListExecutionsRequest method. 1736// req, resp := client.ListExecutionsRequest(params) 1737// 1738// err := req.Send() 1739// if err == nil { // resp is now filled 1740// fmt.Println(resp) 1741// } 1742// 1743// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListExecutions 1744func (c *Transfer) ListExecutionsRequest(input *ListExecutionsInput) (req *request.Request, output *ListExecutionsOutput) { 1745 op := &request.Operation{ 1746 Name: opListExecutions, 1747 HTTPMethod: "POST", 1748 HTTPPath: "/", 1749 Paginator: &request.Paginator{ 1750 InputTokens: []string{"NextToken"}, 1751 OutputTokens: []string{"NextToken"}, 1752 LimitToken: "MaxResults", 1753 TruncationToken: "", 1754 }, 1755 } 1756 1757 if input == nil { 1758 input = &ListExecutionsInput{} 1759 } 1760 1761 output = &ListExecutionsOutput{} 1762 req = c.newRequest(op, input, output) 1763 return 1764} 1765 1766// ListExecutions API operation for AWS Transfer Family. 1767// 1768// Lists all executions for the specified workflow. 1769// 1770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1771// with awserr.Error's Code and Message methods to get detailed information about 1772// the error. 1773// 1774// See the AWS API reference guide for AWS Transfer Family's 1775// API operation ListExecutions for usage and error information. 1776// 1777// Returned Error Types: 1778// * ServiceUnavailableException 1779// The request has failed because the Amazon Web ServicesTransfer Family service 1780// is not available. 1781// 1782// * InternalServiceError 1783// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 1784// Family service. 1785// 1786// * InvalidNextTokenException 1787// The NextToken parameter that was passed is invalid. 1788// 1789// * InvalidRequestException 1790// This exception is thrown when the client submits a malformed request. 1791// 1792// * ResourceNotFoundException 1793// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 1794// Family service. 1795// 1796// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListExecutions 1797func (c *Transfer) ListExecutions(input *ListExecutionsInput) (*ListExecutionsOutput, error) { 1798 req, out := c.ListExecutionsRequest(input) 1799 return out, req.Send() 1800} 1801 1802// ListExecutionsWithContext is the same as ListExecutions with the addition of 1803// the ability to pass a context and additional request options. 1804// 1805// See ListExecutions for details on how to use this API operation. 1806// 1807// The context must be non-nil and will be used for request cancellation. If 1808// the context is nil a panic will occur. In the future the SDK may create 1809// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1810// for more information on using Contexts. 1811func (c *Transfer) ListExecutionsWithContext(ctx aws.Context, input *ListExecutionsInput, opts ...request.Option) (*ListExecutionsOutput, error) { 1812 req, out := c.ListExecutionsRequest(input) 1813 req.SetContext(ctx) 1814 req.ApplyOptions(opts...) 1815 return out, req.Send() 1816} 1817 1818// ListExecutionsPages iterates over the pages of a ListExecutions operation, 1819// calling the "fn" function with the response data for each page. To stop 1820// iterating, return false from the fn function. 1821// 1822// See ListExecutions method for more information on how to use this operation. 1823// 1824// Note: This operation can generate multiple requests to a service. 1825// 1826// // Example iterating over at most 3 pages of a ListExecutions operation. 1827// pageNum := 0 1828// err := client.ListExecutionsPages(params, 1829// func(page *transfer.ListExecutionsOutput, lastPage bool) bool { 1830// pageNum++ 1831// fmt.Println(page) 1832// return pageNum <= 3 1833// }) 1834// 1835func (c *Transfer) ListExecutionsPages(input *ListExecutionsInput, fn func(*ListExecutionsOutput, bool) bool) error { 1836 return c.ListExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) 1837} 1838 1839// ListExecutionsPagesWithContext same as ListExecutionsPages except 1840// it takes a Context and allows setting request options on the pages. 1841// 1842// The context must be non-nil and will be used for request cancellation. If 1843// the context is nil a panic will occur. In the future the SDK may create 1844// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1845// for more information on using Contexts. 1846func (c *Transfer) ListExecutionsPagesWithContext(ctx aws.Context, input *ListExecutionsInput, fn func(*ListExecutionsOutput, bool) bool, opts ...request.Option) error { 1847 p := request.Pagination{ 1848 NewRequest: func() (*request.Request, error) { 1849 var inCpy *ListExecutionsInput 1850 if input != nil { 1851 tmp := *input 1852 inCpy = &tmp 1853 } 1854 req, _ := c.ListExecutionsRequest(inCpy) 1855 req.SetContext(ctx) 1856 req.ApplyOptions(opts...) 1857 return req, nil 1858 }, 1859 } 1860 1861 for p.Next() { 1862 if !fn(p.Page().(*ListExecutionsOutput), !p.HasNextPage()) { 1863 break 1864 } 1865 } 1866 1867 return p.Err() 1868} 1869 1870const opListSecurityPolicies = "ListSecurityPolicies" 1871 1872// ListSecurityPoliciesRequest generates a "aws/request.Request" representing the 1873// client's request for the ListSecurityPolicies operation. The "output" return 1874// value will be populated with the request's response once the request completes 1875// successfully. 1876// 1877// Use "Send" method on the returned Request to send the API call to the service. 1878// the "output" return value is not valid until after Send returns without error. 1879// 1880// See ListSecurityPolicies for more information on using the ListSecurityPolicies 1881// API call, and error handling. 1882// 1883// This method is useful when you want to inject custom logic or configuration 1884// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1885// 1886// 1887// // Example sending a request using the ListSecurityPoliciesRequest method. 1888// req, resp := client.ListSecurityPoliciesRequest(params) 1889// 1890// err := req.Send() 1891// if err == nil { // resp is now filled 1892// fmt.Println(resp) 1893// } 1894// 1895// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListSecurityPolicies 1896func (c *Transfer) ListSecurityPoliciesRequest(input *ListSecurityPoliciesInput) (req *request.Request, output *ListSecurityPoliciesOutput) { 1897 op := &request.Operation{ 1898 Name: opListSecurityPolicies, 1899 HTTPMethod: "POST", 1900 HTTPPath: "/", 1901 Paginator: &request.Paginator{ 1902 InputTokens: []string{"NextToken"}, 1903 OutputTokens: []string{"NextToken"}, 1904 LimitToken: "MaxResults", 1905 TruncationToken: "", 1906 }, 1907 } 1908 1909 if input == nil { 1910 input = &ListSecurityPoliciesInput{} 1911 } 1912 1913 output = &ListSecurityPoliciesOutput{} 1914 req = c.newRequest(op, input, output) 1915 return 1916} 1917 1918// ListSecurityPolicies API operation for AWS Transfer Family. 1919// 1920// Lists the security policies that are attached to your file transfer protocol-enabled 1921// servers. 1922// 1923// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1924// with awserr.Error's Code and Message methods to get detailed information about 1925// the error. 1926// 1927// See the AWS API reference guide for AWS Transfer Family's 1928// API operation ListSecurityPolicies for usage and error information. 1929// 1930// Returned Error Types: 1931// * ServiceUnavailableException 1932// The request has failed because the Amazon Web ServicesTransfer Family service 1933// is not available. 1934// 1935// * InternalServiceError 1936// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 1937// Family service. 1938// 1939// * InvalidNextTokenException 1940// The NextToken parameter that was passed is invalid. 1941// 1942// * InvalidRequestException 1943// This exception is thrown when the client submits a malformed request. 1944// 1945// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListSecurityPolicies 1946func (c *Transfer) ListSecurityPolicies(input *ListSecurityPoliciesInput) (*ListSecurityPoliciesOutput, error) { 1947 req, out := c.ListSecurityPoliciesRequest(input) 1948 return out, req.Send() 1949} 1950 1951// ListSecurityPoliciesWithContext is the same as ListSecurityPolicies with the addition of 1952// the ability to pass a context and additional request options. 1953// 1954// See ListSecurityPolicies for details on how to use this API operation. 1955// 1956// The context must be non-nil and will be used for request cancellation. If 1957// the context is nil a panic will occur. In the future the SDK may create 1958// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1959// for more information on using Contexts. 1960func (c *Transfer) ListSecurityPoliciesWithContext(ctx aws.Context, input *ListSecurityPoliciesInput, opts ...request.Option) (*ListSecurityPoliciesOutput, error) { 1961 req, out := c.ListSecurityPoliciesRequest(input) 1962 req.SetContext(ctx) 1963 req.ApplyOptions(opts...) 1964 return out, req.Send() 1965} 1966 1967// ListSecurityPoliciesPages iterates over the pages of a ListSecurityPolicies operation, 1968// calling the "fn" function with the response data for each page. To stop 1969// iterating, return false from the fn function. 1970// 1971// See ListSecurityPolicies method for more information on how to use this operation. 1972// 1973// Note: This operation can generate multiple requests to a service. 1974// 1975// // Example iterating over at most 3 pages of a ListSecurityPolicies operation. 1976// pageNum := 0 1977// err := client.ListSecurityPoliciesPages(params, 1978// func(page *transfer.ListSecurityPoliciesOutput, lastPage bool) bool { 1979// pageNum++ 1980// fmt.Println(page) 1981// return pageNum <= 3 1982// }) 1983// 1984func (c *Transfer) ListSecurityPoliciesPages(input *ListSecurityPoliciesInput, fn func(*ListSecurityPoliciesOutput, bool) bool) error { 1985 return c.ListSecurityPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 1986} 1987 1988// ListSecurityPoliciesPagesWithContext same as ListSecurityPoliciesPages except 1989// it takes a Context and allows setting request options on the pages. 1990// 1991// The context must be non-nil and will be used for request cancellation. If 1992// the context is nil a panic will occur. In the future the SDK may create 1993// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1994// for more information on using Contexts. 1995func (c *Transfer) ListSecurityPoliciesPagesWithContext(ctx aws.Context, input *ListSecurityPoliciesInput, fn func(*ListSecurityPoliciesOutput, bool) bool, opts ...request.Option) error { 1996 p := request.Pagination{ 1997 NewRequest: func() (*request.Request, error) { 1998 var inCpy *ListSecurityPoliciesInput 1999 if input != nil { 2000 tmp := *input 2001 inCpy = &tmp 2002 } 2003 req, _ := c.ListSecurityPoliciesRequest(inCpy) 2004 req.SetContext(ctx) 2005 req.ApplyOptions(opts...) 2006 return req, nil 2007 }, 2008 } 2009 2010 for p.Next() { 2011 if !fn(p.Page().(*ListSecurityPoliciesOutput), !p.HasNextPage()) { 2012 break 2013 } 2014 } 2015 2016 return p.Err() 2017} 2018 2019const opListServers = "ListServers" 2020 2021// ListServersRequest generates a "aws/request.Request" representing the 2022// client's request for the ListServers operation. The "output" return 2023// value will be populated with the request's response once the request completes 2024// successfully. 2025// 2026// Use "Send" method on the returned Request to send the API call to the service. 2027// the "output" return value is not valid until after Send returns without error. 2028// 2029// See ListServers for more information on using the ListServers 2030// API call, and error handling. 2031// 2032// This method is useful when you want to inject custom logic or configuration 2033// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2034// 2035// 2036// // Example sending a request using the ListServersRequest method. 2037// req, resp := client.ListServersRequest(params) 2038// 2039// err := req.Send() 2040// if err == nil { // resp is now filled 2041// fmt.Println(resp) 2042// } 2043// 2044// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListServers 2045func (c *Transfer) ListServersRequest(input *ListServersInput) (req *request.Request, output *ListServersOutput) { 2046 op := &request.Operation{ 2047 Name: opListServers, 2048 HTTPMethod: "POST", 2049 HTTPPath: "/", 2050 Paginator: &request.Paginator{ 2051 InputTokens: []string{"NextToken"}, 2052 OutputTokens: []string{"NextToken"}, 2053 LimitToken: "MaxResults", 2054 TruncationToken: "", 2055 }, 2056 } 2057 2058 if input == nil { 2059 input = &ListServersInput{} 2060 } 2061 2062 output = &ListServersOutput{} 2063 req = c.newRequest(op, input, output) 2064 return 2065} 2066 2067// ListServers API operation for AWS Transfer Family. 2068// 2069// Lists the file transfer protocol-enabled servers that are associated with 2070// your Amazon Web Services account. 2071// 2072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2073// with awserr.Error's Code and Message methods to get detailed information about 2074// the error. 2075// 2076// See the AWS API reference guide for AWS Transfer Family's 2077// API operation ListServers for usage and error information. 2078// 2079// Returned Error Types: 2080// * ServiceUnavailableException 2081// The request has failed because the Amazon Web ServicesTransfer Family service 2082// is not available. 2083// 2084// * InternalServiceError 2085// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 2086// Family service. 2087// 2088// * InvalidNextTokenException 2089// The NextToken parameter that was passed is invalid. 2090// 2091// * InvalidRequestException 2092// This exception is thrown when the client submits a malformed request. 2093// 2094// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListServers 2095func (c *Transfer) ListServers(input *ListServersInput) (*ListServersOutput, error) { 2096 req, out := c.ListServersRequest(input) 2097 return out, req.Send() 2098} 2099 2100// ListServersWithContext is the same as ListServers with the addition of 2101// the ability to pass a context and additional request options. 2102// 2103// See ListServers for details on how to use this API operation. 2104// 2105// The context must be non-nil and will be used for request cancellation. If 2106// the context is nil a panic will occur. In the future the SDK may create 2107// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2108// for more information on using Contexts. 2109func (c *Transfer) ListServersWithContext(ctx aws.Context, input *ListServersInput, opts ...request.Option) (*ListServersOutput, error) { 2110 req, out := c.ListServersRequest(input) 2111 req.SetContext(ctx) 2112 req.ApplyOptions(opts...) 2113 return out, req.Send() 2114} 2115 2116// ListServersPages iterates over the pages of a ListServers operation, 2117// calling the "fn" function with the response data for each page. To stop 2118// iterating, return false from the fn function. 2119// 2120// See ListServers method for more information on how to use this operation. 2121// 2122// Note: This operation can generate multiple requests to a service. 2123// 2124// // Example iterating over at most 3 pages of a ListServers operation. 2125// pageNum := 0 2126// err := client.ListServersPages(params, 2127// func(page *transfer.ListServersOutput, lastPage bool) bool { 2128// pageNum++ 2129// fmt.Println(page) 2130// return pageNum <= 3 2131// }) 2132// 2133func (c *Transfer) ListServersPages(input *ListServersInput, fn func(*ListServersOutput, bool) bool) error { 2134 return c.ListServersPagesWithContext(aws.BackgroundContext(), input, fn) 2135} 2136 2137// ListServersPagesWithContext same as ListServersPages except 2138// it takes a Context and allows setting request options on the pages. 2139// 2140// The context must be non-nil and will be used for request cancellation. If 2141// the context is nil a panic will occur. In the future the SDK may create 2142// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2143// for more information on using Contexts. 2144func (c *Transfer) ListServersPagesWithContext(ctx aws.Context, input *ListServersInput, fn func(*ListServersOutput, bool) bool, opts ...request.Option) error { 2145 p := request.Pagination{ 2146 NewRequest: func() (*request.Request, error) { 2147 var inCpy *ListServersInput 2148 if input != nil { 2149 tmp := *input 2150 inCpy = &tmp 2151 } 2152 req, _ := c.ListServersRequest(inCpy) 2153 req.SetContext(ctx) 2154 req.ApplyOptions(opts...) 2155 return req, nil 2156 }, 2157 } 2158 2159 for p.Next() { 2160 if !fn(p.Page().(*ListServersOutput), !p.HasNextPage()) { 2161 break 2162 } 2163 } 2164 2165 return p.Err() 2166} 2167 2168const opListTagsForResource = "ListTagsForResource" 2169 2170// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2171// client's request for the ListTagsForResource operation. The "output" return 2172// value will be populated with the request's response once the request completes 2173// successfully. 2174// 2175// Use "Send" method on the returned Request to send the API call to the service. 2176// the "output" return value is not valid until after Send returns without error. 2177// 2178// See ListTagsForResource for more information on using the ListTagsForResource 2179// API call, and error handling. 2180// 2181// This method is useful when you want to inject custom logic or configuration 2182// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2183// 2184// 2185// // Example sending a request using the ListTagsForResourceRequest method. 2186// req, resp := client.ListTagsForResourceRequest(params) 2187// 2188// err := req.Send() 2189// if err == nil { // resp is now filled 2190// fmt.Println(resp) 2191// } 2192// 2193// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListTagsForResource 2194func (c *Transfer) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2195 op := &request.Operation{ 2196 Name: opListTagsForResource, 2197 HTTPMethod: "POST", 2198 HTTPPath: "/", 2199 Paginator: &request.Paginator{ 2200 InputTokens: []string{"NextToken"}, 2201 OutputTokens: []string{"NextToken"}, 2202 LimitToken: "MaxResults", 2203 TruncationToken: "", 2204 }, 2205 } 2206 2207 if input == nil { 2208 input = &ListTagsForResourceInput{} 2209 } 2210 2211 output = &ListTagsForResourceOutput{} 2212 req = c.newRequest(op, input, output) 2213 return 2214} 2215 2216// ListTagsForResource API operation for AWS Transfer Family. 2217// 2218// Lists all of the tags associated with the Amazon Resource Name (ARN) that 2219// you specify. The resource can be a user, server, or role. 2220// 2221// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2222// with awserr.Error's Code and Message methods to get detailed information about 2223// the error. 2224// 2225// See the AWS API reference guide for AWS Transfer Family's 2226// API operation ListTagsForResource for usage and error information. 2227// 2228// Returned Error Types: 2229// * ServiceUnavailableException 2230// The request has failed because the Amazon Web ServicesTransfer Family service 2231// is not available. 2232// 2233// * InternalServiceError 2234// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 2235// Family service. 2236// 2237// * InvalidNextTokenException 2238// The NextToken parameter that was passed is invalid. 2239// 2240// * InvalidRequestException 2241// This exception is thrown when the client submits a malformed request. 2242// 2243// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListTagsForResource 2244func (c *Transfer) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2245 req, out := c.ListTagsForResourceRequest(input) 2246 return out, req.Send() 2247} 2248 2249// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2250// the ability to pass a context and additional request options. 2251// 2252// See ListTagsForResource for details on how to use this API operation. 2253// 2254// The context must be non-nil and will be used for request cancellation. If 2255// the context is nil a panic will occur. In the future the SDK may create 2256// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2257// for more information on using Contexts. 2258func (c *Transfer) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2259 req, out := c.ListTagsForResourceRequest(input) 2260 req.SetContext(ctx) 2261 req.ApplyOptions(opts...) 2262 return out, req.Send() 2263} 2264 2265// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, 2266// calling the "fn" function with the response data for each page. To stop 2267// iterating, return false from the fn function. 2268// 2269// See ListTagsForResource method for more information on how to use this operation. 2270// 2271// Note: This operation can generate multiple requests to a service. 2272// 2273// // Example iterating over at most 3 pages of a ListTagsForResource operation. 2274// pageNum := 0 2275// err := client.ListTagsForResourcePages(params, 2276// func(page *transfer.ListTagsForResourceOutput, lastPage bool) bool { 2277// pageNum++ 2278// fmt.Println(page) 2279// return pageNum <= 3 2280// }) 2281// 2282func (c *Transfer) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { 2283 return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) 2284} 2285 2286// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except 2287// it takes a Context and allows setting request options on the pages. 2288// 2289// The context must be non-nil and will be used for request cancellation. If 2290// the context is nil a panic will occur. In the future the SDK may create 2291// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2292// for more information on using Contexts. 2293func (c *Transfer) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { 2294 p := request.Pagination{ 2295 NewRequest: func() (*request.Request, error) { 2296 var inCpy *ListTagsForResourceInput 2297 if input != nil { 2298 tmp := *input 2299 inCpy = &tmp 2300 } 2301 req, _ := c.ListTagsForResourceRequest(inCpy) 2302 req.SetContext(ctx) 2303 req.ApplyOptions(opts...) 2304 return req, nil 2305 }, 2306 } 2307 2308 for p.Next() { 2309 if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { 2310 break 2311 } 2312 } 2313 2314 return p.Err() 2315} 2316 2317const opListUsers = "ListUsers" 2318 2319// ListUsersRequest generates a "aws/request.Request" representing the 2320// client's request for the ListUsers operation. The "output" return 2321// value will be populated with the request's response once the request completes 2322// successfully. 2323// 2324// Use "Send" method on the returned Request to send the API call to the service. 2325// the "output" return value is not valid until after Send returns without error. 2326// 2327// See ListUsers for more information on using the ListUsers 2328// API call, and error handling. 2329// 2330// This method is useful when you want to inject custom logic or configuration 2331// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2332// 2333// 2334// // Example sending a request using the ListUsersRequest method. 2335// req, resp := client.ListUsersRequest(params) 2336// 2337// err := req.Send() 2338// if err == nil { // resp is now filled 2339// fmt.Println(resp) 2340// } 2341// 2342// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListUsers 2343func (c *Transfer) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { 2344 op := &request.Operation{ 2345 Name: opListUsers, 2346 HTTPMethod: "POST", 2347 HTTPPath: "/", 2348 Paginator: &request.Paginator{ 2349 InputTokens: []string{"NextToken"}, 2350 OutputTokens: []string{"NextToken"}, 2351 LimitToken: "MaxResults", 2352 TruncationToken: "", 2353 }, 2354 } 2355 2356 if input == nil { 2357 input = &ListUsersInput{} 2358 } 2359 2360 output = &ListUsersOutput{} 2361 req = c.newRequest(op, input, output) 2362 return 2363} 2364 2365// ListUsers API operation for AWS Transfer Family. 2366// 2367// Lists the users for a file transfer protocol-enabled server that you specify 2368// by passing the ServerId parameter. 2369// 2370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2371// with awserr.Error's Code and Message methods to get detailed information about 2372// the error. 2373// 2374// See the AWS API reference guide for AWS Transfer Family's 2375// API operation ListUsers for usage and error information. 2376// 2377// Returned Error Types: 2378// * ServiceUnavailableException 2379// The request has failed because the Amazon Web ServicesTransfer Family service 2380// is not available. 2381// 2382// * InternalServiceError 2383// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 2384// Family service. 2385// 2386// * InvalidNextTokenException 2387// The NextToken parameter that was passed is invalid. 2388// 2389// * InvalidRequestException 2390// This exception is thrown when the client submits a malformed request. 2391// 2392// * ResourceNotFoundException 2393// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 2394// Family service. 2395// 2396// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListUsers 2397func (c *Transfer) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { 2398 req, out := c.ListUsersRequest(input) 2399 return out, req.Send() 2400} 2401 2402// ListUsersWithContext is the same as ListUsers with the addition of 2403// the ability to pass a context and additional request options. 2404// 2405// See ListUsers for details on how to use this API operation. 2406// 2407// The context must be non-nil and will be used for request cancellation. If 2408// the context is nil a panic will occur. In the future the SDK may create 2409// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2410// for more information on using Contexts. 2411func (c *Transfer) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { 2412 req, out := c.ListUsersRequest(input) 2413 req.SetContext(ctx) 2414 req.ApplyOptions(opts...) 2415 return out, req.Send() 2416} 2417 2418// ListUsersPages iterates over the pages of a ListUsers operation, 2419// calling the "fn" function with the response data for each page. To stop 2420// iterating, return false from the fn function. 2421// 2422// See ListUsers method for more information on how to use this operation. 2423// 2424// Note: This operation can generate multiple requests to a service. 2425// 2426// // Example iterating over at most 3 pages of a ListUsers operation. 2427// pageNum := 0 2428// err := client.ListUsersPages(params, 2429// func(page *transfer.ListUsersOutput, lastPage bool) bool { 2430// pageNum++ 2431// fmt.Println(page) 2432// return pageNum <= 3 2433// }) 2434// 2435func (c *Transfer) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error { 2436 return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn) 2437} 2438 2439// ListUsersPagesWithContext same as ListUsersPages except 2440// it takes a Context and allows setting request options on the pages. 2441// 2442// The context must be non-nil and will be used for request cancellation. If 2443// the context is nil a panic will occur. In the future the SDK may create 2444// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2445// for more information on using Contexts. 2446func (c *Transfer) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error { 2447 p := request.Pagination{ 2448 NewRequest: func() (*request.Request, error) { 2449 var inCpy *ListUsersInput 2450 if input != nil { 2451 tmp := *input 2452 inCpy = &tmp 2453 } 2454 req, _ := c.ListUsersRequest(inCpy) 2455 req.SetContext(ctx) 2456 req.ApplyOptions(opts...) 2457 return req, nil 2458 }, 2459 } 2460 2461 for p.Next() { 2462 if !fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) { 2463 break 2464 } 2465 } 2466 2467 return p.Err() 2468} 2469 2470const opListWorkflows = "ListWorkflows" 2471 2472// ListWorkflowsRequest generates a "aws/request.Request" representing the 2473// client's request for the ListWorkflows operation. The "output" return 2474// value will be populated with the request's response once the request completes 2475// successfully. 2476// 2477// Use "Send" method on the returned Request to send the API call to the service. 2478// the "output" return value is not valid until after Send returns without error. 2479// 2480// See ListWorkflows for more information on using the ListWorkflows 2481// API call, and error handling. 2482// 2483// This method is useful when you want to inject custom logic or configuration 2484// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2485// 2486// 2487// // Example sending a request using the ListWorkflowsRequest method. 2488// req, resp := client.ListWorkflowsRequest(params) 2489// 2490// err := req.Send() 2491// if err == nil { // resp is now filled 2492// fmt.Println(resp) 2493// } 2494// 2495// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListWorkflows 2496func (c *Transfer) ListWorkflowsRequest(input *ListWorkflowsInput) (req *request.Request, output *ListWorkflowsOutput) { 2497 op := &request.Operation{ 2498 Name: opListWorkflows, 2499 HTTPMethod: "POST", 2500 HTTPPath: "/", 2501 Paginator: &request.Paginator{ 2502 InputTokens: []string{"NextToken"}, 2503 OutputTokens: []string{"NextToken"}, 2504 LimitToken: "MaxResults", 2505 TruncationToken: "", 2506 }, 2507 } 2508 2509 if input == nil { 2510 input = &ListWorkflowsInput{} 2511 } 2512 2513 output = &ListWorkflowsOutput{} 2514 req = c.newRequest(op, input, output) 2515 return 2516} 2517 2518// ListWorkflows API operation for AWS Transfer Family. 2519// 2520// Lists all of your workflows. 2521// 2522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2523// with awserr.Error's Code and Message methods to get detailed information about 2524// the error. 2525// 2526// See the AWS API reference guide for AWS Transfer Family's 2527// API operation ListWorkflows for usage and error information. 2528// 2529// Returned Error Types: 2530// * ServiceUnavailableException 2531// The request has failed because the Amazon Web ServicesTransfer Family service 2532// is not available. 2533// 2534// * InternalServiceError 2535// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 2536// Family service. 2537// 2538// * InvalidNextTokenException 2539// The NextToken parameter that was passed is invalid. 2540// 2541// * InvalidRequestException 2542// This exception is thrown when the client submits a malformed request. 2543// 2544// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListWorkflows 2545func (c *Transfer) ListWorkflows(input *ListWorkflowsInput) (*ListWorkflowsOutput, error) { 2546 req, out := c.ListWorkflowsRequest(input) 2547 return out, req.Send() 2548} 2549 2550// ListWorkflowsWithContext is the same as ListWorkflows with the addition of 2551// the ability to pass a context and additional request options. 2552// 2553// See ListWorkflows for details on how to use this API operation. 2554// 2555// The context must be non-nil and will be used for request cancellation. If 2556// the context is nil a panic will occur. In the future the SDK may create 2557// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2558// for more information on using Contexts. 2559func (c *Transfer) ListWorkflowsWithContext(ctx aws.Context, input *ListWorkflowsInput, opts ...request.Option) (*ListWorkflowsOutput, error) { 2560 req, out := c.ListWorkflowsRequest(input) 2561 req.SetContext(ctx) 2562 req.ApplyOptions(opts...) 2563 return out, req.Send() 2564} 2565 2566// ListWorkflowsPages iterates over the pages of a ListWorkflows operation, 2567// calling the "fn" function with the response data for each page. To stop 2568// iterating, return false from the fn function. 2569// 2570// See ListWorkflows method for more information on how to use this operation. 2571// 2572// Note: This operation can generate multiple requests to a service. 2573// 2574// // Example iterating over at most 3 pages of a ListWorkflows operation. 2575// pageNum := 0 2576// err := client.ListWorkflowsPages(params, 2577// func(page *transfer.ListWorkflowsOutput, lastPage bool) bool { 2578// pageNum++ 2579// fmt.Println(page) 2580// return pageNum <= 3 2581// }) 2582// 2583func (c *Transfer) ListWorkflowsPages(input *ListWorkflowsInput, fn func(*ListWorkflowsOutput, bool) bool) error { 2584 return c.ListWorkflowsPagesWithContext(aws.BackgroundContext(), input, fn) 2585} 2586 2587// ListWorkflowsPagesWithContext same as ListWorkflowsPages except 2588// it takes a Context and allows setting request options on the pages. 2589// 2590// The context must be non-nil and will be used for request cancellation. If 2591// the context is nil a panic will occur. In the future the SDK may create 2592// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2593// for more information on using Contexts. 2594func (c *Transfer) ListWorkflowsPagesWithContext(ctx aws.Context, input *ListWorkflowsInput, fn func(*ListWorkflowsOutput, bool) bool, opts ...request.Option) error { 2595 p := request.Pagination{ 2596 NewRequest: func() (*request.Request, error) { 2597 var inCpy *ListWorkflowsInput 2598 if input != nil { 2599 tmp := *input 2600 inCpy = &tmp 2601 } 2602 req, _ := c.ListWorkflowsRequest(inCpy) 2603 req.SetContext(ctx) 2604 req.ApplyOptions(opts...) 2605 return req, nil 2606 }, 2607 } 2608 2609 for p.Next() { 2610 if !fn(p.Page().(*ListWorkflowsOutput), !p.HasNextPage()) { 2611 break 2612 } 2613 } 2614 2615 return p.Err() 2616} 2617 2618const opSendWorkflowStepState = "SendWorkflowStepState" 2619 2620// SendWorkflowStepStateRequest generates a "aws/request.Request" representing the 2621// client's request for the SendWorkflowStepState operation. The "output" return 2622// value will be populated with the request's response once the request completes 2623// successfully. 2624// 2625// Use "Send" method on the returned Request to send the API call to the service. 2626// the "output" return value is not valid until after Send returns without error. 2627// 2628// See SendWorkflowStepState for more information on using the SendWorkflowStepState 2629// API call, and error handling. 2630// 2631// This method is useful when you want to inject custom logic or configuration 2632// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2633// 2634// 2635// // Example sending a request using the SendWorkflowStepStateRequest method. 2636// req, resp := client.SendWorkflowStepStateRequest(params) 2637// 2638// err := req.Send() 2639// if err == nil { // resp is now filled 2640// fmt.Println(resp) 2641// } 2642// 2643// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/SendWorkflowStepState 2644func (c *Transfer) SendWorkflowStepStateRequest(input *SendWorkflowStepStateInput) (req *request.Request, output *SendWorkflowStepStateOutput) { 2645 op := &request.Operation{ 2646 Name: opSendWorkflowStepState, 2647 HTTPMethod: "POST", 2648 HTTPPath: "/", 2649 } 2650 2651 if input == nil { 2652 input = &SendWorkflowStepStateInput{} 2653 } 2654 2655 output = &SendWorkflowStepStateOutput{} 2656 req = c.newRequest(op, input, output) 2657 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2658 return 2659} 2660 2661// SendWorkflowStepState API operation for AWS Transfer Family. 2662// 2663// Sends a callback for asynchronous custom steps. 2664// 2665// The ExecutionId, WorkflowId, and Token are passed to the target resource 2666// during execution of a custom step of a workflow. You must include those with 2667// their callback as well as providing a status. 2668// 2669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2670// with awserr.Error's Code and Message methods to get detailed information about 2671// the error. 2672// 2673// See the AWS API reference guide for AWS Transfer Family's 2674// API operation SendWorkflowStepState for usage and error information. 2675// 2676// Returned Error Types: 2677// * AccessDeniedException 2678// You do not have sufficient access to perform this action. 2679// 2680// * ServiceUnavailableException 2681// The request has failed because the Amazon Web ServicesTransfer Family service 2682// is not available. 2683// 2684// * InternalServiceError 2685// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 2686// Family service. 2687// 2688// * InvalidRequestException 2689// This exception is thrown when the client submits a malformed request. 2690// 2691// * ResourceNotFoundException 2692// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 2693// Family service. 2694// 2695// * ThrottlingException 2696// The request was denied due to request throttling. 2697// 2698// HTTP Status Code: 400 2699// 2700// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/SendWorkflowStepState 2701func (c *Transfer) SendWorkflowStepState(input *SendWorkflowStepStateInput) (*SendWorkflowStepStateOutput, error) { 2702 req, out := c.SendWorkflowStepStateRequest(input) 2703 return out, req.Send() 2704} 2705 2706// SendWorkflowStepStateWithContext is the same as SendWorkflowStepState with the addition of 2707// the ability to pass a context and additional request options. 2708// 2709// See SendWorkflowStepState for details on how to use this API operation. 2710// 2711// The context must be non-nil and will be used for request cancellation. If 2712// the context is nil a panic will occur. In the future the SDK may create 2713// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2714// for more information on using Contexts. 2715func (c *Transfer) SendWorkflowStepStateWithContext(ctx aws.Context, input *SendWorkflowStepStateInput, opts ...request.Option) (*SendWorkflowStepStateOutput, error) { 2716 req, out := c.SendWorkflowStepStateRequest(input) 2717 req.SetContext(ctx) 2718 req.ApplyOptions(opts...) 2719 return out, req.Send() 2720} 2721 2722const opStartServer = "StartServer" 2723 2724// StartServerRequest generates a "aws/request.Request" representing the 2725// client's request for the StartServer operation. The "output" return 2726// value will be populated with the request's response once the request completes 2727// successfully. 2728// 2729// Use "Send" method on the returned Request to send the API call to the service. 2730// the "output" return value is not valid until after Send returns without error. 2731// 2732// See StartServer for more information on using the StartServer 2733// API call, and error handling. 2734// 2735// This method is useful when you want to inject custom logic or configuration 2736// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2737// 2738// 2739// // Example sending a request using the StartServerRequest method. 2740// req, resp := client.StartServerRequest(params) 2741// 2742// err := req.Send() 2743// if err == nil { // resp is now filled 2744// fmt.Println(resp) 2745// } 2746// 2747// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartServer 2748func (c *Transfer) StartServerRequest(input *StartServerInput) (req *request.Request, output *StartServerOutput) { 2749 op := &request.Operation{ 2750 Name: opStartServer, 2751 HTTPMethod: "POST", 2752 HTTPPath: "/", 2753 } 2754 2755 if input == nil { 2756 input = &StartServerInput{} 2757 } 2758 2759 output = &StartServerOutput{} 2760 req = c.newRequest(op, input, output) 2761 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2762 return 2763} 2764 2765// StartServer API operation for AWS Transfer Family. 2766// 2767// Changes the state of a file transfer protocol-enabled server from OFFLINE 2768// to ONLINE. It has no impact on a server that is already ONLINE. An ONLINE 2769// server can accept and process file transfer jobs. 2770// 2771// The state of STARTING indicates that the server is in an intermediate state, 2772// either not fully able to respond, or not fully online. The values of START_FAILED 2773// can indicate an error condition. 2774// 2775// No response is returned from this call. 2776// 2777// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2778// with awserr.Error's Code and Message methods to get detailed information about 2779// the error. 2780// 2781// See the AWS API reference guide for AWS Transfer Family's 2782// API operation StartServer for usage and error information. 2783// 2784// Returned Error Types: 2785// * ServiceUnavailableException 2786// The request has failed because the Amazon Web ServicesTransfer Family service 2787// is not available. 2788// 2789// * InternalServiceError 2790// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 2791// Family service. 2792// 2793// * InvalidRequestException 2794// This exception is thrown when the client submits a malformed request. 2795// 2796// * ResourceNotFoundException 2797// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 2798// Family service. 2799// 2800// * ThrottlingException 2801// The request was denied due to request throttling. 2802// 2803// HTTP Status Code: 400 2804// 2805// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartServer 2806func (c *Transfer) StartServer(input *StartServerInput) (*StartServerOutput, error) { 2807 req, out := c.StartServerRequest(input) 2808 return out, req.Send() 2809} 2810 2811// StartServerWithContext is the same as StartServer with the addition of 2812// the ability to pass a context and additional request options. 2813// 2814// See StartServer for details on how to use this API operation. 2815// 2816// The context must be non-nil and will be used for request cancellation. If 2817// the context is nil a panic will occur. In the future the SDK may create 2818// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2819// for more information on using Contexts. 2820func (c *Transfer) StartServerWithContext(ctx aws.Context, input *StartServerInput, opts ...request.Option) (*StartServerOutput, error) { 2821 req, out := c.StartServerRequest(input) 2822 req.SetContext(ctx) 2823 req.ApplyOptions(opts...) 2824 return out, req.Send() 2825} 2826 2827const opStopServer = "StopServer" 2828 2829// StopServerRequest generates a "aws/request.Request" representing the 2830// client's request for the StopServer operation. The "output" return 2831// value will be populated with the request's response once the request completes 2832// successfully. 2833// 2834// Use "Send" method on the returned Request to send the API call to the service. 2835// the "output" return value is not valid until after Send returns without error. 2836// 2837// See StopServer for more information on using the StopServer 2838// API call, and error handling. 2839// 2840// This method is useful when you want to inject custom logic or configuration 2841// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2842// 2843// 2844// // Example sending a request using the StopServerRequest method. 2845// req, resp := client.StopServerRequest(params) 2846// 2847// err := req.Send() 2848// if err == nil { // resp is now filled 2849// fmt.Println(resp) 2850// } 2851// 2852// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StopServer 2853func (c *Transfer) StopServerRequest(input *StopServerInput) (req *request.Request, output *StopServerOutput) { 2854 op := &request.Operation{ 2855 Name: opStopServer, 2856 HTTPMethod: "POST", 2857 HTTPPath: "/", 2858 } 2859 2860 if input == nil { 2861 input = &StopServerInput{} 2862 } 2863 2864 output = &StopServerOutput{} 2865 req = c.newRequest(op, input, output) 2866 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2867 return 2868} 2869 2870// StopServer API operation for AWS Transfer Family. 2871// 2872// Changes the state of a file transfer protocol-enabled server from ONLINE 2873// to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. 2874// Information tied to your server, such as server and user properties, are 2875// not affected by stopping your server. 2876// 2877// Stopping the server will not reduce or impact your file transfer protocol 2878// endpoint billing; you must delete the server to stop being billed. 2879// 2880// The state of STOPPING indicates that the server is in an intermediate state, 2881// either not fully able to respond, or not fully offline. The values of STOP_FAILED 2882// can indicate an error condition. 2883// 2884// No response is returned from this call. 2885// 2886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2887// with awserr.Error's Code and Message methods to get detailed information about 2888// the error. 2889// 2890// See the AWS API reference guide for AWS Transfer Family's 2891// API operation StopServer for usage and error information. 2892// 2893// Returned Error Types: 2894// * ServiceUnavailableException 2895// The request has failed because the Amazon Web ServicesTransfer Family service 2896// is not available. 2897// 2898// * InternalServiceError 2899// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 2900// Family service. 2901// 2902// * InvalidRequestException 2903// This exception is thrown when the client submits a malformed request. 2904// 2905// * ResourceNotFoundException 2906// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 2907// Family service. 2908// 2909// * ThrottlingException 2910// The request was denied due to request throttling. 2911// 2912// HTTP Status Code: 400 2913// 2914// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StopServer 2915func (c *Transfer) StopServer(input *StopServerInput) (*StopServerOutput, error) { 2916 req, out := c.StopServerRequest(input) 2917 return out, req.Send() 2918} 2919 2920// StopServerWithContext is the same as StopServer with the addition of 2921// the ability to pass a context and additional request options. 2922// 2923// See StopServer for details on how to use this API operation. 2924// 2925// The context must be non-nil and will be used for request cancellation. If 2926// the context is nil a panic will occur. In the future the SDK may create 2927// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2928// for more information on using Contexts. 2929func (c *Transfer) StopServerWithContext(ctx aws.Context, input *StopServerInput, opts ...request.Option) (*StopServerOutput, error) { 2930 req, out := c.StopServerRequest(input) 2931 req.SetContext(ctx) 2932 req.ApplyOptions(opts...) 2933 return out, req.Send() 2934} 2935 2936const opTagResource = "TagResource" 2937 2938// TagResourceRequest generates a "aws/request.Request" representing the 2939// client's request for the TagResource operation. The "output" return 2940// value will be populated with the request's response once the request completes 2941// successfully. 2942// 2943// Use "Send" method on the returned Request to send the API call to the service. 2944// the "output" return value is not valid until after Send returns without error. 2945// 2946// See TagResource for more information on using the TagResource 2947// API call, and error handling. 2948// 2949// This method is useful when you want to inject custom logic or configuration 2950// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2951// 2952// 2953// // Example sending a request using the TagResourceRequest method. 2954// req, resp := client.TagResourceRequest(params) 2955// 2956// err := req.Send() 2957// if err == nil { // resp is now filled 2958// fmt.Println(resp) 2959// } 2960// 2961// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TagResource 2962func (c *Transfer) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 2963 op := &request.Operation{ 2964 Name: opTagResource, 2965 HTTPMethod: "POST", 2966 HTTPPath: "/", 2967 } 2968 2969 if input == nil { 2970 input = &TagResourceInput{} 2971 } 2972 2973 output = &TagResourceOutput{} 2974 req = c.newRequest(op, input, output) 2975 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2976 return 2977} 2978 2979// TagResource API operation for AWS Transfer Family. 2980// 2981// Attaches a key-value pair to a resource, as identified by its Amazon Resource 2982// Name (ARN). Resources are users, servers, roles, and other entities. 2983// 2984// There is no response returned from this call. 2985// 2986// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2987// with awserr.Error's Code and Message methods to get detailed information about 2988// the error. 2989// 2990// See the AWS API reference guide for AWS Transfer Family's 2991// API operation TagResource for usage and error information. 2992// 2993// Returned Error Types: 2994// * ServiceUnavailableException 2995// The request has failed because the Amazon Web ServicesTransfer Family service 2996// is not available. 2997// 2998// * InternalServiceError 2999// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 3000// Family service. 3001// 3002// * InvalidRequestException 3003// This exception is thrown when the client submits a malformed request. 3004// 3005// * ResourceNotFoundException 3006// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 3007// Family service. 3008// 3009// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TagResource 3010func (c *Transfer) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 3011 req, out := c.TagResourceRequest(input) 3012 return out, req.Send() 3013} 3014 3015// TagResourceWithContext is the same as TagResource with the addition of 3016// the ability to pass a context and additional request options. 3017// 3018// See TagResource for details on how to use this API operation. 3019// 3020// The context must be non-nil and will be used for request cancellation. If 3021// the context is nil a panic will occur. In the future the SDK may create 3022// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3023// for more information on using Contexts. 3024func (c *Transfer) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 3025 req, out := c.TagResourceRequest(input) 3026 req.SetContext(ctx) 3027 req.ApplyOptions(opts...) 3028 return out, req.Send() 3029} 3030 3031const opTestIdentityProvider = "TestIdentityProvider" 3032 3033// TestIdentityProviderRequest generates a "aws/request.Request" representing the 3034// client's request for the TestIdentityProvider operation. The "output" return 3035// value will be populated with the request's response once the request completes 3036// successfully. 3037// 3038// Use "Send" method on the returned Request to send the API call to the service. 3039// the "output" return value is not valid until after Send returns without error. 3040// 3041// See TestIdentityProvider for more information on using the TestIdentityProvider 3042// API call, and error handling. 3043// 3044// This method is useful when you want to inject custom logic or configuration 3045// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3046// 3047// 3048// // Example sending a request using the TestIdentityProviderRequest method. 3049// req, resp := client.TestIdentityProviderRequest(params) 3050// 3051// err := req.Send() 3052// if err == nil { // resp is now filled 3053// fmt.Println(resp) 3054// } 3055// 3056// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TestIdentityProvider 3057func (c *Transfer) TestIdentityProviderRequest(input *TestIdentityProviderInput) (req *request.Request, output *TestIdentityProviderOutput) { 3058 op := &request.Operation{ 3059 Name: opTestIdentityProvider, 3060 HTTPMethod: "POST", 3061 HTTPPath: "/", 3062 } 3063 3064 if input == nil { 3065 input = &TestIdentityProviderInput{} 3066 } 3067 3068 output = &TestIdentityProviderOutput{} 3069 req = c.newRequest(op, input, output) 3070 return 3071} 3072 3073// TestIdentityProvider API operation for AWS Transfer Family. 3074// 3075// If the IdentityProviderType of a file transfer protocol-enabled server is 3076// AWS_DIRECTORY_SERVICE or API_Gateway, tests whether your identity provider 3077// is set up successfully. We highly recommend that you call this operation 3078// to test your authentication method as soon as you create your server. By 3079// doing so, you can troubleshoot issues with the identity provider integration 3080// to ensure that your users can successfully use the service. 3081// 3082// The ServerId and UserName parameters are required. The ServerProtocol, SourceIp, 3083// and UserPassword are all optional. 3084// 3085// You cannot use TestIdentityProvider if the IdentityProviderType of your server 3086// is SERVICE_MANAGED. 3087// 3088// * If you provide any incorrect values for any parameters, the Response 3089// field is empty. 3090// 3091// * If you provide a server ID for a server that uses service-managed users, 3092// you get an error: An error occurred (InvalidRequestException) when calling 3093// the TestIdentityProvider operation: s-server-ID not configured for external 3094// auth 3095// 3096// * If you enter a Server ID for the --server-id parameter that does not 3097// identify an actual Transfer server, you receive the following error: An 3098// error occurred (ResourceNotFoundException) when calling the TestIdentityProvider 3099// operation: Unknown server 3100// 3101// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3102// with awserr.Error's Code and Message methods to get detailed information about 3103// the error. 3104// 3105// See the AWS API reference guide for AWS Transfer Family's 3106// API operation TestIdentityProvider for usage and error information. 3107// 3108// Returned Error Types: 3109// * ServiceUnavailableException 3110// The request has failed because the Amazon Web ServicesTransfer Family service 3111// is not available. 3112// 3113// * InternalServiceError 3114// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 3115// Family service. 3116// 3117// * InvalidRequestException 3118// This exception is thrown when the client submits a malformed request. 3119// 3120// * ResourceNotFoundException 3121// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 3122// Family service. 3123// 3124// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TestIdentityProvider 3125func (c *Transfer) TestIdentityProvider(input *TestIdentityProviderInput) (*TestIdentityProviderOutput, error) { 3126 req, out := c.TestIdentityProviderRequest(input) 3127 return out, req.Send() 3128} 3129 3130// TestIdentityProviderWithContext is the same as TestIdentityProvider with the addition of 3131// the ability to pass a context and additional request options. 3132// 3133// See TestIdentityProvider for details on how to use this API operation. 3134// 3135// The context must be non-nil and will be used for request cancellation. If 3136// the context is nil a panic will occur. In the future the SDK may create 3137// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3138// for more information on using Contexts. 3139func (c *Transfer) TestIdentityProviderWithContext(ctx aws.Context, input *TestIdentityProviderInput, opts ...request.Option) (*TestIdentityProviderOutput, error) { 3140 req, out := c.TestIdentityProviderRequest(input) 3141 req.SetContext(ctx) 3142 req.ApplyOptions(opts...) 3143 return out, req.Send() 3144} 3145 3146const opUntagResource = "UntagResource" 3147 3148// UntagResourceRequest generates a "aws/request.Request" representing the 3149// client's request for the UntagResource operation. The "output" return 3150// value will be populated with the request's response once the request completes 3151// successfully. 3152// 3153// Use "Send" method on the returned Request to send the API call to the service. 3154// the "output" return value is not valid until after Send returns without error. 3155// 3156// See UntagResource for more information on using the UntagResource 3157// API call, and error handling. 3158// 3159// This method is useful when you want to inject custom logic or configuration 3160// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3161// 3162// 3163// // Example sending a request using the UntagResourceRequest method. 3164// req, resp := client.UntagResourceRequest(params) 3165// 3166// err := req.Send() 3167// if err == nil { // resp is now filled 3168// fmt.Println(resp) 3169// } 3170// 3171// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UntagResource 3172func (c *Transfer) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 3173 op := &request.Operation{ 3174 Name: opUntagResource, 3175 HTTPMethod: "POST", 3176 HTTPPath: "/", 3177 } 3178 3179 if input == nil { 3180 input = &UntagResourceInput{} 3181 } 3182 3183 output = &UntagResourceOutput{} 3184 req = c.newRequest(op, input, output) 3185 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3186 return 3187} 3188 3189// UntagResource API operation for AWS Transfer Family. 3190// 3191// Detaches a key-value pair from a resource, as identified by its Amazon Resource 3192// Name (ARN). Resources are users, servers, roles, and other entities. 3193// 3194// No response is returned from this call. 3195// 3196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3197// with awserr.Error's Code and Message methods to get detailed information about 3198// the error. 3199// 3200// See the AWS API reference guide for AWS Transfer Family's 3201// API operation UntagResource for usage and error information. 3202// 3203// Returned Error Types: 3204// * ServiceUnavailableException 3205// The request has failed because the Amazon Web ServicesTransfer Family service 3206// is not available. 3207// 3208// * InternalServiceError 3209// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 3210// Family service. 3211// 3212// * InvalidRequestException 3213// This exception is thrown when the client submits a malformed request. 3214// 3215// * ResourceNotFoundException 3216// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 3217// Family service. 3218// 3219// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UntagResource 3220func (c *Transfer) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 3221 req, out := c.UntagResourceRequest(input) 3222 return out, req.Send() 3223} 3224 3225// UntagResourceWithContext is the same as UntagResource with the addition of 3226// the ability to pass a context and additional request options. 3227// 3228// See UntagResource for details on how to use this API operation. 3229// 3230// The context must be non-nil and will be used for request cancellation. If 3231// the context is nil a panic will occur. In the future the SDK may create 3232// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3233// for more information on using Contexts. 3234func (c *Transfer) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 3235 req, out := c.UntagResourceRequest(input) 3236 req.SetContext(ctx) 3237 req.ApplyOptions(opts...) 3238 return out, req.Send() 3239} 3240 3241const opUpdateAccess = "UpdateAccess" 3242 3243// UpdateAccessRequest generates a "aws/request.Request" representing the 3244// client's request for the UpdateAccess operation. The "output" return 3245// value will be populated with the request's response once the request completes 3246// successfully. 3247// 3248// Use "Send" method on the returned Request to send the API call to the service. 3249// the "output" return value is not valid until after Send returns without error. 3250// 3251// See UpdateAccess for more information on using the UpdateAccess 3252// API call, and error handling. 3253// 3254// This method is useful when you want to inject custom logic or configuration 3255// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3256// 3257// 3258// // Example sending a request using the UpdateAccessRequest method. 3259// req, resp := client.UpdateAccessRequest(params) 3260// 3261// err := req.Send() 3262// if err == nil { // resp is now filled 3263// fmt.Println(resp) 3264// } 3265// 3266// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccess 3267func (c *Transfer) UpdateAccessRequest(input *UpdateAccessInput) (req *request.Request, output *UpdateAccessOutput) { 3268 op := &request.Operation{ 3269 Name: opUpdateAccess, 3270 HTTPMethod: "POST", 3271 HTTPPath: "/", 3272 } 3273 3274 if input == nil { 3275 input = &UpdateAccessInput{} 3276 } 3277 3278 output = &UpdateAccessOutput{} 3279 req = c.newRequest(op, input, output) 3280 return 3281} 3282 3283// UpdateAccess API operation for AWS Transfer Family. 3284// 3285// Allows you to update parameters for the access specified in the ServerID 3286// and ExternalID parameters. 3287// 3288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3289// with awserr.Error's Code and Message methods to get detailed information about 3290// the error. 3291// 3292// See the AWS API reference guide for AWS Transfer Family's 3293// API operation UpdateAccess for usage and error information. 3294// 3295// Returned Error Types: 3296// * ServiceUnavailableException 3297// The request has failed because the Amazon Web ServicesTransfer Family service 3298// is not available. 3299// 3300// * InternalServiceError 3301// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 3302// Family service. 3303// 3304// * InvalidRequestException 3305// This exception is thrown when the client submits a malformed request. 3306// 3307// * ResourceExistsException 3308// The requested resource does not exist. 3309// 3310// * ResourceNotFoundException 3311// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 3312// Family service. 3313// 3314// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccess 3315func (c *Transfer) UpdateAccess(input *UpdateAccessInput) (*UpdateAccessOutput, error) { 3316 req, out := c.UpdateAccessRequest(input) 3317 return out, req.Send() 3318} 3319 3320// UpdateAccessWithContext is the same as UpdateAccess with the addition of 3321// the ability to pass a context and additional request options. 3322// 3323// See UpdateAccess for details on how to use this API operation. 3324// 3325// The context must be non-nil and will be used for request cancellation. If 3326// the context is nil a panic will occur. In the future the SDK may create 3327// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3328// for more information on using Contexts. 3329func (c *Transfer) UpdateAccessWithContext(ctx aws.Context, input *UpdateAccessInput, opts ...request.Option) (*UpdateAccessOutput, error) { 3330 req, out := c.UpdateAccessRequest(input) 3331 req.SetContext(ctx) 3332 req.ApplyOptions(opts...) 3333 return out, req.Send() 3334} 3335 3336const opUpdateServer = "UpdateServer" 3337 3338// UpdateServerRequest generates a "aws/request.Request" representing the 3339// client's request for the UpdateServer operation. The "output" return 3340// value will be populated with the request's response once the request completes 3341// successfully. 3342// 3343// Use "Send" method on the returned Request to send the API call to the service. 3344// the "output" return value is not valid until after Send returns without error. 3345// 3346// See UpdateServer for more information on using the UpdateServer 3347// API call, and error handling. 3348// 3349// This method is useful when you want to inject custom logic or configuration 3350// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3351// 3352// 3353// // Example sending a request using the UpdateServerRequest method. 3354// req, resp := client.UpdateServerRequest(params) 3355// 3356// err := req.Send() 3357// if err == nil { // resp is now filled 3358// fmt.Println(resp) 3359// } 3360// 3361// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServer 3362func (c *Transfer) UpdateServerRequest(input *UpdateServerInput) (req *request.Request, output *UpdateServerOutput) { 3363 op := &request.Operation{ 3364 Name: opUpdateServer, 3365 HTTPMethod: "POST", 3366 HTTPPath: "/", 3367 } 3368 3369 if input == nil { 3370 input = &UpdateServerInput{} 3371 } 3372 3373 output = &UpdateServerOutput{} 3374 req = c.newRequest(op, input, output) 3375 return 3376} 3377 3378// UpdateServer API operation for AWS Transfer Family. 3379// 3380// Updates the file transfer protocol-enabled server's properties after that 3381// server has been created. 3382// 3383// The UpdateServer call returns the ServerId of the server you updated. 3384// 3385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3386// with awserr.Error's Code and Message methods to get detailed information about 3387// the error. 3388// 3389// See the AWS API reference guide for AWS Transfer Family's 3390// API operation UpdateServer for usage and error information. 3391// 3392// Returned Error Types: 3393// * AccessDeniedException 3394// You do not have sufficient access to perform this action. 3395// 3396// * ServiceUnavailableException 3397// The request has failed because the Amazon Web ServicesTransfer Family service 3398// is not available. 3399// 3400// * ConflictException 3401// This exception is thrown when the UpdateServer is called for a file transfer 3402// protocol-enabled server that has VPC as the endpoint type and the server's 3403// VpcEndpointID is not in the available state. 3404// 3405// * InternalServiceError 3406// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 3407// Family service. 3408// 3409// * InvalidRequestException 3410// This exception is thrown when the client submits a malformed request. 3411// 3412// * ResourceExistsException 3413// The requested resource does not exist. 3414// 3415// * ResourceNotFoundException 3416// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 3417// Family service. 3418// 3419// * ThrottlingException 3420// The request was denied due to request throttling. 3421// 3422// HTTP Status Code: 400 3423// 3424// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServer 3425func (c *Transfer) UpdateServer(input *UpdateServerInput) (*UpdateServerOutput, error) { 3426 req, out := c.UpdateServerRequest(input) 3427 return out, req.Send() 3428} 3429 3430// UpdateServerWithContext is the same as UpdateServer with the addition of 3431// the ability to pass a context and additional request options. 3432// 3433// See UpdateServer for details on how to use this API operation. 3434// 3435// The context must be non-nil and will be used for request cancellation. If 3436// the context is nil a panic will occur. In the future the SDK may create 3437// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3438// for more information on using Contexts. 3439func (c *Transfer) UpdateServerWithContext(ctx aws.Context, input *UpdateServerInput, opts ...request.Option) (*UpdateServerOutput, error) { 3440 req, out := c.UpdateServerRequest(input) 3441 req.SetContext(ctx) 3442 req.ApplyOptions(opts...) 3443 return out, req.Send() 3444} 3445 3446const opUpdateUser = "UpdateUser" 3447 3448// UpdateUserRequest generates a "aws/request.Request" representing the 3449// client's request for the UpdateUser operation. The "output" return 3450// value will be populated with the request's response once the request completes 3451// successfully. 3452// 3453// Use "Send" method on the returned Request to send the API call to the service. 3454// the "output" return value is not valid until after Send returns without error. 3455// 3456// See UpdateUser for more information on using the UpdateUser 3457// API call, and error handling. 3458// 3459// This method is useful when you want to inject custom logic or configuration 3460// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3461// 3462// 3463// // Example sending a request using the UpdateUserRequest method. 3464// req, resp := client.UpdateUserRequest(params) 3465// 3466// err := req.Send() 3467// if err == nil { // resp is now filled 3468// fmt.Println(resp) 3469// } 3470// 3471// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateUser 3472func (c *Transfer) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) { 3473 op := &request.Operation{ 3474 Name: opUpdateUser, 3475 HTTPMethod: "POST", 3476 HTTPPath: "/", 3477 } 3478 3479 if input == nil { 3480 input = &UpdateUserInput{} 3481 } 3482 3483 output = &UpdateUserOutput{} 3484 req = c.newRequest(op, input, output) 3485 return 3486} 3487 3488// UpdateUser API operation for AWS Transfer Family. 3489// 3490// Assigns new properties to a user. Parameters you pass modify any or all of 3491// the following: the home directory, role, and policy for the UserName and 3492// ServerId you specify. 3493// 3494// The response returns the ServerId and the UserName for the updated user. 3495// 3496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3497// with awserr.Error's Code and Message methods to get detailed information about 3498// the error. 3499// 3500// See the AWS API reference guide for AWS Transfer Family's 3501// API operation UpdateUser for usage and error information. 3502// 3503// Returned Error Types: 3504// * ServiceUnavailableException 3505// The request has failed because the Amazon Web ServicesTransfer Family service 3506// is not available. 3507// 3508// * InternalServiceError 3509// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 3510// Family service. 3511// 3512// * InvalidRequestException 3513// This exception is thrown when the client submits a malformed request. 3514// 3515// * ResourceNotFoundException 3516// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 3517// Family service. 3518// 3519// * ThrottlingException 3520// The request was denied due to request throttling. 3521// 3522// HTTP Status Code: 400 3523// 3524// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateUser 3525func (c *Transfer) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { 3526 req, out := c.UpdateUserRequest(input) 3527 return out, req.Send() 3528} 3529 3530// UpdateUserWithContext is the same as UpdateUser with the addition of 3531// the ability to pass a context and additional request options. 3532// 3533// See UpdateUser for details on how to use this API operation. 3534// 3535// The context must be non-nil and will be used for request cancellation. If 3536// the context is nil a panic will occur. In the future the SDK may create 3537// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3538// for more information on using Contexts. 3539func (c *Transfer) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) { 3540 req, out := c.UpdateUserRequest(input) 3541 req.SetContext(ctx) 3542 req.ApplyOptions(opts...) 3543 return out, req.Send() 3544} 3545 3546// You do not have sufficient access to perform this action. 3547type AccessDeniedException struct { 3548 _ struct{} `type:"structure"` 3549 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3550 3551 Message_ *string `locationName:"Message" type:"string"` 3552} 3553 3554// String returns the string representation 3555func (s AccessDeniedException) String() string { 3556 return awsutil.Prettify(s) 3557} 3558 3559// GoString returns the string representation 3560func (s AccessDeniedException) GoString() string { 3561 return s.String() 3562} 3563 3564func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 3565 return &AccessDeniedException{ 3566 RespMetadata: v, 3567 } 3568} 3569 3570// Code returns the exception type name. 3571func (s *AccessDeniedException) Code() string { 3572 return "AccessDeniedException" 3573} 3574 3575// Message returns the exception's message. 3576func (s *AccessDeniedException) Message() string { 3577 if s.Message_ != nil { 3578 return *s.Message_ 3579 } 3580 return "" 3581} 3582 3583// OrigErr always returns nil, satisfies awserr.Error interface. 3584func (s *AccessDeniedException) OrigErr() error { 3585 return nil 3586} 3587 3588func (s *AccessDeniedException) Error() string { 3589 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3590} 3591 3592// Status code returns the HTTP status code for the request's response error. 3593func (s *AccessDeniedException) StatusCode() int { 3594 return s.RespMetadata.StatusCode 3595} 3596 3597// RequestID returns the service's response RequestID for request. 3598func (s *AccessDeniedException) RequestID() string { 3599 return s.RespMetadata.RequestID 3600} 3601 3602// This exception is thrown when the UpdateServer is called for a file transfer 3603// protocol-enabled server that has VPC as the endpoint type and the server's 3604// VpcEndpointID is not in the available state. 3605type ConflictException struct { 3606 _ struct{} `type:"structure"` 3607 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3608 3609 Message_ *string `locationName:"Message" type:"string"` 3610} 3611 3612// String returns the string representation 3613func (s ConflictException) String() string { 3614 return awsutil.Prettify(s) 3615} 3616 3617// GoString returns the string representation 3618func (s ConflictException) GoString() string { 3619 return s.String() 3620} 3621 3622func newErrorConflictException(v protocol.ResponseMetadata) error { 3623 return &ConflictException{ 3624 RespMetadata: v, 3625 } 3626} 3627 3628// Code returns the exception type name. 3629func (s *ConflictException) Code() string { 3630 return "ConflictException" 3631} 3632 3633// Message returns the exception's message. 3634func (s *ConflictException) Message() string { 3635 if s.Message_ != nil { 3636 return *s.Message_ 3637 } 3638 return "" 3639} 3640 3641// OrigErr always returns nil, satisfies awserr.Error interface. 3642func (s *ConflictException) OrigErr() error { 3643 return nil 3644} 3645 3646func (s *ConflictException) Error() string { 3647 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3648} 3649 3650// Status code returns the HTTP status code for the request's response error. 3651func (s *ConflictException) StatusCode() int { 3652 return s.RespMetadata.StatusCode 3653} 3654 3655// RequestID returns the service's response RequestID for request. 3656func (s *ConflictException) RequestID() string { 3657 return s.RespMetadata.RequestID 3658} 3659 3660// Each step type has its own StepDetails structure. 3661type CopyStepDetails struct { 3662 _ struct{} `type:"structure"` 3663 3664 // Specifies the location for the file being copied. Only applicable for the 3665 // Copy type of workflow steps. 3666 DestinationFileLocation *InputFileLocation `type:"structure"` 3667 3668 // The name of the step, used as an identifier. 3669 Name *string `type:"string"` 3670 3671 // A flag that indicates whether or not to overwrite an existing file of the 3672 // same name. The default is FALSE. 3673 OverwriteExisting *string `type:"string" enum:"OverwriteExisting"` 3674} 3675 3676// String returns the string representation 3677func (s CopyStepDetails) String() string { 3678 return awsutil.Prettify(s) 3679} 3680 3681// GoString returns the string representation 3682func (s CopyStepDetails) GoString() string { 3683 return s.String() 3684} 3685 3686// Validate inspects the fields of the type to determine if they are valid. 3687func (s *CopyStepDetails) Validate() error { 3688 invalidParams := request.ErrInvalidParams{Context: "CopyStepDetails"} 3689 if s.DestinationFileLocation != nil { 3690 if err := s.DestinationFileLocation.Validate(); err != nil { 3691 invalidParams.AddNested("DestinationFileLocation", err.(request.ErrInvalidParams)) 3692 } 3693 } 3694 3695 if invalidParams.Len() > 0 { 3696 return invalidParams 3697 } 3698 return nil 3699} 3700 3701// SetDestinationFileLocation sets the DestinationFileLocation field's value. 3702func (s *CopyStepDetails) SetDestinationFileLocation(v *InputFileLocation) *CopyStepDetails { 3703 s.DestinationFileLocation = v 3704 return s 3705} 3706 3707// SetName sets the Name field's value. 3708func (s *CopyStepDetails) SetName(v string) *CopyStepDetails { 3709 s.Name = &v 3710 return s 3711} 3712 3713// SetOverwriteExisting sets the OverwriteExisting field's value. 3714func (s *CopyStepDetails) SetOverwriteExisting(v string) *CopyStepDetails { 3715 s.OverwriteExisting = &v 3716 return s 3717} 3718 3719type CreateAccessInput struct { 3720 _ struct{} `type:"structure"` 3721 3722 // A unique identifier that is required to identify specific groups within your 3723 // directory. The users of the group that you associate have access to your 3724 // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon 3725 // Web Services Transfer Family. If you know the group name, you can view the 3726 // SID values by running the following command using Windows PowerShell. 3727 // 3728 // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * 3729 // | Select SamAccountName,ObjectSid 3730 // 3731 // In that command, replace YourGroupName with the name of your Active Directory 3732 // group. 3733 // 3734 // The regex used to validate this parameter is a string of characters consisting 3735 // of uppercase and lowercase alphanumeric characters with no spaces. You can 3736 // also include underscores or any of the following characters: =,.@:/- 3737 // 3738 // ExternalId is a required field 3739 ExternalId *string `min:"1" type:"string" required:"true"` 3740 3741 // The landing directory (folder) for a user when they log in to the server 3742 // using the client. 3743 // 3744 // A HomeDirectory example is /bucket_name/home/mydirectory. 3745 HomeDirectory *string `type:"string"` 3746 3747 // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths 3748 // and keys should be visible to your user and how you want to make them visible. 3749 // You must specify the Entry and Target pair, where Entry shows how the path 3750 // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If 3751 // you only specify a target, it is displayed as is. You also must ensure that 3752 // your Amazon Web Services Identity and Access Management (IAM) role provides 3753 // access to paths in Target. This value can only be set when HomeDirectoryType 3754 // is set to LOGICAL. 3755 // 3756 // The following is an Entry and Target pair example. 3757 // 3758 // [ { "Entry": "your-personal-report.pdf", "Target": "/bucket3/customized-reports/${transfer:UserName}.pdf" 3759 // } ] 3760 // 3761 // In most cases, you can use this value instead of the session policy to lock 3762 // down your user to the designated home directory ("chroot"). To do this, you 3763 // can set Entry to / and set Target to the HomeDirectory parameter value. 3764 // 3765 // The following is an Entry and Target pair example for chroot. 3766 // 3767 // [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ] 3768 // 3769 // If the target of a logical directory entry does not exist in Amazon S3 or 3770 // EFS, the entry is ignored. As a workaround, you can use the Amazon S3 API 3771 // or EFS API to create 0 byte objects as place holders for your directory. 3772 // If using the CLI, use the s3api or efsapi call instead of s3 or efs so you 3773 // can use the put-object operation. For example, you use the following: aws 3774 // s3api put-object --bucket bucketname --key path/to/folder/. Make sure that 3775 // the end of the key name ends in a / for it to be considered a folder. 3776 HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` 3777 3778 // The type of landing directory (folder) you want your users' home directory 3779 // to be when they log into the server. If you set it to PATH, the user will 3780 // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer 3781 // protocol clients. If you set it LOGICAL, you need to provide mappings in 3782 // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths 3783 // visible to your users. 3784 HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` 3785 3786 // A session policy for your user so that you can use the same IAM role across 3787 // multiple users. This policy scopes down user access to portions of their 3788 // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, 3789 // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. 3790 // 3791 // This only applies when the domain of ServerId is S3. EFS does not use session 3792 // policies. 3793 // 3794 // For session policies, Amazon Web Services Transfer Family stores the policy 3795 // as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. 3796 // You save the policy as a JSON blob and pass it in the Policy argument. 3797 // 3798 // For an example of a session policy, see Example session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html). 3799 // 3800 // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) 3801 // in the Amazon Web Services Security Token Service API Reference. 3802 Policy *string `type:"string"` 3803 3804 // The full POSIX identity, including user ID (Uid), group ID (Gid), and any 3805 // secondary groups IDs (SecondaryGids), that controls your users' access to 3806 // your Amazon EFS file systems. The POSIX permissions that are set on files 3807 // and directories in your file system determine the level of access your users 3808 // get when transferring files into and out of your Amazon EFS file systems. 3809 PosixProfile *PosixProfile `type:"structure"` 3810 3811 // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your 3812 // users' access to your Amazon S3 bucket or EFS file system. The policies attached 3813 // to this role determine the level of access that you want to provide your 3814 // users when transferring files into and out of your Amazon S3 bucket or EFS 3815 // file system. The IAM role should also contain a trust relationship that allows 3816 // the server to access your resources when servicing your users' transfer requests. 3817 // 3818 // Role is a required field 3819 Role *string `min:"20" type:"string" required:"true"` 3820 3821 // A system-assigned unique identifier for a server instance. This is the specific 3822 // server that you added your user to. 3823 // 3824 // ServerId is a required field 3825 ServerId *string `min:"19" type:"string" required:"true"` 3826} 3827 3828// String returns the string representation 3829func (s CreateAccessInput) String() string { 3830 return awsutil.Prettify(s) 3831} 3832 3833// GoString returns the string representation 3834func (s CreateAccessInput) GoString() string { 3835 return s.String() 3836} 3837 3838// Validate inspects the fields of the type to determine if they are valid. 3839func (s *CreateAccessInput) Validate() error { 3840 invalidParams := request.ErrInvalidParams{Context: "CreateAccessInput"} 3841 if s.ExternalId == nil { 3842 invalidParams.Add(request.NewErrParamRequired("ExternalId")) 3843 } 3844 if s.ExternalId != nil && len(*s.ExternalId) < 1 { 3845 invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) 3846 } 3847 if s.HomeDirectoryMappings != nil && len(s.HomeDirectoryMappings) < 1 { 3848 invalidParams.Add(request.NewErrParamMinLen("HomeDirectoryMappings", 1)) 3849 } 3850 if s.Role == nil { 3851 invalidParams.Add(request.NewErrParamRequired("Role")) 3852 } 3853 if s.Role != nil && len(*s.Role) < 20 { 3854 invalidParams.Add(request.NewErrParamMinLen("Role", 20)) 3855 } 3856 if s.ServerId == nil { 3857 invalidParams.Add(request.NewErrParamRequired("ServerId")) 3858 } 3859 if s.ServerId != nil && len(*s.ServerId) < 19 { 3860 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 3861 } 3862 if s.HomeDirectoryMappings != nil { 3863 for i, v := range s.HomeDirectoryMappings { 3864 if v == nil { 3865 continue 3866 } 3867 if err := v.Validate(); err != nil { 3868 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HomeDirectoryMappings", i), err.(request.ErrInvalidParams)) 3869 } 3870 } 3871 } 3872 if s.PosixProfile != nil { 3873 if err := s.PosixProfile.Validate(); err != nil { 3874 invalidParams.AddNested("PosixProfile", err.(request.ErrInvalidParams)) 3875 } 3876 } 3877 3878 if invalidParams.Len() > 0 { 3879 return invalidParams 3880 } 3881 return nil 3882} 3883 3884// SetExternalId sets the ExternalId field's value. 3885func (s *CreateAccessInput) SetExternalId(v string) *CreateAccessInput { 3886 s.ExternalId = &v 3887 return s 3888} 3889 3890// SetHomeDirectory sets the HomeDirectory field's value. 3891func (s *CreateAccessInput) SetHomeDirectory(v string) *CreateAccessInput { 3892 s.HomeDirectory = &v 3893 return s 3894} 3895 3896// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. 3897func (s *CreateAccessInput) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *CreateAccessInput { 3898 s.HomeDirectoryMappings = v 3899 return s 3900} 3901 3902// SetHomeDirectoryType sets the HomeDirectoryType field's value. 3903func (s *CreateAccessInput) SetHomeDirectoryType(v string) *CreateAccessInput { 3904 s.HomeDirectoryType = &v 3905 return s 3906} 3907 3908// SetPolicy sets the Policy field's value. 3909func (s *CreateAccessInput) SetPolicy(v string) *CreateAccessInput { 3910 s.Policy = &v 3911 return s 3912} 3913 3914// SetPosixProfile sets the PosixProfile field's value. 3915func (s *CreateAccessInput) SetPosixProfile(v *PosixProfile) *CreateAccessInput { 3916 s.PosixProfile = v 3917 return s 3918} 3919 3920// SetRole sets the Role field's value. 3921func (s *CreateAccessInput) SetRole(v string) *CreateAccessInput { 3922 s.Role = &v 3923 return s 3924} 3925 3926// SetServerId sets the ServerId field's value. 3927func (s *CreateAccessInput) SetServerId(v string) *CreateAccessInput { 3928 s.ServerId = &v 3929 return s 3930} 3931 3932type CreateAccessOutput struct { 3933 _ struct{} `type:"structure"` 3934 3935 // The external ID of the group whose users have access to your Amazon S3 or 3936 // Amazon EFS resources over the enabled protocols using Amazon Web Services 3937 // Transfer Family. 3938 // 3939 // ExternalId is a required field 3940 ExternalId *string `min:"1" type:"string" required:"true"` 3941 3942 // The ID of the server that the user is attached to. 3943 // 3944 // ServerId is a required field 3945 ServerId *string `min:"19" type:"string" required:"true"` 3946} 3947 3948// String returns the string representation 3949func (s CreateAccessOutput) String() string { 3950 return awsutil.Prettify(s) 3951} 3952 3953// GoString returns the string representation 3954func (s CreateAccessOutput) GoString() string { 3955 return s.String() 3956} 3957 3958// SetExternalId sets the ExternalId field's value. 3959func (s *CreateAccessOutput) SetExternalId(v string) *CreateAccessOutput { 3960 s.ExternalId = &v 3961 return s 3962} 3963 3964// SetServerId sets the ServerId field's value. 3965func (s *CreateAccessOutput) SetServerId(v string) *CreateAccessOutput { 3966 s.ServerId = &v 3967 return s 3968} 3969 3970type CreateServerInput struct { 3971 _ struct{} `type:"structure"` 3972 3973 // The Amazon Resource Name (ARN) of the Amazon Web Services Certificate Manager 3974 // (ACM) certificate. Required when Protocols is set to FTPS. 3975 // 3976 // To request a new public certificate, see Request a public certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) 3977 // in the Amazon Web Services Certificate Manager User Guide. 3978 // 3979 // To import an existing certificate into ACM, see Importing certificates into 3980 // ACM (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) 3981 // in the Amazon Web Services Certificate Manager User Guide. 3982 // 3983 // To request a private certificate to use FTPS through private IP addresses, 3984 // see Request a private certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) 3985 // in the Amazon Web Services Certificate Manager User Guide. 3986 // 3987 // Certificates with the following cryptographic algorithms and key sizes are 3988 // supported: 3989 // 3990 // * 2048-bit RSA (RSA_2048) 3991 // 3992 // * 4096-bit RSA (RSA_4096) 3993 // 3994 // * Elliptic Prime Curve 256 bit (EC_prime256v1) 3995 // 3996 // * Elliptic Prime Curve 384 bit (EC_secp384r1) 3997 // 3998 // * Elliptic Prime Curve 521 bit (EC_secp521r1) 3999 // 4000 // The certificate must be a valid SSL/TLS X.509 version 3 certificate with 4001 // FQDN or IP address specified and information about the issuer. 4002 Certificate *string `type:"string"` 4003 4004 // The domain of the storage system that is used for file transfers. There are 4005 // two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon 4006 // Elastic File System (Amazon EFS). The default value is S3. 4007 // 4008 // After the server is created, the domain cannot be changed. 4009 Domain *string `type:"string" enum:"Domain"` 4010 4011 // The virtual private cloud (VPC) endpoint settings that are configured for 4012 // your server. When you host your endpoint within your VPC, you can make it 4013 // accessible only to resources within your VPC, or you can attach Elastic IP 4014 // addresses and make it accessible to clients over the internet. Your VPC's 4015 // default security groups are automatically assigned to your endpoint. 4016 EndpointDetails *EndpointDetails `type:"structure"` 4017 4018 // The type of endpoint that you want your server to use. You can choose to 4019 // make your server's endpoint publicly accessible (PUBLIC) or host it inside 4020 // your VPC. With an endpoint that is hosted in a VPC, you can restrict access 4021 // to your server and resources only within your VPC or choose to make it internet 4022 // facing by attaching Elastic IP addresses directly to it. 4023 // 4024 // After May 19, 2021, you won't be able to create a server using EndpointType=VPC_ENDPOINT 4025 // in your Amazon Web Services account if your account hasn't already done so 4026 // before May 19, 2021. If you have already created servers with EndpointType=VPC_ENDPOINT 4027 // in your Amazon Web Services account on or before May 19, 2021, you will not 4028 // be affected. After this date, use EndpointType=VPC. 4029 // 4030 // For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint. 4031 // 4032 // It is recommended that you use VPC as the EndpointType. With this endpoint 4033 // type, you have the option to directly associate up to three Elastic IPv4 4034 // addresses (BYO IP included) with your server's endpoint and use VPC security 4035 // groups to restrict traffic by the client's public IP address. This is not 4036 // possible with EndpointType set to VPC_ENDPOINT. 4037 EndpointType *string `type:"string" enum:"EndpointType"` 4038 4039 // The RSA private key as generated by the ssh-keygen -N "" -m PEM -f my-new-server-key 4040 // command. 4041 // 4042 // If you aren't planning to migrate existing users from an existing SFTP-enabled 4043 // server to a new server, don't update the host key. Accidentally changing 4044 // a server's host key can be disruptive. 4045 // 4046 // For more information, see Change the host key for your SFTP-enabled server 4047 // (https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key) 4048 // in the Amazon Web Services Transfer Family User Guide. 4049 HostKey *string `type:"string" sensitive:"true"` 4050 4051 // Required when IdentityProviderType is set to AWS_DIRECTORY_SERVICE or API_GATEWAY. 4052 // Accepts an array containing all of the information required to use a directory 4053 // in AWS_DIRECTORY_SERVICE or invoke a customer-supplied authentication API, 4054 // including the API Gateway URL. Not required when IdentityProviderType is 4055 // set to SERVICE_MANAGED. 4056 IdentityProviderDetails *IdentityProviderDetails `type:"structure"` 4057 4058 // Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, 4059 // which allows you to store and access user credentials within the Amazon Web 4060 // Services Transfer Family service. 4061 // 4062 // Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in 4063 // Amazon Web Services Managed Active Directory or Microsoft Active Directory 4064 // in your on-premises environment or in Amazon Web Services using AD Connectors. 4065 // This option also requires you to provide a Directory ID using the IdentityProviderDetails 4066 // parameter. 4067 // 4068 // Use the API_GATEWAY value to integrate with an identity provider of your 4069 // choosing. The API_GATEWAY setting requires you to provide an API Gateway 4070 // endpoint URL to call for authentication using the IdentityProviderDetails 4071 // parameter. 4072 IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` 4073 4074 // Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 4075 // and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch 4076 // logging for Amazon S3 or Amazon EFS events. When set, user activity can be 4077 // viewed in your CloudWatch logs. 4078 LoggingRole *string `min:"20" type:"string"` 4079 4080 // Specifies the file transfer protocol or protocols over which your file transfer 4081 // protocol client can connect to your server's endpoint. The available protocols 4082 // are: 4083 // 4084 // * SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over 4085 // SSH 4086 // 4087 // * FTPS (File Transfer Protocol Secure): File transfer with TLS encryption 4088 // 4089 // * FTP (File Transfer Protocol): Unencrypted file transfer 4090 // 4091 // If you select FTPS, you must choose a certificate stored in Amazon Web Services 4092 // Certificate Manager (ACM) which is used to identify your server when clients 4093 // connect to it over FTPS. 4094 // 4095 // If Protocol includes either FTP or FTPS, then the EndpointType must be VPC 4096 // and the IdentityProviderType must be AWS_DIRECTORY_SERVICE or API_GATEWAY. 4097 // 4098 // If Protocol includes FTP, then AddressAllocationIds cannot be associated. 4099 // 4100 // If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and 4101 // the IdentityProviderType can be set to SERVICE_MANAGED. 4102 Protocols []*string `min:"1" type:"list"` 4103 4104 // Specifies the name of the security policy that is attached to the server. 4105 SecurityPolicyName *string `type:"string"` 4106 4107 // Key-value pairs that can be used to group and search for servers. 4108 Tags []*Tag `min:"1" type:"list"` 4109 4110 // Specifies the workflow ID for the workflow to assign and the execution role 4111 // used for executing the workflow. 4112 WorkflowDetails *WorkflowDetails `type:"structure"` 4113} 4114 4115// String returns the string representation 4116func (s CreateServerInput) String() string { 4117 return awsutil.Prettify(s) 4118} 4119 4120// GoString returns the string representation 4121func (s CreateServerInput) GoString() string { 4122 return s.String() 4123} 4124 4125// Validate inspects the fields of the type to determine if they are valid. 4126func (s *CreateServerInput) Validate() error { 4127 invalidParams := request.ErrInvalidParams{Context: "CreateServerInput"} 4128 if s.LoggingRole != nil && len(*s.LoggingRole) < 20 { 4129 invalidParams.Add(request.NewErrParamMinLen("LoggingRole", 20)) 4130 } 4131 if s.Protocols != nil && len(s.Protocols) < 1 { 4132 invalidParams.Add(request.NewErrParamMinLen("Protocols", 1)) 4133 } 4134 if s.Tags != nil && len(s.Tags) < 1 { 4135 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4136 } 4137 if s.EndpointDetails != nil { 4138 if err := s.EndpointDetails.Validate(); err != nil { 4139 invalidParams.AddNested("EndpointDetails", err.(request.ErrInvalidParams)) 4140 } 4141 } 4142 if s.IdentityProviderDetails != nil { 4143 if err := s.IdentityProviderDetails.Validate(); err != nil { 4144 invalidParams.AddNested("IdentityProviderDetails", err.(request.ErrInvalidParams)) 4145 } 4146 } 4147 if s.Tags != nil { 4148 for i, v := range s.Tags { 4149 if v == nil { 4150 continue 4151 } 4152 if err := v.Validate(); err != nil { 4153 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4154 } 4155 } 4156 } 4157 if s.WorkflowDetails != nil { 4158 if err := s.WorkflowDetails.Validate(); err != nil { 4159 invalidParams.AddNested("WorkflowDetails", err.(request.ErrInvalidParams)) 4160 } 4161 } 4162 4163 if invalidParams.Len() > 0 { 4164 return invalidParams 4165 } 4166 return nil 4167} 4168 4169// SetCertificate sets the Certificate field's value. 4170func (s *CreateServerInput) SetCertificate(v string) *CreateServerInput { 4171 s.Certificate = &v 4172 return s 4173} 4174 4175// SetDomain sets the Domain field's value. 4176func (s *CreateServerInput) SetDomain(v string) *CreateServerInput { 4177 s.Domain = &v 4178 return s 4179} 4180 4181// SetEndpointDetails sets the EndpointDetails field's value. 4182func (s *CreateServerInput) SetEndpointDetails(v *EndpointDetails) *CreateServerInput { 4183 s.EndpointDetails = v 4184 return s 4185} 4186 4187// SetEndpointType sets the EndpointType field's value. 4188func (s *CreateServerInput) SetEndpointType(v string) *CreateServerInput { 4189 s.EndpointType = &v 4190 return s 4191} 4192 4193// SetHostKey sets the HostKey field's value. 4194func (s *CreateServerInput) SetHostKey(v string) *CreateServerInput { 4195 s.HostKey = &v 4196 return s 4197} 4198 4199// SetIdentityProviderDetails sets the IdentityProviderDetails field's value. 4200func (s *CreateServerInput) SetIdentityProviderDetails(v *IdentityProviderDetails) *CreateServerInput { 4201 s.IdentityProviderDetails = v 4202 return s 4203} 4204 4205// SetIdentityProviderType sets the IdentityProviderType field's value. 4206func (s *CreateServerInput) SetIdentityProviderType(v string) *CreateServerInput { 4207 s.IdentityProviderType = &v 4208 return s 4209} 4210 4211// SetLoggingRole sets the LoggingRole field's value. 4212func (s *CreateServerInput) SetLoggingRole(v string) *CreateServerInput { 4213 s.LoggingRole = &v 4214 return s 4215} 4216 4217// SetProtocols sets the Protocols field's value. 4218func (s *CreateServerInput) SetProtocols(v []*string) *CreateServerInput { 4219 s.Protocols = v 4220 return s 4221} 4222 4223// SetSecurityPolicyName sets the SecurityPolicyName field's value. 4224func (s *CreateServerInput) SetSecurityPolicyName(v string) *CreateServerInput { 4225 s.SecurityPolicyName = &v 4226 return s 4227} 4228 4229// SetTags sets the Tags field's value. 4230func (s *CreateServerInput) SetTags(v []*Tag) *CreateServerInput { 4231 s.Tags = v 4232 return s 4233} 4234 4235// SetWorkflowDetails sets the WorkflowDetails field's value. 4236func (s *CreateServerInput) SetWorkflowDetails(v *WorkflowDetails) *CreateServerInput { 4237 s.WorkflowDetails = v 4238 return s 4239} 4240 4241type CreateServerOutput struct { 4242 _ struct{} `type:"structure"` 4243 4244 // The service-assigned ID of the server that is created. 4245 // 4246 // ServerId is a required field 4247 ServerId *string `min:"19" type:"string" required:"true"` 4248} 4249 4250// String returns the string representation 4251func (s CreateServerOutput) String() string { 4252 return awsutil.Prettify(s) 4253} 4254 4255// GoString returns the string representation 4256func (s CreateServerOutput) GoString() string { 4257 return s.String() 4258} 4259 4260// SetServerId sets the ServerId field's value. 4261func (s *CreateServerOutput) SetServerId(v string) *CreateServerOutput { 4262 s.ServerId = &v 4263 return s 4264} 4265 4266type CreateUserInput struct { 4267 _ struct{} `type:"structure"` 4268 4269 // The landing directory (folder) for a user when they log in to the server 4270 // using the client. 4271 // 4272 // A HomeDirectory example is /bucket_name/home/mydirectory. 4273 HomeDirectory *string `type:"string"` 4274 4275 // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths 4276 // and keys should be visible to your user and how you want to make them visible. 4277 // You must specify the Entry and Target pair, where Entry shows how the path 4278 // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If 4279 // you only specify a target, it is displayed as is. You also must ensure that 4280 // your Amazon Web Services Identity and Access Management (IAM) role provides 4281 // access to paths in Target. This value can only be set when HomeDirectoryType 4282 // is set to LOGICAL. 4283 // 4284 // The following is an Entry and Target pair example. 4285 // 4286 // [ { "Entry": "your-personal-report.pdf", "Target": "/bucket3/customized-reports/${transfer:UserName}.pdf" 4287 // } ] 4288 // 4289 // In most cases, you can use this value instead of the session policy to lock 4290 // your user down to the designated home directory ("chroot"). To do this, you 4291 // can set Entry to / and set Target to the HomeDirectory parameter value. 4292 // 4293 // The following is an Entry and Target pair example for chroot. 4294 // 4295 // [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ] 4296 // 4297 // If the target of a logical directory entry does not exist in Amazon S3 or 4298 // EFS, the entry is ignored. As a workaround, you can use the Amazon S3 API 4299 // or EFS API to create 0 byte objects as place holders for your directory. 4300 // If using the CLI, use the s3api or efsapi call instead of s3 or efs so you 4301 // can use the put-object operation. For example, you use the following: aws 4302 // s3api put-object --bucket bucketname --key path/to/folder/. Make sure that 4303 // the end of the key name ends in a / for it to be considered a folder. 4304 HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` 4305 4306 // The type of landing directory (folder) you want your users' home directory 4307 // to be when they log into the server. If you set it to PATH, the user will 4308 // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer 4309 // protocol clients. If you set it LOGICAL, you need to provide mappings in 4310 // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths 4311 // visible to your users. 4312 HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` 4313 4314 // A session policy for your user so that you can use the same IAM role across 4315 // multiple users. This policy scopes down user access to portions of their 4316 // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, 4317 // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. 4318 // 4319 // This only applies when the domain of ServerId is S3. EFS does not use session 4320 // policies. 4321 // 4322 // For session policies, Amazon Web Services Transfer Family stores the policy 4323 // as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. 4324 // You save the policy as a JSON blob and pass it in the Policy argument. 4325 // 4326 // For an example of a session policy, see Example session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html). 4327 // 4328 // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) 4329 // in the Amazon Web Services Security Token Service API Reference. 4330 Policy *string `type:"string"` 4331 4332 // Specifies the full POSIX identity, including user ID (Uid), group ID (Gid), 4333 // and any secondary groups IDs (SecondaryGids), that controls your users' access 4334 // to your Amazon EFS file systems. The POSIX permissions that are set on files 4335 // and directories in Amazon EFS determine the level of access your users get 4336 // when transferring files into and out of your Amazon EFS file systems. 4337 PosixProfile *PosixProfile `type:"structure"` 4338 4339 // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your 4340 // users' access to your Amazon S3 bucket or EFS file system. The policies attached 4341 // to this role determine the level of access that you want to provide your 4342 // users when transferring files into and out of your Amazon S3 bucket or EFS 4343 // file system. The IAM role should also contain a trust relationship that allows 4344 // the server to access your resources when servicing your users' transfer requests. 4345 // 4346 // Role is a required field 4347 Role *string `min:"20" type:"string" required:"true"` 4348 4349 // A system-assigned unique identifier for a server instance. This is the specific 4350 // server that you added your user to. 4351 // 4352 // ServerId is a required field 4353 ServerId *string `min:"19" type:"string" required:"true"` 4354 4355 // The public portion of the Secure Shell (SSH) key used to authenticate the 4356 // user to the server. 4357 SshPublicKeyBody *string `type:"string"` 4358 4359 // Key-value pairs that can be used to group and search for users. Tags are 4360 // metadata attached to users for any purpose. 4361 Tags []*Tag `min:"1" type:"list"` 4362 4363 // A unique string that identifies a user and is associated with a ServerId. 4364 // This user name must be a minimum of 3 and a maximum of 100 characters long. 4365 // The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen 4366 // '-', period '.', and at sign '@'. The user name can't start with a hyphen, 4367 // period, or at sign. 4368 // 4369 // UserName is a required field 4370 UserName *string `min:"3" type:"string" required:"true"` 4371} 4372 4373// String returns the string representation 4374func (s CreateUserInput) String() string { 4375 return awsutil.Prettify(s) 4376} 4377 4378// GoString returns the string representation 4379func (s CreateUserInput) GoString() string { 4380 return s.String() 4381} 4382 4383// Validate inspects the fields of the type to determine if they are valid. 4384func (s *CreateUserInput) Validate() error { 4385 invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"} 4386 if s.HomeDirectoryMappings != nil && len(s.HomeDirectoryMappings) < 1 { 4387 invalidParams.Add(request.NewErrParamMinLen("HomeDirectoryMappings", 1)) 4388 } 4389 if s.Role == nil { 4390 invalidParams.Add(request.NewErrParamRequired("Role")) 4391 } 4392 if s.Role != nil && len(*s.Role) < 20 { 4393 invalidParams.Add(request.NewErrParamMinLen("Role", 20)) 4394 } 4395 if s.ServerId == nil { 4396 invalidParams.Add(request.NewErrParamRequired("ServerId")) 4397 } 4398 if s.ServerId != nil && len(*s.ServerId) < 19 { 4399 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 4400 } 4401 if s.Tags != nil && len(s.Tags) < 1 { 4402 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4403 } 4404 if s.UserName == nil { 4405 invalidParams.Add(request.NewErrParamRequired("UserName")) 4406 } 4407 if s.UserName != nil && len(*s.UserName) < 3 { 4408 invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) 4409 } 4410 if s.HomeDirectoryMappings != nil { 4411 for i, v := range s.HomeDirectoryMappings { 4412 if v == nil { 4413 continue 4414 } 4415 if err := v.Validate(); err != nil { 4416 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HomeDirectoryMappings", i), err.(request.ErrInvalidParams)) 4417 } 4418 } 4419 } 4420 if s.PosixProfile != nil { 4421 if err := s.PosixProfile.Validate(); err != nil { 4422 invalidParams.AddNested("PosixProfile", err.(request.ErrInvalidParams)) 4423 } 4424 } 4425 if s.Tags != nil { 4426 for i, v := range s.Tags { 4427 if v == nil { 4428 continue 4429 } 4430 if err := v.Validate(); err != nil { 4431 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4432 } 4433 } 4434 } 4435 4436 if invalidParams.Len() > 0 { 4437 return invalidParams 4438 } 4439 return nil 4440} 4441 4442// SetHomeDirectory sets the HomeDirectory field's value. 4443func (s *CreateUserInput) SetHomeDirectory(v string) *CreateUserInput { 4444 s.HomeDirectory = &v 4445 return s 4446} 4447 4448// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. 4449func (s *CreateUserInput) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *CreateUserInput { 4450 s.HomeDirectoryMappings = v 4451 return s 4452} 4453 4454// SetHomeDirectoryType sets the HomeDirectoryType field's value. 4455func (s *CreateUserInput) SetHomeDirectoryType(v string) *CreateUserInput { 4456 s.HomeDirectoryType = &v 4457 return s 4458} 4459 4460// SetPolicy sets the Policy field's value. 4461func (s *CreateUserInput) SetPolicy(v string) *CreateUserInput { 4462 s.Policy = &v 4463 return s 4464} 4465 4466// SetPosixProfile sets the PosixProfile field's value. 4467func (s *CreateUserInput) SetPosixProfile(v *PosixProfile) *CreateUserInput { 4468 s.PosixProfile = v 4469 return s 4470} 4471 4472// SetRole sets the Role field's value. 4473func (s *CreateUserInput) SetRole(v string) *CreateUserInput { 4474 s.Role = &v 4475 return s 4476} 4477 4478// SetServerId sets the ServerId field's value. 4479func (s *CreateUserInput) SetServerId(v string) *CreateUserInput { 4480 s.ServerId = &v 4481 return s 4482} 4483 4484// SetSshPublicKeyBody sets the SshPublicKeyBody field's value. 4485func (s *CreateUserInput) SetSshPublicKeyBody(v string) *CreateUserInput { 4486 s.SshPublicKeyBody = &v 4487 return s 4488} 4489 4490// SetTags sets the Tags field's value. 4491func (s *CreateUserInput) SetTags(v []*Tag) *CreateUserInput { 4492 s.Tags = v 4493 return s 4494} 4495 4496// SetUserName sets the UserName field's value. 4497func (s *CreateUserInput) SetUserName(v string) *CreateUserInput { 4498 s.UserName = &v 4499 return s 4500} 4501 4502type CreateUserOutput struct { 4503 _ struct{} `type:"structure"` 4504 4505 // The ID of the server that the user is attached to. 4506 // 4507 // ServerId is a required field 4508 ServerId *string `min:"19" type:"string" required:"true"` 4509 4510 // A unique string that identifies a user account associated with a server. 4511 // 4512 // UserName is a required field 4513 UserName *string `min:"3" type:"string" required:"true"` 4514} 4515 4516// String returns the string representation 4517func (s CreateUserOutput) String() string { 4518 return awsutil.Prettify(s) 4519} 4520 4521// GoString returns the string representation 4522func (s CreateUserOutput) GoString() string { 4523 return s.String() 4524} 4525 4526// SetServerId sets the ServerId field's value. 4527func (s *CreateUserOutput) SetServerId(v string) *CreateUserOutput { 4528 s.ServerId = &v 4529 return s 4530} 4531 4532// SetUserName sets the UserName field's value. 4533func (s *CreateUserOutput) SetUserName(v string) *CreateUserOutput { 4534 s.UserName = &v 4535 return s 4536} 4537 4538type CreateWorkflowInput struct { 4539 _ struct{} `type:"structure"` 4540 4541 // A textual description for the workflow. 4542 Description *string `type:"string"` 4543 4544 // Specifies the steps (actions) to take if any errors are encountered during 4545 // execution of the workflow. 4546 OnExceptionSteps []*WorkflowStep `type:"list"` 4547 4548 // Specifies the details for the steps that are in the specified workflow. 4549 // 4550 // The TYPE specifies which of the following actions is being taken for this 4551 // step. 4552 // 4553 // * Copy: copy the file to another location 4554 // 4555 // * Custom: custom step with a lambda target 4556 // 4557 // * Delete: delete the file 4558 // 4559 // * Tag: add a tag to the file 4560 // 4561 // For file location, you specify either the S3 bucket and key, or the EFS filesystem 4562 // ID and path. 4563 // 4564 // Steps is a required field 4565 Steps []*WorkflowStep `type:"list" required:"true"` 4566 4567 // Key-value pairs that can be used to group and search for workflows. Tags 4568 // are metadata attached to workflows for any purpose. 4569 Tags []*Tag `min:"1" type:"list"` 4570} 4571 4572// String returns the string representation 4573func (s CreateWorkflowInput) String() string { 4574 return awsutil.Prettify(s) 4575} 4576 4577// GoString returns the string representation 4578func (s CreateWorkflowInput) GoString() string { 4579 return s.String() 4580} 4581 4582// Validate inspects the fields of the type to determine if they are valid. 4583func (s *CreateWorkflowInput) Validate() error { 4584 invalidParams := request.ErrInvalidParams{Context: "CreateWorkflowInput"} 4585 if s.Steps == nil { 4586 invalidParams.Add(request.NewErrParamRequired("Steps")) 4587 } 4588 if s.Tags != nil && len(s.Tags) < 1 { 4589 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4590 } 4591 if s.OnExceptionSteps != nil { 4592 for i, v := range s.OnExceptionSteps { 4593 if v == nil { 4594 continue 4595 } 4596 if err := v.Validate(); err != nil { 4597 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OnExceptionSteps", i), err.(request.ErrInvalidParams)) 4598 } 4599 } 4600 } 4601 if s.Steps != nil { 4602 for i, v := range s.Steps { 4603 if v == nil { 4604 continue 4605 } 4606 if err := v.Validate(); err != nil { 4607 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) 4608 } 4609 } 4610 } 4611 if s.Tags != nil { 4612 for i, v := range s.Tags { 4613 if v == nil { 4614 continue 4615 } 4616 if err := v.Validate(); err != nil { 4617 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4618 } 4619 } 4620 } 4621 4622 if invalidParams.Len() > 0 { 4623 return invalidParams 4624 } 4625 return nil 4626} 4627 4628// SetDescription sets the Description field's value. 4629func (s *CreateWorkflowInput) SetDescription(v string) *CreateWorkflowInput { 4630 s.Description = &v 4631 return s 4632} 4633 4634// SetOnExceptionSteps sets the OnExceptionSteps field's value. 4635func (s *CreateWorkflowInput) SetOnExceptionSteps(v []*WorkflowStep) *CreateWorkflowInput { 4636 s.OnExceptionSteps = v 4637 return s 4638} 4639 4640// SetSteps sets the Steps field's value. 4641func (s *CreateWorkflowInput) SetSteps(v []*WorkflowStep) *CreateWorkflowInput { 4642 s.Steps = v 4643 return s 4644} 4645 4646// SetTags sets the Tags field's value. 4647func (s *CreateWorkflowInput) SetTags(v []*Tag) *CreateWorkflowInput { 4648 s.Tags = v 4649 return s 4650} 4651 4652type CreateWorkflowOutput struct { 4653 _ struct{} `type:"structure"` 4654 4655 // A unique identifier for the workflow. 4656 // 4657 // WorkflowId is a required field 4658 WorkflowId *string `min:"19" type:"string" required:"true"` 4659} 4660 4661// String returns the string representation 4662func (s CreateWorkflowOutput) String() string { 4663 return awsutil.Prettify(s) 4664} 4665 4666// GoString returns the string representation 4667func (s CreateWorkflowOutput) GoString() string { 4668 return s.String() 4669} 4670 4671// SetWorkflowId sets the WorkflowId field's value. 4672func (s *CreateWorkflowOutput) SetWorkflowId(v string) *CreateWorkflowOutput { 4673 s.WorkflowId = &v 4674 return s 4675} 4676 4677// Each step type has its own StepDetails structure. 4678type CustomStepDetails struct { 4679 _ struct{} `type:"structure"` 4680 4681 // The name of the step, used as an identifier. 4682 Name *string `type:"string"` 4683 4684 // The ARN for the lambda function that is being called. 4685 Target *string `type:"string"` 4686 4687 // Timeout, in seconds, for the step. 4688 TimeoutSeconds *int64 `min:"1" type:"integer"` 4689} 4690 4691// String returns the string representation 4692func (s CustomStepDetails) String() string { 4693 return awsutil.Prettify(s) 4694} 4695 4696// GoString returns the string representation 4697func (s CustomStepDetails) GoString() string { 4698 return s.String() 4699} 4700 4701// Validate inspects the fields of the type to determine if they are valid. 4702func (s *CustomStepDetails) Validate() error { 4703 invalidParams := request.ErrInvalidParams{Context: "CustomStepDetails"} 4704 if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 1 { 4705 invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 1)) 4706 } 4707 4708 if invalidParams.Len() > 0 { 4709 return invalidParams 4710 } 4711 return nil 4712} 4713 4714// SetName sets the Name field's value. 4715func (s *CustomStepDetails) SetName(v string) *CustomStepDetails { 4716 s.Name = &v 4717 return s 4718} 4719 4720// SetTarget sets the Target field's value. 4721func (s *CustomStepDetails) SetTarget(v string) *CustomStepDetails { 4722 s.Target = &v 4723 return s 4724} 4725 4726// SetTimeoutSeconds sets the TimeoutSeconds field's value. 4727func (s *CustomStepDetails) SetTimeoutSeconds(v int64) *CustomStepDetails { 4728 s.TimeoutSeconds = &v 4729 return s 4730} 4731 4732type DeleteAccessInput struct { 4733 _ struct{} `type:"structure"` 4734 4735 // A unique identifier that is required to identify specific groups within your 4736 // directory. The users of the group that you associate have access to your 4737 // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon 4738 // Web Services Transfer Family. If you know the group name, you can view the 4739 // SID values by running the following command using Windows PowerShell. 4740 // 4741 // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * 4742 // | Select SamAccountName,ObjectSid 4743 // 4744 // In that command, replace YourGroupName with the name of your Active Directory 4745 // group. 4746 // 4747 // The regex used to validate this parameter is a string of characters consisting 4748 // of uppercase and lowercase alphanumeric characters with no spaces. You can 4749 // also include underscores or any of the following characters: =,.@:/- 4750 // 4751 // ExternalId is a required field 4752 ExternalId *string `min:"1" type:"string" required:"true"` 4753 4754 // A system-assigned unique identifier for a server that has this user assigned. 4755 // 4756 // ServerId is a required field 4757 ServerId *string `min:"19" type:"string" required:"true"` 4758} 4759 4760// String returns the string representation 4761func (s DeleteAccessInput) String() string { 4762 return awsutil.Prettify(s) 4763} 4764 4765// GoString returns the string representation 4766func (s DeleteAccessInput) GoString() string { 4767 return s.String() 4768} 4769 4770// Validate inspects the fields of the type to determine if they are valid. 4771func (s *DeleteAccessInput) Validate() error { 4772 invalidParams := request.ErrInvalidParams{Context: "DeleteAccessInput"} 4773 if s.ExternalId == nil { 4774 invalidParams.Add(request.NewErrParamRequired("ExternalId")) 4775 } 4776 if s.ExternalId != nil && len(*s.ExternalId) < 1 { 4777 invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) 4778 } 4779 if s.ServerId == nil { 4780 invalidParams.Add(request.NewErrParamRequired("ServerId")) 4781 } 4782 if s.ServerId != nil && len(*s.ServerId) < 19 { 4783 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 4784 } 4785 4786 if invalidParams.Len() > 0 { 4787 return invalidParams 4788 } 4789 return nil 4790} 4791 4792// SetExternalId sets the ExternalId field's value. 4793func (s *DeleteAccessInput) SetExternalId(v string) *DeleteAccessInput { 4794 s.ExternalId = &v 4795 return s 4796} 4797 4798// SetServerId sets the ServerId field's value. 4799func (s *DeleteAccessInput) SetServerId(v string) *DeleteAccessInput { 4800 s.ServerId = &v 4801 return s 4802} 4803 4804type DeleteAccessOutput struct { 4805 _ struct{} `type:"structure"` 4806} 4807 4808// String returns the string representation 4809func (s DeleteAccessOutput) String() string { 4810 return awsutil.Prettify(s) 4811} 4812 4813// GoString returns the string representation 4814func (s DeleteAccessOutput) GoString() string { 4815 return s.String() 4816} 4817 4818type DeleteServerInput struct { 4819 _ struct{} `type:"structure"` 4820 4821 // A unique system-assigned identifier for a server instance. 4822 // 4823 // ServerId is a required field 4824 ServerId *string `min:"19" type:"string" required:"true"` 4825} 4826 4827// String returns the string representation 4828func (s DeleteServerInput) String() string { 4829 return awsutil.Prettify(s) 4830} 4831 4832// GoString returns the string representation 4833func (s DeleteServerInput) GoString() string { 4834 return s.String() 4835} 4836 4837// Validate inspects the fields of the type to determine if they are valid. 4838func (s *DeleteServerInput) Validate() error { 4839 invalidParams := request.ErrInvalidParams{Context: "DeleteServerInput"} 4840 if s.ServerId == nil { 4841 invalidParams.Add(request.NewErrParamRequired("ServerId")) 4842 } 4843 if s.ServerId != nil && len(*s.ServerId) < 19 { 4844 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 4845 } 4846 4847 if invalidParams.Len() > 0 { 4848 return invalidParams 4849 } 4850 return nil 4851} 4852 4853// SetServerId sets the ServerId field's value. 4854func (s *DeleteServerInput) SetServerId(v string) *DeleteServerInput { 4855 s.ServerId = &v 4856 return s 4857} 4858 4859type DeleteServerOutput struct { 4860 _ struct{} `type:"structure"` 4861} 4862 4863// String returns the string representation 4864func (s DeleteServerOutput) String() string { 4865 return awsutil.Prettify(s) 4866} 4867 4868// GoString returns the string representation 4869func (s DeleteServerOutput) GoString() string { 4870 return s.String() 4871} 4872 4873type DeleteSshPublicKeyInput struct { 4874 _ struct{} `type:"structure"` 4875 4876 // A system-assigned unique identifier for a file transfer protocol-enabled 4877 // server instance that has the user assigned to it. 4878 // 4879 // ServerId is a required field 4880 ServerId *string `min:"19" type:"string" required:"true"` 4881 4882 // A unique identifier used to reference your user's specific SSH key. 4883 // 4884 // SshPublicKeyId is a required field 4885 SshPublicKeyId *string `min:"21" type:"string" required:"true"` 4886 4887 // A unique string that identifies a user whose public key is being deleted. 4888 // 4889 // UserName is a required field 4890 UserName *string `min:"3" type:"string" required:"true"` 4891} 4892 4893// String returns the string representation 4894func (s DeleteSshPublicKeyInput) String() string { 4895 return awsutil.Prettify(s) 4896} 4897 4898// GoString returns the string representation 4899func (s DeleteSshPublicKeyInput) GoString() string { 4900 return s.String() 4901} 4902 4903// Validate inspects the fields of the type to determine if they are valid. 4904func (s *DeleteSshPublicKeyInput) Validate() error { 4905 invalidParams := request.ErrInvalidParams{Context: "DeleteSshPublicKeyInput"} 4906 if s.ServerId == nil { 4907 invalidParams.Add(request.NewErrParamRequired("ServerId")) 4908 } 4909 if s.ServerId != nil && len(*s.ServerId) < 19 { 4910 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 4911 } 4912 if s.SshPublicKeyId == nil { 4913 invalidParams.Add(request.NewErrParamRequired("SshPublicKeyId")) 4914 } 4915 if s.SshPublicKeyId != nil && len(*s.SshPublicKeyId) < 21 { 4916 invalidParams.Add(request.NewErrParamMinLen("SshPublicKeyId", 21)) 4917 } 4918 if s.UserName == nil { 4919 invalidParams.Add(request.NewErrParamRequired("UserName")) 4920 } 4921 if s.UserName != nil && len(*s.UserName) < 3 { 4922 invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) 4923 } 4924 4925 if invalidParams.Len() > 0 { 4926 return invalidParams 4927 } 4928 return nil 4929} 4930 4931// SetServerId sets the ServerId field's value. 4932func (s *DeleteSshPublicKeyInput) SetServerId(v string) *DeleteSshPublicKeyInput { 4933 s.ServerId = &v 4934 return s 4935} 4936 4937// SetSshPublicKeyId sets the SshPublicKeyId field's value. 4938func (s *DeleteSshPublicKeyInput) SetSshPublicKeyId(v string) *DeleteSshPublicKeyInput { 4939 s.SshPublicKeyId = &v 4940 return s 4941} 4942 4943// SetUserName sets the UserName field's value. 4944func (s *DeleteSshPublicKeyInput) SetUserName(v string) *DeleteSshPublicKeyInput { 4945 s.UserName = &v 4946 return s 4947} 4948 4949type DeleteSshPublicKeyOutput struct { 4950 _ struct{} `type:"structure"` 4951} 4952 4953// String returns the string representation 4954func (s DeleteSshPublicKeyOutput) String() string { 4955 return awsutil.Prettify(s) 4956} 4957 4958// GoString returns the string representation 4959func (s DeleteSshPublicKeyOutput) GoString() string { 4960 return s.String() 4961} 4962 4963// The name of the step, used to identify the step that is being deleted. 4964type DeleteStepDetails struct { 4965 _ struct{} `type:"structure"` 4966 4967 // The name of the step, used as an identifier. 4968 Name *string `type:"string"` 4969} 4970 4971// String returns the string representation 4972func (s DeleteStepDetails) String() string { 4973 return awsutil.Prettify(s) 4974} 4975 4976// GoString returns the string representation 4977func (s DeleteStepDetails) GoString() string { 4978 return s.String() 4979} 4980 4981// SetName sets the Name field's value. 4982func (s *DeleteStepDetails) SetName(v string) *DeleteStepDetails { 4983 s.Name = &v 4984 return s 4985} 4986 4987type DeleteUserInput struct { 4988 _ struct{} `type:"structure"` 4989 4990 // A system-assigned unique identifier for a server instance that has the user 4991 // assigned to it. 4992 // 4993 // ServerId is a required field 4994 ServerId *string `min:"19" type:"string" required:"true"` 4995 4996 // A unique string that identifies a user that is being deleted from a server. 4997 // 4998 // UserName is a required field 4999 UserName *string `min:"3" type:"string" required:"true"` 5000} 5001 5002// String returns the string representation 5003func (s DeleteUserInput) String() string { 5004 return awsutil.Prettify(s) 5005} 5006 5007// GoString returns the string representation 5008func (s DeleteUserInput) GoString() string { 5009 return s.String() 5010} 5011 5012// Validate inspects the fields of the type to determine if they are valid. 5013func (s *DeleteUserInput) Validate() error { 5014 invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} 5015 if s.ServerId == nil { 5016 invalidParams.Add(request.NewErrParamRequired("ServerId")) 5017 } 5018 if s.ServerId != nil && len(*s.ServerId) < 19 { 5019 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 5020 } 5021 if s.UserName == nil { 5022 invalidParams.Add(request.NewErrParamRequired("UserName")) 5023 } 5024 if s.UserName != nil && len(*s.UserName) < 3 { 5025 invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) 5026 } 5027 5028 if invalidParams.Len() > 0 { 5029 return invalidParams 5030 } 5031 return nil 5032} 5033 5034// SetServerId sets the ServerId field's value. 5035func (s *DeleteUserInput) SetServerId(v string) *DeleteUserInput { 5036 s.ServerId = &v 5037 return s 5038} 5039 5040// SetUserName sets the UserName field's value. 5041func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { 5042 s.UserName = &v 5043 return s 5044} 5045 5046type DeleteUserOutput struct { 5047 _ struct{} `type:"structure"` 5048} 5049 5050// String returns the string representation 5051func (s DeleteUserOutput) String() string { 5052 return awsutil.Prettify(s) 5053} 5054 5055// GoString returns the string representation 5056func (s DeleteUserOutput) GoString() string { 5057 return s.String() 5058} 5059 5060type DeleteWorkflowInput struct { 5061 _ struct{} `type:"structure"` 5062 5063 // A unique identifier for the workflow. 5064 // 5065 // WorkflowId is a required field 5066 WorkflowId *string `min:"19" type:"string" required:"true"` 5067} 5068 5069// String returns the string representation 5070func (s DeleteWorkflowInput) String() string { 5071 return awsutil.Prettify(s) 5072} 5073 5074// GoString returns the string representation 5075func (s DeleteWorkflowInput) GoString() string { 5076 return s.String() 5077} 5078 5079// Validate inspects the fields of the type to determine if they are valid. 5080func (s *DeleteWorkflowInput) Validate() error { 5081 invalidParams := request.ErrInvalidParams{Context: "DeleteWorkflowInput"} 5082 if s.WorkflowId == nil { 5083 invalidParams.Add(request.NewErrParamRequired("WorkflowId")) 5084 } 5085 if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { 5086 invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) 5087 } 5088 5089 if invalidParams.Len() > 0 { 5090 return invalidParams 5091 } 5092 return nil 5093} 5094 5095// SetWorkflowId sets the WorkflowId field's value. 5096func (s *DeleteWorkflowInput) SetWorkflowId(v string) *DeleteWorkflowInput { 5097 s.WorkflowId = &v 5098 return s 5099} 5100 5101type DeleteWorkflowOutput struct { 5102 _ struct{} `type:"structure"` 5103} 5104 5105// String returns the string representation 5106func (s DeleteWorkflowOutput) String() string { 5107 return awsutil.Prettify(s) 5108} 5109 5110// GoString returns the string representation 5111func (s DeleteWorkflowOutput) GoString() string { 5112 return s.String() 5113} 5114 5115type DescribeAccessInput struct { 5116 _ struct{} `type:"structure"` 5117 5118 // A unique identifier that is required to identify specific groups within your 5119 // directory. The users of the group that you associate have access to your 5120 // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon 5121 // Web Services Transfer Family. If you know the group name, you can view the 5122 // SID values by running the following command using Windows PowerShell. 5123 // 5124 // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * 5125 // | Select SamAccountName,ObjectSid 5126 // 5127 // In that command, replace YourGroupName with the name of your Active Directory 5128 // group. 5129 // 5130 // The regex used to validate this parameter is a string of characters consisting 5131 // of uppercase and lowercase alphanumeric characters with no spaces. You can 5132 // also include underscores or any of the following characters: =,.@:/- 5133 // 5134 // ExternalId is a required field 5135 ExternalId *string `min:"1" type:"string" required:"true"` 5136 5137 // A system-assigned unique identifier for a server that has this access assigned. 5138 // 5139 // ServerId is a required field 5140 ServerId *string `min:"19" type:"string" required:"true"` 5141} 5142 5143// String returns the string representation 5144func (s DescribeAccessInput) String() string { 5145 return awsutil.Prettify(s) 5146} 5147 5148// GoString returns the string representation 5149func (s DescribeAccessInput) GoString() string { 5150 return s.String() 5151} 5152 5153// Validate inspects the fields of the type to determine if they are valid. 5154func (s *DescribeAccessInput) Validate() error { 5155 invalidParams := request.ErrInvalidParams{Context: "DescribeAccessInput"} 5156 if s.ExternalId == nil { 5157 invalidParams.Add(request.NewErrParamRequired("ExternalId")) 5158 } 5159 if s.ExternalId != nil && len(*s.ExternalId) < 1 { 5160 invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) 5161 } 5162 if s.ServerId == nil { 5163 invalidParams.Add(request.NewErrParamRequired("ServerId")) 5164 } 5165 if s.ServerId != nil && len(*s.ServerId) < 19 { 5166 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 5167 } 5168 5169 if invalidParams.Len() > 0 { 5170 return invalidParams 5171 } 5172 return nil 5173} 5174 5175// SetExternalId sets the ExternalId field's value. 5176func (s *DescribeAccessInput) SetExternalId(v string) *DescribeAccessInput { 5177 s.ExternalId = &v 5178 return s 5179} 5180 5181// SetServerId sets the ServerId field's value. 5182func (s *DescribeAccessInput) SetServerId(v string) *DescribeAccessInput { 5183 s.ServerId = &v 5184 return s 5185} 5186 5187type DescribeAccessOutput struct { 5188 _ struct{} `type:"structure"` 5189 5190 // The external ID of the server that the access is attached to. 5191 // 5192 // Access is a required field 5193 Access *DescribedAccess `type:"structure" required:"true"` 5194 5195 // A system-assigned unique identifier for a server that has this access assigned. 5196 // 5197 // ServerId is a required field 5198 ServerId *string `min:"19" type:"string" required:"true"` 5199} 5200 5201// String returns the string representation 5202func (s DescribeAccessOutput) String() string { 5203 return awsutil.Prettify(s) 5204} 5205 5206// GoString returns the string representation 5207func (s DescribeAccessOutput) GoString() string { 5208 return s.String() 5209} 5210 5211// SetAccess sets the Access field's value. 5212func (s *DescribeAccessOutput) SetAccess(v *DescribedAccess) *DescribeAccessOutput { 5213 s.Access = v 5214 return s 5215} 5216 5217// SetServerId sets the ServerId field's value. 5218func (s *DescribeAccessOutput) SetServerId(v string) *DescribeAccessOutput { 5219 s.ServerId = &v 5220 return s 5221} 5222 5223type DescribeExecutionInput struct { 5224 _ struct{} `type:"structure"` 5225 5226 // A unique identifier for the execution of a workflow. 5227 // 5228 // ExecutionId is a required field 5229 ExecutionId *string `min:"36" type:"string" required:"true"` 5230 5231 // A unique identifier for the workflow. 5232 // 5233 // WorkflowId is a required field 5234 WorkflowId *string `min:"19" type:"string" required:"true"` 5235} 5236 5237// String returns the string representation 5238func (s DescribeExecutionInput) String() string { 5239 return awsutil.Prettify(s) 5240} 5241 5242// GoString returns the string representation 5243func (s DescribeExecutionInput) GoString() string { 5244 return s.String() 5245} 5246 5247// Validate inspects the fields of the type to determine if they are valid. 5248func (s *DescribeExecutionInput) Validate() error { 5249 invalidParams := request.ErrInvalidParams{Context: "DescribeExecutionInput"} 5250 if s.ExecutionId == nil { 5251 invalidParams.Add(request.NewErrParamRequired("ExecutionId")) 5252 } 5253 if s.ExecutionId != nil && len(*s.ExecutionId) < 36 { 5254 invalidParams.Add(request.NewErrParamMinLen("ExecutionId", 36)) 5255 } 5256 if s.WorkflowId == nil { 5257 invalidParams.Add(request.NewErrParamRequired("WorkflowId")) 5258 } 5259 if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { 5260 invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) 5261 } 5262 5263 if invalidParams.Len() > 0 { 5264 return invalidParams 5265 } 5266 return nil 5267} 5268 5269// SetExecutionId sets the ExecutionId field's value. 5270func (s *DescribeExecutionInput) SetExecutionId(v string) *DescribeExecutionInput { 5271 s.ExecutionId = &v 5272 return s 5273} 5274 5275// SetWorkflowId sets the WorkflowId field's value. 5276func (s *DescribeExecutionInput) SetWorkflowId(v string) *DescribeExecutionInput { 5277 s.WorkflowId = &v 5278 return s 5279} 5280 5281type DescribeExecutionOutput struct { 5282 _ struct{} `type:"structure"` 5283 5284 // The structure that contains the details of the workflow' execution. 5285 // 5286 // Execution is a required field 5287 Execution *DescribedExecution `type:"structure" required:"true"` 5288 5289 // A unique identifier for the workflow. 5290 // 5291 // WorkflowId is a required field 5292 WorkflowId *string `min:"19" type:"string" required:"true"` 5293} 5294 5295// String returns the string representation 5296func (s DescribeExecutionOutput) String() string { 5297 return awsutil.Prettify(s) 5298} 5299 5300// GoString returns the string representation 5301func (s DescribeExecutionOutput) GoString() string { 5302 return s.String() 5303} 5304 5305// SetExecution sets the Execution field's value. 5306func (s *DescribeExecutionOutput) SetExecution(v *DescribedExecution) *DescribeExecutionOutput { 5307 s.Execution = v 5308 return s 5309} 5310 5311// SetWorkflowId sets the WorkflowId field's value. 5312func (s *DescribeExecutionOutput) SetWorkflowId(v string) *DescribeExecutionOutput { 5313 s.WorkflowId = &v 5314 return s 5315} 5316 5317type DescribeSecurityPolicyInput struct { 5318 _ struct{} `type:"structure"` 5319 5320 // Specifies the name of the security policy that is attached to the server. 5321 // 5322 // SecurityPolicyName is a required field 5323 SecurityPolicyName *string `type:"string" required:"true"` 5324} 5325 5326// String returns the string representation 5327func (s DescribeSecurityPolicyInput) String() string { 5328 return awsutil.Prettify(s) 5329} 5330 5331// GoString returns the string representation 5332func (s DescribeSecurityPolicyInput) GoString() string { 5333 return s.String() 5334} 5335 5336// Validate inspects the fields of the type to determine if they are valid. 5337func (s *DescribeSecurityPolicyInput) Validate() error { 5338 invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityPolicyInput"} 5339 if s.SecurityPolicyName == nil { 5340 invalidParams.Add(request.NewErrParamRequired("SecurityPolicyName")) 5341 } 5342 5343 if invalidParams.Len() > 0 { 5344 return invalidParams 5345 } 5346 return nil 5347} 5348 5349// SetSecurityPolicyName sets the SecurityPolicyName field's value. 5350func (s *DescribeSecurityPolicyInput) SetSecurityPolicyName(v string) *DescribeSecurityPolicyInput { 5351 s.SecurityPolicyName = &v 5352 return s 5353} 5354 5355type DescribeSecurityPolicyOutput struct { 5356 _ struct{} `type:"structure"` 5357 5358 // An array containing the properties of the security policy. 5359 // 5360 // SecurityPolicy is a required field 5361 SecurityPolicy *DescribedSecurityPolicy `type:"structure" required:"true"` 5362} 5363 5364// String returns the string representation 5365func (s DescribeSecurityPolicyOutput) String() string { 5366 return awsutil.Prettify(s) 5367} 5368 5369// GoString returns the string representation 5370func (s DescribeSecurityPolicyOutput) GoString() string { 5371 return s.String() 5372} 5373 5374// SetSecurityPolicy sets the SecurityPolicy field's value. 5375func (s *DescribeSecurityPolicyOutput) SetSecurityPolicy(v *DescribedSecurityPolicy) *DescribeSecurityPolicyOutput { 5376 s.SecurityPolicy = v 5377 return s 5378} 5379 5380type DescribeServerInput struct { 5381 _ struct{} `type:"structure"` 5382 5383 // A system-assigned unique identifier for a server. 5384 // 5385 // ServerId is a required field 5386 ServerId *string `min:"19" type:"string" required:"true"` 5387} 5388 5389// String returns the string representation 5390func (s DescribeServerInput) String() string { 5391 return awsutil.Prettify(s) 5392} 5393 5394// GoString returns the string representation 5395func (s DescribeServerInput) GoString() string { 5396 return s.String() 5397} 5398 5399// Validate inspects the fields of the type to determine if they are valid. 5400func (s *DescribeServerInput) Validate() error { 5401 invalidParams := request.ErrInvalidParams{Context: "DescribeServerInput"} 5402 if s.ServerId == nil { 5403 invalidParams.Add(request.NewErrParamRequired("ServerId")) 5404 } 5405 if s.ServerId != nil && len(*s.ServerId) < 19 { 5406 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 5407 } 5408 5409 if invalidParams.Len() > 0 { 5410 return invalidParams 5411 } 5412 return nil 5413} 5414 5415// SetServerId sets the ServerId field's value. 5416func (s *DescribeServerInput) SetServerId(v string) *DescribeServerInput { 5417 s.ServerId = &v 5418 return s 5419} 5420 5421type DescribeServerOutput struct { 5422 _ struct{} `type:"structure"` 5423 5424 // An array containing the properties of a server with the ServerID you specified. 5425 // 5426 // Server is a required field 5427 Server *DescribedServer `type:"structure" required:"true"` 5428} 5429 5430// String returns the string representation 5431func (s DescribeServerOutput) String() string { 5432 return awsutil.Prettify(s) 5433} 5434 5435// GoString returns the string representation 5436func (s DescribeServerOutput) GoString() string { 5437 return s.String() 5438} 5439 5440// SetServer sets the Server field's value. 5441func (s *DescribeServerOutput) SetServer(v *DescribedServer) *DescribeServerOutput { 5442 s.Server = v 5443 return s 5444} 5445 5446type DescribeUserInput struct { 5447 _ struct{} `type:"structure"` 5448 5449 // A system-assigned unique identifier for a server that has this user assigned. 5450 // 5451 // ServerId is a required field 5452 ServerId *string `min:"19" type:"string" required:"true"` 5453 5454 // The name of the user assigned to one or more servers. User names are part 5455 // of the sign-in credentials to use the Amazon Web Services Transfer Family 5456 // service and perform file transfer tasks. 5457 // 5458 // UserName is a required field 5459 UserName *string `min:"3" type:"string" required:"true"` 5460} 5461 5462// String returns the string representation 5463func (s DescribeUserInput) String() string { 5464 return awsutil.Prettify(s) 5465} 5466 5467// GoString returns the string representation 5468func (s DescribeUserInput) GoString() string { 5469 return s.String() 5470} 5471 5472// Validate inspects the fields of the type to determine if they are valid. 5473func (s *DescribeUserInput) Validate() error { 5474 invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"} 5475 if s.ServerId == nil { 5476 invalidParams.Add(request.NewErrParamRequired("ServerId")) 5477 } 5478 if s.ServerId != nil && len(*s.ServerId) < 19 { 5479 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 5480 } 5481 if s.UserName == nil { 5482 invalidParams.Add(request.NewErrParamRequired("UserName")) 5483 } 5484 if s.UserName != nil && len(*s.UserName) < 3 { 5485 invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) 5486 } 5487 5488 if invalidParams.Len() > 0 { 5489 return invalidParams 5490 } 5491 return nil 5492} 5493 5494// SetServerId sets the ServerId field's value. 5495func (s *DescribeUserInput) SetServerId(v string) *DescribeUserInput { 5496 s.ServerId = &v 5497 return s 5498} 5499 5500// SetUserName sets the UserName field's value. 5501func (s *DescribeUserInput) SetUserName(v string) *DescribeUserInput { 5502 s.UserName = &v 5503 return s 5504} 5505 5506type DescribeUserOutput struct { 5507 _ struct{} `type:"structure"` 5508 5509 // A system-assigned unique identifier for a server that has this user assigned. 5510 // 5511 // ServerId is a required field 5512 ServerId *string `min:"19" type:"string" required:"true"` 5513 5514 // An array containing the properties of the user account for the ServerID value 5515 // that you specified. 5516 // 5517 // User is a required field 5518 User *DescribedUser `type:"structure" required:"true"` 5519} 5520 5521// String returns the string representation 5522func (s DescribeUserOutput) String() string { 5523 return awsutil.Prettify(s) 5524} 5525 5526// GoString returns the string representation 5527func (s DescribeUserOutput) GoString() string { 5528 return s.String() 5529} 5530 5531// SetServerId sets the ServerId field's value. 5532func (s *DescribeUserOutput) SetServerId(v string) *DescribeUserOutput { 5533 s.ServerId = &v 5534 return s 5535} 5536 5537// SetUser sets the User field's value. 5538func (s *DescribeUserOutput) SetUser(v *DescribedUser) *DescribeUserOutput { 5539 s.User = v 5540 return s 5541} 5542 5543type DescribeWorkflowInput struct { 5544 _ struct{} `type:"structure"` 5545 5546 // A unique identifier for the workflow. 5547 // 5548 // WorkflowId is a required field 5549 WorkflowId *string `min:"19" type:"string" required:"true"` 5550} 5551 5552// String returns the string representation 5553func (s DescribeWorkflowInput) String() string { 5554 return awsutil.Prettify(s) 5555} 5556 5557// GoString returns the string representation 5558func (s DescribeWorkflowInput) GoString() string { 5559 return s.String() 5560} 5561 5562// Validate inspects the fields of the type to determine if they are valid. 5563func (s *DescribeWorkflowInput) Validate() error { 5564 invalidParams := request.ErrInvalidParams{Context: "DescribeWorkflowInput"} 5565 if s.WorkflowId == nil { 5566 invalidParams.Add(request.NewErrParamRequired("WorkflowId")) 5567 } 5568 if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { 5569 invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) 5570 } 5571 5572 if invalidParams.Len() > 0 { 5573 return invalidParams 5574 } 5575 return nil 5576} 5577 5578// SetWorkflowId sets the WorkflowId field's value. 5579func (s *DescribeWorkflowInput) SetWorkflowId(v string) *DescribeWorkflowInput { 5580 s.WorkflowId = &v 5581 return s 5582} 5583 5584type DescribeWorkflowOutput struct { 5585 _ struct{} `type:"structure"` 5586 5587 // The structure that contains the details of the workflow. 5588 // 5589 // Workflow is a required field 5590 Workflow *DescribedWorkflow `type:"structure" required:"true"` 5591} 5592 5593// String returns the string representation 5594func (s DescribeWorkflowOutput) String() string { 5595 return awsutil.Prettify(s) 5596} 5597 5598// GoString returns the string representation 5599func (s DescribeWorkflowOutput) GoString() string { 5600 return s.String() 5601} 5602 5603// SetWorkflow sets the Workflow field's value. 5604func (s *DescribeWorkflowOutput) SetWorkflow(v *DescribedWorkflow) *DescribeWorkflowOutput { 5605 s.Workflow = v 5606 return s 5607} 5608 5609// Describes the properties of the access that was specified. 5610type DescribedAccess struct { 5611 _ struct{} `type:"structure"` 5612 5613 // A unique identifier that is required to identify specific groups within your 5614 // directory. The users of the group that you associate have access to your 5615 // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon 5616 // Web Services Transfer Family. If you know the group name, you can view the 5617 // SID values by running the following command using Windows PowerShell. 5618 // 5619 // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * 5620 // | Select SamAccountName,ObjectSid 5621 // 5622 // In that command, replace YourGroupName with the name of your Active Directory 5623 // group. 5624 // 5625 // The regex used to validate this parameter is a string of characters consisting 5626 // of uppercase and lowercase alphanumeric characters with no spaces. You can 5627 // also include underscores or any of the following characters: =,.@:/- 5628 ExternalId *string `min:"1" type:"string"` 5629 5630 // The landing directory (folder) for a user when they log in to the server 5631 // using the client. 5632 // 5633 // A HomeDirectory example is /bucket_name/home/mydirectory. 5634 HomeDirectory *string `type:"string"` 5635 5636 // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths 5637 // and keys should be visible to your user and how you want to make them visible. 5638 // You must specify the Entry and Target pair, where Entry shows how the path 5639 // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If 5640 // you only specify a target, it is displayed as is. You also must ensure that 5641 // your Amazon Web Services Identity and Access Management (IAM) role provides 5642 // access to paths in Target. This value can only be set when HomeDirectoryType 5643 // is set to LOGICAL. 5644 // 5645 // In most cases, you can use this value instead of the session policy to lock 5646 // down the associated access to the designated home directory ("chroot"). To 5647 // do this, you can set Entry to '/' and set Target to the HomeDirectory parameter 5648 // value. 5649 HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` 5650 5651 // The type of landing directory (folder) you want your users' home directory 5652 // to be when they log into the server. If you set it to PATH, the user will 5653 // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer 5654 // protocol clients. If you set it LOGICAL, you need to provide mappings in 5655 // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths 5656 // visible to your users. 5657 HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` 5658 5659 // A session policy for your user so that you can use the same IAM role across 5660 // multiple users. This policy scopes down user access to portions of their 5661 // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, 5662 // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. 5663 Policy *string `type:"string"` 5664 5665 // The full POSIX identity, including user ID (Uid), group ID (Gid), and any 5666 // secondary groups IDs (SecondaryGids), that controls your users' access to 5667 // your Amazon EFS file systems. The POSIX permissions that are set on files 5668 // and directories in your file system determine the level of access your users 5669 // get when transferring files into and out of your Amazon EFS file systems. 5670 PosixProfile *PosixProfile `type:"structure"` 5671 5672 // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your 5673 // users' access to your Amazon S3 bucket or EFS file system. The policies attached 5674 // to this role determine the level of access that you want to provide your 5675 // users when transferring files into and out of your Amazon S3 bucket or EFS 5676 // file system. The IAM role should also contain a trust relationship that allows 5677 // the server to access your resources when servicing your users' transfer requests. 5678 Role *string `min:"20" type:"string"` 5679} 5680 5681// String returns the string representation 5682func (s DescribedAccess) String() string { 5683 return awsutil.Prettify(s) 5684} 5685 5686// GoString returns the string representation 5687func (s DescribedAccess) GoString() string { 5688 return s.String() 5689} 5690 5691// SetExternalId sets the ExternalId field's value. 5692func (s *DescribedAccess) SetExternalId(v string) *DescribedAccess { 5693 s.ExternalId = &v 5694 return s 5695} 5696 5697// SetHomeDirectory sets the HomeDirectory field's value. 5698func (s *DescribedAccess) SetHomeDirectory(v string) *DescribedAccess { 5699 s.HomeDirectory = &v 5700 return s 5701} 5702 5703// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. 5704func (s *DescribedAccess) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *DescribedAccess { 5705 s.HomeDirectoryMappings = v 5706 return s 5707} 5708 5709// SetHomeDirectoryType sets the HomeDirectoryType field's value. 5710func (s *DescribedAccess) SetHomeDirectoryType(v string) *DescribedAccess { 5711 s.HomeDirectoryType = &v 5712 return s 5713} 5714 5715// SetPolicy sets the Policy field's value. 5716func (s *DescribedAccess) SetPolicy(v string) *DescribedAccess { 5717 s.Policy = &v 5718 return s 5719} 5720 5721// SetPosixProfile sets the PosixProfile field's value. 5722func (s *DescribedAccess) SetPosixProfile(v *PosixProfile) *DescribedAccess { 5723 s.PosixProfile = v 5724 return s 5725} 5726 5727// SetRole sets the Role field's value. 5728func (s *DescribedAccess) SetRole(v string) *DescribedAccess { 5729 s.Role = &v 5730 return s 5731} 5732 5733// The details for an execution object. 5734type DescribedExecution struct { 5735 _ struct{} `type:"structure"` 5736 5737 // A unique identifier for the execution of a workflow. 5738 ExecutionId *string `min:"36" type:"string"` 5739 5740 // The IAM role associated with the execution. 5741 ExecutionRole *string `min:"20" type:"string"` 5742 5743 // A structure that describes the Amazon S3 or EFS file location. This is the 5744 // file location when the execution begins: if the file is being copied, this 5745 // is the initial (as opposed to destination) file location. 5746 InitialFileLocation *FileLocation `type:"structure"` 5747 5748 // The IAM logging role associated with the execution. 5749 LoggingConfiguration *LoggingConfiguration `type:"structure"` 5750 5751 // The full POSIX identity, including user ID (Uid), group ID (Gid), and any 5752 // secondary groups IDs (SecondaryGids), that controls your users' access to 5753 // your Amazon EFS file systems. The POSIX permissions that are set on files 5754 // and directories in your file system determine the level of access your users 5755 // get when transferring files into and out of your Amazon EFS file systems. 5756 PosixProfile *PosixProfile `type:"structure"` 5757 5758 // A structure that describes the execution results. This includes a list of 5759 // the steps along with the details of each step, error type and message (if 5760 // any), and the OnExceptionSteps structure. 5761 Results *ExecutionResults `type:"structure"` 5762 5763 // A container object for the session details associated with a workflow. 5764 ServiceMetadata *ServiceMetadata `type:"structure"` 5765 5766 // The status is one of the execution. Can be in progress, completed, exception 5767 // encountered, or handling the exception. 5768 Status *string `type:"string" enum:"ExecutionStatus"` 5769} 5770 5771// String returns the string representation 5772func (s DescribedExecution) String() string { 5773 return awsutil.Prettify(s) 5774} 5775 5776// GoString returns the string representation 5777func (s DescribedExecution) GoString() string { 5778 return s.String() 5779} 5780 5781// SetExecutionId sets the ExecutionId field's value. 5782func (s *DescribedExecution) SetExecutionId(v string) *DescribedExecution { 5783 s.ExecutionId = &v 5784 return s 5785} 5786 5787// SetExecutionRole sets the ExecutionRole field's value. 5788func (s *DescribedExecution) SetExecutionRole(v string) *DescribedExecution { 5789 s.ExecutionRole = &v 5790 return s 5791} 5792 5793// SetInitialFileLocation sets the InitialFileLocation field's value. 5794func (s *DescribedExecution) SetInitialFileLocation(v *FileLocation) *DescribedExecution { 5795 s.InitialFileLocation = v 5796 return s 5797} 5798 5799// SetLoggingConfiguration sets the LoggingConfiguration field's value. 5800func (s *DescribedExecution) SetLoggingConfiguration(v *LoggingConfiguration) *DescribedExecution { 5801 s.LoggingConfiguration = v 5802 return s 5803} 5804 5805// SetPosixProfile sets the PosixProfile field's value. 5806func (s *DescribedExecution) SetPosixProfile(v *PosixProfile) *DescribedExecution { 5807 s.PosixProfile = v 5808 return s 5809} 5810 5811// SetResults sets the Results field's value. 5812func (s *DescribedExecution) SetResults(v *ExecutionResults) *DescribedExecution { 5813 s.Results = v 5814 return s 5815} 5816 5817// SetServiceMetadata sets the ServiceMetadata field's value. 5818func (s *DescribedExecution) SetServiceMetadata(v *ServiceMetadata) *DescribedExecution { 5819 s.ServiceMetadata = v 5820 return s 5821} 5822 5823// SetStatus sets the Status field's value. 5824func (s *DescribedExecution) SetStatus(v string) *DescribedExecution { 5825 s.Status = &v 5826 return s 5827} 5828 5829// Describes the properties of a security policy that was specified. For more 5830// information about security policies, see Working with security policies (https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html). 5831type DescribedSecurityPolicy struct { 5832 _ struct{} `type:"structure"` 5833 5834 // Specifies whether this policy enables Federal Information Processing Standards 5835 // (FIPS). 5836 Fips *bool `type:"boolean"` 5837 5838 // Specifies the name of the security policy that is attached to the server. 5839 // 5840 // SecurityPolicyName is a required field 5841 SecurityPolicyName *string `type:"string" required:"true"` 5842 5843 // Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in 5844 // the security policy that is attached to the server. 5845 SshCiphers []*string `type:"list"` 5846 5847 // Specifies the enabled SSH key exchange (KEX) encryption algorithms in the 5848 // security policy that is attached to the server. 5849 SshKexs []*string `type:"list"` 5850 5851 // Specifies the enabled SSH message authentication code (MAC) encryption algorithms 5852 // in the security policy that is attached to the server. 5853 SshMacs []*string `type:"list"` 5854 5855 // Specifies the enabled Transport Layer Security (TLS) cipher encryption algorithms 5856 // in the security policy that is attached to the server. 5857 TlsCiphers []*string `type:"list"` 5858} 5859 5860// String returns the string representation 5861func (s DescribedSecurityPolicy) String() string { 5862 return awsutil.Prettify(s) 5863} 5864 5865// GoString returns the string representation 5866func (s DescribedSecurityPolicy) GoString() string { 5867 return s.String() 5868} 5869 5870// SetFips sets the Fips field's value. 5871func (s *DescribedSecurityPolicy) SetFips(v bool) *DescribedSecurityPolicy { 5872 s.Fips = &v 5873 return s 5874} 5875 5876// SetSecurityPolicyName sets the SecurityPolicyName field's value. 5877func (s *DescribedSecurityPolicy) SetSecurityPolicyName(v string) *DescribedSecurityPolicy { 5878 s.SecurityPolicyName = &v 5879 return s 5880} 5881 5882// SetSshCiphers sets the SshCiphers field's value. 5883func (s *DescribedSecurityPolicy) SetSshCiphers(v []*string) *DescribedSecurityPolicy { 5884 s.SshCiphers = v 5885 return s 5886} 5887 5888// SetSshKexs sets the SshKexs field's value. 5889func (s *DescribedSecurityPolicy) SetSshKexs(v []*string) *DescribedSecurityPolicy { 5890 s.SshKexs = v 5891 return s 5892} 5893 5894// SetSshMacs sets the SshMacs field's value. 5895func (s *DescribedSecurityPolicy) SetSshMacs(v []*string) *DescribedSecurityPolicy { 5896 s.SshMacs = v 5897 return s 5898} 5899 5900// SetTlsCiphers sets the TlsCiphers field's value. 5901func (s *DescribedSecurityPolicy) SetTlsCiphers(v []*string) *DescribedSecurityPolicy { 5902 s.TlsCiphers = v 5903 return s 5904} 5905 5906// Describes the properties of a file transfer protocol-enabled server that 5907// was specified. 5908type DescribedServer struct { 5909 _ struct{} `type:"structure"` 5910 5911 // Specifies the unique Amazon Resource Name (ARN) of the server. 5912 // 5913 // Arn is a required field 5914 Arn *string `min:"20" type:"string" required:"true"` 5915 5916 // Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) certificate. 5917 // Required when Protocols is set to FTPS. 5918 Certificate *string `type:"string"` 5919 5920 // Specifies the domain of the storage system that is used for file transfers. 5921 Domain *string `type:"string" enum:"Domain"` 5922 5923 // The virtual private cloud (VPC) endpoint settings that are configured for 5924 // your server. When you host your endpoint within your VPC, you can make it 5925 // accessible only to resources within your VPC, or you can attach Elastic IP 5926 // addresses and make it accessible to clients over the internet. Your VPC's 5927 // default security groups are automatically assigned to your endpoint. 5928 EndpointDetails *EndpointDetails `type:"structure"` 5929 5930 // Defines the type of endpoint that your server is connected to. If your server 5931 // is connected to a VPC endpoint, your server isn't accessible over the public 5932 // internet. 5933 EndpointType *string `type:"string" enum:"EndpointType"` 5934 5935 // Specifies the Base64-encoded SHA256 fingerprint of the server's host key. 5936 // This value is equivalent to the output of the ssh-keygen -l -f my-new-server-key 5937 // command. 5938 HostKeyFingerprint *string `type:"string"` 5939 5940 // Specifies information to call a customer-supplied authentication API. This 5941 // field is not populated when the IdentityProviderType of a server is AWS_DIRECTORY_SERVICE 5942 // or SERVICE_MANAGED. 5943 IdentityProviderDetails *IdentityProviderDetails `type:"structure"` 5944 5945 // Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, 5946 // which allows you to store and access user credentials within the Amazon Web 5947 // Services Transfer Family service. 5948 // 5949 // Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in 5950 // Amazon Web Services Managed Active Directory or Microsoft Active Directory 5951 // in your on-premises environment or in Amazon Web Services using AD Connectors. 5952 // This option also requires you to provide a Directory ID using the IdentityProviderDetails 5953 // parameter. 5954 // 5955 // Use the API_GATEWAY value to integrate with an identity provider of your 5956 // choosing. The API_GATEWAY setting requires you to provide an API Gateway 5957 // endpoint URL to call for authentication using the IdentityProviderDetails 5958 // parameter. 5959 IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` 5960 5961 // Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 5962 // and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch 5963 // logging for Amazon S3 or Amazon EFS events. When set, user activity can be 5964 // viewed in your CloudWatch logs. 5965 LoggingRole *string `min:"20" type:"string"` 5966 5967 // The protocol settings that are configured for your server. 5968 // 5969 // Use the PassiveIp parameter to indicate passive mode. Enter a single dotted-quad 5970 // IPv4 address, such as the external IP address of a firewall, router, or load 5971 // balancer. 5972 ProtocolDetails *ProtocolDetails `type:"structure"` 5973 5974 // Specifies the file transfer protocol or protocols over which your file transfer 5975 // protocol client can connect to your server's endpoint. The available protocols 5976 // are: 5977 // 5978 // * SFTP (Secure Shell (SSH) File Transfer Protocol): File transfer over 5979 // SSH 5980 // 5981 // * FTPS (File Transfer Protocol Secure): File transfer with TLS encryption 5982 // 5983 // * FTP (File Transfer Protocol): Unencrypted file transfer 5984 Protocols []*string `min:"1" type:"list"` 5985 5986 // Specifies the name of the security policy that is attached to the server. 5987 SecurityPolicyName *string `type:"string"` 5988 5989 // Specifies the unique system-assigned identifier for a server that you instantiate. 5990 ServerId *string `min:"19" type:"string"` 5991 5992 // Specifies the condition of a server for the server that was described. A 5993 // value of ONLINE indicates that the server can accept jobs and transfer files. 5994 // A State value of OFFLINE means that the server cannot perform file transfer 5995 // operations. 5996 // 5997 // The states of STARTING and STOPPING indicate that the server is in an intermediate 5998 // state, either not fully able to respond, or not fully offline. The values 5999 // of START_FAILED or STOP_FAILED can indicate an error condition. 6000 State *string `type:"string" enum:"State"` 6001 6002 // Specifies the key-value pairs that you can use to search for and group servers 6003 // that were assigned to the server that was described. 6004 Tags []*Tag `min:"1" type:"list"` 6005 6006 // Specifies the number of users that are assigned to a server you specified 6007 // with the ServerId. 6008 UserCount *int64 `type:"integer"` 6009 6010 // Specifies the workflow ID for the workflow to assign and the execution role 6011 // used for executing the workflow. 6012 WorkflowDetails *WorkflowDetails `type:"structure"` 6013} 6014 6015// String returns the string representation 6016func (s DescribedServer) String() string { 6017 return awsutil.Prettify(s) 6018} 6019 6020// GoString returns the string representation 6021func (s DescribedServer) GoString() string { 6022 return s.String() 6023} 6024 6025// SetArn sets the Arn field's value. 6026func (s *DescribedServer) SetArn(v string) *DescribedServer { 6027 s.Arn = &v 6028 return s 6029} 6030 6031// SetCertificate sets the Certificate field's value. 6032func (s *DescribedServer) SetCertificate(v string) *DescribedServer { 6033 s.Certificate = &v 6034 return s 6035} 6036 6037// SetDomain sets the Domain field's value. 6038func (s *DescribedServer) SetDomain(v string) *DescribedServer { 6039 s.Domain = &v 6040 return s 6041} 6042 6043// SetEndpointDetails sets the EndpointDetails field's value. 6044func (s *DescribedServer) SetEndpointDetails(v *EndpointDetails) *DescribedServer { 6045 s.EndpointDetails = v 6046 return s 6047} 6048 6049// SetEndpointType sets the EndpointType field's value. 6050func (s *DescribedServer) SetEndpointType(v string) *DescribedServer { 6051 s.EndpointType = &v 6052 return s 6053} 6054 6055// SetHostKeyFingerprint sets the HostKeyFingerprint field's value. 6056func (s *DescribedServer) SetHostKeyFingerprint(v string) *DescribedServer { 6057 s.HostKeyFingerprint = &v 6058 return s 6059} 6060 6061// SetIdentityProviderDetails sets the IdentityProviderDetails field's value. 6062func (s *DescribedServer) SetIdentityProviderDetails(v *IdentityProviderDetails) *DescribedServer { 6063 s.IdentityProviderDetails = v 6064 return s 6065} 6066 6067// SetIdentityProviderType sets the IdentityProviderType field's value. 6068func (s *DescribedServer) SetIdentityProviderType(v string) *DescribedServer { 6069 s.IdentityProviderType = &v 6070 return s 6071} 6072 6073// SetLoggingRole sets the LoggingRole field's value. 6074func (s *DescribedServer) SetLoggingRole(v string) *DescribedServer { 6075 s.LoggingRole = &v 6076 return s 6077} 6078 6079// SetProtocolDetails sets the ProtocolDetails field's value. 6080func (s *DescribedServer) SetProtocolDetails(v *ProtocolDetails) *DescribedServer { 6081 s.ProtocolDetails = v 6082 return s 6083} 6084 6085// SetProtocols sets the Protocols field's value. 6086func (s *DescribedServer) SetProtocols(v []*string) *DescribedServer { 6087 s.Protocols = v 6088 return s 6089} 6090 6091// SetSecurityPolicyName sets the SecurityPolicyName field's value. 6092func (s *DescribedServer) SetSecurityPolicyName(v string) *DescribedServer { 6093 s.SecurityPolicyName = &v 6094 return s 6095} 6096 6097// SetServerId sets the ServerId field's value. 6098func (s *DescribedServer) SetServerId(v string) *DescribedServer { 6099 s.ServerId = &v 6100 return s 6101} 6102 6103// SetState sets the State field's value. 6104func (s *DescribedServer) SetState(v string) *DescribedServer { 6105 s.State = &v 6106 return s 6107} 6108 6109// SetTags sets the Tags field's value. 6110func (s *DescribedServer) SetTags(v []*Tag) *DescribedServer { 6111 s.Tags = v 6112 return s 6113} 6114 6115// SetUserCount sets the UserCount field's value. 6116func (s *DescribedServer) SetUserCount(v int64) *DescribedServer { 6117 s.UserCount = &v 6118 return s 6119} 6120 6121// SetWorkflowDetails sets the WorkflowDetails field's value. 6122func (s *DescribedServer) SetWorkflowDetails(v *WorkflowDetails) *DescribedServer { 6123 s.WorkflowDetails = v 6124 return s 6125} 6126 6127// Describes the properties of a user that was specified. 6128type DescribedUser struct { 6129 _ struct{} `type:"structure"` 6130 6131 // Specifies the unique Amazon Resource Name (ARN) for the user that was requested 6132 // to be described. 6133 // 6134 // Arn is a required field 6135 Arn *string `min:"20" type:"string" required:"true"` 6136 6137 // The landing directory (folder) for a user when they log in to the server 6138 // using the client. 6139 // 6140 // A HomeDirectory example is /bucket_name/home/mydirectory. 6141 HomeDirectory *string `type:"string"` 6142 6143 // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths 6144 // and keys should be visible to your user and how you want to make them visible. 6145 // You must specify the Entry and Target pair, where Entry shows how the path 6146 // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If 6147 // you only specify a target, it is displayed as is. You also must ensure that 6148 // your Amazon Web Services Identity and Access Management (IAM) role provides 6149 // access to paths in Target. This value can only be set when HomeDirectoryType 6150 // is set to LOGICAL. 6151 // 6152 // In most cases, you can use this value instead of the session policy to lock 6153 // your user down to the designated home directory ("chroot"). To do this, you 6154 // can set Entry to '/' and set Target to the HomeDirectory parameter value. 6155 HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` 6156 6157 // The type of landing directory (folder) you want your users' home directory 6158 // to be when they log into the server. If you set it to PATH, the user will 6159 // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer 6160 // protocol clients. If you set it LOGICAL, you need to provide mappings in 6161 // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths 6162 // visible to your users. 6163 HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` 6164 6165 // A session policy for your user so that you can use the same IAM role across 6166 // multiple users. This policy scopes down user access to portions of their 6167 // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, 6168 // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. 6169 Policy *string `type:"string"` 6170 6171 // Specifies the full POSIX identity, including user ID (Uid), group ID (Gid), 6172 // and any secondary groups IDs (SecondaryGids), that controls your users' access 6173 // to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX permissions 6174 // that are set on files and directories in your file system determine the level 6175 // of access your users get when transferring files into and out of your Amazon 6176 // EFS file systems. 6177 PosixProfile *PosixProfile `type:"structure"` 6178 6179 // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your 6180 // users' access to your Amazon S3 bucket or EFS file system. The policies attached 6181 // to this role determine the level of access that you want to provide your 6182 // users when transferring files into and out of your Amazon S3 bucket or EFS 6183 // file system. The IAM role should also contain a trust relationship that allows 6184 // the server to access your resources when servicing your users' transfer requests. 6185 Role *string `min:"20" type:"string"` 6186 6187 // Specifies the public key portion of the Secure Shell (SSH) keys stored for 6188 // the described user. 6189 SshPublicKeys []*SshPublicKey `type:"list"` 6190 6191 // Specifies the key-value pairs for the user requested. Tag can be used to 6192 // search for and group users for a variety of purposes. 6193 Tags []*Tag `min:"1" type:"list"` 6194 6195 // Specifies the name of the user that was requested to be described. User names 6196 // are used for authentication purposes. This is the string that will be used 6197 // by your user when they log in to your server. 6198 UserName *string `min:"3" type:"string"` 6199} 6200 6201// String returns the string representation 6202func (s DescribedUser) String() string { 6203 return awsutil.Prettify(s) 6204} 6205 6206// GoString returns the string representation 6207func (s DescribedUser) GoString() string { 6208 return s.String() 6209} 6210 6211// SetArn sets the Arn field's value. 6212func (s *DescribedUser) SetArn(v string) *DescribedUser { 6213 s.Arn = &v 6214 return s 6215} 6216 6217// SetHomeDirectory sets the HomeDirectory field's value. 6218func (s *DescribedUser) SetHomeDirectory(v string) *DescribedUser { 6219 s.HomeDirectory = &v 6220 return s 6221} 6222 6223// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. 6224func (s *DescribedUser) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *DescribedUser { 6225 s.HomeDirectoryMappings = v 6226 return s 6227} 6228 6229// SetHomeDirectoryType sets the HomeDirectoryType field's value. 6230func (s *DescribedUser) SetHomeDirectoryType(v string) *DescribedUser { 6231 s.HomeDirectoryType = &v 6232 return s 6233} 6234 6235// SetPolicy sets the Policy field's value. 6236func (s *DescribedUser) SetPolicy(v string) *DescribedUser { 6237 s.Policy = &v 6238 return s 6239} 6240 6241// SetPosixProfile sets the PosixProfile field's value. 6242func (s *DescribedUser) SetPosixProfile(v *PosixProfile) *DescribedUser { 6243 s.PosixProfile = v 6244 return s 6245} 6246 6247// SetRole sets the Role field's value. 6248func (s *DescribedUser) SetRole(v string) *DescribedUser { 6249 s.Role = &v 6250 return s 6251} 6252 6253// SetSshPublicKeys sets the SshPublicKeys field's value. 6254func (s *DescribedUser) SetSshPublicKeys(v []*SshPublicKey) *DescribedUser { 6255 s.SshPublicKeys = v 6256 return s 6257} 6258 6259// SetTags sets the Tags field's value. 6260func (s *DescribedUser) SetTags(v []*Tag) *DescribedUser { 6261 s.Tags = v 6262 return s 6263} 6264 6265// SetUserName sets the UserName field's value. 6266func (s *DescribedUser) SetUserName(v string) *DescribedUser { 6267 s.UserName = &v 6268 return s 6269} 6270 6271// Describes the properties of the specified workflow 6272type DescribedWorkflow struct { 6273 _ struct{} `type:"structure"` 6274 6275 // Specifies the unique Amazon Resource Name (ARN) for the workflow. 6276 // 6277 // Arn is a required field 6278 Arn *string `min:"20" type:"string" required:"true"` 6279 6280 // Specifies the text description for the workflow. 6281 Description *string `type:"string"` 6282 6283 // Specifies the steps (actions) to take if any errors are encountered during 6284 // execution of the workflow. 6285 OnExceptionSteps []*WorkflowStep `type:"list"` 6286 6287 // Specifies the details for the steps that are in the specified workflow. 6288 Steps []*WorkflowStep `type:"list"` 6289 6290 // Key-value pairs that can be used to group and search for workflows. Tags 6291 // are metadata attached to workflows for any purpose. 6292 Tags []*Tag `min:"1" type:"list"` 6293 6294 // A unique identifier for the workflow. 6295 WorkflowId *string `min:"19" type:"string"` 6296} 6297 6298// String returns the string representation 6299func (s DescribedWorkflow) String() string { 6300 return awsutil.Prettify(s) 6301} 6302 6303// GoString returns the string representation 6304func (s DescribedWorkflow) GoString() string { 6305 return s.String() 6306} 6307 6308// SetArn sets the Arn field's value. 6309func (s *DescribedWorkflow) SetArn(v string) *DescribedWorkflow { 6310 s.Arn = &v 6311 return s 6312} 6313 6314// SetDescription sets the Description field's value. 6315func (s *DescribedWorkflow) SetDescription(v string) *DescribedWorkflow { 6316 s.Description = &v 6317 return s 6318} 6319 6320// SetOnExceptionSteps sets the OnExceptionSteps field's value. 6321func (s *DescribedWorkflow) SetOnExceptionSteps(v []*WorkflowStep) *DescribedWorkflow { 6322 s.OnExceptionSteps = v 6323 return s 6324} 6325 6326// SetSteps sets the Steps field's value. 6327func (s *DescribedWorkflow) SetSteps(v []*WorkflowStep) *DescribedWorkflow { 6328 s.Steps = v 6329 return s 6330} 6331 6332// SetTags sets the Tags field's value. 6333func (s *DescribedWorkflow) SetTags(v []*Tag) *DescribedWorkflow { 6334 s.Tags = v 6335 return s 6336} 6337 6338// SetWorkflowId sets the WorkflowId field's value. 6339func (s *DescribedWorkflow) SetWorkflowId(v string) *DescribedWorkflow { 6340 s.WorkflowId = &v 6341 return s 6342} 6343 6344// Specifies the details for the file location for the file being used in the 6345// workflow. Only applicable if you are using Amazon EFS for storage. 6346// 6347// You need to provide the file system ID and the pathname. The pathname can 6348// represent either a path or a file. This is determined by whether or not you 6349// end the path value with the forward slash (/) character. If the final character 6350// is "/", then your file is copied to the folder, and its name does not change. 6351// If, rather, the final character is alphanumeric, your uploaded file is renamed 6352// to the path value. In this case, if a file with that name already exists, 6353// it is overwritten. 6354// 6355// For example, if your path is shared-files/bob/, your uploaded files are copied 6356// to the shared-files/bob/, folder. If your path is shared-files/today, each 6357// uploaded file is copied to the shared-files folder and named today: each 6358// upload overwrites the previous version of the bob file. 6359type EfsFileLocation struct { 6360 _ struct{} `type:"structure"` 6361 6362 // The ID of the file system, assigned by Amazon EFS. 6363 FileSystemId *string `type:"string"` 6364 6365 // The pathname for the folder being used by a workflow. 6366 Path *string `min:"1" type:"string"` 6367} 6368 6369// String returns the string representation 6370func (s EfsFileLocation) String() string { 6371 return awsutil.Prettify(s) 6372} 6373 6374// GoString returns the string representation 6375func (s EfsFileLocation) GoString() string { 6376 return s.String() 6377} 6378 6379// Validate inspects the fields of the type to determine if they are valid. 6380func (s *EfsFileLocation) Validate() error { 6381 invalidParams := request.ErrInvalidParams{Context: "EfsFileLocation"} 6382 if s.Path != nil && len(*s.Path) < 1 { 6383 invalidParams.Add(request.NewErrParamMinLen("Path", 1)) 6384 } 6385 6386 if invalidParams.Len() > 0 { 6387 return invalidParams 6388 } 6389 return nil 6390} 6391 6392// SetFileSystemId sets the FileSystemId field's value. 6393func (s *EfsFileLocation) SetFileSystemId(v string) *EfsFileLocation { 6394 s.FileSystemId = &v 6395 return s 6396} 6397 6398// SetPath sets the Path field's value. 6399func (s *EfsFileLocation) SetPath(v string) *EfsFileLocation { 6400 s.Path = &v 6401 return s 6402} 6403 6404// The virtual private cloud (VPC) endpoint settings that are configured for 6405// your file transfer protocol-enabled server. With a VPC endpoint, you can 6406// restrict access to your server and resources only within your VPC. To control 6407// incoming internet traffic, invoke the UpdateServer API and attach an Elastic 6408// IP address to your server's endpoint. 6409// 6410// After May 19, 2021, you won't be able to create a server using EndpointType=VPC_ENDPOINT 6411// in your Amazon Web Servicesaccount if your account hasn't already done so 6412// before May 19, 2021. If you have already created servers with EndpointType=VPC_ENDPOINT 6413// in your Amazon Web Servicesaccount on or before May 19, 2021, you will not 6414// be affected. After this date, use EndpointType=VPC. 6415// 6416// For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint. 6417type EndpointDetails struct { 6418 _ struct{} `type:"structure"` 6419 6420 // A list of address allocation IDs that are required to attach an Elastic IP 6421 // address to your server's endpoint. 6422 // 6423 // This property can only be set when EndpointType is set to VPC and it is only 6424 // valid in the UpdateServer API. 6425 AddressAllocationIds []*string `type:"list"` 6426 6427 // A list of security groups IDs that are available to attach to your server's 6428 // endpoint. 6429 // 6430 // This property can only be set when EndpointType is set to VPC. 6431 // 6432 // You can edit the SecurityGroupIds property in the UpdateServer (https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html) 6433 // API only if you are changing the EndpointType from PUBLIC or VPC_ENDPOINT 6434 // to VPC. To change security groups associated with your server's VPC endpoint 6435 // after creation, use the Amazon EC2 ModifyVpcEndpoint (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) 6436 // API. 6437 SecurityGroupIds []*string `type:"list"` 6438 6439 // A list of subnet IDs that are required to host your server endpoint in your 6440 // VPC. 6441 // 6442 // This property can only be set when EndpointType is set to VPC. 6443 SubnetIds []*string `type:"list"` 6444 6445 // The ID of the VPC endpoint. 6446 // 6447 // This property can only be set when EndpointType is set to VPC_ENDPOINT. 6448 // 6449 // For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint. 6450 VpcEndpointId *string `min:"22" type:"string"` 6451 6452 // The VPC ID of the VPC in which a server's endpoint will be hosted. 6453 // 6454 // This property can only be set when EndpointType is set to VPC. 6455 VpcId *string `type:"string"` 6456} 6457 6458// String returns the string representation 6459func (s EndpointDetails) String() string { 6460 return awsutil.Prettify(s) 6461} 6462 6463// GoString returns the string representation 6464func (s EndpointDetails) GoString() string { 6465 return s.String() 6466} 6467 6468// Validate inspects the fields of the type to determine if they are valid. 6469func (s *EndpointDetails) Validate() error { 6470 invalidParams := request.ErrInvalidParams{Context: "EndpointDetails"} 6471 if s.VpcEndpointId != nil && len(*s.VpcEndpointId) < 22 { 6472 invalidParams.Add(request.NewErrParamMinLen("VpcEndpointId", 22)) 6473 } 6474 6475 if invalidParams.Len() > 0 { 6476 return invalidParams 6477 } 6478 return nil 6479} 6480 6481// SetAddressAllocationIds sets the AddressAllocationIds field's value. 6482func (s *EndpointDetails) SetAddressAllocationIds(v []*string) *EndpointDetails { 6483 s.AddressAllocationIds = v 6484 return s 6485} 6486 6487// SetSecurityGroupIds sets the SecurityGroupIds field's value. 6488func (s *EndpointDetails) SetSecurityGroupIds(v []*string) *EndpointDetails { 6489 s.SecurityGroupIds = v 6490 return s 6491} 6492 6493// SetSubnetIds sets the SubnetIds field's value. 6494func (s *EndpointDetails) SetSubnetIds(v []*string) *EndpointDetails { 6495 s.SubnetIds = v 6496 return s 6497} 6498 6499// SetVpcEndpointId sets the VpcEndpointId field's value. 6500func (s *EndpointDetails) SetVpcEndpointId(v string) *EndpointDetails { 6501 s.VpcEndpointId = &v 6502 return s 6503} 6504 6505// SetVpcId sets the VpcId field's value. 6506func (s *EndpointDetails) SetVpcId(v string) *EndpointDetails { 6507 s.VpcId = &v 6508 return s 6509} 6510 6511// Specifies the error message and type, for an error that occurs during the 6512// execution of the workflow. 6513type ExecutionError struct { 6514 _ struct{} `type:"structure"` 6515 6516 // Specifies the descriptive message that corresponds to the ErrorType. 6517 // 6518 // Message is a required field 6519 Message *string `type:"string" required:"true"` 6520 6521 // Specifies the error type: currently, the only valid value is PERMISSION_DENIED, 6522 // which occurs if your policy does not contain the correct permissions to complete 6523 // one or more of the steps in the workflow. 6524 // 6525 // Type is a required field 6526 Type *string `type:"string" required:"true" enum:"ExecutionErrorType"` 6527} 6528 6529// String returns the string representation 6530func (s ExecutionError) String() string { 6531 return awsutil.Prettify(s) 6532} 6533 6534// GoString returns the string representation 6535func (s ExecutionError) GoString() string { 6536 return s.String() 6537} 6538 6539// SetMessage sets the Message field's value. 6540func (s *ExecutionError) SetMessage(v string) *ExecutionError { 6541 s.Message = &v 6542 return s 6543} 6544 6545// SetType sets the Type field's value. 6546func (s *ExecutionError) SetType(v string) *ExecutionError { 6547 s.Type = &v 6548 return s 6549} 6550 6551// Specifies the steps in the workflow, as well as the steps to execute in case 6552// of any errors during workflow execution. 6553type ExecutionResults struct { 6554 _ struct{} `type:"structure"` 6555 6556 // Specifies the steps (actions) to take if any errors are encountered during 6557 // execution of the workflow. 6558 OnExceptionSteps []*ExecutionStepResult `min:"1" type:"list"` 6559 6560 // Specifies the details for the steps that are in the specified workflow. 6561 Steps []*ExecutionStepResult `min:"1" type:"list"` 6562} 6563 6564// String returns the string representation 6565func (s ExecutionResults) String() string { 6566 return awsutil.Prettify(s) 6567} 6568 6569// GoString returns the string representation 6570func (s ExecutionResults) GoString() string { 6571 return s.String() 6572} 6573 6574// SetOnExceptionSteps sets the OnExceptionSteps field's value. 6575func (s *ExecutionResults) SetOnExceptionSteps(v []*ExecutionStepResult) *ExecutionResults { 6576 s.OnExceptionSteps = v 6577 return s 6578} 6579 6580// SetSteps sets the Steps field's value. 6581func (s *ExecutionResults) SetSteps(v []*ExecutionStepResult) *ExecutionResults { 6582 s.Steps = v 6583 return s 6584} 6585 6586// Specifies the following details for the step: error (if any), outputs (if 6587// any), and the step type. 6588type ExecutionStepResult struct { 6589 _ struct{} `type:"structure"` 6590 6591 // Specifies the details for an error, if it occurred during execution of the 6592 // specified workfow step. 6593 Error *ExecutionError `type:"structure"` 6594 6595 // The values for the key/value pair applied as a tag to the file. Only applicable 6596 // if the step type is TAG. 6597 Outputs *string `type:"string"` 6598 6599 // One of the available step types. 6600 // 6601 // * Copy: copy the file to another location 6602 // 6603 // * Custom: custom step with a lambda target 6604 // 6605 // * Delete: delete the file 6606 // 6607 // * Tag: add a tag to the file 6608 StepType *string `type:"string" enum:"WorkflowStepType"` 6609} 6610 6611// String returns the string representation 6612func (s ExecutionStepResult) String() string { 6613 return awsutil.Prettify(s) 6614} 6615 6616// GoString returns the string representation 6617func (s ExecutionStepResult) GoString() string { 6618 return s.String() 6619} 6620 6621// SetError sets the Error field's value. 6622func (s *ExecutionStepResult) SetError(v *ExecutionError) *ExecutionStepResult { 6623 s.Error = v 6624 return s 6625} 6626 6627// SetOutputs sets the Outputs field's value. 6628func (s *ExecutionStepResult) SetOutputs(v string) *ExecutionStepResult { 6629 s.Outputs = &v 6630 return s 6631} 6632 6633// SetStepType sets the StepType field's value. 6634func (s *ExecutionStepResult) SetStepType(v string) *ExecutionStepResult { 6635 s.StepType = &v 6636 return s 6637} 6638 6639// Specifies the Amazon S3 or EFS file details to be used in the step. 6640type FileLocation struct { 6641 _ struct{} `type:"structure"` 6642 6643 // Specifies the Amazon EFS ID and the path for the file being used. 6644 EfsFileLocation *EfsFileLocation `type:"structure"` 6645 6646 // Specifies the S3 details for the file being used, such as bucket, Etag, and 6647 // so forth. 6648 S3FileLocation *S3FileLocation `type:"structure"` 6649} 6650 6651// String returns the string representation 6652func (s FileLocation) String() string { 6653 return awsutil.Prettify(s) 6654} 6655 6656// GoString returns the string representation 6657func (s FileLocation) GoString() string { 6658 return s.String() 6659} 6660 6661// SetEfsFileLocation sets the EfsFileLocation field's value. 6662func (s *FileLocation) SetEfsFileLocation(v *EfsFileLocation) *FileLocation { 6663 s.EfsFileLocation = v 6664 return s 6665} 6666 6667// SetS3FileLocation sets the S3FileLocation field's value. 6668func (s *FileLocation) SetS3FileLocation(v *S3FileLocation) *FileLocation { 6669 s.S3FileLocation = v 6670 return s 6671} 6672 6673// Represents an object that contains entries and targets for HomeDirectoryMappings. 6674// 6675// The following is an Entry and Target pair example for chroot. 6676// 6677// [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ] 6678// 6679// If the target of a logical directory entry does not exist in Amazon S3 or 6680// EFS, the entry is ignored. As a workaround, you can use the Amazon S3 API 6681// or EFS API to create 0 byte objects as place holders for your directory. 6682// If using the CLI, use the s3api or efsapi call instead of s3 or efs so you 6683// can use the put-object operation. For example, you use the following: aws 6684// s3api put-object --bucket bucketname --key path/to/folder/. Make sure that 6685// the end of the key name ends in a / for it to be considered a folder. 6686type HomeDirectoryMapEntry struct { 6687 _ struct{} `type:"structure"` 6688 6689 // Represents an entry for HomeDirectoryMappings. 6690 // 6691 // Entry is a required field 6692 Entry *string `type:"string" required:"true"` 6693 6694 // Represents the map target that is used in a HomeDirectorymapEntry. 6695 // 6696 // Target is a required field 6697 Target *string `type:"string" required:"true"` 6698} 6699 6700// String returns the string representation 6701func (s HomeDirectoryMapEntry) String() string { 6702 return awsutil.Prettify(s) 6703} 6704 6705// GoString returns the string representation 6706func (s HomeDirectoryMapEntry) GoString() string { 6707 return s.String() 6708} 6709 6710// Validate inspects the fields of the type to determine if they are valid. 6711func (s *HomeDirectoryMapEntry) Validate() error { 6712 invalidParams := request.ErrInvalidParams{Context: "HomeDirectoryMapEntry"} 6713 if s.Entry == nil { 6714 invalidParams.Add(request.NewErrParamRequired("Entry")) 6715 } 6716 if s.Target == nil { 6717 invalidParams.Add(request.NewErrParamRequired("Target")) 6718 } 6719 6720 if invalidParams.Len() > 0 { 6721 return invalidParams 6722 } 6723 return nil 6724} 6725 6726// SetEntry sets the Entry field's value. 6727func (s *HomeDirectoryMapEntry) SetEntry(v string) *HomeDirectoryMapEntry { 6728 s.Entry = &v 6729 return s 6730} 6731 6732// SetTarget sets the Target field's value. 6733func (s *HomeDirectoryMapEntry) SetTarget(v string) *HomeDirectoryMapEntry { 6734 s.Target = &v 6735 return s 6736} 6737 6738// Returns information related to the type of user authentication that is in 6739// use for a file transfer protocol-enabled server's users. A server can have 6740// only one method of authentication. 6741type IdentityProviderDetails struct { 6742 _ struct{} `type:"structure"` 6743 6744 // The identifier of the Amazon Web ServicesDirectory Service directory that 6745 // you want to stop sharing. 6746 DirectoryId *string `min:"12" type:"string"` 6747 6748 // Provides the type of InvocationRole used to authenticate the user account. 6749 InvocationRole *string `min:"20" type:"string"` 6750 6751 // Provides the location of the service endpoint used to authenticate users. 6752 Url *string `type:"string"` 6753} 6754 6755// String returns the string representation 6756func (s IdentityProviderDetails) String() string { 6757 return awsutil.Prettify(s) 6758} 6759 6760// GoString returns the string representation 6761func (s IdentityProviderDetails) GoString() string { 6762 return s.String() 6763} 6764 6765// Validate inspects the fields of the type to determine if they are valid. 6766func (s *IdentityProviderDetails) Validate() error { 6767 invalidParams := request.ErrInvalidParams{Context: "IdentityProviderDetails"} 6768 if s.DirectoryId != nil && len(*s.DirectoryId) < 12 { 6769 invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 12)) 6770 } 6771 if s.InvocationRole != nil && len(*s.InvocationRole) < 20 { 6772 invalidParams.Add(request.NewErrParamMinLen("InvocationRole", 20)) 6773 } 6774 6775 if invalidParams.Len() > 0 { 6776 return invalidParams 6777 } 6778 return nil 6779} 6780 6781// SetDirectoryId sets the DirectoryId field's value. 6782func (s *IdentityProviderDetails) SetDirectoryId(v string) *IdentityProviderDetails { 6783 s.DirectoryId = &v 6784 return s 6785} 6786 6787// SetInvocationRole sets the InvocationRole field's value. 6788func (s *IdentityProviderDetails) SetInvocationRole(v string) *IdentityProviderDetails { 6789 s.InvocationRole = &v 6790 return s 6791} 6792 6793// SetUrl sets the Url field's value. 6794func (s *IdentityProviderDetails) SetUrl(v string) *IdentityProviderDetails { 6795 s.Url = &v 6796 return s 6797} 6798 6799type ImportSshPublicKeyInput struct { 6800 _ struct{} `type:"structure"` 6801 6802 // A system-assigned unique identifier for a server. 6803 // 6804 // ServerId is a required field 6805 ServerId *string `min:"19" type:"string" required:"true"` 6806 6807 // The public key portion of an SSH key pair. 6808 // 6809 // SshPublicKeyBody is a required field 6810 SshPublicKeyBody *string `type:"string" required:"true"` 6811 6812 // The name of the user account that is assigned to one or more servers. 6813 // 6814 // UserName is a required field 6815 UserName *string `min:"3" type:"string" required:"true"` 6816} 6817 6818// String returns the string representation 6819func (s ImportSshPublicKeyInput) String() string { 6820 return awsutil.Prettify(s) 6821} 6822 6823// GoString returns the string representation 6824func (s ImportSshPublicKeyInput) GoString() string { 6825 return s.String() 6826} 6827 6828// Validate inspects the fields of the type to determine if they are valid. 6829func (s *ImportSshPublicKeyInput) Validate() error { 6830 invalidParams := request.ErrInvalidParams{Context: "ImportSshPublicKeyInput"} 6831 if s.ServerId == nil { 6832 invalidParams.Add(request.NewErrParamRequired("ServerId")) 6833 } 6834 if s.ServerId != nil && len(*s.ServerId) < 19 { 6835 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 6836 } 6837 if s.SshPublicKeyBody == nil { 6838 invalidParams.Add(request.NewErrParamRequired("SshPublicKeyBody")) 6839 } 6840 if s.UserName == nil { 6841 invalidParams.Add(request.NewErrParamRequired("UserName")) 6842 } 6843 if s.UserName != nil && len(*s.UserName) < 3 { 6844 invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) 6845 } 6846 6847 if invalidParams.Len() > 0 { 6848 return invalidParams 6849 } 6850 return nil 6851} 6852 6853// SetServerId sets the ServerId field's value. 6854func (s *ImportSshPublicKeyInput) SetServerId(v string) *ImportSshPublicKeyInput { 6855 s.ServerId = &v 6856 return s 6857} 6858 6859// SetSshPublicKeyBody sets the SshPublicKeyBody field's value. 6860func (s *ImportSshPublicKeyInput) SetSshPublicKeyBody(v string) *ImportSshPublicKeyInput { 6861 s.SshPublicKeyBody = &v 6862 return s 6863} 6864 6865// SetUserName sets the UserName field's value. 6866func (s *ImportSshPublicKeyInput) SetUserName(v string) *ImportSshPublicKeyInput { 6867 s.UserName = &v 6868 return s 6869} 6870 6871// Identifies the user, the server they belong to, and the identifier of the 6872// SSH public key associated with that user. A user can have more than one key 6873// on each server that they are associated with. 6874type ImportSshPublicKeyOutput struct { 6875 _ struct{} `type:"structure"` 6876 6877 // A system-assigned unique identifier for a server. 6878 // 6879 // ServerId is a required field 6880 ServerId *string `min:"19" type:"string" required:"true"` 6881 6882 // The name given to a public key by the system that was imported. 6883 // 6884 // SshPublicKeyId is a required field 6885 SshPublicKeyId *string `min:"21" type:"string" required:"true"` 6886 6887 // A user name assigned to the ServerID value that you specified. 6888 // 6889 // UserName is a required field 6890 UserName *string `min:"3" type:"string" required:"true"` 6891} 6892 6893// String returns the string representation 6894func (s ImportSshPublicKeyOutput) String() string { 6895 return awsutil.Prettify(s) 6896} 6897 6898// GoString returns the string representation 6899func (s ImportSshPublicKeyOutput) GoString() string { 6900 return s.String() 6901} 6902 6903// SetServerId sets the ServerId field's value. 6904func (s *ImportSshPublicKeyOutput) SetServerId(v string) *ImportSshPublicKeyOutput { 6905 s.ServerId = &v 6906 return s 6907} 6908 6909// SetSshPublicKeyId sets the SshPublicKeyId field's value. 6910func (s *ImportSshPublicKeyOutput) SetSshPublicKeyId(v string) *ImportSshPublicKeyOutput { 6911 s.SshPublicKeyId = &v 6912 return s 6913} 6914 6915// SetUserName sets the UserName field's value. 6916func (s *ImportSshPublicKeyOutput) SetUserName(v string) *ImportSshPublicKeyOutput { 6917 s.UserName = &v 6918 return s 6919} 6920 6921// Specifies the location for the file being copied. Only applicable for the 6922// Copy type of workflow steps. 6923type InputFileLocation struct { 6924 _ struct{} `type:"structure"` 6925 6926 // Specifies the details for the Amazon EFS file being copied. 6927 EfsFileLocation *EfsFileLocation `type:"structure"` 6928 6929 // Specifies the details for the S3 file being copied. 6930 S3FileLocation *S3InputFileLocation `type:"structure"` 6931} 6932 6933// String returns the string representation 6934func (s InputFileLocation) String() string { 6935 return awsutil.Prettify(s) 6936} 6937 6938// GoString returns the string representation 6939func (s InputFileLocation) GoString() string { 6940 return s.String() 6941} 6942 6943// Validate inspects the fields of the type to determine if they are valid. 6944func (s *InputFileLocation) Validate() error { 6945 invalidParams := request.ErrInvalidParams{Context: "InputFileLocation"} 6946 if s.EfsFileLocation != nil { 6947 if err := s.EfsFileLocation.Validate(); err != nil { 6948 invalidParams.AddNested("EfsFileLocation", err.(request.ErrInvalidParams)) 6949 } 6950 } 6951 if s.S3FileLocation != nil { 6952 if err := s.S3FileLocation.Validate(); err != nil { 6953 invalidParams.AddNested("S3FileLocation", err.(request.ErrInvalidParams)) 6954 } 6955 } 6956 6957 if invalidParams.Len() > 0 { 6958 return invalidParams 6959 } 6960 return nil 6961} 6962 6963// SetEfsFileLocation sets the EfsFileLocation field's value. 6964func (s *InputFileLocation) SetEfsFileLocation(v *EfsFileLocation) *InputFileLocation { 6965 s.EfsFileLocation = v 6966 return s 6967} 6968 6969// SetS3FileLocation sets the S3FileLocation field's value. 6970func (s *InputFileLocation) SetS3FileLocation(v *S3InputFileLocation) *InputFileLocation { 6971 s.S3FileLocation = v 6972 return s 6973} 6974 6975// This exception is thrown when an error occurs in the Amazon Web ServicesTransfer 6976// Family service. 6977type InternalServiceError struct { 6978 _ struct{} `type:"structure"` 6979 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6980 6981 Message_ *string `locationName:"Message" type:"string"` 6982} 6983 6984// String returns the string representation 6985func (s InternalServiceError) String() string { 6986 return awsutil.Prettify(s) 6987} 6988 6989// GoString returns the string representation 6990func (s InternalServiceError) GoString() string { 6991 return s.String() 6992} 6993 6994func newErrorInternalServiceError(v protocol.ResponseMetadata) error { 6995 return &InternalServiceError{ 6996 RespMetadata: v, 6997 } 6998} 6999 7000// Code returns the exception type name. 7001func (s *InternalServiceError) Code() string { 7002 return "InternalServiceError" 7003} 7004 7005// Message returns the exception's message. 7006func (s *InternalServiceError) Message() string { 7007 if s.Message_ != nil { 7008 return *s.Message_ 7009 } 7010 return "" 7011} 7012 7013// OrigErr always returns nil, satisfies awserr.Error interface. 7014func (s *InternalServiceError) OrigErr() error { 7015 return nil 7016} 7017 7018func (s *InternalServiceError) Error() string { 7019 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7020} 7021 7022// Status code returns the HTTP status code for the request's response error. 7023func (s *InternalServiceError) StatusCode() int { 7024 return s.RespMetadata.StatusCode 7025} 7026 7027// RequestID returns the service's response RequestID for request. 7028func (s *InternalServiceError) RequestID() string { 7029 return s.RespMetadata.RequestID 7030} 7031 7032// The NextToken parameter that was passed is invalid. 7033type InvalidNextTokenException struct { 7034 _ struct{} `type:"structure"` 7035 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7036 7037 Message_ *string `locationName:"Message" type:"string"` 7038} 7039 7040// String returns the string representation 7041func (s InvalidNextTokenException) String() string { 7042 return awsutil.Prettify(s) 7043} 7044 7045// GoString returns the string representation 7046func (s InvalidNextTokenException) GoString() string { 7047 return s.String() 7048} 7049 7050func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { 7051 return &InvalidNextTokenException{ 7052 RespMetadata: v, 7053 } 7054} 7055 7056// Code returns the exception type name. 7057func (s *InvalidNextTokenException) Code() string { 7058 return "InvalidNextTokenException" 7059} 7060 7061// Message returns the exception's message. 7062func (s *InvalidNextTokenException) Message() string { 7063 if s.Message_ != nil { 7064 return *s.Message_ 7065 } 7066 return "" 7067} 7068 7069// OrigErr always returns nil, satisfies awserr.Error interface. 7070func (s *InvalidNextTokenException) OrigErr() error { 7071 return nil 7072} 7073 7074func (s *InvalidNextTokenException) Error() string { 7075 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7076} 7077 7078// Status code returns the HTTP status code for the request's response error. 7079func (s *InvalidNextTokenException) StatusCode() int { 7080 return s.RespMetadata.StatusCode 7081} 7082 7083// RequestID returns the service's response RequestID for request. 7084func (s *InvalidNextTokenException) RequestID() string { 7085 return s.RespMetadata.RequestID 7086} 7087 7088// This exception is thrown when the client submits a malformed request. 7089type InvalidRequestException struct { 7090 _ struct{} `type:"structure"` 7091 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7092 7093 Message_ *string `locationName:"Message" type:"string"` 7094} 7095 7096// String returns the string representation 7097func (s InvalidRequestException) String() string { 7098 return awsutil.Prettify(s) 7099} 7100 7101// GoString returns the string representation 7102func (s InvalidRequestException) GoString() string { 7103 return s.String() 7104} 7105 7106func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { 7107 return &InvalidRequestException{ 7108 RespMetadata: v, 7109 } 7110} 7111 7112// Code returns the exception type name. 7113func (s *InvalidRequestException) Code() string { 7114 return "InvalidRequestException" 7115} 7116 7117// Message returns the exception's message. 7118func (s *InvalidRequestException) Message() string { 7119 if s.Message_ != nil { 7120 return *s.Message_ 7121 } 7122 return "" 7123} 7124 7125// OrigErr always returns nil, satisfies awserr.Error interface. 7126func (s *InvalidRequestException) OrigErr() error { 7127 return nil 7128} 7129 7130func (s *InvalidRequestException) Error() string { 7131 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7132} 7133 7134// Status code returns the HTTP status code for the request's response error. 7135func (s *InvalidRequestException) StatusCode() int { 7136 return s.RespMetadata.StatusCode 7137} 7138 7139// RequestID returns the service's response RequestID for request. 7140func (s *InvalidRequestException) RequestID() string { 7141 return s.RespMetadata.RequestID 7142} 7143 7144type ListAccessesInput struct { 7145 _ struct{} `type:"structure"` 7146 7147 // Specifies the maximum number of access SIDs to return. 7148 MaxResults *int64 `min:"1" type:"integer"` 7149 7150 // When you can get additional results from the ListAccesses call, a NextToken 7151 // parameter is returned in the output. You can then pass in a subsequent command 7152 // to the NextToken parameter to continue listing additional accesses. 7153 NextToken *string `min:"1" type:"string"` 7154 7155 // A system-assigned unique identifier for a server that has users assigned 7156 // to it. 7157 // 7158 // ServerId is a required field 7159 ServerId *string `min:"19" type:"string" required:"true"` 7160} 7161 7162// String returns the string representation 7163func (s ListAccessesInput) String() string { 7164 return awsutil.Prettify(s) 7165} 7166 7167// GoString returns the string representation 7168func (s ListAccessesInput) GoString() string { 7169 return s.String() 7170} 7171 7172// Validate inspects the fields of the type to determine if they are valid. 7173func (s *ListAccessesInput) Validate() error { 7174 invalidParams := request.ErrInvalidParams{Context: "ListAccessesInput"} 7175 if s.MaxResults != nil && *s.MaxResults < 1 { 7176 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7177 } 7178 if s.NextToken != nil && len(*s.NextToken) < 1 { 7179 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 7180 } 7181 if s.ServerId == nil { 7182 invalidParams.Add(request.NewErrParamRequired("ServerId")) 7183 } 7184 if s.ServerId != nil && len(*s.ServerId) < 19 { 7185 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 7186 } 7187 7188 if invalidParams.Len() > 0 { 7189 return invalidParams 7190 } 7191 return nil 7192} 7193 7194// SetMaxResults sets the MaxResults field's value. 7195func (s *ListAccessesInput) SetMaxResults(v int64) *ListAccessesInput { 7196 s.MaxResults = &v 7197 return s 7198} 7199 7200// SetNextToken sets the NextToken field's value. 7201func (s *ListAccessesInput) SetNextToken(v string) *ListAccessesInput { 7202 s.NextToken = &v 7203 return s 7204} 7205 7206// SetServerId sets the ServerId field's value. 7207func (s *ListAccessesInput) SetServerId(v string) *ListAccessesInput { 7208 s.ServerId = &v 7209 return s 7210} 7211 7212type ListAccessesOutput struct { 7213 _ struct{} `type:"structure"` 7214 7215 // Returns the accesses and their properties for the ServerId value that you 7216 // specify. 7217 // 7218 // Accesses is a required field 7219 Accesses []*ListedAccess `type:"list" required:"true"` 7220 7221 // When you can get additional results from the ListAccesses call, a NextToken 7222 // parameter is returned in the output. You can then pass in a subsequent command 7223 // to the NextToken parameter to continue listing additional accesses. 7224 NextToken *string `min:"1" type:"string"` 7225 7226 // A system-assigned unique identifier for a server that has users assigned 7227 // to it. 7228 // 7229 // ServerId is a required field 7230 ServerId *string `min:"19" type:"string" required:"true"` 7231} 7232 7233// String returns the string representation 7234func (s ListAccessesOutput) String() string { 7235 return awsutil.Prettify(s) 7236} 7237 7238// GoString returns the string representation 7239func (s ListAccessesOutput) GoString() string { 7240 return s.String() 7241} 7242 7243// SetAccesses sets the Accesses field's value. 7244func (s *ListAccessesOutput) SetAccesses(v []*ListedAccess) *ListAccessesOutput { 7245 s.Accesses = v 7246 return s 7247} 7248 7249// SetNextToken sets the NextToken field's value. 7250func (s *ListAccessesOutput) SetNextToken(v string) *ListAccessesOutput { 7251 s.NextToken = &v 7252 return s 7253} 7254 7255// SetServerId sets the ServerId field's value. 7256func (s *ListAccessesOutput) SetServerId(v string) *ListAccessesOutput { 7257 s.ServerId = &v 7258 return s 7259} 7260 7261type ListExecutionsInput struct { 7262 _ struct{} `type:"structure"` 7263 7264 // Specifies the aximum number of executions to return. 7265 MaxResults *int64 `min:"1" type:"integer"` 7266 7267 // ListExecutions returns the NextToken parameter in the output. You can then 7268 // pass the NextToken parameter in a subsequent command to continue listing 7269 // additional executions. 7270 // 7271 // This is useful for pagination, for instance. If you have 100 executions for 7272 // a workflow, you might only want to list first 10. If so, callthe API by specifing 7273 // the max-results: 7274 // 7275 // aws transfer list-executions --max-results 10 7276 // 7277 // This returns details for the first 10 executions, as well as the pointer 7278 // (NextToken) to the eleventh execution. You can now call the API again, suppling 7279 // the NextToken value you received: 7280 // 7281 // aws transfer list-executions --max-results 10 --next-token $somePointerReturnedFromPreviousListResult 7282 // 7283 // This call returns the next 10 executions, the 11th through the 20th. You 7284 // can then repeat the call until the details for all 100 executions have been 7285 // returned. 7286 NextToken *string `min:"1" type:"string"` 7287 7288 // A unique identifier for the workflow. 7289 // 7290 // WorkflowId is a required field 7291 WorkflowId *string `min:"19" type:"string" required:"true"` 7292} 7293 7294// String returns the string representation 7295func (s ListExecutionsInput) String() string { 7296 return awsutil.Prettify(s) 7297} 7298 7299// GoString returns the string representation 7300func (s ListExecutionsInput) GoString() string { 7301 return s.String() 7302} 7303 7304// Validate inspects the fields of the type to determine if they are valid. 7305func (s *ListExecutionsInput) Validate() error { 7306 invalidParams := request.ErrInvalidParams{Context: "ListExecutionsInput"} 7307 if s.MaxResults != nil && *s.MaxResults < 1 { 7308 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7309 } 7310 if s.NextToken != nil && len(*s.NextToken) < 1 { 7311 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 7312 } 7313 if s.WorkflowId == nil { 7314 invalidParams.Add(request.NewErrParamRequired("WorkflowId")) 7315 } 7316 if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { 7317 invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) 7318 } 7319 7320 if invalidParams.Len() > 0 { 7321 return invalidParams 7322 } 7323 return nil 7324} 7325 7326// SetMaxResults sets the MaxResults field's value. 7327func (s *ListExecutionsInput) SetMaxResults(v int64) *ListExecutionsInput { 7328 s.MaxResults = &v 7329 return s 7330} 7331 7332// SetNextToken sets the NextToken field's value. 7333func (s *ListExecutionsInput) SetNextToken(v string) *ListExecutionsInput { 7334 s.NextToken = &v 7335 return s 7336} 7337 7338// SetWorkflowId sets the WorkflowId field's value. 7339func (s *ListExecutionsInput) SetWorkflowId(v string) *ListExecutionsInput { 7340 s.WorkflowId = &v 7341 return s 7342} 7343 7344type ListExecutionsOutput struct { 7345 _ struct{} `type:"structure"` 7346 7347 // Returns the details for each execution. 7348 // 7349 // * NextToken: returned from a call to several APIs, you can use pass it 7350 // to a subsequent command to continue listing additional executions. 7351 // 7352 // * StartTime: timestamp indicating when the execution began. 7353 // 7354 // * Executions: details of the execution, including the execution ID, initial 7355 // file location, and Service metadata. 7356 // 7357 // * Status: one of the following values: IN_PROGRESS, COMPLETED, EXCEPTION, 7358 // HANDLING_EXEPTION. 7359 // 7360 // Executions is a required field 7361 Executions []*ListedExecution `type:"list" required:"true"` 7362 7363 // ListExecutions returns the NextToken parameter in the output. You can then 7364 // pass the NextToken parameter in a subsequent command to continue listing 7365 // additional executions. 7366 NextToken *string `min:"1" type:"string"` 7367 7368 // A unique identifier for the workflow. 7369 // 7370 // WorkflowId is a required field 7371 WorkflowId *string `min:"19" type:"string" required:"true"` 7372} 7373 7374// String returns the string representation 7375func (s ListExecutionsOutput) String() string { 7376 return awsutil.Prettify(s) 7377} 7378 7379// GoString returns the string representation 7380func (s ListExecutionsOutput) GoString() string { 7381 return s.String() 7382} 7383 7384// SetExecutions sets the Executions field's value. 7385func (s *ListExecutionsOutput) SetExecutions(v []*ListedExecution) *ListExecutionsOutput { 7386 s.Executions = v 7387 return s 7388} 7389 7390// SetNextToken sets the NextToken field's value. 7391func (s *ListExecutionsOutput) SetNextToken(v string) *ListExecutionsOutput { 7392 s.NextToken = &v 7393 return s 7394} 7395 7396// SetWorkflowId sets the WorkflowId field's value. 7397func (s *ListExecutionsOutput) SetWorkflowId(v string) *ListExecutionsOutput { 7398 s.WorkflowId = &v 7399 return s 7400} 7401 7402type ListSecurityPoliciesInput struct { 7403 _ struct{} `type:"structure"` 7404 7405 // Specifies the number of security policies to return as a response to the 7406 // ListSecurityPolicies query. 7407 MaxResults *int64 `min:"1" type:"integer"` 7408 7409 // When additional results are obtained from the ListSecurityPolicies command, 7410 // a NextToken parameter is returned in the output. You can then pass the NextToken 7411 // parameter in a subsequent command to continue listing additional security 7412 // policies. 7413 NextToken *string `min:"1" type:"string"` 7414} 7415 7416// String returns the string representation 7417func (s ListSecurityPoliciesInput) String() string { 7418 return awsutil.Prettify(s) 7419} 7420 7421// GoString returns the string representation 7422func (s ListSecurityPoliciesInput) GoString() string { 7423 return s.String() 7424} 7425 7426// Validate inspects the fields of the type to determine if they are valid. 7427func (s *ListSecurityPoliciesInput) Validate() error { 7428 invalidParams := request.ErrInvalidParams{Context: "ListSecurityPoliciesInput"} 7429 if s.MaxResults != nil && *s.MaxResults < 1 { 7430 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7431 } 7432 if s.NextToken != nil && len(*s.NextToken) < 1 { 7433 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 7434 } 7435 7436 if invalidParams.Len() > 0 { 7437 return invalidParams 7438 } 7439 return nil 7440} 7441 7442// SetMaxResults sets the MaxResults field's value. 7443func (s *ListSecurityPoliciesInput) SetMaxResults(v int64) *ListSecurityPoliciesInput { 7444 s.MaxResults = &v 7445 return s 7446} 7447 7448// SetNextToken sets the NextToken field's value. 7449func (s *ListSecurityPoliciesInput) SetNextToken(v string) *ListSecurityPoliciesInput { 7450 s.NextToken = &v 7451 return s 7452} 7453 7454type ListSecurityPoliciesOutput struct { 7455 _ struct{} `type:"structure"` 7456 7457 // When you can get additional results from the ListSecurityPolicies operation, 7458 // a NextToken parameter is returned in the output. In a following command, 7459 // you can pass in the NextToken parameter to continue listing security policies. 7460 NextToken *string `min:"1" type:"string"` 7461 7462 // An array of security policies that were listed. 7463 // 7464 // SecurityPolicyNames is a required field 7465 SecurityPolicyNames []*string `type:"list" required:"true"` 7466} 7467 7468// String returns the string representation 7469func (s ListSecurityPoliciesOutput) String() string { 7470 return awsutil.Prettify(s) 7471} 7472 7473// GoString returns the string representation 7474func (s ListSecurityPoliciesOutput) GoString() string { 7475 return s.String() 7476} 7477 7478// SetNextToken sets the NextToken field's value. 7479func (s *ListSecurityPoliciesOutput) SetNextToken(v string) *ListSecurityPoliciesOutput { 7480 s.NextToken = &v 7481 return s 7482} 7483 7484// SetSecurityPolicyNames sets the SecurityPolicyNames field's value. 7485func (s *ListSecurityPoliciesOutput) SetSecurityPolicyNames(v []*string) *ListSecurityPoliciesOutput { 7486 s.SecurityPolicyNames = v 7487 return s 7488} 7489 7490type ListServersInput struct { 7491 _ struct{} `type:"structure"` 7492 7493 // Specifies the number of servers to return as a response to the ListServers 7494 // query. 7495 MaxResults *int64 `min:"1" type:"integer"` 7496 7497 // When additional results are obtained from the ListServers command, a NextToken 7498 // parameter is returned in the output. You can then pass the NextToken parameter 7499 // in a subsequent command to continue listing additional servers. 7500 NextToken *string `min:"1" type:"string"` 7501} 7502 7503// String returns the string representation 7504func (s ListServersInput) String() string { 7505 return awsutil.Prettify(s) 7506} 7507 7508// GoString returns the string representation 7509func (s ListServersInput) GoString() string { 7510 return s.String() 7511} 7512 7513// Validate inspects the fields of the type to determine if they are valid. 7514func (s *ListServersInput) Validate() error { 7515 invalidParams := request.ErrInvalidParams{Context: "ListServersInput"} 7516 if s.MaxResults != nil && *s.MaxResults < 1 { 7517 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7518 } 7519 if s.NextToken != nil && len(*s.NextToken) < 1 { 7520 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 7521 } 7522 7523 if invalidParams.Len() > 0 { 7524 return invalidParams 7525 } 7526 return nil 7527} 7528 7529// SetMaxResults sets the MaxResults field's value. 7530func (s *ListServersInput) SetMaxResults(v int64) *ListServersInput { 7531 s.MaxResults = &v 7532 return s 7533} 7534 7535// SetNextToken sets the NextToken field's value. 7536func (s *ListServersInput) SetNextToken(v string) *ListServersInput { 7537 s.NextToken = &v 7538 return s 7539} 7540 7541type ListServersOutput struct { 7542 _ struct{} `type:"structure"` 7543 7544 // When you can get additional results from the ListServers operation, a NextToken 7545 // parameter is returned in the output. In a following command, you can pass 7546 // in the NextToken parameter to continue listing additional servers. 7547 NextToken *string `min:"1" type:"string"` 7548 7549 // An array of servers that were listed. 7550 // 7551 // Servers is a required field 7552 Servers []*ListedServer `type:"list" required:"true"` 7553} 7554 7555// String returns the string representation 7556func (s ListServersOutput) String() string { 7557 return awsutil.Prettify(s) 7558} 7559 7560// GoString returns the string representation 7561func (s ListServersOutput) GoString() string { 7562 return s.String() 7563} 7564 7565// SetNextToken sets the NextToken field's value. 7566func (s *ListServersOutput) SetNextToken(v string) *ListServersOutput { 7567 s.NextToken = &v 7568 return s 7569} 7570 7571// SetServers sets the Servers field's value. 7572func (s *ListServersOutput) SetServers(v []*ListedServer) *ListServersOutput { 7573 s.Servers = v 7574 return s 7575} 7576 7577type ListTagsForResourceInput struct { 7578 _ struct{} `type:"structure"` 7579 7580 // Requests the tags associated with a particular Amazon Resource Name (ARN). 7581 // An ARN is an identifier for a specific Amazon Web Services resource, such 7582 // as a server, user, or role. 7583 // 7584 // Arn is a required field 7585 Arn *string `min:"20" type:"string" required:"true"` 7586 7587 // Specifies the number of tags to return as a response to the ListTagsForResource 7588 // request. 7589 MaxResults *int64 `min:"1" type:"integer"` 7590 7591 // When you request additional results from the ListTagsForResource operation, 7592 // a NextToken parameter is returned in the input. You can then pass in a subsequent 7593 // command to the NextToken parameter to continue listing additional tags. 7594 NextToken *string `min:"1" type:"string"` 7595} 7596 7597// String returns the string representation 7598func (s ListTagsForResourceInput) String() string { 7599 return awsutil.Prettify(s) 7600} 7601 7602// GoString returns the string representation 7603func (s ListTagsForResourceInput) GoString() string { 7604 return s.String() 7605} 7606 7607// Validate inspects the fields of the type to determine if they are valid. 7608func (s *ListTagsForResourceInput) Validate() error { 7609 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 7610 if s.Arn == nil { 7611 invalidParams.Add(request.NewErrParamRequired("Arn")) 7612 } 7613 if s.Arn != nil && len(*s.Arn) < 20 { 7614 invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) 7615 } 7616 if s.MaxResults != nil && *s.MaxResults < 1 { 7617 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7618 } 7619 if s.NextToken != nil && len(*s.NextToken) < 1 { 7620 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 7621 } 7622 7623 if invalidParams.Len() > 0 { 7624 return invalidParams 7625 } 7626 return nil 7627} 7628 7629// SetArn sets the Arn field's value. 7630func (s *ListTagsForResourceInput) SetArn(v string) *ListTagsForResourceInput { 7631 s.Arn = &v 7632 return s 7633} 7634 7635// SetMaxResults sets the MaxResults field's value. 7636func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { 7637 s.MaxResults = &v 7638 return s 7639} 7640 7641// SetNextToken sets the NextToken field's value. 7642func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { 7643 s.NextToken = &v 7644 return s 7645} 7646 7647type ListTagsForResourceOutput struct { 7648 _ struct{} `type:"structure"` 7649 7650 // The ARN you specified to list the tags of. 7651 Arn *string `min:"20" type:"string"` 7652 7653 // When you can get additional results from the ListTagsForResource call, a 7654 // NextToken parameter is returned in the output. You can then pass in a subsequent 7655 // command to the NextToken parameter to continue listing additional tags. 7656 NextToken *string `min:"1" type:"string"` 7657 7658 // Key-value pairs that are assigned to a resource, usually for the purpose 7659 // of grouping and searching for items. Tags are metadata that you define. 7660 Tags []*Tag `min:"1" type:"list"` 7661} 7662 7663// String returns the string representation 7664func (s ListTagsForResourceOutput) String() string { 7665 return awsutil.Prettify(s) 7666} 7667 7668// GoString returns the string representation 7669func (s ListTagsForResourceOutput) GoString() string { 7670 return s.String() 7671} 7672 7673// SetArn sets the Arn field's value. 7674func (s *ListTagsForResourceOutput) SetArn(v string) *ListTagsForResourceOutput { 7675 s.Arn = &v 7676 return s 7677} 7678 7679// SetNextToken sets the NextToken field's value. 7680func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { 7681 s.NextToken = &v 7682 return s 7683} 7684 7685// SetTags sets the Tags field's value. 7686func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 7687 s.Tags = v 7688 return s 7689} 7690 7691type ListUsersInput struct { 7692 _ struct{} `type:"structure"` 7693 7694 // Specifies the number of users to return as a response to the ListUsers request. 7695 MaxResults *int64 `min:"1" type:"integer"` 7696 7697 // When you can get additional results from the ListUsers call, a NextToken 7698 // parameter is returned in the output. You can then pass in a subsequent command 7699 // to the NextToken parameter to continue listing additional users. 7700 NextToken *string `min:"1" type:"string"` 7701 7702 // A system-assigned unique identifier for a server that has users assigned 7703 // to it. 7704 // 7705 // ServerId is a required field 7706 ServerId *string `min:"19" type:"string" required:"true"` 7707} 7708 7709// String returns the string representation 7710func (s ListUsersInput) String() string { 7711 return awsutil.Prettify(s) 7712} 7713 7714// GoString returns the string representation 7715func (s ListUsersInput) GoString() string { 7716 return s.String() 7717} 7718 7719// Validate inspects the fields of the type to determine if they are valid. 7720func (s *ListUsersInput) Validate() error { 7721 invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"} 7722 if s.MaxResults != nil && *s.MaxResults < 1 { 7723 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7724 } 7725 if s.NextToken != nil && len(*s.NextToken) < 1 { 7726 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 7727 } 7728 if s.ServerId == nil { 7729 invalidParams.Add(request.NewErrParamRequired("ServerId")) 7730 } 7731 if s.ServerId != nil && len(*s.ServerId) < 19 { 7732 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 7733 } 7734 7735 if invalidParams.Len() > 0 { 7736 return invalidParams 7737 } 7738 return nil 7739} 7740 7741// SetMaxResults sets the MaxResults field's value. 7742func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput { 7743 s.MaxResults = &v 7744 return s 7745} 7746 7747// SetNextToken sets the NextToken field's value. 7748func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput { 7749 s.NextToken = &v 7750 return s 7751} 7752 7753// SetServerId sets the ServerId field's value. 7754func (s *ListUsersInput) SetServerId(v string) *ListUsersInput { 7755 s.ServerId = &v 7756 return s 7757} 7758 7759type ListUsersOutput struct { 7760 _ struct{} `type:"structure"` 7761 7762 // When you can get additional results from the ListUsers call, a NextToken 7763 // parameter is returned in the output. You can then pass in a subsequent command 7764 // to the NextToken parameter to continue listing additional users. 7765 NextToken *string `min:"1" type:"string"` 7766 7767 // A system-assigned unique identifier for a server that the users are assigned 7768 // to. 7769 // 7770 // ServerId is a required field 7771 ServerId *string `min:"19" type:"string" required:"true"` 7772 7773 // Returns the user accounts and their properties for the ServerId value that 7774 // you specify. 7775 // 7776 // Users is a required field 7777 Users []*ListedUser `type:"list" required:"true"` 7778} 7779 7780// String returns the string representation 7781func (s ListUsersOutput) String() string { 7782 return awsutil.Prettify(s) 7783} 7784 7785// GoString returns the string representation 7786func (s ListUsersOutput) GoString() string { 7787 return s.String() 7788} 7789 7790// SetNextToken sets the NextToken field's value. 7791func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput { 7792 s.NextToken = &v 7793 return s 7794} 7795 7796// SetServerId sets the ServerId field's value. 7797func (s *ListUsersOutput) SetServerId(v string) *ListUsersOutput { 7798 s.ServerId = &v 7799 return s 7800} 7801 7802// SetUsers sets the Users field's value. 7803func (s *ListUsersOutput) SetUsers(v []*ListedUser) *ListUsersOutput { 7804 s.Users = v 7805 return s 7806} 7807 7808type ListWorkflowsInput struct { 7809 _ struct{} `type:"structure"` 7810 7811 // Specifies the maximum number of workflows to return. 7812 MaxResults *int64 `min:"1" type:"integer"` 7813 7814 // ListWorkflows returns the NextToken parameter in the output. You can then 7815 // pass the NextToken parameter in a subsequent command to continue listing 7816 // additional workflows. 7817 NextToken *string `min:"1" type:"string"` 7818} 7819 7820// String returns the string representation 7821func (s ListWorkflowsInput) String() string { 7822 return awsutil.Prettify(s) 7823} 7824 7825// GoString returns the string representation 7826func (s ListWorkflowsInput) GoString() string { 7827 return s.String() 7828} 7829 7830// Validate inspects the fields of the type to determine if they are valid. 7831func (s *ListWorkflowsInput) Validate() error { 7832 invalidParams := request.ErrInvalidParams{Context: "ListWorkflowsInput"} 7833 if s.MaxResults != nil && *s.MaxResults < 1 { 7834 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 7835 } 7836 if s.NextToken != nil && len(*s.NextToken) < 1 { 7837 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 7838 } 7839 7840 if invalidParams.Len() > 0 { 7841 return invalidParams 7842 } 7843 return nil 7844} 7845 7846// SetMaxResults sets the MaxResults field's value. 7847func (s *ListWorkflowsInput) SetMaxResults(v int64) *ListWorkflowsInput { 7848 s.MaxResults = &v 7849 return s 7850} 7851 7852// SetNextToken sets the NextToken field's value. 7853func (s *ListWorkflowsInput) SetNextToken(v string) *ListWorkflowsInput { 7854 s.NextToken = &v 7855 return s 7856} 7857 7858type ListWorkflowsOutput struct { 7859 _ struct{} `type:"structure"` 7860 7861 // ListWorkflows returns the NextToken parameter in the output. You can then 7862 // pass the NextToken parameter in a subsequent command to continue listing 7863 // additional workflows. 7864 NextToken *string `min:"1" type:"string"` 7865 7866 // Returns the Arn, WorkflowId, and Description for each workflow. 7867 // 7868 // Workflows is a required field 7869 Workflows []*ListedWorkflow `type:"list" required:"true"` 7870} 7871 7872// String returns the string representation 7873func (s ListWorkflowsOutput) String() string { 7874 return awsutil.Prettify(s) 7875} 7876 7877// GoString returns the string representation 7878func (s ListWorkflowsOutput) GoString() string { 7879 return s.String() 7880} 7881 7882// SetNextToken sets the NextToken field's value. 7883func (s *ListWorkflowsOutput) SetNextToken(v string) *ListWorkflowsOutput { 7884 s.NextToken = &v 7885 return s 7886} 7887 7888// SetWorkflows sets the Workflows field's value. 7889func (s *ListWorkflowsOutput) SetWorkflows(v []*ListedWorkflow) *ListWorkflowsOutput { 7890 s.Workflows = v 7891 return s 7892} 7893 7894// Lists the properties for one or more specified associated accesses. 7895type ListedAccess struct { 7896 _ struct{} `type:"structure"` 7897 7898 // A unique identifier that is required to identify specific groups within your 7899 // directory. The users of the group that you associate have access to your 7900 // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon 7901 // Web Services Transfer Family. If you know the group name, you can view the 7902 // SID values by running the following command using Windows PowerShell. 7903 // 7904 // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * 7905 // | Select SamAccountName,ObjectSid 7906 // 7907 // In that command, replace YourGroupName with the name of your Active Directory 7908 // group. 7909 // 7910 // The regex used to validate this parameter is a string of characters consisting 7911 // of uppercase and lowercase alphanumeric characters with no spaces. You can 7912 // also include underscores or any of the following characters: =,.@:/- 7913 ExternalId *string `min:"1" type:"string"` 7914 7915 // The landing directory (folder) for a user when they log in to the server 7916 // using the client. 7917 // 7918 // A HomeDirectory example is /bucket_name/home/mydirectory. 7919 HomeDirectory *string `type:"string"` 7920 7921 // The type of landing directory (folder) you want your users' home directory 7922 // to be when they log into the server. If you set it to PATH, the user will 7923 // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer 7924 // protocol clients. If you set it LOGICAL, you need to provide mappings in 7925 // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths 7926 // visible to your users. 7927 HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` 7928 7929 // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your 7930 // users' access to your Amazon S3 bucket or EFS file system. The policies attached 7931 // to this role determine the level of access that you want to provide your 7932 // users when transferring files into and out of your Amazon S3 bucket or EFS 7933 // file system. The IAM role should also contain a trust relationship that allows 7934 // the server to access your resources when servicing your users' transfer requests. 7935 Role *string `min:"20" type:"string"` 7936} 7937 7938// String returns the string representation 7939func (s ListedAccess) String() string { 7940 return awsutil.Prettify(s) 7941} 7942 7943// GoString returns the string representation 7944func (s ListedAccess) GoString() string { 7945 return s.String() 7946} 7947 7948// SetExternalId sets the ExternalId field's value. 7949func (s *ListedAccess) SetExternalId(v string) *ListedAccess { 7950 s.ExternalId = &v 7951 return s 7952} 7953 7954// SetHomeDirectory sets the HomeDirectory field's value. 7955func (s *ListedAccess) SetHomeDirectory(v string) *ListedAccess { 7956 s.HomeDirectory = &v 7957 return s 7958} 7959 7960// SetHomeDirectoryType sets the HomeDirectoryType field's value. 7961func (s *ListedAccess) SetHomeDirectoryType(v string) *ListedAccess { 7962 s.HomeDirectoryType = &v 7963 return s 7964} 7965 7966// SetRole sets the Role field's value. 7967func (s *ListedAccess) SetRole(v string) *ListedAccess { 7968 s.Role = &v 7969 return s 7970} 7971 7972// Returns properties of the execution that is specified. 7973type ListedExecution struct { 7974 _ struct{} `type:"structure"` 7975 7976 // A unique identifier for the execution of a workflow. 7977 ExecutionId *string `min:"36" type:"string"` 7978 7979 // A structure that describes the Amazon S3 or EFS file location. This is the 7980 // file location when the execution begins: if the file is being copied, this 7981 // is the initial (as opposed to destination) file location. 7982 InitialFileLocation *FileLocation `type:"structure"` 7983 7984 // A container object for the session details associated with a workflow. 7985 ServiceMetadata *ServiceMetadata `type:"structure"` 7986 7987 // The status is one of the execution. Can be in progress, completed, exception 7988 // encountered, or handling the exception. 7989 Status *string `type:"string" enum:"ExecutionStatus"` 7990} 7991 7992// String returns the string representation 7993func (s ListedExecution) String() string { 7994 return awsutil.Prettify(s) 7995} 7996 7997// GoString returns the string representation 7998func (s ListedExecution) GoString() string { 7999 return s.String() 8000} 8001 8002// SetExecutionId sets the ExecutionId field's value. 8003func (s *ListedExecution) SetExecutionId(v string) *ListedExecution { 8004 s.ExecutionId = &v 8005 return s 8006} 8007 8008// SetInitialFileLocation sets the InitialFileLocation field's value. 8009func (s *ListedExecution) SetInitialFileLocation(v *FileLocation) *ListedExecution { 8010 s.InitialFileLocation = v 8011 return s 8012} 8013 8014// SetServiceMetadata sets the ServiceMetadata field's value. 8015func (s *ListedExecution) SetServiceMetadata(v *ServiceMetadata) *ListedExecution { 8016 s.ServiceMetadata = v 8017 return s 8018} 8019 8020// SetStatus sets the Status field's value. 8021func (s *ListedExecution) SetStatus(v string) *ListedExecution { 8022 s.Status = &v 8023 return s 8024} 8025 8026// Returns properties of a file transfer protocol-enabled server that was specified. 8027type ListedServer struct { 8028 _ struct{} `type:"structure"` 8029 8030 // Specifies the unique Amazon Resource Name (ARN) for a server to be listed. 8031 // 8032 // Arn is a required field 8033 Arn *string `min:"20" type:"string" required:"true"` 8034 8035 // Specifies the domain of the storage system that is used for file transfers. 8036 Domain *string `type:"string" enum:"Domain"` 8037 8038 // Specifies the type of VPC endpoint that your server is connected to. If your 8039 // server is connected to a VPC endpoint, your server isn't accessible over 8040 // the public internet. 8041 EndpointType *string `type:"string" enum:"EndpointType"` 8042 8043 // Specifies the mode of authentication for a server. The default value is SERVICE_MANAGED, 8044 // which allows you to store and access user credentials within the Amazon Web 8045 // Services Transfer Family service. 8046 // 8047 // Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in 8048 // Amazon Web Services Managed Active Directory or Microsoft Active Directory 8049 // in your on-premises environment or in Amazon Web Services using AD Connectors. 8050 // This option also requires you to provide a Directory ID using the IdentityProviderDetails 8051 // parameter. 8052 // 8053 // Use the API_GATEWAY value to integrate with an identity provider of your 8054 // choosing. The API_GATEWAY setting requires you to provide an API Gateway 8055 // endpoint URL to call for authentication using the IdentityProviderDetails 8056 // parameter. 8057 IdentityProviderType *string `type:"string" enum:"IdentityProviderType"` 8058 8059 // Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 8060 // and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch 8061 // logging for Amazon S3 or Amazon EFS events. When set, user activity can be 8062 // viewed in your CloudWatch logs. 8063 LoggingRole *string `min:"20" type:"string"` 8064 8065 // Specifies the unique system assigned identifier for the servers that were 8066 // listed. 8067 ServerId *string `min:"19" type:"string"` 8068 8069 // Specifies the condition of a server for the server that was described. A 8070 // value of ONLINE indicates that the server can accept jobs and transfer files. 8071 // A State value of OFFLINE means that the server cannot perform file transfer 8072 // operations. 8073 // 8074 // The states of STARTING and STOPPING indicate that the server is in an intermediate 8075 // state, either not fully able to respond, or not fully offline. The values 8076 // of START_FAILED or STOP_FAILED can indicate an error condition. 8077 State *string `type:"string" enum:"State"` 8078 8079 // Specifies the number of users that are assigned to a server you specified 8080 // with the ServerId. 8081 UserCount *int64 `type:"integer"` 8082} 8083 8084// String returns the string representation 8085func (s ListedServer) String() string { 8086 return awsutil.Prettify(s) 8087} 8088 8089// GoString returns the string representation 8090func (s ListedServer) GoString() string { 8091 return s.String() 8092} 8093 8094// SetArn sets the Arn field's value. 8095func (s *ListedServer) SetArn(v string) *ListedServer { 8096 s.Arn = &v 8097 return s 8098} 8099 8100// SetDomain sets the Domain field's value. 8101func (s *ListedServer) SetDomain(v string) *ListedServer { 8102 s.Domain = &v 8103 return s 8104} 8105 8106// SetEndpointType sets the EndpointType field's value. 8107func (s *ListedServer) SetEndpointType(v string) *ListedServer { 8108 s.EndpointType = &v 8109 return s 8110} 8111 8112// SetIdentityProviderType sets the IdentityProviderType field's value. 8113func (s *ListedServer) SetIdentityProviderType(v string) *ListedServer { 8114 s.IdentityProviderType = &v 8115 return s 8116} 8117 8118// SetLoggingRole sets the LoggingRole field's value. 8119func (s *ListedServer) SetLoggingRole(v string) *ListedServer { 8120 s.LoggingRole = &v 8121 return s 8122} 8123 8124// SetServerId sets the ServerId field's value. 8125func (s *ListedServer) SetServerId(v string) *ListedServer { 8126 s.ServerId = &v 8127 return s 8128} 8129 8130// SetState sets the State field's value. 8131func (s *ListedServer) SetState(v string) *ListedServer { 8132 s.State = &v 8133 return s 8134} 8135 8136// SetUserCount sets the UserCount field's value. 8137func (s *ListedServer) SetUserCount(v int64) *ListedServer { 8138 s.UserCount = &v 8139 return s 8140} 8141 8142// Returns properties of the user that you specify. 8143type ListedUser struct { 8144 _ struct{} `type:"structure"` 8145 8146 // Provides the unique Amazon Resource Name (ARN) for the user that you want 8147 // to learn about. 8148 // 8149 // Arn is a required field 8150 Arn *string `min:"20" type:"string" required:"true"` 8151 8152 // The landing directory (folder) for a user when they log in to the server 8153 // using the client. 8154 // 8155 // A HomeDirectory example is /bucket_name/home/mydirectory. 8156 HomeDirectory *string `type:"string"` 8157 8158 // The type of landing directory (folder) you want your users' home directory 8159 // to be when they log into the server. If you set it to PATH, the user will 8160 // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer 8161 // protocol clients. If you set it LOGICAL, you need to provide mappings in 8162 // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths 8163 // visible to your users. 8164 HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` 8165 8166 // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your 8167 // users' access to your Amazon S3 bucket or EFS file system. The policies attached 8168 // to this role determine the level of access that you want to provide your 8169 // users when transferring files into and out of your Amazon S3 bucket or EFS 8170 // file system. The IAM role should also contain a trust relationship that allows 8171 // the server to access your resources when servicing your users' transfer requests. 8172 // 8173 // The IAM role that controls your users' access to your Amazon S3 bucket for 8174 // servers with Domain=S3, or your EFS file system for servers with Domain=EFS. 8175 // 8176 // The policies attached to this role determine the level of access you want 8177 // to provide your users when transferring files into and out of your S3 buckets 8178 // or EFS file systems. 8179 Role *string `min:"20" type:"string"` 8180 8181 // Specifies the number of SSH public keys stored for the user you specified. 8182 SshPublicKeyCount *int64 `type:"integer"` 8183 8184 // Specifies the name of the user whose ARN was specified. User names are used 8185 // for authentication purposes. 8186 UserName *string `min:"3" type:"string"` 8187} 8188 8189// String returns the string representation 8190func (s ListedUser) String() string { 8191 return awsutil.Prettify(s) 8192} 8193 8194// GoString returns the string representation 8195func (s ListedUser) GoString() string { 8196 return s.String() 8197} 8198 8199// SetArn sets the Arn field's value. 8200func (s *ListedUser) SetArn(v string) *ListedUser { 8201 s.Arn = &v 8202 return s 8203} 8204 8205// SetHomeDirectory sets the HomeDirectory field's value. 8206func (s *ListedUser) SetHomeDirectory(v string) *ListedUser { 8207 s.HomeDirectory = &v 8208 return s 8209} 8210 8211// SetHomeDirectoryType sets the HomeDirectoryType field's value. 8212func (s *ListedUser) SetHomeDirectoryType(v string) *ListedUser { 8213 s.HomeDirectoryType = &v 8214 return s 8215} 8216 8217// SetRole sets the Role field's value. 8218func (s *ListedUser) SetRole(v string) *ListedUser { 8219 s.Role = &v 8220 return s 8221} 8222 8223// SetSshPublicKeyCount sets the SshPublicKeyCount field's value. 8224func (s *ListedUser) SetSshPublicKeyCount(v int64) *ListedUser { 8225 s.SshPublicKeyCount = &v 8226 return s 8227} 8228 8229// SetUserName sets the UserName field's value. 8230func (s *ListedUser) SetUserName(v string) *ListedUser { 8231 s.UserName = &v 8232 return s 8233} 8234 8235// Contains the ID, text description, and Amazon Resource Name (ARN) for the 8236// workflow. 8237type ListedWorkflow struct { 8238 _ struct{} `type:"structure"` 8239 8240 // Specifies the unique Amazon Resource Name (ARN) for the workflow. 8241 Arn *string `min:"20" type:"string"` 8242 8243 // Specifies the text description for the workflow. 8244 Description *string `type:"string"` 8245 8246 // A unique identifier for the workflow. 8247 WorkflowId *string `min:"19" type:"string"` 8248} 8249 8250// String returns the string representation 8251func (s ListedWorkflow) String() string { 8252 return awsutil.Prettify(s) 8253} 8254 8255// GoString returns the string representation 8256func (s ListedWorkflow) GoString() string { 8257 return s.String() 8258} 8259 8260// SetArn sets the Arn field's value. 8261func (s *ListedWorkflow) SetArn(v string) *ListedWorkflow { 8262 s.Arn = &v 8263 return s 8264} 8265 8266// SetDescription sets the Description field's value. 8267func (s *ListedWorkflow) SetDescription(v string) *ListedWorkflow { 8268 s.Description = &v 8269 return s 8270} 8271 8272// SetWorkflowId sets the WorkflowId field's value. 8273func (s *ListedWorkflow) SetWorkflowId(v string) *ListedWorkflow { 8274 s.WorkflowId = &v 8275 return s 8276} 8277 8278// Consists of the logging role and the log group name. 8279type LoggingConfiguration struct { 8280 _ struct{} `type:"structure"` 8281 8282 // The name of the CloudWatch logging group for the Amazon Web Services Transfer 8283 // server to which this workflow belongs. 8284 LogGroupName *string `min:"1" type:"string"` 8285 8286 // Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 8287 // and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch 8288 // logging for Amazon S3 or Amazon EFS events. When set, user activity can be 8289 // viewed in your CloudWatch logs. 8290 LoggingRole *string `min:"20" type:"string"` 8291} 8292 8293// String returns the string representation 8294func (s LoggingConfiguration) String() string { 8295 return awsutil.Prettify(s) 8296} 8297 8298// GoString returns the string representation 8299func (s LoggingConfiguration) GoString() string { 8300 return s.String() 8301} 8302 8303// SetLogGroupName sets the LogGroupName field's value. 8304func (s *LoggingConfiguration) SetLogGroupName(v string) *LoggingConfiguration { 8305 s.LogGroupName = &v 8306 return s 8307} 8308 8309// SetLoggingRole sets the LoggingRole field's value. 8310func (s *LoggingConfiguration) SetLoggingRole(v string) *LoggingConfiguration { 8311 s.LoggingRole = &v 8312 return s 8313} 8314 8315// The full POSIX identity, including user ID (Uid), group ID (Gid), and any 8316// secondary groups IDs (SecondaryGids), that controls your users' access to 8317// your Amazon EFS file systems. The POSIX permissions that are set on files 8318// and directories in your file system determine the level of access your users 8319// get when transferring files into and out of your Amazon EFS file systems. 8320type PosixProfile struct { 8321 _ struct{} `type:"structure"` 8322 8323 // The POSIX group ID used for all EFS operations by this user. 8324 // 8325 // Gid is a required field 8326 Gid *int64 `type:"long" required:"true"` 8327 8328 // The secondary POSIX group IDs used for all EFS operations by this user. 8329 SecondaryGids []*int64 `type:"list"` 8330 8331 // The POSIX user ID used for all EFS operations by this user. 8332 // 8333 // Uid is a required field 8334 Uid *int64 `type:"long" required:"true"` 8335} 8336 8337// String returns the string representation 8338func (s PosixProfile) String() string { 8339 return awsutil.Prettify(s) 8340} 8341 8342// GoString returns the string representation 8343func (s PosixProfile) GoString() string { 8344 return s.String() 8345} 8346 8347// Validate inspects the fields of the type to determine if they are valid. 8348func (s *PosixProfile) Validate() error { 8349 invalidParams := request.ErrInvalidParams{Context: "PosixProfile"} 8350 if s.Gid == nil { 8351 invalidParams.Add(request.NewErrParamRequired("Gid")) 8352 } 8353 if s.Uid == nil { 8354 invalidParams.Add(request.NewErrParamRequired("Uid")) 8355 } 8356 8357 if invalidParams.Len() > 0 { 8358 return invalidParams 8359 } 8360 return nil 8361} 8362 8363// SetGid sets the Gid field's value. 8364func (s *PosixProfile) SetGid(v int64) *PosixProfile { 8365 s.Gid = &v 8366 return s 8367} 8368 8369// SetSecondaryGids sets the SecondaryGids field's value. 8370func (s *PosixProfile) SetSecondaryGids(v []*int64) *PosixProfile { 8371 s.SecondaryGids = v 8372 return s 8373} 8374 8375// SetUid sets the Uid field's value. 8376func (s *PosixProfile) SetUid(v int64) *PosixProfile { 8377 s.Uid = &v 8378 return s 8379} 8380 8381// The protocol settings that are configured for your server. 8382// 8383// This type is only valid in the UpdateServer API. 8384type ProtocolDetails struct { 8385 _ struct{} `type:"structure"` 8386 8387 // Indicates passive mode, for FTP and FTPS protocols. Enter a single dotted-quad 8388 // IPv4 address, such as the external IP address of a firewall, router, or load 8389 // balancer. For example: 8390 // 8391 // aws transfer update-server --protocol-details PassiveIp=0.0.0.0 8392 // 8393 // Replace 0.0.0.0 in the example above with the actual IP address you want 8394 // to use. 8395 // 8396 // If you change the PassiveIp value, you must stop and then restart your Transfer 8397 // server for the change to take effect. For details on using Passive IP (PASV) 8398 // in a NAT environment, see Configuring your FTPS server behind a firewall 8399 // or NAT with Amazon Web Services Transfer Family (http://aws.amazon.com/blogs/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/). 8400 PassiveIp *string `type:"string"` 8401} 8402 8403// String returns the string representation 8404func (s ProtocolDetails) String() string { 8405 return awsutil.Prettify(s) 8406} 8407 8408// GoString returns the string representation 8409func (s ProtocolDetails) GoString() string { 8410 return s.String() 8411} 8412 8413// SetPassiveIp sets the PassiveIp field's value. 8414func (s *ProtocolDetails) SetPassiveIp(v string) *ProtocolDetails { 8415 s.PassiveIp = &v 8416 return s 8417} 8418 8419// The requested resource does not exist. 8420type ResourceExistsException struct { 8421 _ struct{} `type:"structure"` 8422 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8423 8424 Message_ *string `locationName:"Message" type:"string"` 8425 8426 // Resource is a required field 8427 Resource *string `type:"string" required:"true"` 8428 8429 // ResourceType is a required field 8430 ResourceType *string `type:"string" required:"true"` 8431} 8432 8433// String returns the string representation 8434func (s ResourceExistsException) String() string { 8435 return awsutil.Prettify(s) 8436} 8437 8438// GoString returns the string representation 8439func (s ResourceExistsException) GoString() string { 8440 return s.String() 8441} 8442 8443func newErrorResourceExistsException(v protocol.ResponseMetadata) error { 8444 return &ResourceExistsException{ 8445 RespMetadata: v, 8446 } 8447} 8448 8449// Code returns the exception type name. 8450func (s *ResourceExistsException) Code() string { 8451 return "ResourceExistsException" 8452} 8453 8454// Message returns the exception's message. 8455func (s *ResourceExistsException) Message() string { 8456 if s.Message_ != nil { 8457 return *s.Message_ 8458 } 8459 return "" 8460} 8461 8462// OrigErr always returns nil, satisfies awserr.Error interface. 8463func (s *ResourceExistsException) OrigErr() error { 8464 return nil 8465} 8466 8467func (s *ResourceExistsException) Error() string { 8468 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8469} 8470 8471// Status code returns the HTTP status code for the request's response error. 8472func (s *ResourceExistsException) StatusCode() int { 8473 return s.RespMetadata.StatusCode 8474} 8475 8476// RequestID returns the service's response RequestID for request. 8477func (s *ResourceExistsException) RequestID() string { 8478 return s.RespMetadata.RequestID 8479} 8480 8481// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer 8482// Family service. 8483type ResourceNotFoundException struct { 8484 _ struct{} `type:"structure"` 8485 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8486 8487 Message_ *string `locationName:"Message" type:"string"` 8488 8489 // Resource is a required field 8490 Resource *string `type:"string" required:"true"` 8491 8492 // ResourceType is a required field 8493 ResourceType *string `type:"string" required:"true"` 8494} 8495 8496// String returns the string representation 8497func (s ResourceNotFoundException) String() string { 8498 return awsutil.Prettify(s) 8499} 8500 8501// GoString returns the string representation 8502func (s ResourceNotFoundException) GoString() string { 8503 return s.String() 8504} 8505 8506func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 8507 return &ResourceNotFoundException{ 8508 RespMetadata: v, 8509 } 8510} 8511 8512// Code returns the exception type name. 8513func (s *ResourceNotFoundException) Code() string { 8514 return "ResourceNotFoundException" 8515} 8516 8517// Message returns the exception's message. 8518func (s *ResourceNotFoundException) Message() string { 8519 if s.Message_ != nil { 8520 return *s.Message_ 8521 } 8522 return "" 8523} 8524 8525// OrigErr always returns nil, satisfies awserr.Error interface. 8526func (s *ResourceNotFoundException) OrigErr() error { 8527 return nil 8528} 8529 8530func (s *ResourceNotFoundException) Error() string { 8531 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8532} 8533 8534// Status code returns the HTTP status code for the request's response error. 8535func (s *ResourceNotFoundException) StatusCode() int { 8536 return s.RespMetadata.StatusCode 8537} 8538 8539// RequestID returns the service's response RequestID for request. 8540func (s *ResourceNotFoundException) RequestID() string { 8541 return s.RespMetadata.RequestID 8542} 8543 8544// Specifies the details for the file location for the file being used in the 8545// workflow. Only applicable if you are using S3 storage. 8546// 8547// You need to provide the bucket and key. The key can represent either a path 8548// or a file. This is determined by whether or not you end the key value with 8549// the forward slash (/) character. If the final character is "/", then your 8550// file is copied to the folder, and its name does not change. If, rather, the 8551// final character is alphanumeric, your uploaded file is renamed to the path 8552// value. In this case, if a file with that name already exists, it is overwritten. 8553// 8554// For example, if your path is shared-files/bob/, your uploaded files are copied 8555// to the shared-files/bob/, folder. If your path is shared-files/today, each 8556// uploaded file is copied to the shared-files folder and named today: each 8557// upload overwrites the previous version of the bob file. 8558type S3FileLocation struct { 8559 _ struct{} `type:"structure"` 8560 8561 // Specifies the S3 bucket that contains the file being used. 8562 Bucket *string `min:"3" type:"string"` 8563 8564 // The entity tag is a hash of the object. The ETag reflects changes only to 8565 // the contents of an object, not its metadata. 8566 Etag *string `min:"1" type:"string"` 8567 8568 // The name assigned to the file when it was created in S3. You use the object 8569 // key to retrieve the object. 8570 Key *string `type:"string"` 8571 8572 // Specifies the file version. 8573 VersionId *string `min:"1" type:"string"` 8574} 8575 8576// String returns the string representation 8577func (s S3FileLocation) String() string { 8578 return awsutil.Prettify(s) 8579} 8580 8581// GoString returns the string representation 8582func (s S3FileLocation) GoString() string { 8583 return s.String() 8584} 8585 8586// SetBucket sets the Bucket field's value. 8587func (s *S3FileLocation) SetBucket(v string) *S3FileLocation { 8588 s.Bucket = &v 8589 return s 8590} 8591 8592// SetEtag sets the Etag field's value. 8593func (s *S3FileLocation) SetEtag(v string) *S3FileLocation { 8594 s.Etag = &v 8595 return s 8596} 8597 8598// SetKey sets the Key field's value. 8599func (s *S3FileLocation) SetKey(v string) *S3FileLocation { 8600 s.Key = &v 8601 return s 8602} 8603 8604// SetVersionId sets the VersionId field's value. 8605func (s *S3FileLocation) SetVersionId(v string) *S3FileLocation { 8606 s.VersionId = &v 8607 return s 8608} 8609 8610// Specifies the details for the S3 file being copied. 8611type S3InputFileLocation struct { 8612 _ struct{} `type:"structure"` 8613 8614 // Specifies the S3 bucket that contains the file being copied. 8615 Bucket *string `min:"3" type:"string"` 8616 8617 // The name assigned to the file when it was created in S3. You use the object 8618 // key to retrieve the object. 8619 Key *string `type:"string"` 8620} 8621 8622// String returns the string representation 8623func (s S3InputFileLocation) String() string { 8624 return awsutil.Prettify(s) 8625} 8626 8627// GoString returns the string representation 8628func (s S3InputFileLocation) GoString() string { 8629 return s.String() 8630} 8631 8632// Validate inspects the fields of the type to determine if they are valid. 8633func (s *S3InputFileLocation) Validate() error { 8634 invalidParams := request.ErrInvalidParams{Context: "S3InputFileLocation"} 8635 if s.Bucket != nil && len(*s.Bucket) < 3 { 8636 invalidParams.Add(request.NewErrParamMinLen("Bucket", 3)) 8637 } 8638 8639 if invalidParams.Len() > 0 { 8640 return invalidParams 8641 } 8642 return nil 8643} 8644 8645// SetBucket sets the Bucket field's value. 8646func (s *S3InputFileLocation) SetBucket(v string) *S3InputFileLocation { 8647 s.Bucket = &v 8648 return s 8649} 8650 8651// SetKey sets the Key field's value. 8652func (s *S3InputFileLocation) SetKey(v string) *S3InputFileLocation { 8653 s.Key = &v 8654 return s 8655} 8656 8657// Specifies the key-value pair that are assigned to a file during the execution 8658// of a Tagging step. 8659type S3Tag struct { 8660 _ struct{} `type:"structure"` 8661 8662 // The name assigned to the tag that you create. 8663 // 8664 // Key is a required field 8665 Key *string `min:"1" type:"string" required:"true"` 8666 8667 // The value that corresponds to the key. 8668 // 8669 // Value is a required field 8670 Value *string `type:"string" required:"true"` 8671} 8672 8673// String returns the string representation 8674func (s S3Tag) String() string { 8675 return awsutil.Prettify(s) 8676} 8677 8678// GoString returns the string representation 8679func (s S3Tag) GoString() string { 8680 return s.String() 8681} 8682 8683// Validate inspects the fields of the type to determine if they are valid. 8684func (s *S3Tag) Validate() error { 8685 invalidParams := request.ErrInvalidParams{Context: "S3Tag"} 8686 if s.Key == nil { 8687 invalidParams.Add(request.NewErrParamRequired("Key")) 8688 } 8689 if s.Key != nil && len(*s.Key) < 1 { 8690 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 8691 } 8692 if s.Value == nil { 8693 invalidParams.Add(request.NewErrParamRequired("Value")) 8694 } 8695 8696 if invalidParams.Len() > 0 { 8697 return invalidParams 8698 } 8699 return nil 8700} 8701 8702// SetKey sets the Key field's value. 8703func (s *S3Tag) SetKey(v string) *S3Tag { 8704 s.Key = &v 8705 return s 8706} 8707 8708// SetValue sets the Value field's value. 8709func (s *S3Tag) SetValue(v string) *S3Tag { 8710 s.Value = &v 8711 return s 8712} 8713 8714type SendWorkflowStepStateInput struct { 8715 _ struct{} `type:"structure"` 8716 8717 // A unique identifier for the execution of a workflow. 8718 // 8719 // ExecutionId is a required field 8720 ExecutionId *string `min:"36" type:"string" required:"true"` 8721 8722 // Indicates whether the specified step succeeded or failed. 8723 // 8724 // Status is a required field 8725 Status *string `type:"string" required:"true" enum:"CustomStepStatus"` 8726 8727 // Used to distinguish between multiple callbacks for multiple Lambda steps 8728 // within the same execution. 8729 // 8730 // Token is a required field 8731 Token *string `min:"1" type:"string" required:"true"` 8732 8733 // A unique identifier for the workflow. 8734 // 8735 // WorkflowId is a required field 8736 WorkflowId *string `min:"19" type:"string" required:"true"` 8737} 8738 8739// String returns the string representation 8740func (s SendWorkflowStepStateInput) String() string { 8741 return awsutil.Prettify(s) 8742} 8743 8744// GoString returns the string representation 8745func (s SendWorkflowStepStateInput) GoString() string { 8746 return s.String() 8747} 8748 8749// Validate inspects the fields of the type to determine if they are valid. 8750func (s *SendWorkflowStepStateInput) Validate() error { 8751 invalidParams := request.ErrInvalidParams{Context: "SendWorkflowStepStateInput"} 8752 if s.ExecutionId == nil { 8753 invalidParams.Add(request.NewErrParamRequired("ExecutionId")) 8754 } 8755 if s.ExecutionId != nil && len(*s.ExecutionId) < 36 { 8756 invalidParams.Add(request.NewErrParamMinLen("ExecutionId", 36)) 8757 } 8758 if s.Status == nil { 8759 invalidParams.Add(request.NewErrParamRequired("Status")) 8760 } 8761 if s.Token == nil { 8762 invalidParams.Add(request.NewErrParamRequired("Token")) 8763 } 8764 if s.Token != nil && len(*s.Token) < 1 { 8765 invalidParams.Add(request.NewErrParamMinLen("Token", 1)) 8766 } 8767 if s.WorkflowId == nil { 8768 invalidParams.Add(request.NewErrParamRequired("WorkflowId")) 8769 } 8770 if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { 8771 invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) 8772 } 8773 8774 if invalidParams.Len() > 0 { 8775 return invalidParams 8776 } 8777 return nil 8778} 8779 8780// SetExecutionId sets the ExecutionId field's value. 8781func (s *SendWorkflowStepStateInput) SetExecutionId(v string) *SendWorkflowStepStateInput { 8782 s.ExecutionId = &v 8783 return s 8784} 8785 8786// SetStatus sets the Status field's value. 8787func (s *SendWorkflowStepStateInput) SetStatus(v string) *SendWorkflowStepStateInput { 8788 s.Status = &v 8789 return s 8790} 8791 8792// SetToken sets the Token field's value. 8793func (s *SendWorkflowStepStateInput) SetToken(v string) *SendWorkflowStepStateInput { 8794 s.Token = &v 8795 return s 8796} 8797 8798// SetWorkflowId sets the WorkflowId field's value. 8799func (s *SendWorkflowStepStateInput) SetWorkflowId(v string) *SendWorkflowStepStateInput { 8800 s.WorkflowId = &v 8801 return s 8802} 8803 8804type SendWorkflowStepStateOutput struct { 8805 _ struct{} `type:"structure"` 8806} 8807 8808// String returns the string representation 8809func (s SendWorkflowStepStateOutput) String() string { 8810 return awsutil.Prettify(s) 8811} 8812 8813// GoString returns the string representation 8814func (s SendWorkflowStepStateOutput) GoString() string { 8815 return s.String() 8816} 8817 8818// A container object for the session details associated with a workflow. 8819type ServiceMetadata struct { 8820 _ struct{} `type:"structure"` 8821 8822 // The Server ID (ServerId), Session ID (SessionId) and user (UserName) make 8823 // up the UserDetails. 8824 // 8825 // UserDetails is a required field 8826 UserDetails *UserDetails `type:"structure" required:"true"` 8827} 8828 8829// String returns the string representation 8830func (s ServiceMetadata) String() string { 8831 return awsutil.Prettify(s) 8832} 8833 8834// GoString returns the string representation 8835func (s ServiceMetadata) GoString() string { 8836 return s.String() 8837} 8838 8839// SetUserDetails sets the UserDetails field's value. 8840func (s *ServiceMetadata) SetUserDetails(v *UserDetails) *ServiceMetadata { 8841 s.UserDetails = v 8842 return s 8843} 8844 8845// The request has failed because the Amazon Web ServicesTransfer Family service 8846// is not available. 8847type ServiceUnavailableException struct { 8848 _ struct{} `type:"structure"` 8849 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8850 8851 Message_ *string `locationName:"Message" type:"string"` 8852} 8853 8854// String returns the string representation 8855func (s ServiceUnavailableException) String() string { 8856 return awsutil.Prettify(s) 8857} 8858 8859// GoString returns the string representation 8860func (s ServiceUnavailableException) GoString() string { 8861 return s.String() 8862} 8863 8864func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error { 8865 return &ServiceUnavailableException{ 8866 RespMetadata: v, 8867 } 8868} 8869 8870// Code returns the exception type name. 8871func (s *ServiceUnavailableException) Code() string { 8872 return "ServiceUnavailableException" 8873} 8874 8875// Message returns the exception's message. 8876func (s *ServiceUnavailableException) Message() string { 8877 if s.Message_ != nil { 8878 return *s.Message_ 8879 } 8880 return "" 8881} 8882 8883// OrigErr always returns nil, satisfies awserr.Error interface. 8884func (s *ServiceUnavailableException) OrigErr() error { 8885 return nil 8886} 8887 8888func (s *ServiceUnavailableException) Error() string { 8889 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8890} 8891 8892// Status code returns the HTTP status code for the request's response error. 8893func (s *ServiceUnavailableException) StatusCode() int { 8894 return s.RespMetadata.StatusCode 8895} 8896 8897// RequestID returns the service's response RequestID for request. 8898func (s *ServiceUnavailableException) RequestID() string { 8899 return s.RespMetadata.RequestID 8900} 8901 8902// Provides information about the public Secure Shell (SSH) key that is associated 8903// with a user account for the specific file transfer protocol-enabled server 8904// (as identified by ServerId). The information returned includes the date the 8905// key was imported, the public key contents, and the public key ID. A user 8906// can store more than one SSH public key associated with their user name on 8907// a specific server. 8908type SshPublicKey struct { 8909 _ struct{} `type:"structure"` 8910 8911 // Specifies the date that the public key was added to the user account. 8912 // 8913 // DateImported is a required field 8914 DateImported *time.Time `type:"timestamp" required:"true"` 8915 8916 // Specifies the content of the SSH public key as specified by the PublicKeyId. 8917 // 8918 // SshPublicKeyBody is a required field 8919 SshPublicKeyBody *string `type:"string" required:"true"` 8920 8921 // Specifies the SshPublicKeyId parameter contains the identifier of the public 8922 // key. 8923 // 8924 // SshPublicKeyId is a required field 8925 SshPublicKeyId *string `min:"21" type:"string" required:"true"` 8926} 8927 8928// String returns the string representation 8929func (s SshPublicKey) String() string { 8930 return awsutil.Prettify(s) 8931} 8932 8933// GoString returns the string representation 8934func (s SshPublicKey) GoString() string { 8935 return s.String() 8936} 8937 8938// SetDateImported sets the DateImported field's value. 8939func (s *SshPublicKey) SetDateImported(v time.Time) *SshPublicKey { 8940 s.DateImported = &v 8941 return s 8942} 8943 8944// SetSshPublicKeyBody sets the SshPublicKeyBody field's value. 8945func (s *SshPublicKey) SetSshPublicKeyBody(v string) *SshPublicKey { 8946 s.SshPublicKeyBody = &v 8947 return s 8948} 8949 8950// SetSshPublicKeyId sets the SshPublicKeyId field's value. 8951func (s *SshPublicKey) SetSshPublicKeyId(v string) *SshPublicKey { 8952 s.SshPublicKeyId = &v 8953 return s 8954} 8955 8956type StartServerInput struct { 8957 _ struct{} `type:"structure"` 8958 8959 // A system-assigned unique identifier for a server that you start. 8960 // 8961 // ServerId is a required field 8962 ServerId *string `min:"19" type:"string" required:"true"` 8963} 8964 8965// String returns the string representation 8966func (s StartServerInput) String() string { 8967 return awsutil.Prettify(s) 8968} 8969 8970// GoString returns the string representation 8971func (s StartServerInput) GoString() string { 8972 return s.String() 8973} 8974 8975// Validate inspects the fields of the type to determine if they are valid. 8976func (s *StartServerInput) Validate() error { 8977 invalidParams := request.ErrInvalidParams{Context: "StartServerInput"} 8978 if s.ServerId == nil { 8979 invalidParams.Add(request.NewErrParamRequired("ServerId")) 8980 } 8981 if s.ServerId != nil && len(*s.ServerId) < 19 { 8982 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 8983 } 8984 8985 if invalidParams.Len() > 0 { 8986 return invalidParams 8987 } 8988 return nil 8989} 8990 8991// SetServerId sets the ServerId field's value. 8992func (s *StartServerInput) SetServerId(v string) *StartServerInput { 8993 s.ServerId = &v 8994 return s 8995} 8996 8997type StartServerOutput struct { 8998 _ struct{} `type:"structure"` 8999} 9000 9001// String returns the string representation 9002func (s StartServerOutput) String() string { 9003 return awsutil.Prettify(s) 9004} 9005 9006// GoString returns the string representation 9007func (s StartServerOutput) GoString() string { 9008 return s.String() 9009} 9010 9011type StopServerInput struct { 9012 _ struct{} `type:"structure"` 9013 9014 // A system-assigned unique identifier for a server that you stopped. 9015 // 9016 // ServerId is a required field 9017 ServerId *string `min:"19" type:"string" required:"true"` 9018} 9019 9020// String returns the string representation 9021func (s StopServerInput) String() string { 9022 return awsutil.Prettify(s) 9023} 9024 9025// GoString returns the string representation 9026func (s StopServerInput) GoString() string { 9027 return s.String() 9028} 9029 9030// Validate inspects the fields of the type to determine if they are valid. 9031func (s *StopServerInput) Validate() error { 9032 invalidParams := request.ErrInvalidParams{Context: "StopServerInput"} 9033 if s.ServerId == nil { 9034 invalidParams.Add(request.NewErrParamRequired("ServerId")) 9035 } 9036 if s.ServerId != nil && len(*s.ServerId) < 19 { 9037 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 9038 } 9039 9040 if invalidParams.Len() > 0 { 9041 return invalidParams 9042 } 9043 return nil 9044} 9045 9046// SetServerId sets the ServerId field's value. 9047func (s *StopServerInput) SetServerId(v string) *StopServerInput { 9048 s.ServerId = &v 9049 return s 9050} 9051 9052type StopServerOutput struct { 9053 _ struct{} `type:"structure"` 9054} 9055 9056// String returns the string representation 9057func (s StopServerOutput) String() string { 9058 return awsutil.Prettify(s) 9059} 9060 9061// GoString returns the string representation 9062func (s StopServerOutput) GoString() string { 9063 return s.String() 9064} 9065 9066// Creates a key-value pair for a specific resource. Tags are metadata that 9067// you can use to search for and group a resource for various purposes. You 9068// can apply tags to servers, users, and roles. A tag key can take more than 9069// one value. For example, to group servers for accounting purposes, you might 9070// create a tag called Group and assign the values Research and Accounting to 9071// that group. 9072type Tag struct { 9073 _ struct{} `type:"structure"` 9074 9075 // The name assigned to the tag that you create. 9076 // 9077 // Key is a required field 9078 Key *string `type:"string" required:"true"` 9079 9080 // Contains one or more values that you assigned to the key name you create. 9081 // 9082 // Value is a required field 9083 Value *string `type:"string" required:"true"` 9084} 9085 9086// String returns the string representation 9087func (s Tag) String() string { 9088 return awsutil.Prettify(s) 9089} 9090 9091// GoString returns the string representation 9092func (s Tag) GoString() string { 9093 return s.String() 9094} 9095 9096// Validate inspects the fields of the type to determine if they are valid. 9097func (s *Tag) Validate() error { 9098 invalidParams := request.ErrInvalidParams{Context: "Tag"} 9099 if s.Key == nil { 9100 invalidParams.Add(request.NewErrParamRequired("Key")) 9101 } 9102 if s.Value == nil { 9103 invalidParams.Add(request.NewErrParamRequired("Value")) 9104 } 9105 9106 if invalidParams.Len() > 0 { 9107 return invalidParams 9108 } 9109 return nil 9110} 9111 9112// SetKey sets the Key field's value. 9113func (s *Tag) SetKey(v string) *Tag { 9114 s.Key = &v 9115 return s 9116} 9117 9118// SetValue sets the Value field's value. 9119func (s *Tag) SetValue(v string) *Tag { 9120 s.Value = &v 9121 return s 9122} 9123 9124type TagResourceInput struct { 9125 _ struct{} `type:"structure"` 9126 9127 // An Amazon Resource Name (ARN) for a specific Amazon Web Services resource, 9128 // such as a server, user, or role. 9129 // 9130 // Arn is a required field 9131 Arn *string `min:"20" type:"string" required:"true"` 9132 9133 // Key-value pairs assigned to ARNs that you can use to group and search for 9134 // resources by type. You can attach this metadata to user accounts for any 9135 // purpose. 9136 // 9137 // Tags is a required field 9138 Tags []*Tag `min:"1" type:"list" required:"true"` 9139} 9140 9141// String returns the string representation 9142func (s TagResourceInput) String() string { 9143 return awsutil.Prettify(s) 9144} 9145 9146// GoString returns the string representation 9147func (s TagResourceInput) GoString() string { 9148 return s.String() 9149} 9150 9151// Validate inspects the fields of the type to determine if they are valid. 9152func (s *TagResourceInput) Validate() error { 9153 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 9154 if s.Arn == nil { 9155 invalidParams.Add(request.NewErrParamRequired("Arn")) 9156 } 9157 if s.Arn != nil && len(*s.Arn) < 20 { 9158 invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) 9159 } 9160 if s.Tags == nil { 9161 invalidParams.Add(request.NewErrParamRequired("Tags")) 9162 } 9163 if s.Tags != nil && len(s.Tags) < 1 { 9164 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 9165 } 9166 if s.Tags != nil { 9167 for i, v := range s.Tags { 9168 if v == nil { 9169 continue 9170 } 9171 if err := v.Validate(); err != nil { 9172 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9173 } 9174 } 9175 } 9176 9177 if invalidParams.Len() > 0 { 9178 return invalidParams 9179 } 9180 return nil 9181} 9182 9183// SetArn sets the Arn field's value. 9184func (s *TagResourceInput) SetArn(v string) *TagResourceInput { 9185 s.Arn = &v 9186 return s 9187} 9188 9189// SetTags sets the Tags field's value. 9190func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 9191 s.Tags = v 9192 return s 9193} 9194 9195type TagResourceOutput struct { 9196 _ struct{} `type:"structure"` 9197} 9198 9199// String returns the string representation 9200func (s TagResourceOutput) String() string { 9201 return awsutil.Prettify(s) 9202} 9203 9204// GoString returns the string representation 9205func (s TagResourceOutput) GoString() string { 9206 return s.String() 9207} 9208 9209// Each step type has its own StepDetails structure. 9210// 9211// The key/value pairs used to tag a file during the execution of a workflow 9212// step. 9213type TagStepDetails struct { 9214 _ struct{} `type:"structure"` 9215 9216 // The name of the step, used as an identifier. 9217 Name *string `type:"string"` 9218 9219 // Array that contains from 1 to 10 key/value pairs. 9220 Tags []*S3Tag `min:"1" type:"list"` 9221} 9222 9223// String returns the string representation 9224func (s TagStepDetails) String() string { 9225 return awsutil.Prettify(s) 9226} 9227 9228// GoString returns the string representation 9229func (s TagStepDetails) GoString() string { 9230 return s.String() 9231} 9232 9233// Validate inspects the fields of the type to determine if they are valid. 9234func (s *TagStepDetails) Validate() error { 9235 invalidParams := request.ErrInvalidParams{Context: "TagStepDetails"} 9236 if s.Tags != nil && len(s.Tags) < 1 { 9237 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 9238 } 9239 if s.Tags != nil { 9240 for i, v := range s.Tags { 9241 if v == nil { 9242 continue 9243 } 9244 if err := v.Validate(); err != nil { 9245 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9246 } 9247 } 9248 } 9249 9250 if invalidParams.Len() > 0 { 9251 return invalidParams 9252 } 9253 return nil 9254} 9255 9256// SetName sets the Name field's value. 9257func (s *TagStepDetails) SetName(v string) *TagStepDetails { 9258 s.Name = &v 9259 return s 9260} 9261 9262// SetTags sets the Tags field's value. 9263func (s *TagStepDetails) SetTags(v []*S3Tag) *TagStepDetails { 9264 s.Tags = v 9265 return s 9266} 9267 9268type TestIdentityProviderInput struct { 9269 _ struct{} `type:"structure"` 9270 9271 // A system-assigned identifier for a specific server. That server's user authentication 9272 // method is tested with a user name and password. 9273 // 9274 // ServerId is a required field 9275 ServerId *string `min:"19" type:"string" required:"true"` 9276 9277 // The type of file transfer protocol to be tested. 9278 // 9279 // The available protocols are: 9280 // 9281 // * Secure Shell (SSH) File Transfer Protocol (SFTP) 9282 // 9283 // * File Transfer Protocol Secure (FTPS) 9284 // 9285 // * File Transfer Protocol (FTP) 9286 ServerProtocol *string `type:"string" enum:"Protocol"` 9287 9288 // The source IP address of the user account to be tested. 9289 SourceIp *string `type:"string"` 9290 9291 // The name of the user account to be tested. 9292 // 9293 // UserName is a required field 9294 UserName *string `min:"3" type:"string" required:"true"` 9295 9296 // The password of the user account to be tested. 9297 UserPassword *string `type:"string" sensitive:"true"` 9298} 9299 9300// String returns the string representation 9301func (s TestIdentityProviderInput) String() string { 9302 return awsutil.Prettify(s) 9303} 9304 9305// GoString returns the string representation 9306func (s TestIdentityProviderInput) GoString() string { 9307 return s.String() 9308} 9309 9310// Validate inspects the fields of the type to determine if they are valid. 9311func (s *TestIdentityProviderInput) Validate() error { 9312 invalidParams := request.ErrInvalidParams{Context: "TestIdentityProviderInput"} 9313 if s.ServerId == nil { 9314 invalidParams.Add(request.NewErrParamRequired("ServerId")) 9315 } 9316 if s.ServerId != nil && len(*s.ServerId) < 19 { 9317 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 9318 } 9319 if s.UserName == nil { 9320 invalidParams.Add(request.NewErrParamRequired("UserName")) 9321 } 9322 if s.UserName != nil && len(*s.UserName) < 3 { 9323 invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) 9324 } 9325 9326 if invalidParams.Len() > 0 { 9327 return invalidParams 9328 } 9329 return nil 9330} 9331 9332// SetServerId sets the ServerId field's value. 9333func (s *TestIdentityProviderInput) SetServerId(v string) *TestIdentityProviderInput { 9334 s.ServerId = &v 9335 return s 9336} 9337 9338// SetServerProtocol sets the ServerProtocol field's value. 9339func (s *TestIdentityProviderInput) SetServerProtocol(v string) *TestIdentityProviderInput { 9340 s.ServerProtocol = &v 9341 return s 9342} 9343 9344// SetSourceIp sets the SourceIp field's value. 9345func (s *TestIdentityProviderInput) SetSourceIp(v string) *TestIdentityProviderInput { 9346 s.SourceIp = &v 9347 return s 9348} 9349 9350// SetUserName sets the UserName field's value. 9351func (s *TestIdentityProviderInput) SetUserName(v string) *TestIdentityProviderInput { 9352 s.UserName = &v 9353 return s 9354} 9355 9356// SetUserPassword sets the UserPassword field's value. 9357func (s *TestIdentityProviderInput) SetUserPassword(v string) *TestIdentityProviderInput { 9358 s.UserPassword = &v 9359 return s 9360} 9361 9362type TestIdentityProviderOutput struct { 9363 _ struct{} `type:"structure"` 9364 9365 // A message that indicates whether the test was successful or not. 9366 Message *string `type:"string"` 9367 9368 // The response that is returned from your API Gateway. 9369 Response *string `type:"string"` 9370 9371 // The HTTP status code that is the response from your API Gateway. 9372 // 9373 // StatusCode is a required field 9374 StatusCode *int64 `type:"integer" required:"true"` 9375 9376 // The endpoint of the service used to authenticate a user. 9377 // 9378 // Url is a required field 9379 Url *string `type:"string" required:"true"` 9380} 9381 9382// String returns the string representation 9383func (s TestIdentityProviderOutput) String() string { 9384 return awsutil.Prettify(s) 9385} 9386 9387// GoString returns the string representation 9388func (s TestIdentityProviderOutput) GoString() string { 9389 return s.String() 9390} 9391 9392// SetMessage sets the Message field's value. 9393func (s *TestIdentityProviderOutput) SetMessage(v string) *TestIdentityProviderOutput { 9394 s.Message = &v 9395 return s 9396} 9397 9398// SetResponse sets the Response field's value. 9399func (s *TestIdentityProviderOutput) SetResponse(v string) *TestIdentityProviderOutput { 9400 s.Response = &v 9401 return s 9402} 9403 9404// SetStatusCode sets the StatusCode field's value. 9405func (s *TestIdentityProviderOutput) SetStatusCode(v int64) *TestIdentityProviderOutput { 9406 s.StatusCode = &v 9407 return s 9408} 9409 9410// SetUrl sets the Url field's value. 9411func (s *TestIdentityProviderOutput) SetUrl(v string) *TestIdentityProviderOutput { 9412 s.Url = &v 9413 return s 9414} 9415 9416// The request was denied due to request throttling. 9417// 9418// HTTP Status Code: 400 9419type ThrottlingException struct { 9420 _ struct{} `type:"structure"` 9421 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 9422 9423 Message_ *string `locationName:"message" type:"string"` 9424 9425 RetryAfterSeconds *string `type:"string"` 9426} 9427 9428// String returns the string representation 9429func (s ThrottlingException) String() string { 9430 return awsutil.Prettify(s) 9431} 9432 9433// GoString returns the string representation 9434func (s ThrottlingException) GoString() string { 9435 return s.String() 9436} 9437 9438func newErrorThrottlingException(v protocol.ResponseMetadata) error { 9439 return &ThrottlingException{ 9440 RespMetadata: v, 9441 } 9442} 9443 9444// Code returns the exception type name. 9445func (s *ThrottlingException) Code() string { 9446 return "ThrottlingException" 9447} 9448 9449// Message returns the exception's message. 9450func (s *ThrottlingException) Message() string { 9451 if s.Message_ != nil { 9452 return *s.Message_ 9453 } 9454 return "" 9455} 9456 9457// OrigErr always returns nil, satisfies awserr.Error interface. 9458func (s *ThrottlingException) OrigErr() error { 9459 return nil 9460} 9461 9462func (s *ThrottlingException) Error() string { 9463 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 9464} 9465 9466// Status code returns the HTTP status code for the request's response error. 9467func (s *ThrottlingException) StatusCode() int { 9468 return s.RespMetadata.StatusCode 9469} 9470 9471// RequestID returns the service's response RequestID for request. 9472func (s *ThrottlingException) RequestID() string { 9473 return s.RespMetadata.RequestID 9474} 9475 9476type UntagResourceInput struct { 9477 _ struct{} `type:"structure"` 9478 9479 // The value of the resource that will have the tag removed. An Amazon Resource 9480 // Name (ARN) is an identifier for a specific Amazon Web Services resource, 9481 // such as a server, user, or role. 9482 // 9483 // Arn is a required field 9484 Arn *string `min:"20" type:"string" required:"true"` 9485 9486 // TagKeys are key-value pairs assigned to ARNs that can be used to group and 9487 // search for resources by type. This metadata can be attached to resources 9488 // for any purpose. 9489 // 9490 // TagKeys is a required field 9491 TagKeys []*string `min:"1" type:"list" required:"true"` 9492} 9493 9494// String returns the string representation 9495func (s UntagResourceInput) String() string { 9496 return awsutil.Prettify(s) 9497} 9498 9499// GoString returns the string representation 9500func (s UntagResourceInput) GoString() string { 9501 return s.String() 9502} 9503 9504// Validate inspects the fields of the type to determine if they are valid. 9505func (s *UntagResourceInput) Validate() error { 9506 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 9507 if s.Arn == nil { 9508 invalidParams.Add(request.NewErrParamRequired("Arn")) 9509 } 9510 if s.Arn != nil && len(*s.Arn) < 20 { 9511 invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) 9512 } 9513 if s.TagKeys == nil { 9514 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 9515 } 9516 if s.TagKeys != nil && len(s.TagKeys) < 1 { 9517 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 9518 } 9519 9520 if invalidParams.Len() > 0 { 9521 return invalidParams 9522 } 9523 return nil 9524} 9525 9526// SetArn sets the Arn field's value. 9527func (s *UntagResourceInput) SetArn(v string) *UntagResourceInput { 9528 s.Arn = &v 9529 return s 9530} 9531 9532// SetTagKeys sets the TagKeys field's value. 9533func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 9534 s.TagKeys = v 9535 return s 9536} 9537 9538type UntagResourceOutput struct { 9539 _ struct{} `type:"structure"` 9540} 9541 9542// String returns the string representation 9543func (s UntagResourceOutput) String() string { 9544 return awsutil.Prettify(s) 9545} 9546 9547// GoString returns the string representation 9548func (s UntagResourceOutput) GoString() string { 9549 return s.String() 9550} 9551 9552type UpdateAccessInput struct { 9553 _ struct{} `type:"structure"` 9554 9555 // A unique identifier that is required to identify specific groups within your 9556 // directory. The users of the group that you associate have access to your 9557 // Amazon S3 or Amazon EFS resources over the enabled protocols using Amazon 9558 // Web Services Transfer Family. If you know the group name, you can view the 9559 // SID values by running the following command using Windows PowerShell. 9560 // 9561 // Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * 9562 // | Select SamAccountName,ObjectSid 9563 // 9564 // In that command, replace YourGroupName with the name of your Active Directory 9565 // group. 9566 // 9567 // The regex used to validate this parameter is a string of characters consisting 9568 // of uppercase and lowercase alphanumeric characters with no spaces. You can 9569 // also include underscores or any of the following characters: =,.@:/- 9570 // 9571 // ExternalId is a required field 9572 ExternalId *string `min:"1" type:"string" required:"true"` 9573 9574 // The landing directory (folder) for a user when they log in to the server 9575 // using the client. 9576 // 9577 // A HomeDirectory example is /bucket_name/home/mydirectory. 9578 HomeDirectory *string `type:"string"` 9579 9580 // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths 9581 // and keys should be visible to your user and how you want to make them visible. 9582 // You must specify the Entry and Target pair, where Entry shows how the path 9583 // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If 9584 // you only specify a target, it is displayed as is. You also must ensure that 9585 // your Amazon Web Services Identity and Access Management (IAM) role provides 9586 // access to paths in Target. This value can only be set when HomeDirectoryType 9587 // is set to LOGICAL. 9588 // 9589 // The following is an Entry and Target pair example. 9590 // 9591 // [ { "Entry": "your-personal-report.pdf", "Target": "/bucket3/customized-reports/${transfer:UserName}.pdf" 9592 // } ] 9593 // 9594 // In most cases, you can use this value instead of the session policy to lock 9595 // down your user to the designated home directory ("chroot"). To do this, you 9596 // can set Entry to / and set Target to the HomeDirectory parameter value. 9597 // 9598 // The following is an Entry and Target pair example for chroot. 9599 // 9600 // [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ] 9601 // 9602 // If the target of a logical directory entry does not exist in Amazon S3 or 9603 // EFS, the entry is ignored. As a workaround, you can use the Amazon S3 API 9604 // or EFS API to create 0 byte objects as place holders for your directory. 9605 // If using the CLI, use the s3api or efsapi call instead of s3 or efs so you 9606 // can use the put-object operation. For example, you use the following: aws 9607 // s3api put-object --bucket bucketname --key path/to/folder/. Make sure that 9608 // the end of the key name ends in a / for it to be considered a folder. 9609 HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` 9610 9611 // The type of landing directory (folder) you want your users' home directory 9612 // to be when they log into the server. If you set it to PATH, the user will 9613 // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer 9614 // protocol clients. If you set it LOGICAL, you need to provide mappings in 9615 // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths 9616 // visible to your users. 9617 HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` 9618 9619 // A session policy for your user so that you can use the same IAM role across 9620 // multiple users. This policy scopes down user access to portions of their 9621 // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, 9622 // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. 9623 // 9624 // This only applies when the domain of ServerId is S3. EFS does not use session 9625 // policies. 9626 // 9627 // For session policies, Amazon Web Services Transfer Family stores the policy 9628 // as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. 9629 // You save the policy as a JSON blob and pass it in the Policy argument. 9630 // 9631 // For an example of a session policy, see Example session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html). 9632 // 9633 // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) 9634 // in the Amazon Web ServicesSecurity Token Service API Reference. 9635 Policy *string `type:"string"` 9636 9637 // The full POSIX identity, including user ID (Uid), group ID (Gid), and any 9638 // secondary groups IDs (SecondaryGids), that controls your users' access to 9639 // your Amazon EFS file systems. The POSIX permissions that are set on files 9640 // and directories in your file system determine the level of access your users 9641 // get when transferring files into and out of your Amazon EFS file systems. 9642 PosixProfile *PosixProfile `type:"structure"` 9643 9644 // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your 9645 // users' access to your Amazon S3 bucket or EFS file system. The policies attached 9646 // to this role determine the level of access that you want to provide your 9647 // users when transferring files into and out of your Amazon S3 bucket or EFS 9648 // file system. The IAM role should also contain a trust relationship that allows 9649 // the server to access your resources when servicing your users' transfer requests. 9650 Role *string `min:"20" type:"string"` 9651 9652 // A system-assigned unique identifier for a server instance. This is the specific 9653 // server that you added your user to. 9654 // 9655 // ServerId is a required field 9656 ServerId *string `min:"19" type:"string" required:"true"` 9657} 9658 9659// String returns the string representation 9660func (s UpdateAccessInput) String() string { 9661 return awsutil.Prettify(s) 9662} 9663 9664// GoString returns the string representation 9665func (s UpdateAccessInput) GoString() string { 9666 return s.String() 9667} 9668 9669// Validate inspects the fields of the type to determine if they are valid. 9670func (s *UpdateAccessInput) Validate() error { 9671 invalidParams := request.ErrInvalidParams{Context: "UpdateAccessInput"} 9672 if s.ExternalId == nil { 9673 invalidParams.Add(request.NewErrParamRequired("ExternalId")) 9674 } 9675 if s.ExternalId != nil && len(*s.ExternalId) < 1 { 9676 invalidParams.Add(request.NewErrParamMinLen("ExternalId", 1)) 9677 } 9678 if s.HomeDirectoryMappings != nil && len(s.HomeDirectoryMappings) < 1 { 9679 invalidParams.Add(request.NewErrParamMinLen("HomeDirectoryMappings", 1)) 9680 } 9681 if s.Role != nil && len(*s.Role) < 20 { 9682 invalidParams.Add(request.NewErrParamMinLen("Role", 20)) 9683 } 9684 if s.ServerId == nil { 9685 invalidParams.Add(request.NewErrParamRequired("ServerId")) 9686 } 9687 if s.ServerId != nil && len(*s.ServerId) < 19 { 9688 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 9689 } 9690 if s.HomeDirectoryMappings != nil { 9691 for i, v := range s.HomeDirectoryMappings { 9692 if v == nil { 9693 continue 9694 } 9695 if err := v.Validate(); err != nil { 9696 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HomeDirectoryMappings", i), err.(request.ErrInvalidParams)) 9697 } 9698 } 9699 } 9700 if s.PosixProfile != nil { 9701 if err := s.PosixProfile.Validate(); err != nil { 9702 invalidParams.AddNested("PosixProfile", err.(request.ErrInvalidParams)) 9703 } 9704 } 9705 9706 if invalidParams.Len() > 0 { 9707 return invalidParams 9708 } 9709 return nil 9710} 9711 9712// SetExternalId sets the ExternalId field's value. 9713func (s *UpdateAccessInput) SetExternalId(v string) *UpdateAccessInput { 9714 s.ExternalId = &v 9715 return s 9716} 9717 9718// SetHomeDirectory sets the HomeDirectory field's value. 9719func (s *UpdateAccessInput) SetHomeDirectory(v string) *UpdateAccessInput { 9720 s.HomeDirectory = &v 9721 return s 9722} 9723 9724// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. 9725func (s *UpdateAccessInput) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *UpdateAccessInput { 9726 s.HomeDirectoryMappings = v 9727 return s 9728} 9729 9730// SetHomeDirectoryType sets the HomeDirectoryType field's value. 9731func (s *UpdateAccessInput) SetHomeDirectoryType(v string) *UpdateAccessInput { 9732 s.HomeDirectoryType = &v 9733 return s 9734} 9735 9736// SetPolicy sets the Policy field's value. 9737func (s *UpdateAccessInput) SetPolicy(v string) *UpdateAccessInput { 9738 s.Policy = &v 9739 return s 9740} 9741 9742// SetPosixProfile sets the PosixProfile field's value. 9743func (s *UpdateAccessInput) SetPosixProfile(v *PosixProfile) *UpdateAccessInput { 9744 s.PosixProfile = v 9745 return s 9746} 9747 9748// SetRole sets the Role field's value. 9749func (s *UpdateAccessInput) SetRole(v string) *UpdateAccessInput { 9750 s.Role = &v 9751 return s 9752} 9753 9754// SetServerId sets the ServerId field's value. 9755func (s *UpdateAccessInput) SetServerId(v string) *UpdateAccessInput { 9756 s.ServerId = &v 9757 return s 9758} 9759 9760type UpdateAccessOutput struct { 9761 _ struct{} `type:"structure"` 9762 9763 // The external ID of the group whose users have access to your Amazon S3 or 9764 // Amazon EFS resources over the enabled protocols using Amazon Web ServicesTransfer 9765 // Family. 9766 // 9767 // ExternalId is a required field 9768 ExternalId *string `min:"1" type:"string" required:"true"` 9769 9770 // The ID of the server that the user is attached to. 9771 // 9772 // ServerId is a required field 9773 ServerId *string `min:"19" type:"string" required:"true"` 9774} 9775 9776// String returns the string representation 9777func (s UpdateAccessOutput) String() string { 9778 return awsutil.Prettify(s) 9779} 9780 9781// GoString returns the string representation 9782func (s UpdateAccessOutput) GoString() string { 9783 return s.String() 9784} 9785 9786// SetExternalId sets the ExternalId field's value. 9787func (s *UpdateAccessOutput) SetExternalId(v string) *UpdateAccessOutput { 9788 s.ExternalId = &v 9789 return s 9790} 9791 9792// SetServerId sets the ServerId field's value. 9793func (s *UpdateAccessOutput) SetServerId(v string) *UpdateAccessOutput { 9794 s.ServerId = &v 9795 return s 9796} 9797 9798type UpdateServerInput struct { 9799 _ struct{} `type:"structure"` 9800 9801 // The Amazon Resource Name (ARN) of the Amazon Web ServicesCertificate Manager 9802 // (ACM) certificate. Required when Protocols is set to FTPS. 9803 // 9804 // To request a new public certificate, see Request a public certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) 9805 // in the Amazon Web ServicesCertificate Manager User Guide. 9806 // 9807 // To import an existing certificate into ACM, see Importing certificates into 9808 // ACM (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) 9809 // in the Amazon Web ServicesCertificate Manager User Guide. 9810 // 9811 // To request a private certificate to use FTPS through private IP addresses, 9812 // see Request a private certificate (https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) 9813 // in the Amazon Web ServicesCertificate Manager User Guide. 9814 // 9815 // Certificates with the following cryptographic algorithms and key sizes are 9816 // supported: 9817 // 9818 // * 2048-bit RSA (RSA_2048) 9819 // 9820 // * 4096-bit RSA (RSA_4096) 9821 // 9822 // * Elliptic Prime Curve 256 bit (EC_prime256v1) 9823 // 9824 // * Elliptic Prime Curve 384 bit (EC_secp384r1) 9825 // 9826 // * Elliptic Prime Curve 521 bit (EC_secp521r1) 9827 // 9828 // The certificate must be a valid SSL/TLS X.509 version 3 certificate with 9829 // FQDN or IP address specified and information about the issuer. 9830 Certificate *string `type:"string"` 9831 9832 // The virtual private cloud (VPC) endpoint settings that are configured for 9833 // your server. When you host your endpoint within your VPC, you can make it 9834 // accessible only to resources within your VPC, or you can attach Elastic IP 9835 // addresses and make it accessible to clients over the internet. Your VPC's 9836 // default security groups are automatically assigned to your endpoint. 9837 EndpointDetails *EndpointDetails `type:"structure"` 9838 9839 // The type of endpoint that you want your server to use. You can choose to 9840 // make your server's endpoint publicly accessible (PUBLIC) or host it inside 9841 // your VPC. With an endpoint that is hosted in a VPC, you can restrict access 9842 // to your server and resources only within your VPC or choose to make it internet 9843 // facing by attaching Elastic IP addresses directly to it. 9844 // 9845 // After May 19, 2021, you won't be able to create a server using EndpointType=VPC_ENDPOINT 9846 // in your Amazon Web Servicesaccount if your account hasn't already done so 9847 // before May 19, 2021. If you have already created servers with EndpointType=VPC_ENDPOINT 9848 // in your Amazon Web Servicesaccount on or before May 19, 2021, you will not 9849 // be affected. After this date, use EndpointType=VPC. 9850 // 9851 // For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint. 9852 // 9853 // It is recommended that you use VPC as the EndpointType. With this endpoint 9854 // type, you have the option to directly associate up to three Elastic IPv4 9855 // addresses (BYO IP included) with your server's endpoint and use VPC security 9856 // groups to restrict traffic by the client's public IP address. This is not 9857 // possible with EndpointType set to VPC_ENDPOINT. 9858 EndpointType *string `type:"string" enum:"EndpointType"` 9859 9860 // The RSA private key as generated by ssh-keygen -N "" -m PEM -f my-new-server-key. 9861 // 9862 // If you aren't planning to migrate existing users from an existing server 9863 // to a new server, don't update the host key. Accidentally changing a server's 9864 // host key can be disruptive. 9865 // 9866 // For more information, see Change the host key for your SFTP-enabled server 9867 // (https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key) 9868 // in the Amazon Web ServicesTransfer Family User Guide. 9869 HostKey *string `type:"string" sensitive:"true"` 9870 9871 // An array containing all of the information required to call a customer's 9872 // authentication API method. 9873 IdentityProviderDetails *IdentityProviderDetails `type:"structure"` 9874 9875 // Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 9876 // and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch 9877 // logging for Amazon S3 or Amazon EFS events. When set, user activity can be 9878 // viewed in your CloudWatch logs. 9879 LoggingRole *string `type:"string"` 9880 9881 // The protocol settings that are configured for your server. 9882 // 9883 // Use the PassiveIp parameter to indicate passive mode (for FTP and FTPS protocols). 9884 // Enter a single dotted-quad IPv4 address, such as the external IP address 9885 // of a firewall, router, or load balancer. 9886 ProtocolDetails *ProtocolDetails `type:"structure"` 9887 9888 // Specifies the file transfer protocol or protocols over which your file transfer 9889 // protocol client can connect to your server's endpoint. The available protocols 9890 // are: 9891 // 9892 // * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over 9893 // SSH 9894 // 9895 // * File Transfer Protocol Secure (FTPS): File transfer with TLS encryption 9896 // 9897 // * File Transfer Protocol (FTP): Unencrypted file transfer 9898 // 9899 // If you select FTPS, you must choose a certificate stored in Amazon Web ServicesCertificate 9900 // Manager (ACM) which will be used to identify your server when clients connect 9901 // to it over FTPS. 9902 // 9903 // If Protocol includes either FTP or FTPS, then the EndpointType must be VPC 9904 // and the IdentityProviderType must be AWS_DIRECTORY_SERVICE or API_GATEWAY. 9905 // 9906 // If Protocol includes FTP, then AddressAllocationIds cannot be associated. 9907 // 9908 // If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and 9909 // the IdentityProviderType can be set to SERVICE_MANAGED. 9910 Protocols []*string `min:"1" type:"list"` 9911 9912 // Specifies the name of the security policy that is attached to the server. 9913 SecurityPolicyName *string `type:"string"` 9914 9915 // A system-assigned unique identifier for a server instance that the user account 9916 // is assigned to. 9917 // 9918 // ServerId is a required field 9919 ServerId *string `min:"19" type:"string" required:"true"` 9920 9921 // Specifies the workflow ID for the workflow to assign and the execution role 9922 // used for executing the workflow. 9923 WorkflowDetails *WorkflowDetails `type:"structure"` 9924} 9925 9926// String returns the string representation 9927func (s UpdateServerInput) String() string { 9928 return awsutil.Prettify(s) 9929} 9930 9931// GoString returns the string representation 9932func (s UpdateServerInput) GoString() string { 9933 return s.String() 9934} 9935 9936// Validate inspects the fields of the type to determine if they are valid. 9937func (s *UpdateServerInput) Validate() error { 9938 invalidParams := request.ErrInvalidParams{Context: "UpdateServerInput"} 9939 if s.Protocols != nil && len(s.Protocols) < 1 { 9940 invalidParams.Add(request.NewErrParamMinLen("Protocols", 1)) 9941 } 9942 if s.ServerId == nil { 9943 invalidParams.Add(request.NewErrParamRequired("ServerId")) 9944 } 9945 if s.ServerId != nil && len(*s.ServerId) < 19 { 9946 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 9947 } 9948 if s.EndpointDetails != nil { 9949 if err := s.EndpointDetails.Validate(); err != nil { 9950 invalidParams.AddNested("EndpointDetails", err.(request.ErrInvalidParams)) 9951 } 9952 } 9953 if s.IdentityProviderDetails != nil { 9954 if err := s.IdentityProviderDetails.Validate(); err != nil { 9955 invalidParams.AddNested("IdentityProviderDetails", err.(request.ErrInvalidParams)) 9956 } 9957 } 9958 if s.WorkflowDetails != nil { 9959 if err := s.WorkflowDetails.Validate(); err != nil { 9960 invalidParams.AddNested("WorkflowDetails", err.(request.ErrInvalidParams)) 9961 } 9962 } 9963 9964 if invalidParams.Len() > 0 { 9965 return invalidParams 9966 } 9967 return nil 9968} 9969 9970// SetCertificate sets the Certificate field's value. 9971func (s *UpdateServerInput) SetCertificate(v string) *UpdateServerInput { 9972 s.Certificate = &v 9973 return s 9974} 9975 9976// SetEndpointDetails sets the EndpointDetails field's value. 9977func (s *UpdateServerInput) SetEndpointDetails(v *EndpointDetails) *UpdateServerInput { 9978 s.EndpointDetails = v 9979 return s 9980} 9981 9982// SetEndpointType sets the EndpointType field's value. 9983func (s *UpdateServerInput) SetEndpointType(v string) *UpdateServerInput { 9984 s.EndpointType = &v 9985 return s 9986} 9987 9988// SetHostKey sets the HostKey field's value. 9989func (s *UpdateServerInput) SetHostKey(v string) *UpdateServerInput { 9990 s.HostKey = &v 9991 return s 9992} 9993 9994// SetIdentityProviderDetails sets the IdentityProviderDetails field's value. 9995func (s *UpdateServerInput) SetIdentityProviderDetails(v *IdentityProviderDetails) *UpdateServerInput { 9996 s.IdentityProviderDetails = v 9997 return s 9998} 9999 10000// SetLoggingRole sets the LoggingRole field's value. 10001func (s *UpdateServerInput) SetLoggingRole(v string) *UpdateServerInput { 10002 s.LoggingRole = &v 10003 return s 10004} 10005 10006// SetProtocolDetails sets the ProtocolDetails field's value. 10007func (s *UpdateServerInput) SetProtocolDetails(v *ProtocolDetails) *UpdateServerInput { 10008 s.ProtocolDetails = v 10009 return s 10010} 10011 10012// SetProtocols sets the Protocols field's value. 10013func (s *UpdateServerInput) SetProtocols(v []*string) *UpdateServerInput { 10014 s.Protocols = v 10015 return s 10016} 10017 10018// SetSecurityPolicyName sets the SecurityPolicyName field's value. 10019func (s *UpdateServerInput) SetSecurityPolicyName(v string) *UpdateServerInput { 10020 s.SecurityPolicyName = &v 10021 return s 10022} 10023 10024// SetServerId sets the ServerId field's value. 10025func (s *UpdateServerInput) SetServerId(v string) *UpdateServerInput { 10026 s.ServerId = &v 10027 return s 10028} 10029 10030// SetWorkflowDetails sets the WorkflowDetails field's value. 10031func (s *UpdateServerInput) SetWorkflowDetails(v *WorkflowDetails) *UpdateServerInput { 10032 s.WorkflowDetails = v 10033 return s 10034} 10035 10036type UpdateServerOutput struct { 10037 _ struct{} `type:"structure"` 10038 10039 // A system-assigned unique identifier for a server that the user account is 10040 // assigned to. 10041 // 10042 // ServerId is a required field 10043 ServerId *string `min:"19" type:"string" required:"true"` 10044} 10045 10046// String returns the string representation 10047func (s UpdateServerOutput) String() string { 10048 return awsutil.Prettify(s) 10049} 10050 10051// GoString returns the string representation 10052func (s UpdateServerOutput) GoString() string { 10053 return s.String() 10054} 10055 10056// SetServerId sets the ServerId field's value. 10057func (s *UpdateServerOutput) SetServerId(v string) *UpdateServerOutput { 10058 s.ServerId = &v 10059 return s 10060} 10061 10062type UpdateUserInput struct { 10063 _ struct{} `type:"structure"` 10064 10065 // The landing directory (folder) for a user when they log in to the server 10066 // using the client. 10067 // 10068 // A HomeDirectory example is /bucket_name/home/mydirectory. 10069 HomeDirectory *string `type:"string"` 10070 10071 // Logical directory mappings that specify what Amazon S3 or Amazon EFS paths 10072 // and keys should be visible to your user and how you want to make them visible. 10073 // You must specify the Entry and Target pair, where Entry shows how the path 10074 // is made visible and Target is the actual Amazon S3 or Amazon EFS path. If 10075 // you only specify a target, it is displayed as is. You also must ensure that 10076 // your Amazon Web Services Identity and Access Management (IAM) role provides 10077 // access to paths in Target. This value can only be set when HomeDirectoryType 10078 // is set to LOGICAL. 10079 // 10080 // The following is an Entry and Target pair example. 10081 // 10082 // [ { "Entry": "your-personal-report.pdf", "Target": "/bucket3/customized-reports/${transfer:UserName}.pdf" 10083 // } ] 10084 // 10085 // In most cases, you can use this value instead of the session policy to lock 10086 // down your user to the designated home directory ("chroot"). To do this, you 10087 // can set Entry to '/' and set Target to the HomeDirectory parameter value. 10088 // 10089 // The following is an Entry and Target pair example for chroot. 10090 // 10091 // [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ] 10092 // 10093 // If the target of a logical directory entry does not exist in Amazon S3 or 10094 // EFS, the entry is ignored. As a workaround, you can use the Amazon S3 API 10095 // or EFS API to create 0 byte objects as place holders for your directory. 10096 // If using the CLI, use the s3api or efsapi call instead of s3 or efs so you 10097 // can use the put-object operation. For example, you use the following: aws 10098 // s3api put-object --bucket bucketname --key path/to/folder/. Make sure that 10099 // the end of the key name ends in a / for it to be considered a folder. 10100 HomeDirectoryMappings []*HomeDirectoryMapEntry `min:"1" type:"list"` 10101 10102 // The type of landing directory (folder) you want your users' home directory 10103 // to be when they log into the server. If you set it to PATH, the user will 10104 // see the absolute Amazon S3 bucket or EFS paths as is in their file transfer 10105 // protocol clients. If you set it LOGICAL, you need to provide mappings in 10106 // the HomeDirectoryMappings for how you want to make Amazon S3 or EFS paths 10107 // visible to your users. 10108 HomeDirectoryType *string `type:"string" enum:"HomeDirectoryType"` 10109 10110 // A session policy for your user so that you can use the same IAM role across 10111 // multiple users. This policy scopes down user access to portions of their 10112 // Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, 10113 // ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}. 10114 // 10115 // This only applies when the domain of ServerId is S3. EFS does not use session 10116 // policies. 10117 // 10118 // For session policies, Amazon Web Services Transfer Family stores the policy 10119 // as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. 10120 // You save the policy as a JSON blob and pass it in the Policy argument. 10121 // 10122 // For an example of a session policy, see Creating a session policy (https://docs.aws.amazon.com/transfer/latest/userguide/session-policy). 10123 // 10124 // For more information, see AssumeRole (https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) 10125 // in the Amazon Web Services Security Token Service API Reference. 10126 Policy *string `type:"string"` 10127 10128 // Specifies the full POSIX identity, including user ID (Uid), group ID (Gid), 10129 // and any secondary groups IDs (SecondaryGids), that controls your users' access 10130 // to your Amazon Elastic File Systems (Amazon EFS). The POSIX permissions that 10131 // are set on files and directories in your file system determines the level 10132 // of access your users get when transferring files into and out of your Amazon 10133 // EFS file systems. 10134 PosixProfile *PosixProfile `type:"structure"` 10135 10136 // Specifies the Amazon Resource Name (ARN) of the IAM role that controls your 10137 // users' access to your Amazon S3 bucket or EFS file system. The policies attached 10138 // to this role determine the level of access that you want to provide your 10139 // users when transferring files into and out of your Amazon S3 bucket or EFS 10140 // file system. The IAM role should also contain a trust relationship that allows 10141 // the server to access your resources when servicing your users' transfer requests. 10142 Role *string `min:"20" type:"string"` 10143 10144 // A system-assigned unique identifier for a server instance that the user account 10145 // is assigned to. 10146 // 10147 // ServerId is a required field 10148 ServerId *string `min:"19" type:"string" required:"true"` 10149 10150 // A unique string that identifies a user and is associated with a server as 10151 // specified by the ServerId. This user name must be a minimum of 3 and a maximum 10152 // of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, 10153 // underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't 10154 // start with a hyphen, period, or at sign. 10155 // 10156 // UserName is a required field 10157 UserName *string `min:"3" type:"string" required:"true"` 10158} 10159 10160// String returns the string representation 10161func (s UpdateUserInput) String() string { 10162 return awsutil.Prettify(s) 10163} 10164 10165// GoString returns the string representation 10166func (s UpdateUserInput) GoString() string { 10167 return s.String() 10168} 10169 10170// Validate inspects the fields of the type to determine if they are valid. 10171func (s *UpdateUserInput) Validate() error { 10172 invalidParams := request.ErrInvalidParams{Context: "UpdateUserInput"} 10173 if s.HomeDirectoryMappings != nil && len(s.HomeDirectoryMappings) < 1 { 10174 invalidParams.Add(request.NewErrParamMinLen("HomeDirectoryMappings", 1)) 10175 } 10176 if s.Role != nil && len(*s.Role) < 20 { 10177 invalidParams.Add(request.NewErrParamMinLen("Role", 20)) 10178 } 10179 if s.ServerId == nil { 10180 invalidParams.Add(request.NewErrParamRequired("ServerId")) 10181 } 10182 if s.ServerId != nil && len(*s.ServerId) < 19 { 10183 invalidParams.Add(request.NewErrParamMinLen("ServerId", 19)) 10184 } 10185 if s.UserName == nil { 10186 invalidParams.Add(request.NewErrParamRequired("UserName")) 10187 } 10188 if s.UserName != nil && len(*s.UserName) < 3 { 10189 invalidParams.Add(request.NewErrParamMinLen("UserName", 3)) 10190 } 10191 if s.HomeDirectoryMappings != nil { 10192 for i, v := range s.HomeDirectoryMappings { 10193 if v == nil { 10194 continue 10195 } 10196 if err := v.Validate(); err != nil { 10197 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HomeDirectoryMappings", i), err.(request.ErrInvalidParams)) 10198 } 10199 } 10200 } 10201 if s.PosixProfile != nil { 10202 if err := s.PosixProfile.Validate(); err != nil { 10203 invalidParams.AddNested("PosixProfile", err.(request.ErrInvalidParams)) 10204 } 10205 } 10206 10207 if invalidParams.Len() > 0 { 10208 return invalidParams 10209 } 10210 return nil 10211} 10212 10213// SetHomeDirectory sets the HomeDirectory field's value. 10214func (s *UpdateUserInput) SetHomeDirectory(v string) *UpdateUserInput { 10215 s.HomeDirectory = &v 10216 return s 10217} 10218 10219// SetHomeDirectoryMappings sets the HomeDirectoryMappings field's value. 10220func (s *UpdateUserInput) SetHomeDirectoryMappings(v []*HomeDirectoryMapEntry) *UpdateUserInput { 10221 s.HomeDirectoryMappings = v 10222 return s 10223} 10224 10225// SetHomeDirectoryType sets the HomeDirectoryType field's value. 10226func (s *UpdateUserInput) SetHomeDirectoryType(v string) *UpdateUserInput { 10227 s.HomeDirectoryType = &v 10228 return s 10229} 10230 10231// SetPolicy sets the Policy field's value. 10232func (s *UpdateUserInput) SetPolicy(v string) *UpdateUserInput { 10233 s.Policy = &v 10234 return s 10235} 10236 10237// SetPosixProfile sets the PosixProfile field's value. 10238func (s *UpdateUserInput) SetPosixProfile(v *PosixProfile) *UpdateUserInput { 10239 s.PosixProfile = v 10240 return s 10241} 10242 10243// SetRole sets the Role field's value. 10244func (s *UpdateUserInput) SetRole(v string) *UpdateUserInput { 10245 s.Role = &v 10246 return s 10247} 10248 10249// SetServerId sets the ServerId field's value. 10250func (s *UpdateUserInput) SetServerId(v string) *UpdateUserInput { 10251 s.ServerId = &v 10252 return s 10253} 10254 10255// SetUserName sets the UserName field's value. 10256func (s *UpdateUserInput) SetUserName(v string) *UpdateUserInput { 10257 s.UserName = &v 10258 return s 10259} 10260 10261// UpdateUserResponse returns the user name and identifier for the request to 10262// update a user's properties. 10263type UpdateUserOutput struct { 10264 _ struct{} `type:"structure"` 10265 10266 // A system-assigned unique identifier for a server instance that the user account 10267 // is assigned to. 10268 // 10269 // ServerId is a required field 10270 ServerId *string `min:"19" type:"string" required:"true"` 10271 10272 // The unique identifier for a user that is assigned to a server instance that 10273 // was specified in the request. 10274 // 10275 // UserName is a required field 10276 UserName *string `min:"3" type:"string" required:"true"` 10277} 10278 10279// String returns the string representation 10280func (s UpdateUserOutput) String() string { 10281 return awsutil.Prettify(s) 10282} 10283 10284// GoString returns the string representation 10285func (s UpdateUserOutput) GoString() string { 10286 return s.String() 10287} 10288 10289// SetServerId sets the ServerId field's value. 10290func (s *UpdateUserOutput) SetServerId(v string) *UpdateUserOutput { 10291 s.ServerId = &v 10292 return s 10293} 10294 10295// SetUserName sets the UserName field's value. 10296func (s *UpdateUserOutput) SetUserName(v string) *UpdateUserOutput { 10297 s.UserName = &v 10298 return s 10299} 10300 10301// Specifies the user name, server ID, and session ID for a workflow. 10302type UserDetails struct { 10303 _ struct{} `type:"structure"` 10304 10305 // The system-assigned unique identifier for a Transfer server instance. 10306 // 10307 // ServerId is a required field 10308 ServerId *string `min:"19" type:"string" required:"true"` 10309 10310 // The system-assigned unique identifier for a session that corresponds to the 10311 // workflow. 10312 SessionId *string `min:"3" type:"string"` 10313 10314 // A unique string that identifies a user account associated with a server. 10315 // 10316 // UserName is a required field 10317 UserName *string `min:"3" type:"string" required:"true"` 10318} 10319 10320// String returns the string representation 10321func (s UserDetails) String() string { 10322 return awsutil.Prettify(s) 10323} 10324 10325// GoString returns the string representation 10326func (s UserDetails) GoString() string { 10327 return s.String() 10328} 10329 10330// SetServerId sets the ServerId field's value. 10331func (s *UserDetails) SetServerId(v string) *UserDetails { 10332 s.ServerId = &v 10333 return s 10334} 10335 10336// SetSessionId sets the SessionId field's value. 10337func (s *UserDetails) SetSessionId(v string) *UserDetails { 10338 s.SessionId = &v 10339 return s 10340} 10341 10342// SetUserName sets the UserName field's value. 10343func (s *UserDetails) SetUserName(v string) *UserDetails { 10344 s.UserName = &v 10345 return s 10346} 10347 10348// Specifies the workflow ID for the workflow to assign and the execution role 10349// used for executing the workflow. 10350type WorkflowDetail struct { 10351 _ struct{} `type:"structure"` 10352 10353 // Includes the necessary permissions for S3, EFS, and Lambda operations that 10354 // Transfer can assume, so that all workflow steps can operate on the required 10355 // resources 10356 // 10357 // ExecutionRole is a required field 10358 ExecutionRole *string `min:"20" type:"string" required:"true"` 10359 10360 // A unique identifier for the workflow. 10361 // 10362 // WorkflowId is a required field 10363 WorkflowId *string `min:"19" type:"string" required:"true"` 10364} 10365 10366// String returns the string representation 10367func (s WorkflowDetail) String() string { 10368 return awsutil.Prettify(s) 10369} 10370 10371// GoString returns the string representation 10372func (s WorkflowDetail) GoString() string { 10373 return s.String() 10374} 10375 10376// Validate inspects the fields of the type to determine if they are valid. 10377func (s *WorkflowDetail) Validate() error { 10378 invalidParams := request.ErrInvalidParams{Context: "WorkflowDetail"} 10379 if s.ExecutionRole == nil { 10380 invalidParams.Add(request.NewErrParamRequired("ExecutionRole")) 10381 } 10382 if s.ExecutionRole != nil && len(*s.ExecutionRole) < 20 { 10383 invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 20)) 10384 } 10385 if s.WorkflowId == nil { 10386 invalidParams.Add(request.NewErrParamRequired("WorkflowId")) 10387 } 10388 if s.WorkflowId != nil && len(*s.WorkflowId) < 19 { 10389 invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 19)) 10390 } 10391 10392 if invalidParams.Len() > 0 { 10393 return invalidParams 10394 } 10395 return nil 10396} 10397 10398// SetExecutionRole sets the ExecutionRole field's value. 10399func (s *WorkflowDetail) SetExecutionRole(v string) *WorkflowDetail { 10400 s.ExecutionRole = &v 10401 return s 10402} 10403 10404// SetWorkflowId sets the WorkflowId field's value. 10405func (s *WorkflowDetail) SetWorkflowId(v string) *WorkflowDetail { 10406 s.WorkflowId = &v 10407 return s 10408} 10409 10410// Container for the WorkflowDetail data type. It is used by actions that trigger 10411// a workflow to begin execution. 10412type WorkflowDetails struct { 10413 _ struct{} `type:"structure"` 10414 10415 // A trigger that starts a workflow: the workflow begins to execute after a 10416 // file is uploaded. 10417 // 10418 // OnUpload is a required field 10419 OnUpload []*WorkflowDetail `type:"list" required:"true"` 10420} 10421 10422// String returns the string representation 10423func (s WorkflowDetails) String() string { 10424 return awsutil.Prettify(s) 10425} 10426 10427// GoString returns the string representation 10428func (s WorkflowDetails) GoString() string { 10429 return s.String() 10430} 10431 10432// Validate inspects the fields of the type to determine if they are valid. 10433func (s *WorkflowDetails) Validate() error { 10434 invalidParams := request.ErrInvalidParams{Context: "WorkflowDetails"} 10435 if s.OnUpload == nil { 10436 invalidParams.Add(request.NewErrParamRequired("OnUpload")) 10437 } 10438 if s.OnUpload != nil { 10439 for i, v := range s.OnUpload { 10440 if v == nil { 10441 continue 10442 } 10443 if err := v.Validate(); err != nil { 10444 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OnUpload", i), err.(request.ErrInvalidParams)) 10445 } 10446 } 10447 } 10448 10449 if invalidParams.Len() > 0 { 10450 return invalidParams 10451 } 10452 return nil 10453} 10454 10455// SetOnUpload sets the OnUpload field's value. 10456func (s *WorkflowDetails) SetOnUpload(v []*WorkflowDetail) *WorkflowDetails { 10457 s.OnUpload = v 10458 return s 10459} 10460 10461// The basic building block of a workflow. 10462type WorkflowStep struct { 10463 _ struct{} `type:"structure"` 10464 10465 // Details for a step that performs a file copy. 10466 // 10467 // Consists of the following values: 10468 // 10469 // * A description 10470 // 10471 // * An S3 or EFS location for the destination of the file copy. 10472 // 10473 // * A flag that indicates whether or not to overwrite an existing file of 10474 // the same name. The default is FALSE. 10475 CopyStepDetails *CopyStepDetails `type:"structure"` 10476 10477 // Details for a step that invokes a lambda function. 10478 // 10479 // Consists of the lambda function name, target, and timeout (in seconds). 10480 CustomStepDetails *CustomStepDetails `type:"structure"` 10481 10482 // You need to specify the name of the file to be deleted. 10483 DeleteStepDetails *DeleteStepDetails `type:"structure"` 10484 10485 // Details for a step that creates one or more tags. 10486 // 10487 // You specify one or more tags: each tag contains a key/value pair. 10488 TagStepDetails *TagStepDetails `type:"structure"` 10489 10490 // Currently, the following step types are supported. 10491 // 10492 // * Copy: copy the file to another location 10493 // 10494 // * Custom: custom step with a lambda target 10495 // 10496 // * Delete: delete the file 10497 // 10498 // * Tag: add a tag to the file 10499 Type *string `type:"string" enum:"WorkflowStepType"` 10500} 10501 10502// String returns the string representation 10503func (s WorkflowStep) String() string { 10504 return awsutil.Prettify(s) 10505} 10506 10507// GoString returns the string representation 10508func (s WorkflowStep) GoString() string { 10509 return s.String() 10510} 10511 10512// Validate inspects the fields of the type to determine if they are valid. 10513func (s *WorkflowStep) Validate() error { 10514 invalidParams := request.ErrInvalidParams{Context: "WorkflowStep"} 10515 if s.CopyStepDetails != nil { 10516 if err := s.CopyStepDetails.Validate(); err != nil { 10517 invalidParams.AddNested("CopyStepDetails", err.(request.ErrInvalidParams)) 10518 } 10519 } 10520 if s.CustomStepDetails != nil { 10521 if err := s.CustomStepDetails.Validate(); err != nil { 10522 invalidParams.AddNested("CustomStepDetails", err.(request.ErrInvalidParams)) 10523 } 10524 } 10525 if s.TagStepDetails != nil { 10526 if err := s.TagStepDetails.Validate(); err != nil { 10527 invalidParams.AddNested("TagStepDetails", err.(request.ErrInvalidParams)) 10528 } 10529 } 10530 10531 if invalidParams.Len() > 0 { 10532 return invalidParams 10533 } 10534 return nil 10535} 10536 10537// SetCopyStepDetails sets the CopyStepDetails field's value. 10538func (s *WorkflowStep) SetCopyStepDetails(v *CopyStepDetails) *WorkflowStep { 10539 s.CopyStepDetails = v 10540 return s 10541} 10542 10543// SetCustomStepDetails sets the CustomStepDetails field's value. 10544func (s *WorkflowStep) SetCustomStepDetails(v *CustomStepDetails) *WorkflowStep { 10545 s.CustomStepDetails = v 10546 return s 10547} 10548 10549// SetDeleteStepDetails sets the DeleteStepDetails field's value. 10550func (s *WorkflowStep) SetDeleteStepDetails(v *DeleteStepDetails) *WorkflowStep { 10551 s.DeleteStepDetails = v 10552 return s 10553} 10554 10555// SetTagStepDetails sets the TagStepDetails field's value. 10556func (s *WorkflowStep) SetTagStepDetails(v *TagStepDetails) *WorkflowStep { 10557 s.TagStepDetails = v 10558 return s 10559} 10560 10561// SetType sets the Type field's value. 10562func (s *WorkflowStep) SetType(v string) *WorkflowStep { 10563 s.Type = &v 10564 return s 10565} 10566 10567const ( 10568 // CustomStepStatusSuccess is a CustomStepStatus enum value 10569 CustomStepStatusSuccess = "SUCCESS" 10570 10571 // CustomStepStatusFailure is a CustomStepStatus enum value 10572 CustomStepStatusFailure = "FAILURE" 10573) 10574 10575// CustomStepStatus_Values returns all elements of the CustomStepStatus enum 10576func CustomStepStatus_Values() []string { 10577 return []string{ 10578 CustomStepStatusSuccess, 10579 CustomStepStatusFailure, 10580 } 10581} 10582 10583const ( 10584 // DomainS3 is a Domain enum value 10585 DomainS3 = "S3" 10586 10587 // DomainEfs is a Domain enum value 10588 DomainEfs = "EFS" 10589) 10590 10591// Domain_Values returns all elements of the Domain enum 10592func Domain_Values() []string { 10593 return []string{ 10594 DomainS3, 10595 DomainEfs, 10596 } 10597} 10598 10599const ( 10600 // EndpointTypePublic is a EndpointType enum value 10601 EndpointTypePublic = "PUBLIC" 10602 10603 // EndpointTypeVpc is a EndpointType enum value 10604 EndpointTypeVpc = "VPC" 10605 10606 // EndpointTypeVpcEndpoint is a EndpointType enum value 10607 EndpointTypeVpcEndpoint = "VPC_ENDPOINT" 10608) 10609 10610// EndpointType_Values returns all elements of the EndpointType enum 10611func EndpointType_Values() []string { 10612 return []string{ 10613 EndpointTypePublic, 10614 EndpointTypeVpc, 10615 EndpointTypeVpcEndpoint, 10616 } 10617} 10618 10619const ( 10620 // ExecutionErrorTypePermissionDenied is a ExecutionErrorType enum value 10621 ExecutionErrorTypePermissionDenied = "PERMISSION_DENIED" 10622) 10623 10624// ExecutionErrorType_Values returns all elements of the ExecutionErrorType enum 10625func ExecutionErrorType_Values() []string { 10626 return []string{ 10627 ExecutionErrorTypePermissionDenied, 10628 } 10629} 10630 10631const ( 10632 // ExecutionStatusInProgress is a ExecutionStatus enum value 10633 ExecutionStatusInProgress = "IN_PROGRESS" 10634 10635 // ExecutionStatusCompleted is a ExecutionStatus enum value 10636 ExecutionStatusCompleted = "COMPLETED" 10637 10638 // ExecutionStatusException is a ExecutionStatus enum value 10639 ExecutionStatusException = "EXCEPTION" 10640 10641 // ExecutionStatusHandlingException is a ExecutionStatus enum value 10642 ExecutionStatusHandlingException = "HANDLING_EXCEPTION" 10643) 10644 10645// ExecutionStatus_Values returns all elements of the ExecutionStatus enum 10646func ExecutionStatus_Values() []string { 10647 return []string{ 10648 ExecutionStatusInProgress, 10649 ExecutionStatusCompleted, 10650 ExecutionStatusException, 10651 ExecutionStatusHandlingException, 10652 } 10653} 10654 10655const ( 10656 // HomeDirectoryTypePath is a HomeDirectoryType enum value 10657 HomeDirectoryTypePath = "PATH" 10658 10659 // HomeDirectoryTypeLogical is a HomeDirectoryType enum value 10660 HomeDirectoryTypeLogical = "LOGICAL" 10661) 10662 10663// HomeDirectoryType_Values returns all elements of the HomeDirectoryType enum 10664func HomeDirectoryType_Values() []string { 10665 return []string{ 10666 HomeDirectoryTypePath, 10667 HomeDirectoryTypeLogical, 10668 } 10669} 10670 10671// Returns information related to the type of user authentication that is in 10672// use for a file transfer protocol-enabled server's users. For AWS_DIRECTORY_SERVICE 10673// or SERVICE_MANAGED authentication, the Secure Shell (SSH) public keys are 10674// stored with a user on the server instance. For API_GATEWAY authentication, 10675// your custom authentication method is implemented by using an API call. The 10676// server can have only one method of authentication. 10677const ( 10678 // IdentityProviderTypeServiceManaged is a IdentityProviderType enum value 10679 IdentityProviderTypeServiceManaged = "SERVICE_MANAGED" 10680 10681 // IdentityProviderTypeApiGateway is a IdentityProviderType enum value 10682 IdentityProviderTypeApiGateway = "API_GATEWAY" 10683 10684 // IdentityProviderTypeAwsDirectoryService is a IdentityProviderType enum value 10685 IdentityProviderTypeAwsDirectoryService = "AWS_DIRECTORY_SERVICE" 10686) 10687 10688// IdentityProviderType_Values returns all elements of the IdentityProviderType enum 10689func IdentityProviderType_Values() []string { 10690 return []string{ 10691 IdentityProviderTypeServiceManaged, 10692 IdentityProviderTypeApiGateway, 10693 IdentityProviderTypeAwsDirectoryService, 10694 } 10695} 10696 10697const ( 10698 // OverwriteExistingTrue is a OverwriteExisting enum value 10699 OverwriteExistingTrue = "TRUE" 10700 10701 // OverwriteExistingFalse is a OverwriteExisting enum value 10702 OverwriteExistingFalse = "FALSE" 10703) 10704 10705// OverwriteExisting_Values returns all elements of the OverwriteExisting enum 10706func OverwriteExisting_Values() []string { 10707 return []string{ 10708 OverwriteExistingTrue, 10709 OverwriteExistingFalse, 10710 } 10711} 10712 10713const ( 10714 // ProtocolSftp is a Protocol enum value 10715 ProtocolSftp = "SFTP" 10716 10717 // ProtocolFtp is a Protocol enum value 10718 ProtocolFtp = "FTP" 10719 10720 // ProtocolFtps is a Protocol enum value 10721 ProtocolFtps = "FTPS" 10722) 10723 10724// Protocol_Values returns all elements of the Protocol enum 10725func Protocol_Values() []string { 10726 return []string{ 10727 ProtocolSftp, 10728 ProtocolFtp, 10729 ProtocolFtps, 10730 } 10731} 10732 10733// Describes the condition of a file transfer protocol-enabled server with respect 10734// to its ability to perform file operations. There are six possible states: 10735// OFFLINE, ONLINE, STARTING, STOPPING, START_FAILED, and STOP_FAILED. 10736// 10737// OFFLINE indicates that the server exists, but that it is not available for 10738// file operations. ONLINE indicates that the server is available to perform 10739// file operations. STARTING indicates that the server's was instantiated, but 10740// the server is not yet available to perform file operations. Under normal 10741// conditions, it can take a couple of minutes for the server to be completely 10742// operational. Both START_FAILED and STOP_FAILED are error conditions. 10743const ( 10744 // StateOffline is a State enum value 10745 StateOffline = "OFFLINE" 10746 10747 // StateOnline is a State enum value 10748 StateOnline = "ONLINE" 10749 10750 // StateStarting is a State enum value 10751 StateStarting = "STARTING" 10752 10753 // StateStopping is a State enum value 10754 StateStopping = "STOPPING" 10755 10756 // StateStartFailed is a State enum value 10757 StateStartFailed = "START_FAILED" 10758 10759 // StateStopFailed is a State enum value 10760 StateStopFailed = "STOP_FAILED" 10761) 10762 10763// State_Values returns all elements of the State enum 10764func State_Values() []string { 10765 return []string{ 10766 StateOffline, 10767 StateOnline, 10768 StateStarting, 10769 StateStopping, 10770 StateStartFailed, 10771 StateStopFailed, 10772 } 10773} 10774 10775const ( 10776 // WorkflowStepTypeCopy is a WorkflowStepType enum value 10777 WorkflowStepTypeCopy = "COPY" 10778 10779 // WorkflowStepTypeCustom is a WorkflowStepType enum value 10780 WorkflowStepTypeCustom = "CUSTOM" 10781 10782 // WorkflowStepTypeTag is a WorkflowStepType enum value 10783 WorkflowStepTypeTag = "TAG" 10784 10785 // WorkflowStepTypeDelete is a WorkflowStepType enum value 10786 WorkflowStepTypeDelete = "DELETE" 10787) 10788 10789// WorkflowStepType_Values returns all elements of the WorkflowStepType enum 10790func WorkflowStepType_Values() []string { 10791 return []string{ 10792 WorkflowStepTypeCopy, 10793 WorkflowStepTypeCustom, 10794 WorkflowStepTypeTag, 10795 WorkflowStepTypeDelete, 10796 } 10797} 10798