github.com/aavshr/aws-sdk-go@v1.41.3/service/workspaces/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package workspaces
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const opAssociateConnectionAlias = "AssociateConnectionAlias"
    17  
    18  // AssociateConnectionAliasRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateConnectionAlias 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 AssociateConnectionAlias for more information on using the AssociateConnectionAlias
    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 AssociateConnectionAliasRequest method.
    34  //    req, resp := client.AssociateConnectionAliasRequest(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/workspaces-2015-04-08/AssociateConnectionAlias
    42  func (c *WorkSpaces) AssociateConnectionAliasRequest(input *AssociateConnectionAliasInput) (req *request.Request, output *AssociateConnectionAliasOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateConnectionAlias,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateConnectionAliasInput{}
    51  	}
    52  
    53  	output = &AssociateConnectionAliasOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AssociateConnectionAlias API operation for Amazon WorkSpaces.
    59  //
    60  // Associates the specified connection alias with the specified directory to
    61  // enable cross-Region redirection. For more information, see Cross-Region Redirection
    62  // for Amazon WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html).
    63  //
    64  // Before performing this operation, call DescribeConnectionAliases (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeConnectionAliases.html)
    65  // to make sure that the current state of the connection alias is CREATED.
    66  //
    67  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    68  // with awserr.Error's Code and Message methods to get detailed information about
    69  // the error.
    70  //
    71  // See the AWS API reference guide for Amazon WorkSpaces's
    72  // API operation AssociateConnectionAlias for usage and error information.
    73  //
    74  // Returned Error Types:
    75  //   * ResourceAssociatedException
    76  //   The resource is associated with a directory.
    77  //
    78  //   * AccessDeniedException
    79  //   The user is not authorized to access a resource.
    80  //
    81  //   * ResourceNotFoundException
    82  //   The resource could not be found.
    83  //
    84  //   * InvalidParameterValuesException
    85  //   One or more parameter values are not valid.
    86  //
    87  //   * InvalidResourceStateException
    88  //   The state of the resource is not valid for this operation.
    89  //
    90  //   * OperationNotSupportedException
    91  //   This operation is not supported.
    92  //
    93  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AssociateConnectionAlias
    94  func (c *WorkSpaces) AssociateConnectionAlias(input *AssociateConnectionAliasInput) (*AssociateConnectionAliasOutput, error) {
    95  	req, out := c.AssociateConnectionAliasRequest(input)
    96  	return out, req.Send()
    97  }
    98  
    99  // AssociateConnectionAliasWithContext is the same as AssociateConnectionAlias with the addition of
   100  // the ability to pass a context and additional request options.
   101  //
   102  // See AssociateConnectionAlias 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.
   108  func (c *WorkSpaces) AssociateConnectionAliasWithContext(ctx aws.Context, input *AssociateConnectionAliasInput, opts ...request.Option) (*AssociateConnectionAliasOutput, error) {
   109  	req, out := c.AssociateConnectionAliasRequest(input)
   110  	req.SetContext(ctx)
   111  	req.ApplyOptions(opts...)
   112  	return out, req.Send()
   113  }
   114  
   115  const opAssociateIpGroups = "AssociateIpGroups"
   116  
   117  // AssociateIpGroupsRequest generates a "aws/request.Request" representing the
   118  // client's request for the AssociateIpGroups 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 AssociateIpGroups for more information on using the AssociateIpGroups
   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 AssociateIpGroupsRequest method.
   133  //    req, resp := client.AssociateIpGroupsRequest(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/workspaces-2015-04-08/AssociateIpGroups
   141  func (c *WorkSpaces) AssociateIpGroupsRequest(input *AssociateIpGroupsInput) (req *request.Request, output *AssociateIpGroupsOutput) {
   142  	op := &request.Operation{
   143  		Name:       opAssociateIpGroups,
   144  		HTTPMethod: "POST",
   145  		HTTPPath:   "/",
   146  	}
   147  
   148  	if input == nil {
   149  		input = &AssociateIpGroupsInput{}
   150  	}
   151  
   152  	output = &AssociateIpGroupsOutput{}
   153  	req = c.newRequest(op, input, output)
   154  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   155  	return
   156  }
   157  
   158  // AssociateIpGroups API operation for Amazon WorkSpaces.
   159  //
   160  // Associates the specified IP access control group with the specified directory.
   161  //
   162  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   163  // with awserr.Error's Code and Message methods to get detailed information about
   164  // the error.
   165  //
   166  // See the AWS API reference guide for Amazon WorkSpaces's
   167  // API operation AssociateIpGroups for usage and error information.
   168  //
   169  // Returned Error Types:
   170  //   * InvalidParameterValuesException
   171  //   One or more parameter values are not valid.
   172  //
   173  //   * ResourceNotFoundException
   174  //   The resource could not be found.
   175  //
   176  //   * ResourceLimitExceededException
   177  //   Your resource limits have been exceeded.
   178  //
   179  //   * InvalidResourceStateException
   180  //   The state of the resource is not valid for this operation.
   181  //
   182  //   * AccessDeniedException
   183  //   The user is not authorized to access a resource.
   184  //
   185  //   * OperationNotSupportedException
   186  //   This operation is not supported.
   187  //
   188  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AssociateIpGroups
   189  func (c *WorkSpaces) AssociateIpGroups(input *AssociateIpGroupsInput) (*AssociateIpGroupsOutput, error) {
   190  	req, out := c.AssociateIpGroupsRequest(input)
   191  	return out, req.Send()
   192  }
   193  
   194  // AssociateIpGroupsWithContext is the same as AssociateIpGroups with the addition of
   195  // the ability to pass a context and additional request options.
   196  //
   197  // See AssociateIpGroups for details on how to use this API operation.
   198  //
   199  // The context must be non-nil and will be used for request cancellation. If
   200  // the context is nil a panic will occur. In the future the SDK may create
   201  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   202  // for more information on using Contexts.
   203  func (c *WorkSpaces) AssociateIpGroupsWithContext(ctx aws.Context, input *AssociateIpGroupsInput, opts ...request.Option) (*AssociateIpGroupsOutput, error) {
   204  	req, out := c.AssociateIpGroupsRequest(input)
   205  	req.SetContext(ctx)
   206  	req.ApplyOptions(opts...)
   207  	return out, req.Send()
   208  }
   209  
   210  const opAuthorizeIpRules = "AuthorizeIpRules"
   211  
   212  // AuthorizeIpRulesRequest generates a "aws/request.Request" representing the
   213  // client's request for the AuthorizeIpRules operation. The "output" return
   214  // value will be populated with the request's response once the request completes
   215  // successfully.
   216  //
   217  // Use "Send" method on the returned Request to send the API call to the service.
   218  // the "output" return value is not valid until after Send returns without error.
   219  //
   220  // See AuthorizeIpRules for more information on using the AuthorizeIpRules
   221  // API call, and error handling.
   222  //
   223  // This method is useful when you want to inject custom logic or configuration
   224  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   225  //
   226  //
   227  //    // Example sending a request using the AuthorizeIpRulesRequest method.
   228  //    req, resp := client.AuthorizeIpRulesRequest(params)
   229  //
   230  //    err := req.Send()
   231  //    if err == nil { // resp is now filled
   232  //        fmt.Println(resp)
   233  //    }
   234  //
   235  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AuthorizeIpRules
   236  func (c *WorkSpaces) AuthorizeIpRulesRequest(input *AuthorizeIpRulesInput) (req *request.Request, output *AuthorizeIpRulesOutput) {
   237  	op := &request.Operation{
   238  		Name:       opAuthorizeIpRules,
   239  		HTTPMethod: "POST",
   240  		HTTPPath:   "/",
   241  	}
   242  
   243  	if input == nil {
   244  		input = &AuthorizeIpRulesInput{}
   245  	}
   246  
   247  	output = &AuthorizeIpRulesOutput{}
   248  	req = c.newRequest(op, input, output)
   249  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   250  	return
   251  }
   252  
   253  // AuthorizeIpRules API operation for Amazon WorkSpaces.
   254  //
   255  // Adds one or more rules to the specified IP access control group.
   256  //
   257  // This action gives users permission to access their WorkSpaces from the CIDR
   258  // address ranges specified in the rules.
   259  //
   260  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   261  // with awserr.Error's Code and Message methods to get detailed information about
   262  // the error.
   263  //
   264  // See the AWS API reference guide for Amazon WorkSpaces's
   265  // API operation AuthorizeIpRules for usage and error information.
   266  //
   267  // Returned Error Types:
   268  //   * InvalidParameterValuesException
   269  //   One or more parameter values are not valid.
   270  //
   271  //   * ResourceNotFoundException
   272  //   The resource could not be found.
   273  //
   274  //   * ResourceLimitExceededException
   275  //   Your resource limits have been exceeded.
   276  //
   277  //   * InvalidResourceStateException
   278  //   The state of the resource is not valid for this operation.
   279  //
   280  //   * AccessDeniedException
   281  //   The user is not authorized to access a resource.
   282  //
   283  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/AuthorizeIpRules
   284  func (c *WorkSpaces) AuthorizeIpRules(input *AuthorizeIpRulesInput) (*AuthorizeIpRulesOutput, error) {
   285  	req, out := c.AuthorizeIpRulesRequest(input)
   286  	return out, req.Send()
   287  }
   288  
   289  // AuthorizeIpRulesWithContext is the same as AuthorizeIpRules with the addition of
   290  // the ability to pass a context and additional request options.
   291  //
   292  // See AuthorizeIpRules for details on how to use this API operation.
   293  //
   294  // The context must be non-nil and will be used for request cancellation. If
   295  // the context is nil a panic will occur. In the future the SDK may create
   296  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   297  // for more information on using Contexts.
   298  func (c *WorkSpaces) AuthorizeIpRulesWithContext(ctx aws.Context, input *AuthorizeIpRulesInput, opts ...request.Option) (*AuthorizeIpRulesOutput, error) {
   299  	req, out := c.AuthorizeIpRulesRequest(input)
   300  	req.SetContext(ctx)
   301  	req.ApplyOptions(opts...)
   302  	return out, req.Send()
   303  }
   304  
   305  const opCopyWorkspaceImage = "CopyWorkspaceImage"
   306  
   307  // CopyWorkspaceImageRequest generates a "aws/request.Request" representing the
   308  // client's request for the CopyWorkspaceImage operation. The "output" return
   309  // value will be populated with the request's response once the request completes
   310  // successfully.
   311  //
   312  // Use "Send" method on the returned Request to send the API call to the service.
   313  // the "output" return value is not valid until after Send returns without error.
   314  //
   315  // See CopyWorkspaceImage for more information on using the CopyWorkspaceImage
   316  // API call, and error handling.
   317  //
   318  // This method is useful when you want to inject custom logic or configuration
   319  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   320  //
   321  //
   322  //    // Example sending a request using the CopyWorkspaceImageRequest method.
   323  //    req, resp := client.CopyWorkspaceImageRequest(params)
   324  //
   325  //    err := req.Send()
   326  //    if err == nil { // resp is now filled
   327  //        fmt.Println(resp)
   328  //    }
   329  //
   330  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CopyWorkspaceImage
   331  func (c *WorkSpaces) CopyWorkspaceImageRequest(input *CopyWorkspaceImageInput) (req *request.Request, output *CopyWorkspaceImageOutput) {
   332  	op := &request.Operation{
   333  		Name:       opCopyWorkspaceImage,
   334  		HTTPMethod: "POST",
   335  		HTTPPath:   "/",
   336  	}
   337  
   338  	if input == nil {
   339  		input = &CopyWorkspaceImageInput{}
   340  	}
   341  
   342  	output = &CopyWorkspaceImageOutput{}
   343  	req = c.newRequest(op, input, output)
   344  	return
   345  }
   346  
   347  // CopyWorkspaceImage API operation for Amazon WorkSpaces.
   348  //
   349  // Copies the specified image from the specified Region to the current Region.
   350  // For more information about copying images, see Copy a Custom WorkSpaces Image
   351  // (https://docs.aws.amazon.com/workspaces/latest/adminguide/copy-custom-image.html).
   352  //
   353  // In the China (Ningxia) Region, you can copy images only within the same Region.
   354  //
   355  // In Amazon Web Services GovCloud (US), to copy images to and from other Regions,
   356  // contact Amazon Web Services Support.
   357  //
   358  // Before copying a shared image, be sure to verify that it has been shared
   359  // from the correct Amazon Web Services account. To determine if an image has
   360  // been shared and to see the ID of the Amazon Web Services account that owns
   361  // an image, use the DescribeWorkSpaceImages (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImages.html)
   362  // and DescribeWorkspaceImagePermissions (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImagePermissions.html)
   363  // API operations.
   364  //
   365  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   366  // with awserr.Error's Code and Message methods to get detailed information about
   367  // the error.
   368  //
   369  // See the AWS API reference guide for Amazon WorkSpaces's
   370  // API operation CopyWorkspaceImage for usage and error information.
   371  //
   372  // Returned Error Types:
   373  //   * ResourceLimitExceededException
   374  //   Your resource limits have been exceeded.
   375  //
   376  //   * ResourceAlreadyExistsException
   377  //   The specified resource already exists.
   378  //
   379  //   * ResourceNotFoundException
   380  //   The resource could not be found.
   381  //
   382  //   * ResourceUnavailableException
   383  //   The specified resource is not available.
   384  //
   385  //   * OperationNotSupportedException
   386  //   This operation is not supported.
   387  //
   388  //   * AccessDeniedException
   389  //   The user is not authorized to access a resource.
   390  //
   391  //   * InvalidParameterValuesException
   392  //   One or more parameter values are not valid.
   393  //
   394  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CopyWorkspaceImage
   395  func (c *WorkSpaces) CopyWorkspaceImage(input *CopyWorkspaceImageInput) (*CopyWorkspaceImageOutput, error) {
   396  	req, out := c.CopyWorkspaceImageRequest(input)
   397  	return out, req.Send()
   398  }
   399  
   400  // CopyWorkspaceImageWithContext is the same as CopyWorkspaceImage with the addition of
   401  // the ability to pass a context and additional request options.
   402  //
   403  // See CopyWorkspaceImage for details on how to use this API operation.
   404  //
   405  // The context must be non-nil and will be used for request cancellation. If
   406  // the context is nil a panic will occur. In the future the SDK may create
   407  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   408  // for more information on using Contexts.
   409  func (c *WorkSpaces) CopyWorkspaceImageWithContext(ctx aws.Context, input *CopyWorkspaceImageInput, opts ...request.Option) (*CopyWorkspaceImageOutput, error) {
   410  	req, out := c.CopyWorkspaceImageRequest(input)
   411  	req.SetContext(ctx)
   412  	req.ApplyOptions(opts...)
   413  	return out, req.Send()
   414  }
   415  
   416  const opCreateConnectionAlias = "CreateConnectionAlias"
   417  
   418  // CreateConnectionAliasRequest generates a "aws/request.Request" representing the
   419  // client's request for the CreateConnectionAlias operation. The "output" return
   420  // value will be populated with the request's response once the request completes
   421  // successfully.
   422  //
   423  // Use "Send" method on the returned Request to send the API call to the service.
   424  // the "output" return value is not valid until after Send returns without error.
   425  //
   426  // See CreateConnectionAlias for more information on using the CreateConnectionAlias
   427  // API call, and error handling.
   428  //
   429  // This method is useful when you want to inject custom logic or configuration
   430  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   431  //
   432  //
   433  //    // Example sending a request using the CreateConnectionAliasRequest method.
   434  //    req, resp := client.CreateConnectionAliasRequest(params)
   435  //
   436  //    err := req.Send()
   437  //    if err == nil { // resp is now filled
   438  //        fmt.Println(resp)
   439  //    }
   440  //
   441  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateConnectionAlias
   442  func (c *WorkSpaces) CreateConnectionAliasRequest(input *CreateConnectionAliasInput) (req *request.Request, output *CreateConnectionAliasOutput) {
   443  	op := &request.Operation{
   444  		Name:       opCreateConnectionAlias,
   445  		HTTPMethod: "POST",
   446  		HTTPPath:   "/",
   447  	}
   448  
   449  	if input == nil {
   450  		input = &CreateConnectionAliasInput{}
   451  	}
   452  
   453  	output = &CreateConnectionAliasOutput{}
   454  	req = c.newRequest(op, input, output)
   455  	return
   456  }
   457  
   458  // CreateConnectionAlias API operation for Amazon WorkSpaces.
   459  //
   460  // Creates the specified connection alias for use with cross-Region redirection.
   461  // For more information, see Cross-Region Redirection for Amazon WorkSpaces
   462  // (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html).
   463  //
   464  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   465  // with awserr.Error's Code and Message methods to get detailed information about
   466  // the error.
   467  //
   468  // See the AWS API reference guide for Amazon WorkSpaces's
   469  // API operation CreateConnectionAlias for usage and error information.
   470  //
   471  // Returned Error Types:
   472  //   * ResourceAlreadyExistsException
   473  //   The specified resource already exists.
   474  //
   475  //   * AccessDeniedException
   476  //   The user is not authorized to access a resource.
   477  //
   478  //   * InvalidParameterValuesException
   479  //   One or more parameter values are not valid.
   480  //
   481  //   * ResourceLimitExceededException
   482  //   Your resource limits have been exceeded.
   483  //
   484  //   * InvalidResourceStateException
   485  //   The state of the resource is not valid for this operation.
   486  //
   487  //   * OperationNotSupportedException
   488  //   This operation is not supported.
   489  //
   490  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateConnectionAlias
   491  func (c *WorkSpaces) CreateConnectionAlias(input *CreateConnectionAliasInput) (*CreateConnectionAliasOutput, error) {
   492  	req, out := c.CreateConnectionAliasRequest(input)
   493  	return out, req.Send()
   494  }
   495  
   496  // CreateConnectionAliasWithContext is the same as CreateConnectionAlias with the addition of
   497  // the ability to pass a context and additional request options.
   498  //
   499  // See CreateConnectionAlias for details on how to use this API operation.
   500  //
   501  // The context must be non-nil and will be used for request cancellation. If
   502  // the context is nil a panic will occur. In the future the SDK may create
   503  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   504  // for more information on using Contexts.
   505  func (c *WorkSpaces) CreateConnectionAliasWithContext(ctx aws.Context, input *CreateConnectionAliasInput, opts ...request.Option) (*CreateConnectionAliasOutput, error) {
   506  	req, out := c.CreateConnectionAliasRequest(input)
   507  	req.SetContext(ctx)
   508  	req.ApplyOptions(opts...)
   509  	return out, req.Send()
   510  }
   511  
   512  const opCreateIpGroup = "CreateIpGroup"
   513  
   514  // CreateIpGroupRequest generates a "aws/request.Request" representing the
   515  // client's request for the CreateIpGroup operation. The "output" return
   516  // value will be populated with the request's response once the request completes
   517  // successfully.
   518  //
   519  // Use "Send" method on the returned Request to send the API call to the service.
   520  // the "output" return value is not valid until after Send returns without error.
   521  //
   522  // See CreateIpGroup for more information on using the CreateIpGroup
   523  // API call, and error handling.
   524  //
   525  // This method is useful when you want to inject custom logic or configuration
   526  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   527  //
   528  //
   529  //    // Example sending a request using the CreateIpGroupRequest method.
   530  //    req, resp := client.CreateIpGroupRequest(params)
   531  //
   532  //    err := req.Send()
   533  //    if err == nil { // resp is now filled
   534  //        fmt.Println(resp)
   535  //    }
   536  //
   537  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateIpGroup
   538  func (c *WorkSpaces) CreateIpGroupRequest(input *CreateIpGroupInput) (req *request.Request, output *CreateIpGroupOutput) {
   539  	op := &request.Operation{
   540  		Name:       opCreateIpGroup,
   541  		HTTPMethod: "POST",
   542  		HTTPPath:   "/",
   543  	}
   544  
   545  	if input == nil {
   546  		input = &CreateIpGroupInput{}
   547  	}
   548  
   549  	output = &CreateIpGroupOutput{}
   550  	req = c.newRequest(op, input, output)
   551  	return
   552  }
   553  
   554  // CreateIpGroup API operation for Amazon WorkSpaces.
   555  //
   556  // Creates an IP access control group.
   557  //
   558  // An IP access control group provides you with the ability to control the IP
   559  // addresses from which users are allowed to access their WorkSpaces. To specify
   560  // the CIDR address ranges, add rules to your IP access control group and then
   561  // associate the group with your directory. You can add rules when you create
   562  // the group or at any time using AuthorizeIpRules.
   563  //
   564  // There is a default IP access control group associated with your directory.
   565  // If you don't associate an IP access control group with your directory, the
   566  // default group is used. The default group includes a default rule that allows
   567  // users to access their WorkSpaces from anywhere. You cannot modify the default
   568  // IP access control group for your directory.
   569  //
   570  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   571  // with awserr.Error's Code and Message methods to get detailed information about
   572  // the error.
   573  //
   574  // See the AWS API reference guide for Amazon WorkSpaces's
   575  // API operation CreateIpGroup for usage and error information.
   576  //
   577  // Returned Error Types:
   578  //   * InvalidParameterValuesException
   579  //   One or more parameter values are not valid.
   580  //
   581  //   * ResourceLimitExceededException
   582  //   Your resource limits have been exceeded.
   583  //
   584  //   * ResourceAlreadyExistsException
   585  //   The specified resource already exists.
   586  //
   587  //   * ResourceCreationFailedException
   588  //   The resource could not be created.
   589  //
   590  //   * AccessDeniedException
   591  //   The user is not authorized to access a resource.
   592  //
   593  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateIpGroup
   594  func (c *WorkSpaces) CreateIpGroup(input *CreateIpGroupInput) (*CreateIpGroupOutput, error) {
   595  	req, out := c.CreateIpGroupRequest(input)
   596  	return out, req.Send()
   597  }
   598  
   599  // CreateIpGroupWithContext is the same as CreateIpGroup with the addition of
   600  // the ability to pass a context and additional request options.
   601  //
   602  // See CreateIpGroup for details on how to use this API operation.
   603  //
   604  // The context must be non-nil and will be used for request cancellation. If
   605  // the context is nil a panic will occur. In the future the SDK may create
   606  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   607  // for more information on using Contexts.
   608  func (c *WorkSpaces) CreateIpGroupWithContext(ctx aws.Context, input *CreateIpGroupInput, opts ...request.Option) (*CreateIpGroupOutput, error) {
   609  	req, out := c.CreateIpGroupRequest(input)
   610  	req.SetContext(ctx)
   611  	req.ApplyOptions(opts...)
   612  	return out, req.Send()
   613  }
   614  
   615  const opCreateTags = "CreateTags"
   616  
   617  // CreateTagsRequest generates a "aws/request.Request" representing the
   618  // client's request for the CreateTags operation. The "output" return
   619  // value will be populated with the request's response once the request completes
   620  // successfully.
   621  //
   622  // Use "Send" method on the returned Request to send the API call to the service.
   623  // the "output" return value is not valid until after Send returns without error.
   624  //
   625  // See CreateTags for more information on using the CreateTags
   626  // API call, and error handling.
   627  //
   628  // This method is useful when you want to inject custom logic or configuration
   629  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   630  //
   631  //
   632  //    // Example sending a request using the CreateTagsRequest method.
   633  //    req, resp := client.CreateTagsRequest(params)
   634  //
   635  //    err := req.Send()
   636  //    if err == nil { // resp is now filled
   637  //        fmt.Println(resp)
   638  //    }
   639  //
   640  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateTags
   641  func (c *WorkSpaces) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
   642  	op := &request.Operation{
   643  		Name:       opCreateTags,
   644  		HTTPMethod: "POST",
   645  		HTTPPath:   "/",
   646  	}
   647  
   648  	if input == nil {
   649  		input = &CreateTagsInput{}
   650  	}
   651  
   652  	output = &CreateTagsOutput{}
   653  	req = c.newRequest(op, input, output)
   654  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   655  	return
   656  }
   657  
   658  // CreateTags API operation for Amazon WorkSpaces.
   659  //
   660  // Creates the specified tags for the specified WorkSpaces resource.
   661  //
   662  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   663  // with awserr.Error's Code and Message methods to get detailed information about
   664  // the error.
   665  //
   666  // See the AWS API reference guide for Amazon WorkSpaces's
   667  // API operation CreateTags for usage and error information.
   668  //
   669  // Returned Error Types:
   670  //   * ResourceNotFoundException
   671  //   The resource could not be found.
   672  //
   673  //   * InvalidParameterValuesException
   674  //   One or more parameter values are not valid.
   675  //
   676  //   * ResourceLimitExceededException
   677  //   Your resource limits have been exceeded.
   678  //
   679  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateTags
   680  func (c *WorkSpaces) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
   681  	req, out := c.CreateTagsRequest(input)
   682  	return out, req.Send()
   683  }
   684  
   685  // CreateTagsWithContext is the same as CreateTags with the addition of
   686  // the ability to pass a context and additional request options.
   687  //
   688  // See CreateTags for details on how to use this API operation.
   689  //
   690  // The context must be non-nil and will be used for request cancellation. If
   691  // the context is nil a panic will occur. In the future the SDK may create
   692  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   693  // for more information on using Contexts.
   694  func (c *WorkSpaces) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
   695  	req, out := c.CreateTagsRequest(input)
   696  	req.SetContext(ctx)
   697  	req.ApplyOptions(opts...)
   698  	return out, req.Send()
   699  }
   700  
   701  const opCreateUpdatedWorkspaceImage = "CreateUpdatedWorkspaceImage"
   702  
   703  // CreateUpdatedWorkspaceImageRequest generates a "aws/request.Request" representing the
   704  // client's request for the CreateUpdatedWorkspaceImage operation. The "output" return
   705  // value will be populated with the request's response once the request completes
   706  // successfully.
   707  //
   708  // Use "Send" method on the returned Request to send the API call to the service.
   709  // the "output" return value is not valid until after Send returns without error.
   710  //
   711  // See CreateUpdatedWorkspaceImage for more information on using the CreateUpdatedWorkspaceImage
   712  // API call, and error handling.
   713  //
   714  // This method is useful when you want to inject custom logic or configuration
   715  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   716  //
   717  //
   718  //    // Example sending a request using the CreateUpdatedWorkspaceImageRequest method.
   719  //    req, resp := client.CreateUpdatedWorkspaceImageRequest(params)
   720  //
   721  //    err := req.Send()
   722  //    if err == nil { // resp is now filled
   723  //        fmt.Println(resp)
   724  //    }
   725  //
   726  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateUpdatedWorkspaceImage
   727  func (c *WorkSpaces) CreateUpdatedWorkspaceImageRequest(input *CreateUpdatedWorkspaceImageInput) (req *request.Request, output *CreateUpdatedWorkspaceImageOutput) {
   728  	op := &request.Operation{
   729  		Name:       opCreateUpdatedWorkspaceImage,
   730  		HTTPMethod: "POST",
   731  		HTTPPath:   "/",
   732  	}
   733  
   734  	if input == nil {
   735  		input = &CreateUpdatedWorkspaceImageInput{}
   736  	}
   737  
   738  	output = &CreateUpdatedWorkspaceImageOutput{}
   739  	req = c.newRequest(op, input, output)
   740  	return
   741  }
   742  
   743  // CreateUpdatedWorkspaceImage API operation for Amazon WorkSpaces.
   744  //
   745  // Creates a new updated WorkSpace image based on the specified source image.
   746  // The new updated WorkSpace image has the latest drivers and other updates
   747  // required by the Amazon WorkSpaces components.
   748  //
   749  // To determine which WorkSpace images need to be updated with the latest Amazon
   750  // WorkSpaces requirements, use DescribeWorkspaceImages (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceImages.html).
   751  //
   752  //    * Only Windows 10 WorkSpace images can be programmatically updated at
   753  //    this time.
   754  //
   755  //    * Microsoft Windows updates and other application updates are not included
   756  //    in the update process.
   757  //
   758  //    * The source WorkSpace image is not deleted. You can delete the source
   759  //    image after you've verified your new updated image and created a new bundle.
   760  //
   761  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   762  // with awserr.Error's Code and Message methods to get detailed information about
   763  // the error.
   764  //
   765  // See the AWS API reference guide for Amazon WorkSpaces's
   766  // API operation CreateUpdatedWorkspaceImage for usage and error information.
   767  //
   768  // Returned Error Types:
   769  //   * ResourceLimitExceededException
   770  //   Your resource limits have been exceeded.
   771  //
   772  //   * ResourceAlreadyExistsException
   773  //   The specified resource already exists.
   774  //
   775  //   * ResourceNotFoundException
   776  //   The resource could not be found.
   777  //
   778  //   * OperationNotSupportedException
   779  //   This operation is not supported.
   780  //
   781  //   * InvalidResourceStateException
   782  //   The state of the resource is not valid for this operation.
   783  //
   784  //   * AccessDeniedException
   785  //   The user is not authorized to access a resource.
   786  //
   787  //   * InvalidParameterValuesException
   788  //   One or more parameter values are not valid.
   789  //
   790  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateUpdatedWorkspaceImage
   791  func (c *WorkSpaces) CreateUpdatedWorkspaceImage(input *CreateUpdatedWorkspaceImageInput) (*CreateUpdatedWorkspaceImageOutput, error) {
   792  	req, out := c.CreateUpdatedWorkspaceImageRequest(input)
   793  	return out, req.Send()
   794  }
   795  
   796  // CreateUpdatedWorkspaceImageWithContext is the same as CreateUpdatedWorkspaceImage with the addition of
   797  // the ability to pass a context and additional request options.
   798  //
   799  // See CreateUpdatedWorkspaceImage for details on how to use this API operation.
   800  //
   801  // The context must be non-nil and will be used for request cancellation. If
   802  // the context is nil a panic will occur. In the future the SDK may create
   803  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   804  // for more information on using Contexts.
   805  func (c *WorkSpaces) CreateUpdatedWorkspaceImageWithContext(ctx aws.Context, input *CreateUpdatedWorkspaceImageInput, opts ...request.Option) (*CreateUpdatedWorkspaceImageOutput, error) {
   806  	req, out := c.CreateUpdatedWorkspaceImageRequest(input)
   807  	req.SetContext(ctx)
   808  	req.ApplyOptions(opts...)
   809  	return out, req.Send()
   810  }
   811  
   812  const opCreateWorkspaceBundle = "CreateWorkspaceBundle"
   813  
   814  // CreateWorkspaceBundleRequest generates a "aws/request.Request" representing the
   815  // client's request for the CreateWorkspaceBundle operation. The "output" return
   816  // value will be populated with the request's response once the request completes
   817  // successfully.
   818  //
   819  // Use "Send" method on the returned Request to send the API call to the service.
   820  // the "output" return value is not valid until after Send returns without error.
   821  //
   822  // See CreateWorkspaceBundle for more information on using the CreateWorkspaceBundle
   823  // API call, and error handling.
   824  //
   825  // This method is useful when you want to inject custom logic or configuration
   826  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   827  //
   828  //
   829  //    // Example sending a request using the CreateWorkspaceBundleRequest method.
   830  //    req, resp := client.CreateWorkspaceBundleRequest(params)
   831  //
   832  //    err := req.Send()
   833  //    if err == nil { // resp is now filled
   834  //        fmt.Println(resp)
   835  //    }
   836  //
   837  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateWorkspaceBundle
   838  func (c *WorkSpaces) CreateWorkspaceBundleRequest(input *CreateWorkspaceBundleInput) (req *request.Request, output *CreateWorkspaceBundleOutput) {
   839  	op := &request.Operation{
   840  		Name:       opCreateWorkspaceBundle,
   841  		HTTPMethod: "POST",
   842  		HTTPPath:   "/",
   843  	}
   844  
   845  	if input == nil {
   846  		input = &CreateWorkspaceBundleInput{}
   847  	}
   848  
   849  	output = &CreateWorkspaceBundleOutput{}
   850  	req = c.newRequest(op, input, output)
   851  	return
   852  }
   853  
   854  // CreateWorkspaceBundle API operation for Amazon WorkSpaces.
   855  //
   856  // Creates the specified WorkSpace bundle. For more information about creating
   857  // WorkSpace bundles, see Create a Custom WorkSpaces Image and Bundle (https://docs.aws.amazon.com/workspaces/latest/adminguide/create-custom-bundle.html).
   858  //
   859  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   860  // with awserr.Error's Code and Message methods to get detailed information about
   861  // the error.
   862  //
   863  // See the AWS API reference guide for Amazon WorkSpaces's
   864  // API operation CreateWorkspaceBundle for usage and error information.
   865  //
   866  // Returned Error Types:
   867  //   * ResourceUnavailableException
   868  //   The specified resource is not available.
   869  //
   870  //   * ResourceAlreadyExistsException
   871  //   The specified resource already exists.
   872  //
   873  //   * ResourceLimitExceededException
   874  //   Your resource limits have been exceeded.
   875  //
   876  //   * InvalidParameterValuesException
   877  //   One or more parameter values are not valid.
   878  //
   879  //   * ResourceNotFoundException
   880  //   The resource could not be found.
   881  //
   882  //   * AccessDeniedException
   883  //   The user is not authorized to access a resource.
   884  //
   885  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateWorkspaceBundle
   886  func (c *WorkSpaces) CreateWorkspaceBundle(input *CreateWorkspaceBundleInput) (*CreateWorkspaceBundleOutput, error) {
   887  	req, out := c.CreateWorkspaceBundleRequest(input)
   888  	return out, req.Send()
   889  }
   890  
   891  // CreateWorkspaceBundleWithContext is the same as CreateWorkspaceBundle with the addition of
   892  // the ability to pass a context and additional request options.
   893  //
   894  // See CreateWorkspaceBundle for details on how to use this API operation.
   895  //
   896  // The context must be non-nil and will be used for request cancellation. If
   897  // the context is nil a panic will occur. In the future the SDK may create
   898  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   899  // for more information on using Contexts.
   900  func (c *WorkSpaces) CreateWorkspaceBundleWithContext(ctx aws.Context, input *CreateWorkspaceBundleInput, opts ...request.Option) (*CreateWorkspaceBundleOutput, error) {
   901  	req, out := c.CreateWorkspaceBundleRequest(input)
   902  	req.SetContext(ctx)
   903  	req.ApplyOptions(opts...)
   904  	return out, req.Send()
   905  }
   906  
   907  const opCreateWorkspaces = "CreateWorkspaces"
   908  
   909  // CreateWorkspacesRequest generates a "aws/request.Request" representing the
   910  // client's request for the CreateWorkspaces operation. The "output" return
   911  // value will be populated with the request's response once the request completes
   912  // successfully.
   913  //
   914  // Use "Send" method on the returned Request to send the API call to the service.
   915  // the "output" return value is not valid until after Send returns without error.
   916  //
   917  // See CreateWorkspaces for more information on using the CreateWorkspaces
   918  // API call, and error handling.
   919  //
   920  // This method is useful when you want to inject custom logic or configuration
   921  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   922  //
   923  //
   924  //    // Example sending a request using the CreateWorkspacesRequest method.
   925  //    req, resp := client.CreateWorkspacesRequest(params)
   926  //
   927  //    err := req.Send()
   928  //    if err == nil { // resp is now filled
   929  //        fmt.Println(resp)
   930  //    }
   931  //
   932  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateWorkspaces
   933  func (c *WorkSpaces) CreateWorkspacesRequest(input *CreateWorkspacesInput) (req *request.Request, output *CreateWorkspacesOutput) {
   934  	op := &request.Operation{
   935  		Name:       opCreateWorkspaces,
   936  		HTTPMethod: "POST",
   937  		HTTPPath:   "/",
   938  	}
   939  
   940  	if input == nil {
   941  		input = &CreateWorkspacesInput{}
   942  	}
   943  
   944  	output = &CreateWorkspacesOutput{}
   945  	req = c.newRequest(op, input, output)
   946  	return
   947  }
   948  
   949  // CreateWorkspaces API operation for Amazon WorkSpaces.
   950  //
   951  // Creates one or more WorkSpaces.
   952  //
   953  // This operation is asynchronous and returns before the WorkSpaces are created.
   954  //
   955  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   956  // with awserr.Error's Code and Message methods to get detailed information about
   957  // the error.
   958  //
   959  // See the AWS API reference guide for Amazon WorkSpaces's
   960  // API operation CreateWorkspaces for usage and error information.
   961  //
   962  // Returned Error Types:
   963  //   * ResourceLimitExceededException
   964  //   Your resource limits have been exceeded.
   965  //
   966  //   * InvalidParameterValuesException
   967  //   One or more parameter values are not valid.
   968  //
   969  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/CreateWorkspaces
   970  func (c *WorkSpaces) CreateWorkspaces(input *CreateWorkspacesInput) (*CreateWorkspacesOutput, error) {
   971  	req, out := c.CreateWorkspacesRequest(input)
   972  	return out, req.Send()
   973  }
   974  
   975  // CreateWorkspacesWithContext is the same as CreateWorkspaces with the addition of
   976  // the ability to pass a context and additional request options.
   977  //
   978  // See CreateWorkspaces for details on how to use this API operation.
   979  //
   980  // The context must be non-nil and will be used for request cancellation. If
   981  // the context is nil a panic will occur. In the future the SDK may create
   982  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   983  // for more information on using Contexts.
   984  func (c *WorkSpaces) CreateWorkspacesWithContext(ctx aws.Context, input *CreateWorkspacesInput, opts ...request.Option) (*CreateWorkspacesOutput, error) {
   985  	req, out := c.CreateWorkspacesRequest(input)
   986  	req.SetContext(ctx)
   987  	req.ApplyOptions(opts...)
   988  	return out, req.Send()
   989  }
   990  
   991  const opDeleteConnectionAlias = "DeleteConnectionAlias"
   992  
   993  // DeleteConnectionAliasRequest generates a "aws/request.Request" representing the
   994  // client's request for the DeleteConnectionAlias operation. The "output" return
   995  // value will be populated with the request's response once the request completes
   996  // successfully.
   997  //
   998  // Use "Send" method on the returned Request to send the API call to the service.
   999  // the "output" return value is not valid until after Send returns without error.
  1000  //
  1001  // See DeleteConnectionAlias for more information on using the DeleteConnectionAlias
  1002  // API call, and error handling.
  1003  //
  1004  // This method is useful when you want to inject custom logic or configuration
  1005  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1006  //
  1007  //
  1008  //    // Example sending a request using the DeleteConnectionAliasRequest method.
  1009  //    req, resp := client.DeleteConnectionAliasRequest(params)
  1010  //
  1011  //    err := req.Send()
  1012  //    if err == nil { // resp is now filled
  1013  //        fmt.Println(resp)
  1014  //    }
  1015  //
  1016  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteConnectionAlias
  1017  func (c *WorkSpaces) DeleteConnectionAliasRequest(input *DeleteConnectionAliasInput) (req *request.Request, output *DeleteConnectionAliasOutput) {
  1018  	op := &request.Operation{
  1019  		Name:       opDeleteConnectionAlias,
  1020  		HTTPMethod: "POST",
  1021  		HTTPPath:   "/",
  1022  	}
  1023  
  1024  	if input == nil {
  1025  		input = &DeleteConnectionAliasInput{}
  1026  	}
  1027  
  1028  	output = &DeleteConnectionAliasOutput{}
  1029  	req = c.newRequest(op, input, output)
  1030  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1031  	return
  1032  }
  1033  
  1034  // DeleteConnectionAlias API operation for Amazon WorkSpaces.
  1035  //
  1036  // Deletes the specified connection alias. For more information, see Cross-Region
  1037  // Redirection for Amazon WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html).
  1038  //
  1039  // If you will no longer be using a fully qualified domain name (FQDN) as the
  1040  // registration code for your WorkSpaces users, you must take certain precautions
  1041  // to prevent potential security issues. For more information, see Security
  1042  // Considerations if You Stop Using Cross-Region Redirection (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html#cross-region-redirection-security-considerations).
  1043  //
  1044  // To delete a connection alias that has been shared, the shared account must
  1045  // first disassociate the connection alias from any directories it has been
  1046  // associated with. Then you must unshare the connection alias from the account
  1047  // it has been shared with. You can delete a connection alias only after it
  1048  // is no longer shared with any accounts or associated with any directories.
  1049  //
  1050  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1051  // with awserr.Error's Code and Message methods to get detailed information about
  1052  // the error.
  1053  //
  1054  // See the AWS API reference guide for Amazon WorkSpaces's
  1055  // API operation DeleteConnectionAlias for usage and error information.
  1056  //
  1057  // Returned Error Types:
  1058  //   * ResourceNotFoundException
  1059  //   The resource could not be found.
  1060  //
  1061  //   * ResourceAssociatedException
  1062  //   The resource is associated with a directory.
  1063  //
  1064  //   * AccessDeniedException
  1065  //   The user is not authorized to access a resource.
  1066  //
  1067  //   * InvalidParameterValuesException
  1068  //   One or more parameter values are not valid.
  1069  //
  1070  //   * InvalidResourceStateException
  1071  //   The state of the resource is not valid for this operation.
  1072  //
  1073  //   * OperationNotSupportedException
  1074  //   This operation is not supported.
  1075  //
  1076  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteConnectionAlias
  1077  func (c *WorkSpaces) DeleteConnectionAlias(input *DeleteConnectionAliasInput) (*DeleteConnectionAliasOutput, error) {
  1078  	req, out := c.DeleteConnectionAliasRequest(input)
  1079  	return out, req.Send()
  1080  }
  1081  
  1082  // DeleteConnectionAliasWithContext is the same as DeleteConnectionAlias with the addition of
  1083  // the ability to pass a context and additional request options.
  1084  //
  1085  // See DeleteConnectionAlias for details on how to use this API operation.
  1086  //
  1087  // The context must be non-nil and will be used for request cancellation. If
  1088  // the context is nil a panic will occur. In the future the SDK may create
  1089  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1090  // for more information on using Contexts.
  1091  func (c *WorkSpaces) DeleteConnectionAliasWithContext(ctx aws.Context, input *DeleteConnectionAliasInput, opts ...request.Option) (*DeleteConnectionAliasOutput, error) {
  1092  	req, out := c.DeleteConnectionAliasRequest(input)
  1093  	req.SetContext(ctx)
  1094  	req.ApplyOptions(opts...)
  1095  	return out, req.Send()
  1096  }
  1097  
  1098  const opDeleteIpGroup = "DeleteIpGroup"
  1099  
  1100  // DeleteIpGroupRequest generates a "aws/request.Request" representing the
  1101  // client's request for the DeleteIpGroup operation. The "output" return
  1102  // value will be populated with the request's response once the request completes
  1103  // successfully.
  1104  //
  1105  // Use "Send" method on the returned Request to send the API call to the service.
  1106  // the "output" return value is not valid until after Send returns without error.
  1107  //
  1108  // See DeleteIpGroup for more information on using the DeleteIpGroup
  1109  // API call, and error handling.
  1110  //
  1111  // This method is useful when you want to inject custom logic or configuration
  1112  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1113  //
  1114  //
  1115  //    // Example sending a request using the DeleteIpGroupRequest method.
  1116  //    req, resp := client.DeleteIpGroupRequest(params)
  1117  //
  1118  //    err := req.Send()
  1119  //    if err == nil { // resp is now filled
  1120  //        fmt.Println(resp)
  1121  //    }
  1122  //
  1123  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteIpGroup
  1124  func (c *WorkSpaces) DeleteIpGroupRequest(input *DeleteIpGroupInput) (req *request.Request, output *DeleteIpGroupOutput) {
  1125  	op := &request.Operation{
  1126  		Name:       opDeleteIpGroup,
  1127  		HTTPMethod: "POST",
  1128  		HTTPPath:   "/",
  1129  	}
  1130  
  1131  	if input == nil {
  1132  		input = &DeleteIpGroupInput{}
  1133  	}
  1134  
  1135  	output = &DeleteIpGroupOutput{}
  1136  	req = c.newRequest(op, input, output)
  1137  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1138  	return
  1139  }
  1140  
  1141  // DeleteIpGroup API operation for Amazon WorkSpaces.
  1142  //
  1143  // Deletes the specified IP access control group.
  1144  //
  1145  // You cannot delete an IP access control group that is associated with a directory.
  1146  //
  1147  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1148  // with awserr.Error's Code and Message methods to get detailed information about
  1149  // the error.
  1150  //
  1151  // See the AWS API reference guide for Amazon WorkSpaces's
  1152  // API operation DeleteIpGroup for usage and error information.
  1153  //
  1154  // Returned Error Types:
  1155  //   * InvalidParameterValuesException
  1156  //   One or more parameter values are not valid.
  1157  //
  1158  //   * ResourceNotFoundException
  1159  //   The resource could not be found.
  1160  //
  1161  //   * ResourceAssociatedException
  1162  //   The resource is associated with a directory.
  1163  //
  1164  //   * AccessDeniedException
  1165  //   The user is not authorized to access a resource.
  1166  //
  1167  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteIpGroup
  1168  func (c *WorkSpaces) DeleteIpGroup(input *DeleteIpGroupInput) (*DeleteIpGroupOutput, error) {
  1169  	req, out := c.DeleteIpGroupRequest(input)
  1170  	return out, req.Send()
  1171  }
  1172  
  1173  // DeleteIpGroupWithContext is the same as DeleteIpGroup with the addition of
  1174  // the ability to pass a context and additional request options.
  1175  //
  1176  // See DeleteIpGroup for details on how to use this API operation.
  1177  //
  1178  // The context must be non-nil and will be used for request cancellation. If
  1179  // the context is nil a panic will occur. In the future the SDK may create
  1180  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1181  // for more information on using Contexts.
  1182  func (c *WorkSpaces) DeleteIpGroupWithContext(ctx aws.Context, input *DeleteIpGroupInput, opts ...request.Option) (*DeleteIpGroupOutput, error) {
  1183  	req, out := c.DeleteIpGroupRequest(input)
  1184  	req.SetContext(ctx)
  1185  	req.ApplyOptions(opts...)
  1186  	return out, req.Send()
  1187  }
  1188  
  1189  const opDeleteTags = "DeleteTags"
  1190  
  1191  // DeleteTagsRequest generates a "aws/request.Request" representing the
  1192  // client's request for the DeleteTags operation. The "output" return
  1193  // value will be populated with the request's response once the request completes
  1194  // successfully.
  1195  //
  1196  // Use "Send" method on the returned Request to send the API call to the service.
  1197  // the "output" return value is not valid until after Send returns without error.
  1198  //
  1199  // See DeleteTags for more information on using the DeleteTags
  1200  // API call, and error handling.
  1201  //
  1202  // This method is useful when you want to inject custom logic or configuration
  1203  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1204  //
  1205  //
  1206  //    // Example sending a request using the DeleteTagsRequest method.
  1207  //    req, resp := client.DeleteTagsRequest(params)
  1208  //
  1209  //    err := req.Send()
  1210  //    if err == nil { // resp is now filled
  1211  //        fmt.Println(resp)
  1212  //    }
  1213  //
  1214  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteTags
  1215  func (c *WorkSpaces) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  1216  	op := &request.Operation{
  1217  		Name:       opDeleteTags,
  1218  		HTTPMethod: "POST",
  1219  		HTTPPath:   "/",
  1220  	}
  1221  
  1222  	if input == nil {
  1223  		input = &DeleteTagsInput{}
  1224  	}
  1225  
  1226  	output = &DeleteTagsOutput{}
  1227  	req = c.newRequest(op, input, output)
  1228  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1229  	return
  1230  }
  1231  
  1232  // DeleteTags API operation for Amazon WorkSpaces.
  1233  //
  1234  // Deletes the specified tags from the specified WorkSpaces resource.
  1235  //
  1236  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1237  // with awserr.Error's Code and Message methods to get detailed information about
  1238  // the error.
  1239  //
  1240  // See the AWS API reference guide for Amazon WorkSpaces's
  1241  // API operation DeleteTags for usage and error information.
  1242  //
  1243  // Returned Error Types:
  1244  //   * ResourceNotFoundException
  1245  //   The resource could not be found.
  1246  //
  1247  //   * InvalidParameterValuesException
  1248  //   One or more parameter values are not valid.
  1249  //
  1250  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteTags
  1251  func (c *WorkSpaces) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  1252  	req, out := c.DeleteTagsRequest(input)
  1253  	return out, req.Send()
  1254  }
  1255  
  1256  // DeleteTagsWithContext is the same as DeleteTags with the addition of
  1257  // the ability to pass a context and additional request options.
  1258  //
  1259  // See DeleteTags for details on how to use this API operation.
  1260  //
  1261  // The context must be non-nil and will be used for request cancellation. If
  1262  // the context is nil a panic will occur. In the future the SDK may create
  1263  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1264  // for more information on using Contexts.
  1265  func (c *WorkSpaces) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
  1266  	req, out := c.DeleteTagsRequest(input)
  1267  	req.SetContext(ctx)
  1268  	req.ApplyOptions(opts...)
  1269  	return out, req.Send()
  1270  }
  1271  
  1272  const opDeleteWorkspaceBundle = "DeleteWorkspaceBundle"
  1273  
  1274  // DeleteWorkspaceBundleRequest generates a "aws/request.Request" representing the
  1275  // client's request for the DeleteWorkspaceBundle operation. The "output" return
  1276  // value will be populated with the request's response once the request completes
  1277  // successfully.
  1278  //
  1279  // Use "Send" method on the returned Request to send the API call to the service.
  1280  // the "output" return value is not valid until after Send returns without error.
  1281  //
  1282  // See DeleteWorkspaceBundle for more information on using the DeleteWorkspaceBundle
  1283  // API call, and error handling.
  1284  //
  1285  // This method is useful when you want to inject custom logic or configuration
  1286  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1287  //
  1288  //
  1289  //    // Example sending a request using the DeleteWorkspaceBundleRequest method.
  1290  //    req, resp := client.DeleteWorkspaceBundleRequest(params)
  1291  //
  1292  //    err := req.Send()
  1293  //    if err == nil { // resp is now filled
  1294  //        fmt.Println(resp)
  1295  //    }
  1296  //
  1297  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteWorkspaceBundle
  1298  func (c *WorkSpaces) DeleteWorkspaceBundleRequest(input *DeleteWorkspaceBundleInput) (req *request.Request, output *DeleteWorkspaceBundleOutput) {
  1299  	op := &request.Operation{
  1300  		Name:       opDeleteWorkspaceBundle,
  1301  		HTTPMethod: "POST",
  1302  		HTTPPath:   "/",
  1303  	}
  1304  
  1305  	if input == nil {
  1306  		input = &DeleteWorkspaceBundleInput{}
  1307  	}
  1308  
  1309  	output = &DeleteWorkspaceBundleOutput{}
  1310  	req = c.newRequest(op, input, output)
  1311  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1312  	return
  1313  }
  1314  
  1315  // DeleteWorkspaceBundle API operation for Amazon WorkSpaces.
  1316  //
  1317  // Deletes the specified WorkSpace bundle. For more information about deleting
  1318  // WorkSpace bundles, see Delete a Custom WorkSpaces Bundle or Image (https://docs.aws.amazon.com/workspaces/latest/adminguide/delete_bundle.html).
  1319  //
  1320  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1321  // with awserr.Error's Code and Message methods to get detailed information about
  1322  // the error.
  1323  //
  1324  // See the AWS API reference guide for Amazon WorkSpaces's
  1325  // API operation DeleteWorkspaceBundle for usage and error information.
  1326  //
  1327  // Returned Error Types:
  1328  //   * InvalidParameterValuesException
  1329  //   One or more parameter values are not valid.
  1330  //
  1331  //   * ResourceNotFoundException
  1332  //   The resource could not be found.
  1333  //
  1334  //   * ResourceAssociatedException
  1335  //   The resource is associated with a directory.
  1336  //
  1337  //   * AccessDeniedException
  1338  //   The user is not authorized to access a resource.
  1339  //
  1340  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteWorkspaceBundle
  1341  func (c *WorkSpaces) DeleteWorkspaceBundle(input *DeleteWorkspaceBundleInput) (*DeleteWorkspaceBundleOutput, error) {
  1342  	req, out := c.DeleteWorkspaceBundleRequest(input)
  1343  	return out, req.Send()
  1344  }
  1345  
  1346  // DeleteWorkspaceBundleWithContext is the same as DeleteWorkspaceBundle with the addition of
  1347  // the ability to pass a context and additional request options.
  1348  //
  1349  // See DeleteWorkspaceBundle for details on how to use this API operation.
  1350  //
  1351  // The context must be non-nil and will be used for request cancellation. If
  1352  // the context is nil a panic will occur. In the future the SDK may create
  1353  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1354  // for more information on using Contexts.
  1355  func (c *WorkSpaces) DeleteWorkspaceBundleWithContext(ctx aws.Context, input *DeleteWorkspaceBundleInput, opts ...request.Option) (*DeleteWorkspaceBundleOutput, error) {
  1356  	req, out := c.DeleteWorkspaceBundleRequest(input)
  1357  	req.SetContext(ctx)
  1358  	req.ApplyOptions(opts...)
  1359  	return out, req.Send()
  1360  }
  1361  
  1362  const opDeleteWorkspaceImage = "DeleteWorkspaceImage"
  1363  
  1364  // DeleteWorkspaceImageRequest generates a "aws/request.Request" representing the
  1365  // client's request for the DeleteWorkspaceImage operation. The "output" return
  1366  // value will be populated with the request's response once the request completes
  1367  // successfully.
  1368  //
  1369  // Use "Send" method on the returned Request to send the API call to the service.
  1370  // the "output" return value is not valid until after Send returns without error.
  1371  //
  1372  // See DeleteWorkspaceImage for more information on using the DeleteWorkspaceImage
  1373  // API call, and error handling.
  1374  //
  1375  // This method is useful when you want to inject custom logic or configuration
  1376  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1377  //
  1378  //
  1379  //    // Example sending a request using the DeleteWorkspaceImageRequest method.
  1380  //    req, resp := client.DeleteWorkspaceImageRequest(params)
  1381  //
  1382  //    err := req.Send()
  1383  //    if err == nil { // resp is now filled
  1384  //        fmt.Println(resp)
  1385  //    }
  1386  //
  1387  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteWorkspaceImage
  1388  func (c *WorkSpaces) DeleteWorkspaceImageRequest(input *DeleteWorkspaceImageInput) (req *request.Request, output *DeleteWorkspaceImageOutput) {
  1389  	op := &request.Operation{
  1390  		Name:       opDeleteWorkspaceImage,
  1391  		HTTPMethod: "POST",
  1392  		HTTPPath:   "/",
  1393  	}
  1394  
  1395  	if input == nil {
  1396  		input = &DeleteWorkspaceImageInput{}
  1397  	}
  1398  
  1399  	output = &DeleteWorkspaceImageOutput{}
  1400  	req = c.newRequest(op, input, output)
  1401  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1402  	return
  1403  }
  1404  
  1405  // DeleteWorkspaceImage API operation for Amazon WorkSpaces.
  1406  //
  1407  // Deletes the specified image from your account. To delete an image, you must
  1408  // first delete any bundles that are associated with the image and unshare the
  1409  // image if it is shared with other accounts.
  1410  //
  1411  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1412  // with awserr.Error's Code and Message methods to get detailed information about
  1413  // the error.
  1414  //
  1415  // See the AWS API reference guide for Amazon WorkSpaces's
  1416  // API operation DeleteWorkspaceImage for usage and error information.
  1417  //
  1418  // Returned Error Types:
  1419  //   * ResourceAssociatedException
  1420  //   The resource is associated with a directory.
  1421  //
  1422  //   * InvalidResourceStateException
  1423  //   The state of the resource is not valid for this operation.
  1424  //
  1425  //   * AccessDeniedException
  1426  //   The user is not authorized to access a resource.
  1427  //
  1428  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeleteWorkspaceImage
  1429  func (c *WorkSpaces) DeleteWorkspaceImage(input *DeleteWorkspaceImageInput) (*DeleteWorkspaceImageOutput, error) {
  1430  	req, out := c.DeleteWorkspaceImageRequest(input)
  1431  	return out, req.Send()
  1432  }
  1433  
  1434  // DeleteWorkspaceImageWithContext is the same as DeleteWorkspaceImage with the addition of
  1435  // the ability to pass a context and additional request options.
  1436  //
  1437  // See DeleteWorkspaceImage for details on how to use this API operation.
  1438  //
  1439  // The context must be non-nil and will be used for request cancellation. If
  1440  // the context is nil a panic will occur. In the future the SDK may create
  1441  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1442  // for more information on using Contexts.
  1443  func (c *WorkSpaces) DeleteWorkspaceImageWithContext(ctx aws.Context, input *DeleteWorkspaceImageInput, opts ...request.Option) (*DeleteWorkspaceImageOutput, error) {
  1444  	req, out := c.DeleteWorkspaceImageRequest(input)
  1445  	req.SetContext(ctx)
  1446  	req.ApplyOptions(opts...)
  1447  	return out, req.Send()
  1448  }
  1449  
  1450  const opDeregisterWorkspaceDirectory = "DeregisterWorkspaceDirectory"
  1451  
  1452  // DeregisterWorkspaceDirectoryRequest generates a "aws/request.Request" representing the
  1453  // client's request for the DeregisterWorkspaceDirectory operation. The "output" return
  1454  // value will be populated with the request's response once the request completes
  1455  // successfully.
  1456  //
  1457  // Use "Send" method on the returned Request to send the API call to the service.
  1458  // the "output" return value is not valid until after Send returns without error.
  1459  //
  1460  // See DeregisterWorkspaceDirectory for more information on using the DeregisterWorkspaceDirectory
  1461  // API call, and error handling.
  1462  //
  1463  // This method is useful when you want to inject custom logic or configuration
  1464  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1465  //
  1466  //
  1467  //    // Example sending a request using the DeregisterWorkspaceDirectoryRequest method.
  1468  //    req, resp := client.DeregisterWorkspaceDirectoryRequest(params)
  1469  //
  1470  //    err := req.Send()
  1471  //    if err == nil { // resp is now filled
  1472  //        fmt.Println(resp)
  1473  //    }
  1474  //
  1475  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeregisterWorkspaceDirectory
  1476  func (c *WorkSpaces) DeregisterWorkspaceDirectoryRequest(input *DeregisterWorkspaceDirectoryInput) (req *request.Request, output *DeregisterWorkspaceDirectoryOutput) {
  1477  	op := &request.Operation{
  1478  		Name:       opDeregisterWorkspaceDirectory,
  1479  		HTTPMethod: "POST",
  1480  		HTTPPath:   "/",
  1481  	}
  1482  
  1483  	if input == nil {
  1484  		input = &DeregisterWorkspaceDirectoryInput{}
  1485  	}
  1486  
  1487  	output = &DeregisterWorkspaceDirectoryOutput{}
  1488  	req = c.newRequest(op, input, output)
  1489  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1490  	return
  1491  }
  1492  
  1493  // DeregisterWorkspaceDirectory API operation for Amazon WorkSpaces.
  1494  //
  1495  // Deregisters the specified directory. This operation is asynchronous and returns
  1496  // before the WorkSpace directory is deregistered. If any WorkSpaces are registered
  1497  // to this directory, you must remove them before you can deregister the directory.
  1498  //
  1499  // Simple AD and AD Connector are made available to you free of charge to use
  1500  // with WorkSpaces. If there are no WorkSpaces being used with your Simple AD
  1501  // or AD Connector directory for 30 consecutive days, this directory will be
  1502  // automatically deregistered for use with Amazon WorkSpaces, and you will be
  1503  // charged for this directory as per the Directory Service pricing terms (http://aws.amazon.com/directoryservice/pricing/).
  1504  //
  1505  // To delete empty directories, see Delete the Directory for Your WorkSpaces
  1506  // (https://docs.aws.amazon.com/workspaces/latest/adminguide/delete-workspaces-directory.html).
  1507  // If you delete your Simple AD or AD Connector directory, you can always create
  1508  // a new one when you want to start using WorkSpaces again.
  1509  //
  1510  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1511  // with awserr.Error's Code and Message methods to get detailed information about
  1512  // the error.
  1513  //
  1514  // See the AWS API reference guide for Amazon WorkSpaces's
  1515  // API operation DeregisterWorkspaceDirectory for usage and error information.
  1516  //
  1517  // Returned Error Types:
  1518  //   * AccessDeniedException
  1519  //   The user is not authorized to access a resource.
  1520  //
  1521  //   * InvalidParameterValuesException
  1522  //   One or more parameter values are not valid.
  1523  //
  1524  //   * OperationNotSupportedException
  1525  //   This operation is not supported.
  1526  //
  1527  //   * ResourceNotFoundException
  1528  //   The resource could not be found.
  1529  //
  1530  //   * InvalidResourceStateException
  1531  //   The state of the resource is not valid for this operation.
  1532  //
  1533  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DeregisterWorkspaceDirectory
  1534  func (c *WorkSpaces) DeregisterWorkspaceDirectory(input *DeregisterWorkspaceDirectoryInput) (*DeregisterWorkspaceDirectoryOutput, error) {
  1535  	req, out := c.DeregisterWorkspaceDirectoryRequest(input)
  1536  	return out, req.Send()
  1537  }
  1538  
  1539  // DeregisterWorkspaceDirectoryWithContext is the same as DeregisterWorkspaceDirectory with the addition of
  1540  // the ability to pass a context and additional request options.
  1541  //
  1542  // See DeregisterWorkspaceDirectory for details on how to use this API operation.
  1543  //
  1544  // The context must be non-nil and will be used for request cancellation. If
  1545  // the context is nil a panic will occur. In the future the SDK may create
  1546  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1547  // for more information on using Contexts.
  1548  func (c *WorkSpaces) DeregisterWorkspaceDirectoryWithContext(ctx aws.Context, input *DeregisterWorkspaceDirectoryInput, opts ...request.Option) (*DeregisterWorkspaceDirectoryOutput, error) {
  1549  	req, out := c.DeregisterWorkspaceDirectoryRequest(input)
  1550  	req.SetContext(ctx)
  1551  	req.ApplyOptions(opts...)
  1552  	return out, req.Send()
  1553  }
  1554  
  1555  const opDescribeAccount = "DescribeAccount"
  1556  
  1557  // DescribeAccountRequest generates a "aws/request.Request" representing the
  1558  // client's request for the DescribeAccount operation. The "output" return
  1559  // value will be populated with the request's response once the request completes
  1560  // successfully.
  1561  //
  1562  // Use "Send" method on the returned Request to send the API call to the service.
  1563  // the "output" return value is not valid until after Send returns without error.
  1564  //
  1565  // See DescribeAccount for more information on using the DescribeAccount
  1566  // API call, and error handling.
  1567  //
  1568  // This method is useful when you want to inject custom logic or configuration
  1569  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1570  //
  1571  //
  1572  //    // Example sending a request using the DescribeAccountRequest method.
  1573  //    req, resp := client.DescribeAccountRequest(params)
  1574  //
  1575  //    err := req.Send()
  1576  //    if err == nil { // resp is now filled
  1577  //        fmt.Println(resp)
  1578  //    }
  1579  //
  1580  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeAccount
  1581  func (c *WorkSpaces) DescribeAccountRequest(input *DescribeAccountInput) (req *request.Request, output *DescribeAccountOutput) {
  1582  	op := &request.Operation{
  1583  		Name:       opDescribeAccount,
  1584  		HTTPMethod: "POST",
  1585  		HTTPPath:   "/",
  1586  	}
  1587  
  1588  	if input == nil {
  1589  		input = &DescribeAccountInput{}
  1590  	}
  1591  
  1592  	output = &DescribeAccountOutput{}
  1593  	req = c.newRequest(op, input, output)
  1594  	return
  1595  }
  1596  
  1597  // DescribeAccount API operation for Amazon WorkSpaces.
  1598  //
  1599  // Retrieves a list that describes the configuration of Bring Your Own License
  1600  // (BYOL) for the specified account.
  1601  //
  1602  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1603  // with awserr.Error's Code and Message methods to get detailed information about
  1604  // the error.
  1605  //
  1606  // See the AWS API reference guide for Amazon WorkSpaces's
  1607  // API operation DescribeAccount for usage and error information.
  1608  //
  1609  // Returned Error Types:
  1610  //   * AccessDeniedException
  1611  //   The user is not authorized to access a resource.
  1612  //
  1613  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeAccount
  1614  func (c *WorkSpaces) DescribeAccount(input *DescribeAccountInput) (*DescribeAccountOutput, error) {
  1615  	req, out := c.DescribeAccountRequest(input)
  1616  	return out, req.Send()
  1617  }
  1618  
  1619  // DescribeAccountWithContext is the same as DescribeAccount with the addition of
  1620  // the ability to pass a context and additional request options.
  1621  //
  1622  // See DescribeAccount for details on how to use this API operation.
  1623  //
  1624  // The context must be non-nil and will be used for request cancellation. If
  1625  // the context is nil a panic will occur. In the future the SDK may create
  1626  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1627  // for more information on using Contexts.
  1628  func (c *WorkSpaces) DescribeAccountWithContext(ctx aws.Context, input *DescribeAccountInput, opts ...request.Option) (*DescribeAccountOutput, error) {
  1629  	req, out := c.DescribeAccountRequest(input)
  1630  	req.SetContext(ctx)
  1631  	req.ApplyOptions(opts...)
  1632  	return out, req.Send()
  1633  }
  1634  
  1635  const opDescribeAccountModifications = "DescribeAccountModifications"
  1636  
  1637  // DescribeAccountModificationsRequest generates a "aws/request.Request" representing the
  1638  // client's request for the DescribeAccountModifications operation. The "output" return
  1639  // value will be populated with the request's response once the request completes
  1640  // successfully.
  1641  //
  1642  // Use "Send" method on the returned Request to send the API call to the service.
  1643  // the "output" return value is not valid until after Send returns without error.
  1644  //
  1645  // See DescribeAccountModifications for more information on using the DescribeAccountModifications
  1646  // API call, and error handling.
  1647  //
  1648  // This method is useful when you want to inject custom logic or configuration
  1649  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1650  //
  1651  //
  1652  //    // Example sending a request using the DescribeAccountModificationsRequest method.
  1653  //    req, resp := client.DescribeAccountModificationsRequest(params)
  1654  //
  1655  //    err := req.Send()
  1656  //    if err == nil { // resp is now filled
  1657  //        fmt.Println(resp)
  1658  //    }
  1659  //
  1660  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeAccountModifications
  1661  func (c *WorkSpaces) DescribeAccountModificationsRequest(input *DescribeAccountModificationsInput) (req *request.Request, output *DescribeAccountModificationsOutput) {
  1662  	op := &request.Operation{
  1663  		Name:       opDescribeAccountModifications,
  1664  		HTTPMethod: "POST",
  1665  		HTTPPath:   "/",
  1666  	}
  1667  
  1668  	if input == nil {
  1669  		input = &DescribeAccountModificationsInput{}
  1670  	}
  1671  
  1672  	output = &DescribeAccountModificationsOutput{}
  1673  	req = c.newRequest(op, input, output)
  1674  	return
  1675  }
  1676  
  1677  // DescribeAccountModifications API operation for Amazon WorkSpaces.
  1678  //
  1679  // Retrieves a list that describes modifications to the configuration of Bring
  1680  // Your Own License (BYOL) for the specified account.
  1681  //
  1682  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1683  // with awserr.Error's Code and Message methods to get detailed information about
  1684  // the error.
  1685  //
  1686  // See the AWS API reference guide for Amazon WorkSpaces's
  1687  // API operation DescribeAccountModifications for usage and error information.
  1688  //
  1689  // Returned Error Types:
  1690  //   * AccessDeniedException
  1691  //   The user is not authorized to access a resource.
  1692  //
  1693  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeAccountModifications
  1694  func (c *WorkSpaces) DescribeAccountModifications(input *DescribeAccountModificationsInput) (*DescribeAccountModificationsOutput, error) {
  1695  	req, out := c.DescribeAccountModificationsRequest(input)
  1696  	return out, req.Send()
  1697  }
  1698  
  1699  // DescribeAccountModificationsWithContext is the same as DescribeAccountModifications with the addition of
  1700  // the ability to pass a context and additional request options.
  1701  //
  1702  // See DescribeAccountModifications for details on how to use this API operation.
  1703  //
  1704  // The context must be non-nil and will be used for request cancellation. If
  1705  // the context is nil a panic will occur. In the future the SDK may create
  1706  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1707  // for more information on using Contexts.
  1708  func (c *WorkSpaces) DescribeAccountModificationsWithContext(ctx aws.Context, input *DescribeAccountModificationsInput, opts ...request.Option) (*DescribeAccountModificationsOutput, error) {
  1709  	req, out := c.DescribeAccountModificationsRequest(input)
  1710  	req.SetContext(ctx)
  1711  	req.ApplyOptions(opts...)
  1712  	return out, req.Send()
  1713  }
  1714  
  1715  const opDescribeClientProperties = "DescribeClientProperties"
  1716  
  1717  // DescribeClientPropertiesRequest generates a "aws/request.Request" representing the
  1718  // client's request for the DescribeClientProperties operation. The "output" return
  1719  // value will be populated with the request's response once the request completes
  1720  // successfully.
  1721  //
  1722  // Use "Send" method on the returned Request to send the API call to the service.
  1723  // the "output" return value is not valid until after Send returns without error.
  1724  //
  1725  // See DescribeClientProperties for more information on using the DescribeClientProperties
  1726  // API call, and error handling.
  1727  //
  1728  // This method is useful when you want to inject custom logic or configuration
  1729  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1730  //
  1731  //
  1732  //    // Example sending a request using the DescribeClientPropertiesRequest method.
  1733  //    req, resp := client.DescribeClientPropertiesRequest(params)
  1734  //
  1735  //    err := req.Send()
  1736  //    if err == nil { // resp is now filled
  1737  //        fmt.Println(resp)
  1738  //    }
  1739  //
  1740  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeClientProperties
  1741  func (c *WorkSpaces) DescribeClientPropertiesRequest(input *DescribeClientPropertiesInput) (req *request.Request, output *DescribeClientPropertiesOutput) {
  1742  	op := &request.Operation{
  1743  		Name:       opDescribeClientProperties,
  1744  		HTTPMethod: "POST",
  1745  		HTTPPath:   "/",
  1746  	}
  1747  
  1748  	if input == nil {
  1749  		input = &DescribeClientPropertiesInput{}
  1750  	}
  1751  
  1752  	output = &DescribeClientPropertiesOutput{}
  1753  	req = c.newRequest(op, input, output)
  1754  	return
  1755  }
  1756  
  1757  // DescribeClientProperties API operation for Amazon WorkSpaces.
  1758  //
  1759  // Retrieves a list that describes one or more specified Amazon WorkSpaces clients.
  1760  //
  1761  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1762  // with awserr.Error's Code and Message methods to get detailed information about
  1763  // the error.
  1764  //
  1765  // See the AWS API reference guide for Amazon WorkSpaces's
  1766  // API operation DescribeClientProperties for usage and error information.
  1767  //
  1768  // Returned Error Types:
  1769  //   * InvalidParameterValuesException
  1770  //   One or more parameter values are not valid.
  1771  //
  1772  //   * ResourceNotFoundException
  1773  //   The resource could not be found.
  1774  //
  1775  //   * AccessDeniedException
  1776  //   The user is not authorized to access a resource.
  1777  //
  1778  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeClientProperties
  1779  func (c *WorkSpaces) DescribeClientProperties(input *DescribeClientPropertiesInput) (*DescribeClientPropertiesOutput, error) {
  1780  	req, out := c.DescribeClientPropertiesRequest(input)
  1781  	return out, req.Send()
  1782  }
  1783  
  1784  // DescribeClientPropertiesWithContext is the same as DescribeClientProperties with the addition of
  1785  // the ability to pass a context and additional request options.
  1786  //
  1787  // See DescribeClientProperties for details on how to use this API operation.
  1788  //
  1789  // The context must be non-nil and will be used for request cancellation. If
  1790  // the context is nil a panic will occur. In the future the SDK may create
  1791  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1792  // for more information on using Contexts.
  1793  func (c *WorkSpaces) DescribeClientPropertiesWithContext(ctx aws.Context, input *DescribeClientPropertiesInput, opts ...request.Option) (*DescribeClientPropertiesOutput, error) {
  1794  	req, out := c.DescribeClientPropertiesRequest(input)
  1795  	req.SetContext(ctx)
  1796  	req.ApplyOptions(opts...)
  1797  	return out, req.Send()
  1798  }
  1799  
  1800  const opDescribeConnectionAliasPermissions = "DescribeConnectionAliasPermissions"
  1801  
  1802  // DescribeConnectionAliasPermissionsRequest generates a "aws/request.Request" representing the
  1803  // client's request for the DescribeConnectionAliasPermissions operation. The "output" return
  1804  // value will be populated with the request's response once the request completes
  1805  // successfully.
  1806  //
  1807  // Use "Send" method on the returned Request to send the API call to the service.
  1808  // the "output" return value is not valid until after Send returns without error.
  1809  //
  1810  // See DescribeConnectionAliasPermissions for more information on using the DescribeConnectionAliasPermissions
  1811  // API call, and error handling.
  1812  //
  1813  // This method is useful when you want to inject custom logic or configuration
  1814  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1815  //
  1816  //
  1817  //    // Example sending a request using the DescribeConnectionAliasPermissionsRequest method.
  1818  //    req, resp := client.DescribeConnectionAliasPermissionsRequest(params)
  1819  //
  1820  //    err := req.Send()
  1821  //    if err == nil { // resp is now filled
  1822  //        fmt.Println(resp)
  1823  //    }
  1824  //
  1825  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasPermissions
  1826  func (c *WorkSpaces) DescribeConnectionAliasPermissionsRequest(input *DescribeConnectionAliasPermissionsInput) (req *request.Request, output *DescribeConnectionAliasPermissionsOutput) {
  1827  	op := &request.Operation{
  1828  		Name:       opDescribeConnectionAliasPermissions,
  1829  		HTTPMethod: "POST",
  1830  		HTTPPath:   "/",
  1831  	}
  1832  
  1833  	if input == nil {
  1834  		input = &DescribeConnectionAliasPermissionsInput{}
  1835  	}
  1836  
  1837  	output = &DescribeConnectionAliasPermissionsOutput{}
  1838  	req = c.newRequest(op, input, output)
  1839  	return
  1840  }
  1841  
  1842  // DescribeConnectionAliasPermissions API operation for Amazon WorkSpaces.
  1843  //
  1844  // Describes the permissions that the owner of a connection alias has granted
  1845  // to another Amazon Web Services account for the specified connection alias.
  1846  // For more information, see Cross-Region Redirection for Amazon WorkSpaces
  1847  // (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html).
  1848  //
  1849  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1850  // with awserr.Error's Code and Message methods to get detailed information about
  1851  // the error.
  1852  //
  1853  // See the AWS API reference guide for Amazon WorkSpaces's
  1854  // API operation DescribeConnectionAliasPermissions for usage and error information.
  1855  //
  1856  // Returned Error Types:
  1857  //   * AccessDeniedException
  1858  //   The user is not authorized to access a resource.
  1859  //
  1860  //   * InvalidParameterValuesException
  1861  //   One or more parameter values are not valid.
  1862  //
  1863  //   * ResourceNotFoundException
  1864  //   The resource could not be found.
  1865  //
  1866  //   * OperationNotSupportedException
  1867  //   This operation is not supported.
  1868  //
  1869  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliasPermissions
  1870  func (c *WorkSpaces) DescribeConnectionAliasPermissions(input *DescribeConnectionAliasPermissionsInput) (*DescribeConnectionAliasPermissionsOutput, error) {
  1871  	req, out := c.DescribeConnectionAliasPermissionsRequest(input)
  1872  	return out, req.Send()
  1873  }
  1874  
  1875  // DescribeConnectionAliasPermissionsWithContext is the same as DescribeConnectionAliasPermissions with the addition of
  1876  // the ability to pass a context and additional request options.
  1877  //
  1878  // See DescribeConnectionAliasPermissions for details on how to use this API operation.
  1879  //
  1880  // The context must be non-nil and will be used for request cancellation. If
  1881  // the context is nil a panic will occur. In the future the SDK may create
  1882  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1883  // for more information on using Contexts.
  1884  func (c *WorkSpaces) DescribeConnectionAliasPermissionsWithContext(ctx aws.Context, input *DescribeConnectionAliasPermissionsInput, opts ...request.Option) (*DescribeConnectionAliasPermissionsOutput, error) {
  1885  	req, out := c.DescribeConnectionAliasPermissionsRequest(input)
  1886  	req.SetContext(ctx)
  1887  	req.ApplyOptions(opts...)
  1888  	return out, req.Send()
  1889  }
  1890  
  1891  const opDescribeConnectionAliases = "DescribeConnectionAliases"
  1892  
  1893  // DescribeConnectionAliasesRequest generates a "aws/request.Request" representing the
  1894  // client's request for the DescribeConnectionAliases operation. The "output" return
  1895  // value will be populated with the request's response once the request completes
  1896  // successfully.
  1897  //
  1898  // Use "Send" method on the returned Request to send the API call to the service.
  1899  // the "output" return value is not valid until after Send returns without error.
  1900  //
  1901  // See DescribeConnectionAliases for more information on using the DescribeConnectionAliases
  1902  // API call, and error handling.
  1903  //
  1904  // This method is useful when you want to inject custom logic or configuration
  1905  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1906  //
  1907  //
  1908  //    // Example sending a request using the DescribeConnectionAliasesRequest method.
  1909  //    req, resp := client.DescribeConnectionAliasesRequest(params)
  1910  //
  1911  //    err := req.Send()
  1912  //    if err == nil { // resp is now filled
  1913  //        fmt.Println(resp)
  1914  //    }
  1915  //
  1916  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliases
  1917  func (c *WorkSpaces) DescribeConnectionAliasesRequest(input *DescribeConnectionAliasesInput) (req *request.Request, output *DescribeConnectionAliasesOutput) {
  1918  	op := &request.Operation{
  1919  		Name:       opDescribeConnectionAliases,
  1920  		HTTPMethod: "POST",
  1921  		HTTPPath:   "/",
  1922  	}
  1923  
  1924  	if input == nil {
  1925  		input = &DescribeConnectionAliasesInput{}
  1926  	}
  1927  
  1928  	output = &DescribeConnectionAliasesOutput{}
  1929  	req = c.newRequest(op, input, output)
  1930  	return
  1931  }
  1932  
  1933  // DescribeConnectionAliases API operation for Amazon WorkSpaces.
  1934  //
  1935  // Retrieves a list that describes the connection aliases used for cross-Region
  1936  // redirection. For more information, see Cross-Region Redirection for Amazon
  1937  // WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html).
  1938  //
  1939  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1940  // with awserr.Error's Code and Message methods to get detailed information about
  1941  // the error.
  1942  //
  1943  // See the AWS API reference guide for Amazon WorkSpaces's
  1944  // API operation DescribeConnectionAliases for usage and error information.
  1945  //
  1946  // Returned Error Types:
  1947  //   * AccessDeniedException
  1948  //   The user is not authorized to access a resource.
  1949  //
  1950  //   * InvalidParameterValuesException
  1951  //   One or more parameter values are not valid.
  1952  //
  1953  //   * OperationNotSupportedException
  1954  //   This operation is not supported.
  1955  //
  1956  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeConnectionAliases
  1957  func (c *WorkSpaces) DescribeConnectionAliases(input *DescribeConnectionAliasesInput) (*DescribeConnectionAliasesOutput, error) {
  1958  	req, out := c.DescribeConnectionAliasesRequest(input)
  1959  	return out, req.Send()
  1960  }
  1961  
  1962  // DescribeConnectionAliasesWithContext is the same as DescribeConnectionAliases with the addition of
  1963  // the ability to pass a context and additional request options.
  1964  //
  1965  // See DescribeConnectionAliases for details on how to use this API operation.
  1966  //
  1967  // The context must be non-nil and will be used for request cancellation. If
  1968  // the context is nil a panic will occur. In the future the SDK may create
  1969  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1970  // for more information on using Contexts.
  1971  func (c *WorkSpaces) DescribeConnectionAliasesWithContext(ctx aws.Context, input *DescribeConnectionAliasesInput, opts ...request.Option) (*DescribeConnectionAliasesOutput, error) {
  1972  	req, out := c.DescribeConnectionAliasesRequest(input)
  1973  	req.SetContext(ctx)
  1974  	req.ApplyOptions(opts...)
  1975  	return out, req.Send()
  1976  }
  1977  
  1978  const opDescribeIpGroups = "DescribeIpGroups"
  1979  
  1980  // DescribeIpGroupsRequest generates a "aws/request.Request" representing the
  1981  // client's request for the DescribeIpGroups operation. The "output" return
  1982  // value will be populated with the request's response once the request completes
  1983  // successfully.
  1984  //
  1985  // Use "Send" method on the returned Request to send the API call to the service.
  1986  // the "output" return value is not valid until after Send returns without error.
  1987  //
  1988  // See DescribeIpGroups for more information on using the DescribeIpGroups
  1989  // API call, and error handling.
  1990  //
  1991  // This method is useful when you want to inject custom logic or configuration
  1992  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1993  //
  1994  //
  1995  //    // Example sending a request using the DescribeIpGroupsRequest method.
  1996  //    req, resp := client.DescribeIpGroupsRequest(params)
  1997  //
  1998  //    err := req.Send()
  1999  //    if err == nil { // resp is now filled
  2000  //        fmt.Println(resp)
  2001  //    }
  2002  //
  2003  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeIpGroups
  2004  func (c *WorkSpaces) DescribeIpGroupsRequest(input *DescribeIpGroupsInput) (req *request.Request, output *DescribeIpGroupsOutput) {
  2005  	op := &request.Operation{
  2006  		Name:       opDescribeIpGroups,
  2007  		HTTPMethod: "POST",
  2008  		HTTPPath:   "/",
  2009  	}
  2010  
  2011  	if input == nil {
  2012  		input = &DescribeIpGroupsInput{}
  2013  	}
  2014  
  2015  	output = &DescribeIpGroupsOutput{}
  2016  	req = c.newRequest(op, input, output)
  2017  	return
  2018  }
  2019  
  2020  // DescribeIpGroups API operation for Amazon WorkSpaces.
  2021  //
  2022  // Describes one or more of your IP access control groups.
  2023  //
  2024  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2025  // with awserr.Error's Code and Message methods to get detailed information about
  2026  // the error.
  2027  //
  2028  // See the AWS API reference guide for Amazon WorkSpaces's
  2029  // API operation DescribeIpGroups for usage and error information.
  2030  //
  2031  // Returned Error Types:
  2032  //   * InvalidParameterValuesException
  2033  //   One or more parameter values are not valid.
  2034  //
  2035  //   * AccessDeniedException
  2036  //   The user is not authorized to access a resource.
  2037  //
  2038  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeIpGroups
  2039  func (c *WorkSpaces) DescribeIpGroups(input *DescribeIpGroupsInput) (*DescribeIpGroupsOutput, error) {
  2040  	req, out := c.DescribeIpGroupsRequest(input)
  2041  	return out, req.Send()
  2042  }
  2043  
  2044  // DescribeIpGroupsWithContext is the same as DescribeIpGroups with the addition of
  2045  // the ability to pass a context and additional request options.
  2046  //
  2047  // See DescribeIpGroups for details on how to use this API operation.
  2048  //
  2049  // The context must be non-nil and will be used for request cancellation. If
  2050  // the context is nil a panic will occur. In the future the SDK may create
  2051  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2052  // for more information on using Contexts.
  2053  func (c *WorkSpaces) DescribeIpGroupsWithContext(ctx aws.Context, input *DescribeIpGroupsInput, opts ...request.Option) (*DescribeIpGroupsOutput, error) {
  2054  	req, out := c.DescribeIpGroupsRequest(input)
  2055  	req.SetContext(ctx)
  2056  	req.ApplyOptions(opts...)
  2057  	return out, req.Send()
  2058  }
  2059  
  2060  const opDescribeTags = "DescribeTags"
  2061  
  2062  // DescribeTagsRequest generates a "aws/request.Request" representing the
  2063  // client's request for the DescribeTags operation. The "output" return
  2064  // value will be populated with the request's response once the request completes
  2065  // successfully.
  2066  //
  2067  // Use "Send" method on the returned Request to send the API call to the service.
  2068  // the "output" return value is not valid until after Send returns without error.
  2069  //
  2070  // See DescribeTags for more information on using the DescribeTags
  2071  // API call, and error handling.
  2072  //
  2073  // This method is useful when you want to inject custom logic or configuration
  2074  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2075  //
  2076  //
  2077  //    // Example sending a request using the DescribeTagsRequest method.
  2078  //    req, resp := client.DescribeTagsRequest(params)
  2079  //
  2080  //    err := req.Send()
  2081  //    if err == nil { // resp is now filled
  2082  //        fmt.Println(resp)
  2083  //    }
  2084  //
  2085  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeTags
  2086  func (c *WorkSpaces) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  2087  	op := &request.Operation{
  2088  		Name:       opDescribeTags,
  2089  		HTTPMethod: "POST",
  2090  		HTTPPath:   "/",
  2091  	}
  2092  
  2093  	if input == nil {
  2094  		input = &DescribeTagsInput{}
  2095  	}
  2096  
  2097  	output = &DescribeTagsOutput{}
  2098  	req = c.newRequest(op, input, output)
  2099  	return
  2100  }
  2101  
  2102  // DescribeTags API operation for Amazon WorkSpaces.
  2103  //
  2104  // Describes the specified tags for the specified WorkSpaces resource.
  2105  //
  2106  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2107  // with awserr.Error's Code and Message methods to get detailed information about
  2108  // the error.
  2109  //
  2110  // See the AWS API reference guide for Amazon WorkSpaces's
  2111  // API operation DescribeTags for usage and error information.
  2112  //
  2113  // Returned Error Types:
  2114  //   * ResourceNotFoundException
  2115  //   The resource could not be found.
  2116  //
  2117  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeTags
  2118  func (c *WorkSpaces) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  2119  	req, out := c.DescribeTagsRequest(input)
  2120  	return out, req.Send()
  2121  }
  2122  
  2123  // DescribeTagsWithContext is the same as DescribeTags with the addition of
  2124  // the ability to pass a context and additional request options.
  2125  //
  2126  // See DescribeTags for details on how to use this API operation.
  2127  //
  2128  // The context must be non-nil and will be used for request cancellation. If
  2129  // the context is nil a panic will occur. In the future the SDK may create
  2130  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2131  // for more information on using Contexts.
  2132  func (c *WorkSpaces) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  2133  	req, out := c.DescribeTagsRequest(input)
  2134  	req.SetContext(ctx)
  2135  	req.ApplyOptions(opts...)
  2136  	return out, req.Send()
  2137  }
  2138  
  2139  const opDescribeWorkspaceBundles = "DescribeWorkspaceBundles"
  2140  
  2141  // DescribeWorkspaceBundlesRequest generates a "aws/request.Request" representing the
  2142  // client's request for the DescribeWorkspaceBundles operation. The "output" return
  2143  // value will be populated with the request's response once the request completes
  2144  // successfully.
  2145  //
  2146  // Use "Send" method on the returned Request to send the API call to the service.
  2147  // the "output" return value is not valid until after Send returns without error.
  2148  //
  2149  // See DescribeWorkspaceBundles for more information on using the DescribeWorkspaceBundles
  2150  // API call, and error handling.
  2151  //
  2152  // This method is useful when you want to inject custom logic or configuration
  2153  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2154  //
  2155  //
  2156  //    // Example sending a request using the DescribeWorkspaceBundlesRequest method.
  2157  //    req, resp := client.DescribeWorkspaceBundlesRequest(params)
  2158  //
  2159  //    err := req.Send()
  2160  //    if err == nil { // resp is now filled
  2161  //        fmt.Println(resp)
  2162  //    }
  2163  //
  2164  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceBundles
  2165  func (c *WorkSpaces) DescribeWorkspaceBundlesRequest(input *DescribeWorkspaceBundlesInput) (req *request.Request, output *DescribeWorkspaceBundlesOutput) {
  2166  	op := &request.Operation{
  2167  		Name:       opDescribeWorkspaceBundles,
  2168  		HTTPMethod: "POST",
  2169  		HTTPPath:   "/",
  2170  		Paginator: &request.Paginator{
  2171  			InputTokens:     []string{"NextToken"},
  2172  			OutputTokens:    []string{"NextToken"},
  2173  			LimitToken:      "",
  2174  			TruncationToken: "",
  2175  		},
  2176  	}
  2177  
  2178  	if input == nil {
  2179  		input = &DescribeWorkspaceBundlesInput{}
  2180  	}
  2181  
  2182  	output = &DescribeWorkspaceBundlesOutput{}
  2183  	req = c.newRequest(op, input, output)
  2184  	return
  2185  }
  2186  
  2187  // DescribeWorkspaceBundles API operation for Amazon WorkSpaces.
  2188  //
  2189  // Retrieves a list that describes the available WorkSpace bundles.
  2190  //
  2191  // You can filter the results using either bundle ID or owner, but not both.
  2192  //
  2193  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2194  // with awserr.Error's Code and Message methods to get detailed information about
  2195  // the error.
  2196  //
  2197  // See the AWS API reference guide for Amazon WorkSpaces's
  2198  // API operation DescribeWorkspaceBundles for usage and error information.
  2199  //
  2200  // Returned Error Types:
  2201  //   * InvalidParameterValuesException
  2202  //   One or more parameter values are not valid.
  2203  //
  2204  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceBundles
  2205  func (c *WorkSpaces) DescribeWorkspaceBundles(input *DescribeWorkspaceBundlesInput) (*DescribeWorkspaceBundlesOutput, error) {
  2206  	req, out := c.DescribeWorkspaceBundlesRequest(input)
  2207  	return out, req.Send()
  2208  }
  2209  
  2210  // DescribeWorkspaceBundlesWithContext is the same as DescribeWorkspaceBundles with the addition of
  2211  // the ability to pass a context and additional request options.
  2212  //
  2213  // See DescribeWorkspaceBundles for details on how to use this API operation.
  2214  //
  2215  // The context must be non-nil and will be used for request cancellation. If
  2216  // the context is nil a panic will occur. In the future the SDK may create
  2217  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2218  // for more information on using Contexts.
  2219  func (c *WorkSpaces) DescribeWorkspaceBundlesWithContext(ctx aws.Context, input *DescribeWorkspaceBundlesInput, opts ...request.Option) (*DescribeWorkspaceBundlesOutput, error) {
  2220  	req, out := c.DescribeWorkspaceBundlesRequest(input)
  2221  	req.SetContext(ctx)
  2222  	req.ApplyOptions(opts...)
  2223  	return out, req.Send()
  2224  }
  2225  
  2226  // DescribeWorkspaceBundlesPages iterates over the pages of a DescribeWorkspaceBundles operation,
  2227  // calling the "fn" function with the response data for each page. To stop
  2228  // iterating, return false from the fn function.
  2229  //
  2230  // See DescribeWorkspaceBundles method for more information on how to use this operation.
  2231  //
  2232  // Note: This operation can generate multiple requests to a service.
  2233  //
  2234  //    // Example iterating over at most 3 pages of a DescribeWorkspaceBundles operation.
  2235  //    pageNum := 0
  2236  //    err := client.DescribeWorkspaceBundlesPages(params,
  2237  //        func(page *workspaces.DescribeWorkspaceBundlesOutput, lastPage bool) bool {
  2238  //            pageNum++
  2239  //            fmt.Println(page)
  2240  //            return pageNum <= 3
  2241  //        })
  2242  //
  2243  func (c *WorkSpaces) DescribeWorkspaceBundlesPages(input *DescribeWorkspaceBundlesInput, fn func(*DescribeWorkspaceBundlesOutput, bool) bool) error {
  2244  	return c.DescribeWorkspaceBundlesPagesWithContext(aws.BackgroundContext(), input, fn)
  2245  }
  2246  
  2247  // DescribeWorkspaceBundlesPagesWithContext same as DescribeWorkspaceBundlesPages except
  2248  // it takes a Context and allows setting request options on the pages.
  2249  //
  2250  // The context must be non-nil and will be used for request cancellation. If
  2251  // the context is nil a panic will occur. In the future the SDK may create
  2252  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2253  // for more information on using Contexts.
  2254  func (c *WorkSpaces) DescribeWorkspaceBundlesPagesWithContext(ctx aws.Context, input *DescribeWorkspaceBundlesInput, fn func(*DescribeWorkspaceBundlesOutput, bool) bool, opts ...request.Option) error {
  2255  	p := request.Pagination{
  2256  		NewRequest: func() (*request.Request, error) {
  2257  			var inCpy *DescribeWorkspaceBundlesInput
  2258  			if input != nil {
  2259  				tmp := *input
  2260  				inCpy = &tmp
  2261  			}
  2262  			req, _ := c.DescribeWorkspaceBundlesRequest(inCpy)
  2263  			req.SetContext(ctx)
  2264  			req.ApplyOptions(opts...)
  2265  			return req, nil
  2266  		},
  2267  	}
  2268  
  2269  	for p.Next() {
  2270  		if !fn(p.Page().(*DescribeWorkspaceBundlesOutput), !p.HasNextPage()) {
  2271  			break
  2272  		}
  2273  	}
  2274  
  2275  	return p.Err()
  2276  }
  2277  
  2278  const opDescribeWorkspaceDirectories = "DescribeWorkspaceDirectories"
  2279  
  2280  // DescribeWorkspaceDirectoriesRequest generates a "aws/request.Request" representing the
  2281  // client's request for the DescribeWorkspaceDirectories operation. The "output" return
  2282  // value will be populated with the request's response once the request completes
  2283  // successfully.
  2284  //
  2285  // Use "Send" method on the returned Request to send the API call to the service.
  2286  // the "output" return value is not valid until after Send returns without error.
  2287  //
  2288  // See DescribeWorkspaceDirectories for more information on using the DescribeWorkspaceDirectories
  2289  // API call, and error handling.
  2290  //
  2291  // This method is useful when you want to inject custom logic or configuration
  2292  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2293  //
  2294  //
  2295  //    // Example sending a request using the DescribeWorkspaceDirectoriesRequest method.
  2296  //    req, resp := client.DescribeWorkspaceDirectoriesRequest(params)
  2297  //
  2298  //    err := req.Send()
  2299  //    if err == nil { // resp is now filled
  2300  //        fmt.Println(resp)
  2301  //    }
  2302  //
  2303  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceDirectories
  2304  func (c *WorkSpaces) DescribeWorkspaceDirectoriesRequest(input *DescribeWorkspaceDirectoriesInput) (req *request.Request, output *DescribeWorkspaceDirectoriesOutput) {
  2305  	op := &request.Operation{
  2306  		Name:       opDescribeWorkspaceDirectories,
  2307  		HTTPMethod: "POST",
  2308  		HTTPPath:   "/",
  2309  		Paginator: &request.Paginator{
  2310  			InputTokens:     []string{"NextToken"},
  2311  			OutputTokens:    []string{"NextToken"},
  2312  			LimitToken:      "",
  2313  			TruncationToken: "",
  2314  		},
  2315  	}
  2316  
  2317  	if input == nil {
  2318  		input = &DescribeWorkspaceDirectoriesInput{}
  2319  	}
  2320  
  2321  	output = &DescribeWorkspaceDirectoriesOutput{}
  2322  	req = c.newRequest(op, input, output)
  2323  	return
  2324  }
  2325  
  2326  // DescribeWorkspaceDirectories API operation for Amazon WorkSpaces.
  2327  //
  2328  // Describes the available directories that are registered with Amazon WorkSpaces.
  2329  //
  2330  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2331  // with awserr.Error's Code and Message methods to get detailed information about
  2332  // the error.
  2333  //
  2334  // See the AWS API reference guide for Amazon WorkSpaces's
  2335  // API operation DescribeWorkspaceDirectories for usage and error information.
  2336  //
  2337  // Returned Error Types:
  2338  //   * InvalidParameterValuesException
  2339  //   One or more parameter values are not valid.
  2340  //
  2341  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceDirectories
  2342  func (c *WorkSpaces) DescribeWorkspaceDirectories(input *DescribeWorkspaceDirectoriesInput) (*DescribeWorkspaceDirectoriesOutput, error) {
  2343  	req, out := c.DescribeWorkspaceDirectoriesRequest(input)
  2344  	return out, req.Send()
  2345  }
  2346  
  2347  // DescribeWorkspaceDirectoriesWithContext is the same as DescribeWorkspaceDirectories with the addition of
  2348  // the ability to pass a context and additional request options.
  2349  //
  2350  // See DescribeWorkspaceDirectories for details on how to use this API operation.
  2351  //
  2352  // The context must be non-nil and will be used for request cancellation. If
  2353  // the context is nil a panic will occur. In the future the SDK may create
  2354  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2355  // for more information on using Contexts.
  2356  func (c *WorkSpaces) DescribeWorkspaceDirectoriesWithContext(ctx aws.Context, input *DescribeWorkspaceDirectoriesInput, opts ...request.Option) (*DescribeWorkspaceDirectoriesOutput, error) {
  2357  	req, out := c.DescribeWorkspaceDirectoriesRequest(input)
  2358  	req.SetContext(ctx)
  2359  	req.ApplyOptions(opts...)
  2360  	return out, req.Send()
  2361  }
  2362  
  2363  // DescribeWorkspaceDirectoriesPages iterates over the pages of a DescribeWorkspaceDirectories operation,
  2364  // calling the "fn" function with the response data for each page. To stop
  2365  // iterating, return false from the fn function.
  2366  //
  2367  // See DescribeWorkspaceDirectories method for more information on how to use this operation.
  2368  //
  2369  // Note: This operation can generate multiple requests to a service.
  2370  //
  2371  //    // Example iterating over at most 3 pages of a DescribeWorkspaceDirectories operation.
  2372  //    pageNum := 0
  2373  //    err := client.DescribeWorkspaceDirectoriesPages(params,
  2374  //        func(page *workspaces.DescribeWorkspaceDirectoriesOutput, lastPage bool) bool {
  2375  //            pageNum++
  2376  //            fmt.Println(page)
  2377  //            return pageNum <= 3
  2378  //        })
  2379  //
  2380  func (c *WorkSpaces) DescribeWorkspaceDirectoriesPages(input *DescribeWorkspaceDirectoriesInput, fn func(*DescribeWorkspaceDirectoriesOutput, bool) bool) error {
  2381  	return c.DescribeWorkspaceDirectoriesPagesWithContext(aws.BackgroundContext(), input, fn)
  2382  }
  2383  
  2384  // DescribeWorkspaceDirectoriesPagesWithContext same as DescribeWorkspaceDirectoriesPages except
  2385  // it takes a Context and allows setting request options on the pages.
  2386  //
  2387  // The context must be non-nil and will be used for request cancellation. If
  2388  // the context is nil a panic will occur. In the future the SDK may create
  2389  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2390  // for more information on using Contexts.
  2391  func (c *WorkSpaces) DescribeWorkspaceDirectoriesPagesWithContext(ctx aws.Context, input *DescribeWorkspaceDirectoriesInput, fn func(*DescribeWorkspaceDirectoriesOutput, bool) bool, opts ...request.Option) error {
  2392  	p := request.Pagination{
  2393  		NewRequest: func() (*request.Request, error) {
  2394  			var inCpy *DescribeWorkspaceDirectoriesInput
  2395  			if input != nil {
  2396  				tmp := *input
  2397  				inCpy = &tmp
  2398  			}
  2399  			req, _ := c.DescribeWorkspaceDirectoriesRequest(inCpy)
  2400  			req.SetContext(ctx)
  2401  			req.ApplyOptions(opts...)
  2402  			return req, nil
  2403  		},
  2404  	}
  2405  
  2406  	for p.Next() {
  2407  		if !fn(p.Page().(*DescribeWorkspaceDirectoriesOutput), !p.HasNextPage()) {
  2408  			break
  2409  		}
  2410  	}
  2411  
  2412  	return p.Err()
  2413  }
  2414  
  2415  const opDescribeWorkspaceImagePermissions = "DescribeWorkspaceImagePermissions"
  2416  
  2417  // DescribeWorkspaceImagePermissionsRequest generates a "aws/request.Request" representing the
  2418  // client's request for the DescribeWorkspaceImagePermissions operation. The "output" return
  2419  // value will be populated with the request's response once the request completes
  2420  // successfully.
  2421  //
  2422  // Use "Send" method on the returned Request to send the API call to the service.
  2423  // the "output" return value is not valid until after Send returns without error.
  2424  //
  2425  // See DescribeWorkspaceImagePermissions for more information on using the DescribeWorkspaceImagePermissions
  2426  // API call, and error handling.
  2427  //
  2428  // This method is useful when you want to inject custom logic or configuration
  2429  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2430  //
  2431  //
  2432  //    // Example sending a request using the DescribeWorkspaceImagePermissionsRequest method.
  2433  //    req, resp := client.DescribeWorkspaceImagePermissionsRequest(params)
  2434  //
  2435  //    err := req.Send()
  2436  //    if err == nil { // resp is now filled
  2437  //        fmt.Println(resp)
  2438  //    }
  2439  //
  2440  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceImagePermissions
  2441  func (c *WorkSpaces) DescribeWorkspaceImagePermissionsRequest(input *DescribeWorkspaceImagePermissionsInput) (req *request.Request, output *DescribeWorkspaceImagePermissionsOutput) {
  2442  	op := &request.Operation{
  2443  		Name:       opDescribeWorkspaceImagePermissions,
  2444  		HTTPMethod: "POST",
  2445  		HTTPPath:   "/",
  2446  	}
  2447  
  2448  	if input == nil {
  2449  		input = &DescribeWorkspaceImagePermissionsInput{}
  2450  	}
  2451  
  2452  	output = &DescribeWorkspaceImagePermissionsOutput{}
  2453  	req = c.newRequest(op, input, output)
  2454  	return
  2455  }
  2456  
  2457  // DescribeWorkspaceImagePermissions API operation for Amazon WorkSpaces.
  2458  //
  2459  // Describes the permissions that the owner of an image has granted to other
  2460  // Amazon Web Services accounts for an image.
  2461  //
  2462  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2463  // with awserr.Error's Code and Message methods to get detailed information about
  2464  // the error.
  2465  //
  2466  // See the AWS API reference guide for Amazon WorkSpaces's
  2467  // API operation DescribeWorkspaceImagePermissions for usage and error information.
  2468  //
  2469  // Returned Error Types:
  2470  //   * ResourceNotFoundException
  2471  //   The resource could not be found.
  2472  //
  2473  //   * AccessDeniedException
  2474  //   The user is not authorized to access a resource.
  2475  //
  2476  //   * InvalidParameterValuesException
  2477  //   One or more parameter values are not valid.
  2478  //
  2479  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceImagePermissions
  2480  func (c *WorkSpaces) DescribeWorkspaceImagePermissions(input *DescribeWorkspaceImagePermissionsInput) (*DescribeWorkspaceImagePermissionsOutput, error) {
  2481  	req, out := c.DescribeWorkspaceImagePermissionsRequest(input)
  2482  	return out, req.Send()
  2483  }
  2484  
  2485  // DescribeWorkspaceImagePermissionsWithContext is the same as DescribeWorkspaceImagePermissions with the addition of
  2486  // the ability to pass a context and additional request options.
  2487  //
  2488  // See DescribeWorkspaceImagePermissions for details on how to use this API operation.
  2489  //
  2490  // The context must be non-nil and will be used for request cancellation. If
  2491  // the context is nil a panic will occur. In the future the SDK may create
  2492  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2493  // for more information on using Contexts.
  2494  func (c *WorkSpaces) DescribeWorkspaceImagePermissionsWithContext(ctx aws.Context, input *DescribeWorkspaceImagePermissionsInput, opts ...request.Option) (*DescribeWorkspaceImagePermissionsOutput, error) {
  2495  	req, out := c.DescribeWorkspaceImagePermissionsRequest(input)
  2496  	req.SetContext(ctx)
  2497  	req.ApplyOptions(opts...)
  2498  	return out, req.Send()
  2499  }
  2500  
  2501  const opDescribeWorkspaceImages = "DescribeWorkspaceImages"
  2502  
  2503  // DescribeWorkspaceImagesRequest generates a "aws/request.Request" representing the
  2504  // client's request for the DescribeWorkspaceImages operation. The "output" return
  2505  // value will be populated with the request's response once the request completes
  2506  // successfully.
  2507  //
  2508  // Use "Send" method on the returned Request to send the API call to the service.
  2509  // the "output" return value is not valid until after Send returns without error.
  2510  //
  2511  // See DescribeWorkspaceImages for more information on using the DescribeWorkspaceImages
  2512  // API call, and error handling.
  2513  //
  2514  // This method is useful when you want to inject custom logic or configuration
  2515  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2516  //
  2517  //
  2518  //    // Example sending a request using the DescribeWorkspaceImagesRequest method.
  2519  //    req, resp := client.DescribeWorkspaceImagesRequest(params)
  2520  //
  2521  //    err := req.Send()
  2522  //    if err == nil { // resp is now filled
  2523  //        fmt.Println(resp)
  2524  //    }
  2525  //
  2526  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceImages
  2527  func (c *WorkSpaces) DescribeWorkspaceImagesRequest(input *DescribeWorkspaceImagesInput) (req *request.Request, output *DescribeWorkspaceImagesOutput) {
  2528  	op := &request.Operation{
  2529  		Name:       opDescribeWorkspaceImages,
  2530  		HTTPMethod: "POST",
  2531  		HTTPPath:   "/",
  2532  	}
  2533  
  2534  	if input == nil {
  2535  		input = &DescribeWorkspaceImagesInput{}
  2536  	}
  2537  
  2538  	output = &DescribeWorkspaceImagesOutput{}
  2539  	req = c.newRequest(op, input, output)
  2540  	return
  2541  }
  2542  
  2543  // DescribeWorkspaceImages API operation for Amazon WorkSpaces.
  2544  //
  2545  // Retrieves a list that describes one or more specified images, if the image
  2546  // identifiers are provided. Otherwise, all images in the account are described.
  2547  //
  2548  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2549  // with awserr.Error's Code and Message methods to get detailed information about
  2550  // the error.
  2551  //
  2552  // See the AWS API reference guide for Amazon WorkSpaces's
  2553  // API operation DescribeWorkspaceImages for usage and error information.
  2554  //
  2555  // Returned Error Types:
  2556  //   * AccessDeniedException
  2557  //   The user is not authorized to access a resource.
  2558  //
  2559  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceImages
  2560  func (c *WorkSpaces) DescribeWorkspaceImages(input *DescribeWorkspaceImagesInput) (*DescribeWorkspaceImagesOutput, error) {
  2561  	req, out := c.DescribeWorkspaceImagesRequest(input)
  2562  	return out, req.Send()
  2563  }
  2564  
  2565  // DescribeWorkspaceImagesWithContext is the same as DescribeWorkspaceImages with the addition of
  2566  // the ability to pass a context and additional request options.
  2567  //
  2568  // See DescribeWorkspaceImages for details on how to use this API operation.
  2569  //
  2570  // The context must be non-nil and will be used for request cancellation. If
  2571  // the context is nil a panic will occur. In the future the SDK may create
  2572  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2573  // for more information on using Contexts.
  2574  func (c *WorkSpaces) DescribeWorkspaceImagesWithContext(ctx aws.Context, input *DescribeWorkspaceImagesInput, opts ...request.Option) (*DescribeWorkspaceImagesOutput, error) {
  2575  	req, out := c.DescribeWorkspaceImagesRequest(input)
  2576  	req.SetContext(ctx)
  2577  	req.ApplyOptions(opts...)
  2578  	return out, req.Send()
  2579  }
  2580  
  2581  const opDescribeWorkspaceSnapshots = "DescribeWorkspaceSnapshots"
  2582  
  2583  // DescribeWorkspaceSnapshotsRequest generates a "aws/request.Request" representing the
  2584  // client's request for the DescribeWorkspaceSnapshots operation. The "output" return
  2585  // value will be populated with the request's response once the request completes
  2586  // successfully.
  2587  //
  2588  // Use "Send" method on the returned Request to send the API call to the service.
  2589  // the "output" return value is not valid until after Send returns without error.
  2590  //
  2591  // See DescribeWorkspaceSnapshots for more information on using the DescribeWorkspaceSnapshots
  2592  // API call, and error handling.
  2593  //
  2594  // This method is useful when you want to inject custom logic or configuration
  2595  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2596  //
  2597  //
  2598  //    // Example sending a request using the DescribeWorkspaceSnapshotsRequest method.
  2599  //    req, resp := client.DescribeWorkspaceSnapshotsRequest(params)
  2600  //
  2601  //    err := req.Send()
  2602  //    if err == nil { // resp is now filled
  2603  //        fmt.Println(resp)
  2604  //    }
  2605  //
  2606  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceSnapshots
  2607  func (c *WorkSpaces) DescribeWorkspaceSnapshotsRequest(input *DescribeWorkspaceSnapshotsInput) (req *request.Request, output *DescribeWorkspaceSnapshotsOutput) {
  2608  	op := &request.Operation{
  2609  		Name:       opDescribeWorkspaceSnapshots,
  2610  		HTTPMethod: "POST",
  2611  		HTTPPath:   "/",
  2612  	}
  2613  
  2614  	if input == nil {
  2615  		input = &DescribeWorkspaceSnapshotsInput{}
  2616  	}
  2617  
  2618  	output = &DescribeWorkspaceSnapshotsOutput{}
  2619  	req = c.newRequest(op, input, output)
  2620  	return
  2621  }
  2622  
  2623  // DescribeWorkspaceSnapshots API operation for Amazon WorkSpaces.
  2624  //
  2625  // Describes the snapshots for the specified WorkSpace.
  2626  //
  2627  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2628  // with awserr.Error's Code and Message methods to get detailed information about
  2629  // the error.
  2630  //
  2631  // See the AWS API reference guide for Amazon WorkSpaces's
  2632  // API operation DescribeWorkspaceSnapshots for usage and error information.
  2633  //
  2634  // Returned Error Types:
  2635  //   * InvalidParameterValuesException
  2636  //   One or more parameter values are not valid.
  2637  //
  2638  //   * ResourceNotFoundException
  2639  //   The resource could not be found.
  2640  //
  2641  //   * AccessDeniedException
  2642  //   The user is not authorized to access a resource.
  2643  //
  2644  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaceSnapshots
  2645  func (c *WorkSpaces) DescribeWorkspaceSnapshots(input *DescribeWorkspaceSnapshotsInput) (*DescribeWorkspaceSnapshotsOutput, error) {
  2646  	req, out := c.DescribeWorkspaceSnapshotsRequest(input)
  2647  	return out, req.Send()
  2648  }
  2649  
  2650  // DescribeWorkspaceSnapshotsWithContext is the same as DescribeWorkspaceSnapshots with the addition of
  2651  // the ability to pass a context and additional request options.
  2652  //
  2653  // See DescribeWorkspaceSnapshots for details on how to use this API operation.
  2654  //
  2655  // The context must be non-nil and will be used for request cancellation. If
  2656  // the context is nil a panic will occur. In the future the SDK may create
  2657  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2658  // for more information on using Contexts.
  2659  func (c *WorkSpaces) DescribeWorkspaceSnapshotsWithContext(ctx aws.Context, input *DescribeWorkspaceSnapshotsInput, opts ...request.Option) (*DescribeWorkspaceSnapshotsOutput, error) {
  2660  	req, out := c.DescribeWorkspaceSnapshotsRequest(input)
  2661  	req.SetContext(ctx)
  2662  	req.ApplyOptions(opts...)
  2663  	return out, req.Send()
  2664  }
  2665  
  2666  const opDescribeWorkspaces = "DescribeWorkspaces"
  2667  
  2668  // DescribeWorkspacesRequest generates a "aws/request.Request" representing the
  2669  // client's request for the DescribeWorkspaces operation. The "output" return
  2670  // value will be populated with the request's response once the request completes
  2671  // successfully.
  2672  //
  2673  // Use "Send" method on the returned Request to send the API call to the service.
  2674  // the "output" return value is not valid until after Send returns without error.
  2675  //
  2676  // See DescribeWorkspaces for more information on using the DescribeWorkspaces
  2677  // API call, and error handling.
  2678  //
  2679  // This method is useful when you want to inject custom logic or configuration
  2680  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2681  //
  2682  //
  2683  //    // Example sending a request using the DescribeWorkspacesRequest method.
  2684  //    req, resp := client.DescribeWorkspacesRequest(params)
  2685  //
  2686  //    err := req.Send()
  2687  //    if err == nil { // resp is now filled
  2688  //        fmt.Println(resp)
  2689  //    }
  2690  //
  2691  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaces
  2692  func (c *WorkSpaces) DescribeWorkspacesRequest(input *DescribeWorkspacesInput) (req *request.Request, output *DescribeWorkspacesOutput) {
  2693  	op := &request.Operation{
  2694  		Name:       opDescribeWorkspaces,
  2695  		HTTPMethod: "POST",
  2696  		HTTPPath:   "/",
  2697  		Paginator: &request.Paginator{
  2698  			InputTokens:     []string{"NextToken"},
  2699  			OutputTokens:    []string{"NextToken"},
  2700  			LimitToken:      "Limit",
  2701  			TruncationToken: "",
  2702  		},
  2703  	}
  2704  
  2705  	if input == nil {
  2706  		input = &DescribeWorkspacesInput{}
  2707  	}
  2708  
  2709  	output = &DescribeWorkspacesOutput{}
  2710  	req = c.newRequest(op, input, output)
  2711  	return
  2712  }
  2713  
  2714  // DescribeWorkspaces API operation for Amazon WorkSpaces.
  2715  //
  2716  // Describes the specified WorkSpaces.
  2717  //
  2718  // You can filter the results by using the bundle identifier, directory identifier,
  2719  // or owner, but you can specify only one filter at a time.
  2720  //
  2721  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2722  // with awserr.Error's Code and Message methods to get detailed information about
  2723  // the error.
  2724  //
  2725  // See the AWS API reference guide for Amazon WorkSpaces's
  2726  // API operation DescribeWorkspaces for usage and error information.
  2727  //
  2728  // Returned Error Types:
  2729  //   * InvalidParameterValuesException
  2730  //   One or more parameter values are not valid.
  2731  //
  2732  //   * ResourceUnavailableException
  2733  //   The specified resource is not available.
  2734  //
  2735  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspaces
  2736  func (c *WorkSpaces) DescribeWorkspaces(input *DescribeWorkspacesInput) (*DescribeWorkspacesOutput, error) {
  2737  	req, out := c.DescribeWorkspacesRequest(input)
  2738  	return out, req.Send()
  2739  }
  2740  
  2741  // DescribeWorkspacesWithContext is the same as DescribeWorkspaces with the addition of
  2742  // the ability to pass a context and additional request options.
  2743  //
  2744  // See DescribeWorkspaces for details on how to use this API operation.
  2745  //
  2746  // The context must be non-nil and will be used for request cancellation. If
  2747  // the context is nil a panic will occur. In the future the SDK may create
  2748  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2749  // for more information on using Contexts.
  2750  func (c *WorkSpaces) DescribeWorkspacesWithContext(ctx aws.Context, input *DescribeWorkspacesInput, opts ...request.Option) (*DescribeWorkspacesOutput, error) {
  2751  	req, out := c.DescribeWorkspacesRequest(input)
  2752  	req.SetContext(ctx)
  2753  	req.ApplyOptions(opts...)
  2754  	return out, req.Send()
  2755  }
  2756  
  2757  // DescribeWorkspacesPages iterates over the pages of a DescribeWorkspaces operation,
  2758  // calling the "fn" function with the response data for each page. To stop
  2759  // iterating, return false from the fn function.
  2760  //
  2761  // See DescribeWorkspaces method for more information on how to use this operation.
  2762  //
  2763  // Note: This operation can generate multiple requests to a service.
  2764  //
  2765  //    // Example iterating over at most 3 pages of a DescribeWorkspaces operation.
  2766  //    pageNum := 0
  2767  //    err := client.DescribeWorkspacesPages(params,
  2768  //        func(page *workspaces.DescribeWorkspacesOutput, lastPage bool) bool {
  2769  //            pageNum++
  2770  //            fmt.Println(page)
  2771  //            return pageNum <= 3
  2772  //        })
  2773  //
  2774  func (c *WorkSpaces) DescribeWorkspacesPages(input *DescribeWorkspacesInput, fn func(*DescribeWorkspacesOutput, bool) bool) error {
  2775  	return c.DescribeWorkspacesPagesWithContext(aws.BackgroundContext(), input, fn)
  2776  }
  2777  
  2778  // DescribeWorkspacesPagesWithContext same as DescribeWorkspacesPages except
  2779  // it takes a Context and allows setting request options on the pages.
  2780  //
  2781  // The context must be non-nil and will be used for request cancellation. If
  2782  // the context is nil a panic will occur. In the future the SDK may create
  2783  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2784  // for more information on using Contexts.
  2785  func (c *WorkSpaces) DescribeWorkspacesPagesWithContext(ctx aws.Context, input *DescribeWorkspacesInput, fn func(*DescribeWorkspacesOutput, bool) bool, opts ...request.Option) error {
  2786  	p := request.Pagination{
  2787  		NewRequest: func() (*request.Request, error) {
  2788  			var inCpy *DescribeWorkspacesInput
  2789  			if input != nil {
  2790  				tmp := *input
  2791  				inCpy = &tmp
  2792  			}
  2793  			req, _ := c.DescribeWorkspacesRequest(inCpy)
  2794  			req.SetContext(ctx)
  2795  			req.ApplyOptions(opts...)
  2796  			return req, nil
  2797  		},
  2798  	}
  2799  
  2800  	for p.Next() {
  2801  		if !fn(p.Page().(*DescribeWorkspacesOutput), !p.HasNextPage()) {
  2802  			break
  2803  		}
  2804  	}
  2805  
  2806  	return p.Err()
  2807  }
  2808  
  2809  const opDescribeWorkspacesConnectionStatus = "DescribeWorkspacesConnectionStatus"
  2810  
  2811  // DescribeWorkspacesConnectionStatusRequest generates a "aws/request.Request" representing the
  2812  // client's request for the DescribeWorkspacesConnectionStatus operation. The "output" return
  2813  // value will be populated with the request's response once the request completes
  2814  // successfully.
  2815  //
  2816  // Use "Send" method on the returned Request to send the API call to the service.
  2817  // the "output" return value is not valid until after Send returns without error.
  2818  //
  2819  // See DescribeWorkspacesConnectionStatus for more information on using the DescribeWorkspacesConnectionStatus
  2820  // API call, and error handling.
  2821  //
  2822  // This method is useful when you want to inject custom logic or configuration
  2823  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2824  //
  2825  //
  2826  //    // Example sending a request using the DescribeWorkspacesConnectionStatusRequest method.
  2827  //    req, resp := client.DescribeWorkspacesConnectionStatusRequest(params)
  2828  //
  2829  //    err := req.Send()
  2830  //    if err == nil { // resp is now filled
  2831  //        fmt.Println(resp)
  2832  //    }
  2833  //
  2834  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspacesConnectionStatus
  2835  func (c *WorkSpaces) DescribeWorkspacesConnectionStatusRequest(input *DescribeWorkspacesConnectionStatusInput) (req *request.Request, output *DescribeWorkspacesConnectionStatusOutput) {
  2836  	op := &request.Operation{
  2837  		Name:       opDescribeWorkspacesConnectionStatus,
  2838  		HTTPMethod: "POST",
  2839  		HTTPPath:   "/",
  2840  	}
  2841  
  2842  	if input == nil {
  2843  		input = &DescribeWorkspacesConnectionStatusInput{}
  2844  	}
  2845  
  2846  	output = &DescribeWorkspacesConnectionStatusOutput{}
  2847  	req = c.newRequest(op, input, output)
  2848  	return
  2849  }
  2850  
  2851  // DescribeWorkspacesConnectionStatus API operation for Amazon WorkSpaces.
  2852  //
  2853  // Describes the connection status of the specified WorkSpaces.
  2854  //
  2855  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2856  // with awserr.Error's Code and Message methods to get detailed information about
  2857  // the error.
  2858  //
  2859  // See the AWS API reference guide for Amazon WorkSpaces's
  2860  // API operation DescribeWorkspacesConnectionStatus for usage and error information.
  2861  //
  2862  // Returned Error Types:
  2863  //   * InvalidParameterValuesException
  2864  //   One or more parameter values are not valid.
  2865  //
  2866  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DescribeWorkspacesConnectionStatus
  2867  func (c *WorkSpaces) DescribeWorkspacesConnectionStatus(input *DescribeWorkspacesConnectionStatusInput) (*DescribeWorkspacesConnectionStatusOutput, error) {
  2868  	req, out := c.DescribeWorkspacesConnectionStatusRequest(input)
  2869  	return out, req.Send()
  2870  }
  2871  
  2872  // DescribeWorkspacesConnectionStatusWithContext is the same as DescribeWorkspacesConnectionStatus with the addition of
  2873  // the ability to pass a context and additional request options.
  2874  //
  2875  // See DescribeWorkspacesConnectionStatus for details on how to use this API operation.
  2876  //
  2877  // The context must be non-nil and will be used for request cancellation. If
  2878  // the context is nil a panic will occur. In the future the SDK may create
  2879  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2880  // for more information on using Contexts.
  2881  func (c *WorkSpaces) DescribeWorkspacesConnectionStatusWithContext(ctx aws.Context, input *DescribeWorkspacesConnectionStatusInput, opts ...request.Option) (*DescribeWorkspacesConnectionStatusOutput, error) {
  2882  	req, out := c.DescribeWorkspacesConnectionStatusRequest(input)
  2883  	req.SetContext(ctx)
  2884  	req.ApplyOptions(opts...)
  2885  	return out, req.Send()
  2886  }
  2887  
  2888  const opDisassociateConnectionAlias = "DisassociateConnectionAlias"
  2889  
  2890  // DisassociateConnectionAliasRequest generates a "aws/request.Request" representing the
  2891  // client's request for the DisassociateConnectionAlias operation. The "output" return
  2892  // value will be populated with the request's response once the request completes
  2893  // successfully.
  2894  //
  2895  // Use "Send" method on the returned Request to send the API call to the service.
  2896  // the "output" return value is not valid until after Send returns without error.
  2897  //
  2898  // See DisassociateConnectionAlias for more information on using the DisassociateConnectionAlias
  2899  // API call, and error handling.
  2900  //
  2901  // This method is useful when you want to inject custom logic or configuration
  2902  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2903  //
  2904  //
  2905  //    // Example sending a request using the DisassociateConnectionAliasRequest method.
  2906  //    req, resp := client.DisassociateConnectionAliasRequest(params)
  2907  //
  2908  //    err := req.Send()
  2909  //    if err == nil { // resp is now filled
  2910  //        fmt.Println(resp)
  2911  //    }
  2912  //
  2913  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateConnectionAlias
  2914  func (c *WorkSpaces) DisassociateConnectionAliasRequest(input *DisassociateConnectionAliasInput) (req *request.Request, output *DisassociateConnectionAliasOutput) {
  2915  	op := &request.Operation{
  2916  		Name:       opDisassociateConnectionAlias,
  2917  		HTTPMethod: "POST",
  2918  		HTTPPath:   "/",
  2919  	}
  2920  
  2921  	if input == nil {
  2922  		input = &DisassociateConnectionAliasInput{}
  2923  	}
  2924  
  2925  	output = &DisassociateConnectionAliasOutput{}
  2926  	req = c.newRequest(op, input, output)
  2927  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2928  	return
  2929  }
  2930  
  2931  // DisassociateConnectionAlias API operation for Amazon WorkSpaces.
  2932  //
  2933  // Disassociates a connection alias from a directory. Disassociating a connection
  2934  // alias disables cross-Region redirection between two directories in different
  2935  // Regions. For more information, see Cross-Region Redirection for Amazon WorkSpaces
  2936  // (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html).
  2937  //
  2938  // Before performing this operation, call DescribeConnectionAliases (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeConnectionAliases.html)
  2939  // to make sure that the current state of the connection alias is CREATED.
  2940  //
  2941  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2942  // with awserr.Error's Code and Message methods to get detailed information about
  2943  // the error.
  2944  //
  2945  // See the AWS API reference guide for Amazon WorkSpaces's
  2946  // API operation DisassociateConnectionAlias for usage and error information.
  2947  //
  2948  // Returned Error Types:
  2949  //   * AccessDeniedException
  2950  //   The user is not authorized to access a resource.
  2951  //
  2952  //   * ResourceNotFoundException
  2953  //   The resource could not be found.
  2954  //
  2955  //   * InvalidParameterValuesException
  2956  //   One or more parameter values are not valid.
  2957  //
  2958  //   * InvalidResourceStateException
  2959  //   The state of the resource is not valid for this operation.
  2960  //
  2961  //   * OperationNotSupportedException
  2962  //   This operation is not supported.
  2963  //
  2964  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateConnectionAlias
  2965  func (c *WorkSpaces) DisassociateConnectionAlias(input *DisassociateConnectionAliasInput) (*DisassociateConnectionAliasOutput, error) {
  2966  	req, out := c.DisassociateConnectionAliasRequest(input)
  2967  	return out, req.Send()
  2968  }
  2969  
  2970  // DisassociateConnectionAliasWithContext is the same as DisassociateConnectionAlias with the addition of
  2971  // the ability to pass a context and additional request options.
  2972  //
  2973  // See DisassociateConnectionAlias for details on how to use this API operation.
  2974  //
  2975  // The context must be non-nil and will be used for request cancellation. If
  2976  // the context is nil a panic will occur. In the future the SDK may create
  2977  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2978  // for more information on using Contexts.
  2979  func (c *WorkSpaces) DisassociateConnectionAliasWithContext(ctx aws.Context, input *DisassociateConnectionAliasInput, opts ...request.Option) (*DisassociateConnectionAliasOutput, error) {
  2980  	req, out := c.DisassociateConnectionAliasRequest(input)
  2981  	req.SetContext(ctx)
  2982  	req.ApplyOptions(opts...)
  2983  	return out, req.Send()
  2984  }
  2985  
  2986  const opDisassociateIpGroups = "DisassociateIpGroups"
  2987  
  2988  // DisassociateIpGroupsRequest generates a "aws/request.Request" representing the
  2989  // client's request for the DisassociateIpGroups operation. The "output" return
  2990  // value will be populated with the request's response once the request completes
  2991  // successfully.
  2992  //
  2993  // Use "Send" method on the returned Request to send the API call to the service.
  2994  // the "output" return value is not valid until after Send returns without error.
  2995  //
  2996  // See DisassociateIpGroups for more information on using the DisassociateIpGroups
  2997  // API call, and error handling.
  2998  //
  2999  // This method is useful when you want to inject custom logic or configuration
  3000  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3001  //
  3002  //
  3003  //    // Example sending a request using the DisassociateIpGroupsRequest method.
  3004  //    req, resp := client.DisassociateIpGroupsRequest(params)
  3005  //
  3006  //    err := req.Send()
  3007  //    if err == nil { // resp is now filled
  3008  //        fmt.Println(resp)
  3009  //    }
  3010  //
  3011  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateIpGroups
  3012  func (c *WorkSpaces) DisassociateIpGroupsRequest(input *DisassociateIpGroupsInput) (req *request.Request, output *DisassociateIpGroupsOutput) {
  3013  	op := &request.Operation{
  3014  		Name:       opDisassociateIpGroups,
  3015  		HTTPMethod: "POST",
  3016  		HTTPPath:   "/",
  3017  	}
  3018  
  3019  	if input == nil {
  3020  		input = &DisassociateIpGroupsInput{}
  3021  	}
  3022  
  3023  	output = &DisassociateIpGroupsOutput{}
  3024  	req = c.newRequest(op, input, output)
  3025  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3026  	return
  3027  }
  3028  
  3029  // DisassociateIpGroups API operation for Amazon WorkSpaces.
  3030  //
  3031  // Disassociates the specified IP access control group from the specified directory.
  3032  //
  3033  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3034  // with awserr.Error's Code and Message methods to get detailed information about
  3035  // the error.
  3036  //
  3037  // See the AWS API reference guide for Amazon WorkSpaces's
  3038  // API operation DisassociateIpGroups for usage and error information.
  3039  //
  3040  // Returned Error Types:
  3041  //   * InvalidParameterValuesException
  3042  //   One or more parameter values are not valid.
  3043  //
  3044  //   * ResourceNotFoundException
  3045  //   The resource could not be found.
  3046  //
  3047  //   * InvalidResourceStateException
  3048  //   The state of the resource is not valid for this operation.
  3049  //
  3050  //   * AccessDeniedException
  3051  //   The user is not authorized to access a resource.
  3052  //
  3053  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/DisassociateIpGroups
  3054  func (c *WorkSpaces) DisassociateIpGroups(input *DisassociateIpGroupsInput) (*DisassociateIpGroupsOutput, error) {
  3055  	req, out := c.DisassociateIpGroupsRequest(input)
  3056  	return out, req.Send()
  3057  }
  3058  
  3059  // DisassociateIpGroupsWithContext is the same as DisassociateIpGroups with the addition of
  3060  // the ability to pass a context and additional request options.
  3061  //
  3062  // See DisassociateIpGroups for details on how to use this API operation.
  3063  //
  3064  // The context must be non-nil and will be used for request cancellation. If
  3065  // the context is nil a panic will occur. In the future the SDK may create
  3066  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3067  // for more information on using Contexts.
  3068  func (c *WorkSpaces) DisassociateIpGroupsWithContext(ctx aws.Context, input *DisassociateIpGroupsInput, opts ...request.Option) (*DisassociateIpGroupsOutput, error) {
  3069  	req, out := c.DisassociateIpGroupsRequest(input)
  3070  	req.SetContext(ctx)
  3071  	req.ApplyOptions(opts...)
  3072  	return out, req.Send()
  3073  }
  3074  
  3075  const opImportWorkspaceImage = "ImportWorkspaceImage"
  3076  
  3077  // ImportWorkspaceImageRequest generates a "aws/request.Request" representing the
  3078  // client's request for the ImportWorkspaceImage operation. The "output" return
  3079  // value will be populated with the request's response once the request completes
  3080  // successfully.
  3081  //
  3082  // Use "Send" method on the returned Request to send the API call to the service.
  3083  // the "output" return value is not valid until after Send returns without error.
  3084  //
  3085  // See ImportWorkspaceImage for more information on using the ImportWorkspaceImage
  3086  // API call, and error handling.
  3087  //
  3088  // This method is useful when you want to inject custom logic or configuration
  3089  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3090  //
  3091  //
  3092  //    // Example sending a request using the ImportWorkspaceImageRequest method.
  3093  //    req, resp := client.ImportWorkspaceImageRequest(params)
  3094  //
  3095  //    err := req.Send()
  3096  //    if err == nil { // resp is now filled
  3097  //        fmt.Println(resp)
  3098  //    }
  3099  //
  3100  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ImportWorkspaceImage
  3101  func (c *WorkSpaces) ImportWorkspaceImageRequest(input *ImportWorkspaceImageInput) (req *request.Request, output *ImportWorkspaceImageOutput) {
  3102  	op := &request.Operation{
  3103  		Name:       opImportWorkspaceImage,
  3104  		HTTPMethod: "POST",
  3105  		HTTPPath:   "/",
  3106  	}
  3107  
  3108  	if input == nil {
  3109  		input = &ImportWorkspaceImageInput{}
  3110  	}
  3111  
  3112  	output = &ImportWorkspaceImageOutput{}
  3113  	req = c.newRequest(op, input, output)
  3114  	return
  3115  }
  3116  
  3117  // ImportWorkspaceImage API operation for Amazon WorkSpaces.
  3118  //
  3119  // Imports the specified Windows 10 Bring Your Own License (BYOL) image into
  3120  // Amazon WorkSpaces. The image must be an already licensed Amazon EC2 image
  3121  // that is in your Amazon Web Services account, and you must own the image.
  3122  // For more information about creating BYOL images, see Bring Your Own Windows
  3123  // Desktop Licenses (https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html).
  3124  //
  3125  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3126  // with awserr.Error's Code and Message methods to get detailed information about
  3127  // the error.
  3128  //
  3129  // See the AWS API reference guide for Amazon WorkSpaces's
  3130  // API operation ImportWorkspaceImage for usage and error information.
  3131  //
  3132  // Returned Error Types:
  3133  //   * ResourceLimitExceededException
  3134  //   Your resource limits have been exceeded.
  3135  //
  3136  //   * ResourceAlreadyExistsException
  3137  //   The specified resource already exists.
  3138  //
  3139  //   * ResourceNotFoundException
  3140  //   The resource could not be found.
  3141  //
  3142  //   * OperationNotSupportedException
  3143  //   This operation is not supported.
  3144  //
  3145  //   * AccessDeniedException
  3146  //   The user is not authorized to access a resource.
  3147  //
  3148  //   * InvalidParameterValuesException
  3149  //   One or more parameter values are not valid.
  3150  //
  3151  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ImportWorkspaceImage
  3152  func (c *WorkSpaces) ImportWorkspaceImage(input *ImportWorkspaceImageInput) (*ImportWorkspaceImageOutput, error) {
  3153  	req, out := c.ImportWorkspaceImageRequest(input)
  3154  	return out, req.Send()
  3155  }
  3156  
  3157  // ImportWorkspaceImageWithContext is the same as ImportWorkspaceImage with the addition of
  3158  // the ability to pass a context and additional request options.
  3159  //
  3160  // See ImportWorkspaceImage for details on how to use this API operation.
  3161  //
  3162  // The context must be non-nil and will be used for request cancellation. If
  3163  // the context is nil a panic will occur. In the future the SDK may create
  3164  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3165  // for more information on using Contexts.
  3166  func (c *WorkSpaces) ImportWorkspaceImageWithContext(ctx aws.Context, input *ImportWorkspaceImageInput, opts ...request.Option) (*ImportWorkspaceImageOutput, error) {
  3167  	req, out := c.ImportWorkspaceImageRequest(input)
  3168  	req.SetContext(ctx)
  3169  	req.ApplyOptions(opts...)
  3170  	return out, req.Send()
  3171  }
  3172  
  3173  const opListAvailableManagementCidrRanges = "ListAvailableManagementCidrRanges"
  3174  
  3175  // ListAvailableManagementCidrRangesRequest generates a "aws/request.Request" representing the
  3176  // client's request for the ListAvailableManagementCidrRanges operation. The "output" return
  3177  // value will be populated with the request's response once the request completes
  3178  // successfully.
  3179  //
  3180  // Use "Send" method on the returned Request to send the API call to the service.
  3181  // the "output" return value is not valid until after Send returns without error.
  3182  //
  3183  // See ListAvailableManagementCidrRanges for more information on using the ListAvailableManagementCidrRanges
  3184  // API call, and error handling.
  3185  //
  3186  // This method is useful when you want to inject custom logic or configuration
  3187  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3188  //
  3189  //
  3190  //    // Example sending a request using the ListAvailableManagementCidrRangesRequest method.
  3191  //    req, resp := client.ListAvailableManagementCidrRangesRequest(params)
  3192  //
  3193  //    err := req.Send()
  3194  //    if err == nil { // resp is now filled
  3195  //        fmt.Println(resp)
  3196  //    }
  3197  //
  3198  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ListAvailableManagementCidrRanges
  3199  func (c *WorkSpaces) ListAvailableManagementCidrRangesRequest(input *ListAvailableManagementCidrRangesInput) (req *request.Request, output *ListAvailableManagementCidrRangesOutput) {
  3200  	op := &request.Operation{
  3201  		Name:       opListAvailableManagementCidrRanges,
  3202  		HTTPMethod: "POST",
  3203  		HTTPPath:   "/",
  3204  	}
  3205  
  3206  	if input == nil {
  3207  		input = &ListAvailableManagementCidrRangesInput{}
  3208  	}
  3209  
  3210  	output = &ListAvailableManagementCidrRangesOutput{}
  3211  	req = c.newRequest(op, input, output)
  3212  	return
  3213  }
  3214  
  3215  // ListAvailableManagementCidrRanges API operation for Amazon WorkSpaces.
  3216  //
  3217  // Retrieves a list of IP address ranges, specified as IPv4 CIDR blocks, that
  3218  // you can use for the network management interface when you enable Bring Your
  3219  // Own License (BYOL).
  3220  //
  3221  // This operation can be run only by Amazon Web Services accounts that are enabled
  3222  // for BYOL. If your account isn't enabled for BYOL, you'll receive an AccessDeniedException
  3223  // error.
  3224  //
  3225  // The management network interface is connected to a secure Amazon WorkSpaces
  3226  // management network. It is used for interactive streaming of the WorkSpace
  3227  // desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage
  3228  // the WorkSpace.
  3229  //
  3230  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3231  // with awserr.Error's Code and Message methods to get detailed information about
  3232  // the error.
  3233  //
  3234  // See the AWS API reference guide for Amazon WorkSpaces's
  3235  // API operation ListAvailableManagementCidrRanges for usage and error information.
  3236  //
  3237  // Returned Error Types:
  3238  //   * InvalidParameterValuesException
  3239  //   One or more parameter values are not valid.
  3240  //
  3241  //   * AccessDeniedException
  3242  //   The user is not authorized to access a resource.
  3243  //
  3244  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ListAvailableManagementCidrRanges
  3245  func (c *WorkSpaces) ListAvailableManagementCidrRanges(input *ListAvailableManagementCidrRangesInput) (*ListAvailableManagementCidrRangesOutput, error) {
  3246  	req, out := c.ListAvailableManagementCidrRangesRequest(input)
  3247  	return out, req.Send()
  3248  }
  3249  
  3250  // ListAvailableManagementCidrRangesWithContext is the same as ListAvailableManagementCidrRanges with the addition of
  3251  // the ability to pass a context and additional request options.
  3252  //
  3253  // See ListAvailableManagementCidrRanges for details on how to use this API operation.
  3254  //
  3255  // The context must be non-nil and will be used for request cancellation. If
  3256  // the context is nil a panic will occur. In the future the SDK may create
  3257  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3258  // for more information on using Contexts.
  3259  func (c *WorkSpaces) ListAvailableManagementCidrRangesWithContext(ctx aws.Context, input *ListAvailableManagementCidrRangesInput, opts ...request.Option) (*ListAvailableManagementCidrRangesOutput, error) {
  3260  	req, out := c.ListAvailableManagementCidrRangesRequest(input)
  3261  	req.SetContext(ctx)
  3262  	req.ApplyOptions(opts...)
  3263  	return out, req.Send()
  3264  }
  3265  
  3266  const opMigrateWorkspace = "MigrateWorkspace"
  3267  
  3268  // MigrateWorkspaceRequest generates a "aws/request.Request" representing the
  3269  // client's request for the MigrateWorkspace operation. The "output" return
  3270  // value will be populated with the request's response once the request completes
  3271  // successfully.
  3272  //
  3273  // Use "Send" method on the returned Request to send the API call to the service.
  3274  // the "output" return value is not valid until after Send returns without error.
  3275  //
  3276  // See MigrateWorkspace for more information on using the MigrateWorkspace
  3277  // API call, and error handling.
  3278  //
  3279  // This method is useful when you want to inject custom logic or configuration
  3280  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3281  //
  3282  //
  3283  //    // Example sending a request using the MigrateWorkspaceRequest method.
  3284  //    req, resp := client.MigrateWorkspaceRequest(params)
  3285  //
  3286  //    err := req.Send()
  3287  //    if err == nil { // resp is now filled
  3288  //        fmt.Println(resp)
  3289  //    }
  3290  //
  3291  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/MigrateWorkspace
  3292  func (c *WorkSpaces) MigrateWorkspaceRequest(input *MigrateWorkspaceInput) (req *request.Request, output *MigrateWorkspaceOutput) {
  3293  	op := &request.Operation{
  3294  		Name:       opMigrateWorkspace,
  3295  		HTTPMethod: "POST",
  3296  		HTTPPath:   "/",
  3297  	}
  3298  
  3299  	if input == nil {
  3300  		input = &MigrateWorkspaceInput{}
  3301  	}
  3302  
  3303  	output = &MigrateWorkspaceOutput{}
  3304  	req = c.newRequest(op, input, output)
  3305  	return
  3306  }
  3307  
  3308  // MigrateWorkspace API operation for Amazon WorkSpaces.
  3309  //
  3310  // Migrates a WorkSpace from one operating system or bundle type to another,
  3311  // while retaining the data on the user volume.
  3312  //
  3313  // The migration process recreates the WorkSpace by using a new root volume
  3314  // from the target bundle image and the user volume from the last available
  3315  // snapshot of the original WorkSpace. During migration, the original D:\Users\%USERNAME%
  3316  // user profile folder is renamed to D:\Users\%USERNAME%MMddyyTHHmmss%.NotMigrated.
  3317  // A new D:\Users\%USERNAME%\ folder is generated by the new OS. Certain files
  3318  // in the old user profile are moved to the new user profile.
  3319  //
  3320  // For available migration scenarios, details about what happens during migration,
  3321  // and best practices, see Migrate a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/migrate-workspaces.html).
  3322  //
  3323  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3324  // with awserr.Error's Code and Message methods to get detailed information about
  3325  // the error.
  3326  //
  3327  // See the AWS API reference guide for Amazon WorkSpaces's
  3328  // API operation MigrateWorkspace for usage and error information.
  3329  //
  3330  // Returned Error Types:
  3331  //   * InvalidParameterValuesException
  3332  //   One or more parameter values are not valid.
  3333  //
  3334  //   * ResourceNotFoundException
  3335  //   The resource could not be found.
  3336  //
  3337  //   * AccessDeniedException
  3338  //   The user is not authorized to access a resource.
  3339  //
  3340  //   * OperationNotSupportedException
  3341  //   This operation is not supported.
  3342  //
  3343  //   * OperationInProgressException
  3344  //   The properties of this WorkSpace are currently being modified. Try again
  3345  //   in a moment.
  3346  //
  3347  //   * ResourceUnavailableException
  3348  //   The specified resource is not available.
  3349  //
  3350  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/MigrateWorkspace
  3351  func (c *WorkSpaces) MigrateWorkspace(input *MigrateWorkspaceInput) (*MigrateWorkspaceOutput, error) {
  3352  	req, out := c.MigrateWorkspaceRequest(input)
  3353  	return out, req.Send()
  3354  }
  3355  
  3356  // MigrateWorkspaceWithContext is the same as MigrateWorkspace with the addition of
  3357  // the ability to pass a context and additional request options.
  3358  //
  3359  // See MigrateWorkspace for details on how to use this API operation.
  3360  //
  3361  // The context must be non-nil and will be used for request cancellation. If
  3362  // the context is nil a panic will occur. In the future the SDK may create
  3363  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3364  // for more information on using Contexts.
  3365  func (c *WorkSpaces) MigrateWorkspaceWithContext(ctx aws.Context, input *MigrateWorkspaceInput, opts ...request.Option) (*MigrateWorkspaceOutput, error) {
  3366  	req, out := c.MigrateWorkspaceRequest(input)
  3367  	req.SetContext(ctx)
  3368  	req.ApplyOptions(opts...)
  3369  	return out, req.Send()
  3370  }
  3371  
  3372  const opModifyAccount = "ModifyAccount"
  3373  
  3374  // ModifyAccountRequest generates a "aws/request.Request" representing the
  3375  // client's request for the ModifyAccount operation. The "output" return
  3376  // value will be populated with the request's response once the request completes
  3377  // successfully.
  3378  //
  3379  // Use "Send" method on the returned Request to send the API call to the service.
  3380  // the "output" return value is not valid until after Send returns without error.
  3381  //
  3382  // See ModifyAccount for more information on using the ModifyAccount
  3383  // API call, and error handling.
  3384  //
  3385  // This method is useful when you want to inject custom logic or configuration
  3386  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3387  //
  3388  //
  3389  //    // Example sending a request using the ModifyAccountRequest method.
  3390  //    req, resp := client.ModifyAccountRequest(params)
  3391  //
  3392  //    err := req.Send()
  3393  //    if err == nil { // resp is now filled
  3394  //        fmt.Println(resp)
  3395  //    }
  3396  //
  3397  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyAccount
  3398  func (c *WorkSpaces) ModifyAccountRequest(input *ModifyAccountInput) (req *request.Request, output *ModifyAccountOutput) {
  3399  	op := &request.Operation{
  3400  		Name:       opModifyAccount,
  3401  		HTTPMethod: "POST",
  3402  		HTTPPath:   "/",
  3403  	}
  3404  
  3405  	if input == nil {
  3406  		input = &ModifyAccountInput{}
  3407  	}
  3408  
  3409  	output = &ModifyAccountOutput{}
  3410  	req = c.newRequest(op, input, output)
  3411  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3412  	return
  3413  }
  3414  
  3415  // ModifyAccount API operation for Amazon WorkSpaces.
  3416  //
  3417  // Modifies the configuration of Bring Your Own License (BYOL) for the specified
  3418  // account.
  3419  //
  3420  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3421  // with awserr.Error's Code and Message methods to get detailed information about
  3422  // the error.
  3423  //
  3424  // See the AWS API reference guide for Amazon WorkSpaces's
  3425  // API operation ModifyAccount for usage and error information.
  3426  //
  3427  // Returned Error Types:
  3428  //   * InvalidParameterValuesException
  3429  //   One or more parameter values are not valid.
  3430  //
  3431  //   * AccessDeniedException
  3432  //   The user is not authorized to access a resource.
  3433  //
  3434  //   * InvalidResourceStateException
  3435  //   The state of the resource is not valid for this operation.
  3436  //
  3437  //   * ResourceUnavailableException
  3438  //   The specified resource is not available.
  3439  //
  3440  //   * ResourceNotFoundException
  3441  //   The resource could not be found.
  3442  //
  3443  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyAccount
  3444  func (c *WorkSpaces) ModifyAccount(input *ModifyAccountInput) (*ModifyAccountOutput, error) {
  3445  	req, out := c.ModifyAccountRequest(input)
  3446  	return out, req.Send()
  3447  }
  3448  
  3449  // ModifyAccountWithContext is the same as ModifyAccount with the addition of
  3450  // the ability to pass a context and additional request options.
  3451  //
  3452  // See ModifyAccount for details on how to use this API operation.
  3453  //
  3454  // The context must be non-nil and will be used for request cancellation. If
  3455  // the context is nil a panic will occur. In the future the SDK may create
  3456  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3457  // for more information on using Contexts.
  3458  func (c *WorkSpaces) ModifyAccountWithContext(ctx aws.Context, input *ModifyAccountInput, opts ...request.Option) (*ModifyAccountOutput, error) {
  3459  	req, out := c.ModifyAccountRequest(input)
  3460  	req.SetContext(ctx)
  3461  	req.ApplyOptions(opts...)
  3462  	return out, req.Send()
  3463  }
  3464  
  3465  const opModifyClientProperties = "ModifyClientProperties"
  3466  
  3467  // ModifyClientPropertiesRequest generates a "aws/request.Request" representing the
  3468  // client's request for the ModifyClientProperties operation. The "output" return
  3469  // value will be populated with the request's response once the request completes
  3470  // successfully.
  3471  //
  3472  // Use "Send" method on the returned Request to send the API call to the service.
  3473  // the "output" return value is not valid until after Send returns without error.
  3474  //
  3475  // See ModifyClientProperties for more information on using the ModifyClientProperties
  3476  // API call, and error handling.
  3477  //
  3478  // This method is useful when you want to inject custom logic or configuration
  3479  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3480  //
  3481  //
  3482  //    // Example sending a request using the ModifyClientPropertiesRequest method.
  3483  //    req, resp := client.ModifyClientPropertiesRequest(params)
  3484  //
  3485  //    err := req.Send()
  3486  //    if err == nil { // resp is now filled
  3487  //        fmt.Println(resp)
  3488  //    }
  3489  //
  3490  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyClientProperties
  3491  func (c *WorkSpaces) ModifyClientPropertiesRequest(input *ModifyClientPropertiesInput) (req *request.Request, output *ModifyClientPropertiesOutput) {
  3492  	op := &request.Operation{
  3493  		Name:       opModifyClientProperties,
  3494  		HTTPMethod: "POST",
  3495  		HTTPPath:   "/",
  3496  	}
  3497  
  3498  	if input == nil {
  3499  		input = &ModifyClientPropertiesInput{}
  3500  	}
  3501  
  3502  	output = &ModifyClientPropertiesOutput{}
  3503  	req = c.newRequest(op, input, output)
  3504  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3505  	return
  3506  }
  3507  
  3508  // ModifyClientProperties API operation for Amazon WorkSpaces.
  3509  //
  3510  // Modifies the properties of the specified Amazon WorkSpaces clients.
  3511  //
  3512  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3513  // with awserr.Error's Code and Message methods to get detailed information about
  3514  // the error.
  3515  //
  3516  // See the AWS API reference guide for Amazon WorkSpaces's
  3517  // API operation ModifyClientProperties for usage and error information.
  3518  //
  3519  // Returned Error Types:
  3520  //   * InvalidParameterValuesException
  3521  //   One or more parameter values are not valid.
  3522  //
  3523  //   * ResourceNotFoundException
  3524  //   The resource could not be found.
  3525  //
  3526  //   * AccessDeniedException
  3527  //   The user is not authorized to access a resource.
  3528  //
  3529  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyClientProperties
  3530  func (c *WorkSpaces) ModifyClientProperties(input *ModifyClientPropertiesInput) (*ModifyClientPropertiesOutput, error) {
  3531  	req, out := c.ModifyClientPropertiesRequest(input)
  3532  	return out, req.Send()
  3533  }
  3534  
  3535  // ModifyClientPropertiesWithContext is the same as ModifyClientProperties with the addition of
  3536  // the ability to pass a context and additional request options.
  3537  //
  3538  // See ModifyClientProperties for details on how to use this API operation.
  3539  //
  3540  // The context must be non-nil and will be used for request cancellation. If
  3541  // the context is nil a panic will occur. In the future the SDK may create
  3542  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3543  // for more information on using Contexts.
  3544  func (c *WorkSpaces) ModifyClientPropertiesWithContext(ctx aws.Context, input *ModifyClientPropertiesInput, opts ...request.Option) (*ModifyClientPropertiesOutput, error) {
  3545  	req, out := c.ModifyClientPropertiesRequest(input)
  3546  	req.SetContext(ctx)
  3547  	req.ApplyOptions(opts...)
  3548  	return out, req.Send()
  3549  }
  3550  
  3551  const opModifySelfservicePermissions = "ModifySelfservicePermissions"
  3552  
  3553  // ModifySelfservicePermissionsRequest generates a "aws/request.Request" representing the
  3554  // client's request for the ModifySelfservicePermissions operation. The "output" return
  3555  // value will be populated with the request's response once the request completes
  3556  // successfully.
  3557  //
  3558  // Use "Send" method on the returned Request to send the API call to the service.
  3559  // the "output" return value is not valid until after Send returns without error.
  3560  //
  3561  // See ModifySelfservicePermissions for more information on using the ModifySelfservicePermissions
  3562  // API call, and error handling.
  3563  //
  3564  // This method is useful when you want to inject custom logic or configuration
  3565  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3566  //
  3567  //
  3568  //    // Example sending a request using the ModifySelfservicePermissionsRequest method.
  3569  //    req, resp := client.ModifySelfservicePermissionsRequest(params)
  3570  //
  3571  //    err := req.Send()
  3572  //    if err == nil { // resp is now filled
  3573  //        fmt.Println(resp)
  3574  //    }
  3575  //
  3576  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifySelfservicePermissions
  3577  func (c *WorkSpaces) ModifySelfservicePermissionsRequest(input *ModifySelfservicePermissionsInput) (req *request.Request, output *ModifySelfservicePermissionsOutput) {
  3578  	op := &request.Operation{
  3579  		Name:       opModifySelfservicePermissions,
  3580  		HTTPMethod: "POST",
  3581  		HTTPPath:   "/",
  3582  	}
  3583  
  3584  	if input == nil {
  3585  		input = &ModifySelfservicePermissionsInput{}
  3586  	}
  3587  
  3588  	output = &ModifySelfservicePermissionsOutput{}
  3589  	req = c.newRequest(op, input, output)
  3590  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3591  	return
  3592  }
  3593  
  3594  // ModifySelfservicePermissions API operation for Amazon WorkSpaces.
  3595  //
  3596  // Modifies the self-service WorkSpace management capabilities for your users.
  3597  // For more information, see Enable Self-Service WorkSpace Management Capabilities
  3598  // for Your Users (https://docs.aws.amazon.com/workspaces/latest/adminguide/enable-user-self-service-workspace-management.html).
  3599  //
  3600  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3601  // with awserr.Error's Code and Message methods to get detailed information about
  3602  // the error.
  3603  //
  3604  // See the AWS API reference guide for Amazon WorkSpaces's
  3605  // API operation ModifySelfservicePermissions for usage and error information.
  3606  //
  3607  // Returned Error Types:
  3608  //   * AccessDeniedException
  3609  //   The user is not authorized to access a resource.
  3610  //
  3611  //   * InvalidParameterValuesException
  3612  //   One or more parameter values are not valid.
  3613  //
  3614  //   * ResourceNotFoundException
  3615  //   The resource could not be found.
  3616  //
  3617  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifySelfservicePermissions
  3618  func (c *WorkSpaces) ModifySelfservicePermissions(input *ModifySelfservicePermissionsInput) (*ModifySelfservicePermissionsOutput, error) {
  3619  	req, out := c.ModifySelfservicePermissionsRequest(input)
  3620  	return out, req.Send()
  3621  }
  3622  
  3623  // ModifySelfservicePermissionsWithContext is the same as ModifySelfservicePermissions with the addition of
  3624  // the ability to pass a context and additional request options.
  3625  //
  3626  // See ModifySelfservicePermissions for details on how to use this API operation.
  3627  //
  3628  // The context must be non-nil and will be used for request cancellation. If
  3629  // the context is nil a panic will occur. In the future the SDK may create
  3630  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3631  // for more information on using Contexts.
  3632  func (c *WorkSpaces) ModifySelfservicePermissionsWithContext(ctx aws.Context, input *ModifySelfservicePermissionsInput, opts ...request.Option) (*ModifySelfservicePermissionsOutput, error) {
  3633  	req, out := c.ModifySelfservicePermissionsRequest(input)
  3634  	req.SetContext(ctx)
  3635  	req.ApplyOptions(opts...)
  3636  	return out, req.Send()
  3637  }
  3638  
  3639  const opModifyWorkspaceAccessProperties = "ModifyWorkspaceAccessProperties"
  3640  
  3641  // ModifyWorkspaceAccessPropertiesRequest generates a "aws/request.Request" representing the
  3642  // client's request for the ModifyWorkspaceAccessProperties operation. The "output" return
  3643  // value will be populated with the request's response once the request completes
  3644  // successfully.
  3645  //
  3646  // Use "Send" method on the returned Request to send the API call to the service.
  3647  // the "output" return value is not valid until after Send returns without error.
  3648  //
  3649  // See ModifyWorkspaceAccessProperties for more information on using the ModifyWorkspaceAccessProperties
  3650  // API call, and error handling.
  3651  //
  3652  // This method is useful when you want to inject custom logic or configuration
  3653  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3654  //
  3655  //
  3656  //    // Example sending a request using the ModifyWorkspaceAccessPropertiesRequest method.
  3657  //    req, resp := client.ModifyWorkspaceAccessPropertiesRequest(params)
  3658  //
  3659  //    err := req.Send()
  3660  //    if err == nil { // resp is now filled
  3661  //        fmt.Println(resp)
  3662  //    }
  3663  //
  3664  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceAccessProperties
  3665  func (c *WorkSpaces) ModifyWorkspaceAccessPropertiesRequest(input *ModifyWorkspaceAccessPropertiesInput) (req *request.Request, output *ModifyWorkspaceAccessPropertiesOutput) {
  3666  	op := &request.Operation{
  3667  		Name:       opModifyWorkspaceAccessProperties,
  3668  		HTTPMethod: "POST",
  3669  		HTTPPath:   "/",
  3670  	}
  3671  
  3672  	if input == nil {
  3673  		input = &ModifyWorkspaceAccessPropertiesInput{}
  3674  	}
  3675  
  3676  	output = &ModifyWorkspaceAccessPropertiesOutput{}
  3677  	req = c.newRequest(op, input, output)
  3678  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3679  	return
  3680  }
  3681  
  3682  // ModifyWorkspaceAccessProperties API operation for Amazon WorkSpaces.
  3683  //
  3684  // Specifies which devices and operating systems users can use to access their
  3685  // WorkSpaces. For more information, see Control Device Access (https://docs.aws.amazon.com/workspaces/latest/adminguide/update-directory-details.html#control-device-access).
  3686  //
  3687  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3688  // with awserr.Error's Code and Message methods to get detailed information about
  3689  // the error.
  3690  //
  3691  // See the AWS API reference guide for Amazon WorkSpaces's
  3692  // API operation ModifyWorkspaceAccessProperties for usage and error information.
  3693  //
  3694  // Returned Error Types:
  3695  //   * ResourceNotFoundException
  3696  //   The resource could not be found.
  3697  //
  3698  //   * AccessDeniedException
  3699  //   The user is not authorized to access a resource.
  3700  //
  3701  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceAccessProperties
  3702  func (c *WorkSpaces) ModifyWorkspaceAccessProperties(input *ModifyWorkspaceAccessPropertiesInput) (*ModifyWorkspaceAccessPropertiesOutput, error) {
  3703  	req, out := c.ModifyWorkspaceAccessPropertiesRequest(input)
  3704  	return out, req.Send()
  3705  }
  3706  
  3707  // ModifyWorkspaceAccessPropertiesWithContext is the same as ModifyWorkspaceAccessProperties with the addition of
  3708  // the ability to pass a context and additional request options.
  3709  //
  3710  // See ModifyWorkspaceAccessProperties for details on how to use this API operation.
  3711  //
  3712  // The context must be non-nil and will be used for request cancellation. If
  3713  // the context is nil a panic will occur. In the future the SDK may create
  3714  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3715  // for more information on using Contexts.
  3716  func (c *WorkSpaces) ModifyWorkspaceAccessPropertiesWithContext(ctx aws.Context, input *ModifyWorkspaceAccessPropertiesInput, opts ...request.Option) (*ModifyWorkspaceAccessPropertiesOutput, error) {
  3717  	req, out := c.ModifyWorkspaceAccessPropertiesRequest(input)
  3718  	req.SetContext(ctx)
  3719  	req.ApplyOptions(opts...)
  3720  	return out, req.Send()
  3721  }
  3722  
  3723  const opModifyWorkspaceCreationProperties = "ModifyWorkspaceCreationProperties"
  3724  
  3725  // ModifyWorkspaceCreationPropertiesRequest generates a "aws/request.Request" representing the
  3726  // client's request for the ModifyWorkspaceCreationProperties operation. The "output" return
  3727  // value will be populated with the request's response once the request completes
  3728  // successfully.
  3729  //
  3730  // Use "Send" method on the returned Request to send the API call to the service.
  3731  // the "output" return value is not valid until after Send returns without error.
  3732  //
  3733  // See ModifyWorkspaceCreationProperties for more information on using the ModifyWorkspaceCreationProperties
  3734  // API call, and error handling.
  3735  //
  3736  // This method is useful when you want to inject custom logic or configuration
  3737  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3738  //
  3739  //
  3740  //    // Example sending a request using the ModifyWorkspaceCreationPropertiesRequest method.
  3741  //    req, resp := client.ModifyWorkspaceCreationPropertiesRequest(params)
  3742  //
  3743  //    err := req.Send()
  3744  //    if err == nil { // resp is now filled
  3745  //        fmt.Println(resp)
  3746  //    }
  3747  //
  3748  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceCreationProperties
  3749  func (c *WorkSpaces) ModifyWorkspaceCreationPropertiesRequest(input *ModifyWorkspaceCreationPropertiesInput) (req *request.Request, output *ModifyWorkspaceCreationPropertiesOutput) {
  3750  	op := &request.Operation{
  3751  		Name:       opModifyWorkspaceCreationProperties,
  3752  		HTTPMethod: "POST",
  3753  		HTTPPath:   "/",
  3754  	}
  3755  
  3756  	if input == nil {
  3757  		input = &ModifyWorkspaceCreationPropertiesInput{}
  3758  	}
  3759  
  3760  	output = &ModifyWorkspaceCreationPropertiesOutput{}
  3761  	req = c.newRequest(op, input, output)
  3762  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3763  	return
  3764  }
  3765  
  3766  // ModifyWorkspaceCreationProperties API operation for Amazon WorkSpaces.
  3767  //
  3768  // Modify the default properties used to create WorkSpaces.
  3769  //
  3770  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3771  // with awserr.Error's Code and Message methods to get detailed information about
  3772  // the error.
  3773  //
  3774  // See the AWS API reference guide for Amazon WorkSpaces's
  3775  // API operation ModifyWorkspaceCreationProperties for usage and error information.
  3776  //
  3777  // Returned Error Types:
  3778  //   * AccessDeniedException
  3779  //   The user is not authorized to access a resource.
  3780  //
  3781  //   * InvalidParameterValuesException
  3782  //   One or more parameter values are not valid.
  3783  //
  3784  //   * ResourceNotFoundException
  3785  //   The resource could not be found.
  3786  //
  3787  //   * OperationNotSupportedException
  3788  //   This operation is not supported.
  3789  //
  3790  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceCreationProperties
  3791  func (c *WorkSpaces) ModifyWorkspaceCreationProperties(input *ModifyWorkspaceCreationPropertiesInput) (*ModifyWorkspaceCreationPropertiesOutput, error) {
  3792  	req, out := c.ModifyWorkspaceCreationPropertiesRequest(input)
  3793  	return out, req.Send()
  3794  }
  3795  
  3796  // ModifyWorkspaceCreationPropertiesWithContext is the same as ModifyWorkspaceCreationProperties with the addition of
  3797  // the ability to pass a context and additional request options.
  3798  //
  3799  // See ModifyWorkspaceCreationProperties for details on how to use this API operation.
  3800  //
  3801  // The context must be non-nil and will be used for request cancellation. If
  3802  // the context is nil a panic will occur. In the future the SDK may create
  3803  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3804  // for more information on using Contexts.
  3805  func (c *WorkSpaces) ModifyWorkspaceCreationPropertiesWithContext(ctx aws.Context, input *ModifyWorkspaceCreationPropertiesInput, opts ...request.Option) (*ModifyWorkspaceCreationPropertiesOutput, error) {
  3806  	req, out := c.ModifyWorkspaceCreationPropertiesRequest(input)
  3807  	req.SetContext(ctx)
  3808  	req.ApplyOptions(opts...)
  3809  	return out, req.Send()
  3810  }
  3811  
  3812  const opModifyWorkspaceProperties = "ModifyWorkspaceProperties"
  3813  
  3814  // ModifyWorkspacePropertiesRequest generates a "aws/request.Request" representing the
  3815  // client's request for the ModifyWorkspaceProperties operation. The "output" return
  3816  // value will be populated with the request's response once the request completes
  3817  // successfully.
  3818  //
  3819  // Use "Send" method on the returned Request to send the API call to the service.
  3820  // the "output" return value is not valid until after Send returns without error.
  3821  //
  3822  // See ModifyWorkspaceProperties for more information on using the ModifyWorkspaceProperties
  3823  // API call, and error handling.
  3824  //
  3825  // This method is useful when you want to inject custom logic or configuration
  3826  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3827  //
  3828  //
  3829  //    // Example sending a request using the ModifyWorkspacePropertiesRequest method.
  3830  //    req, resp := client.ModifyWorkspacePropertiesRequest(params)
  3831  //
  3832  //    err := req.Send()
  3833  //    if err == nil { // resp is now filled
  3834  //        fmt.Println(resp)
  3835  //    }
  3836  //
  3837  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceProperties
  3838  func (c *WorkSpaces) ModifyWorkspacePropertiesRequest(input *ModifyWorkspacePropertiesInput) (req *request.Request, output *ModifyWorkspacePropertiesOutput) {
  3839  	op := &request.Operation{
  3840  		Name:       opModifyWorkspaceProperties,
  3841  		HTTPMethod: "POST",
  3842  		HTTPPath:   "/",
  3843  	}
  3844  
  3845  	if input == nil {
  3846  		input = &ModifyWorkspacePropertiesInput{}
  3847  	}
  3848  
  3849  	output = &ModifyWorkspacePropertiesOutput{}
  3850  	req = c.newRequest(op, input, output)
  3851  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3852  	return
  3853  }
  3854  
  3855  // ModifyWorkspaceProperties API operation for Amazon WorkSpaces.
  3856  //
  3857  // Modifies the specified WorkSpace properties. For important information about
  3858  // how to modify the size of the root and user volumes, see Modify a WorkSpace
  3859  // (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html).
  3860  //
  3861  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3862  // with awserr.Error's Code and Message methods to get detailed information about
  3863  // the error.
  3864  //
  3865  // See the AWS API reference guide for Amazon WorkSpaces's
  3866  // API operation ModifyWorkspaceProperties for usage and error information.
  3867  //
  3868  // Returned Error Types:
  3869  //   * InvalidParameterValuesException
  3870  //   One or more parameter values are not valid.
  3871  //
  3872  //   * InvalidResourceStateException
  3873  //   The state of the resource is not valid for this operation.
  3874  //
  3875  //   * OperationInProgressException
  3876  //   The properties of this WorkSpace are currently being modified. Try again
  3877  //   in a moment.
  3878  //
  3879  //   * UnsupportedWorkspaceConfigurationException
  3880  //   The configuration of this WorkSpace is not supported for this operation.
  3881  //   For more information, see Required Configuration and Service Components for
  3882  //   WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/required-service-components.html).
  3883  //
  3884  //   * ResourceNotFoundException
  3885  //   The resource could not be found.
  3886  //
  3887  //   * AccessDeniedException
  3888  //   The user is not authorized to access a resource.
  3889  //
  3890  //   * ResourceUnavailableException
  3891  //   The specified resource is not available.
  3892  //
  3893  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceProperties
  3894  func (c *WorkSpaces) ModifyWorkspaceProperties(input *ModifyWorkspacePropertiesInput) (*ModifyWorkspacePropertiesOutput, error) {
  3895  	req, out := c.ModifyWorkspacePropertiesRequest(input)
  3896  	return out, req.Send()
  3897  }
  3898  
  3899  // ModifyWorkspacePropertiesWithContext is the same as ModifyWorkspaceProperties with the addition of
  3900  // the ability to pass a context and additional request options.
  3901  //
  3902  // See ModifyWorkspaceProperties for details on how to use this API operation.
  3903  //
  3904  // The context must be non-nil and will be used for request cancellation. If
  3905  // the context is nil a panic will occur. In the future the SDK may create
  3906  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3907  // for more information on using Contexts.
  3908  func (c *WorkSpaces) ModifyWorkspacePropertiesWithContext(ctx aws.Context, input *ModifyWorkspacePropertiesInput, opts ...request.Option) (*ModifyWorkspacePropertiesOutput, error) {
  3909  	req, out := c.ModifyWorkspacePropertiesRequest(input)
  3910  	req.SetContext(ctx)
  3911  	req.ApplyOptions(opts...)
  3912  	return out, req.Send()
  3913  }
  3914  
  3915  const opModifyWorkspaceState = "ModifyWorkspaceState"
  3916  
  3917  // ModifyWorkspaceStateRequest generates a "aws/request.Request" representing the
  3918  // client's request for the ModifyWorkspaceState operation. The "output" return
  3919  // value will be populated with the request's response once the request completes
  3920  // successfully.
  3921  //
  3922  // Use "Send" method on the returned Request to send the API call to the service.
  3923  // the "output" return value is not valid until after Send returns without error.
  3924  //
  3925  // See ModifyWorkspaceState for more information on using the ModifyWorkspaceState
  3926  // API call, and error handling.
  3927  //
  3928  // This method is useful when you want to inject custom logic or configuration
  3929  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3930  //
  3931  //
  3932  //    // Example sending a request using the ModifyWorkspaceStateRequest method.
  3933  //    req, resp := client.ModifyWorkspaceStateRequest(params)
  3934  //
  3935  //    err := req.Send()
  3936  //    if err == nil { // resp is now filled
  3937  //        fmt.Println(resp)
  3938  //    }
  3939  //
  3940  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceState
  3941  func (c *WorkSpaces) ModifyWorkspaceStateRequest(input *ModifyWorkspaceStateInput) (req *request.Request, output *ModifyWorkspaceStateOutput) {
  3942  	op := &request.Operation{
  3943  		Name:       opModifyWorkspaceState,
  3944  		HTTPMethod: "POST",
  3945  		HTTPPath:   "/",
  3946  	}
  3947  
  3948  	if input == nil {
  3949  		input = &ModifyWorkspaceStateInput{}
  3950  	}
  3951  
  3952  	output = &ModifyWorkspaceStateOutput{}
  3953  	req = c.newRequest(op, input, output)
  3954  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3955  	return
  3956  }
  3957  
  3958  // ModifyWorkspaceState API operation for Amazon WorkSpaces.
  3959  //
  3960  // Sets the state of the specified WorkSpace.
  3961  //
  3962  // To maintain a WorkSpace without being interrupted, set the WorkSpace state
  3963  // to ADMIN_MAINTENANCE. WorkSpaces in this state do not respond to requests
  3964  // to reboot, stop, start, rebuild, or restore. An AutoStop WorkSpace in this
  3965  // state is not stopped. Users cannot log into a WorkSpace in the ADMIN_MAINTENANCE
  3966  // state.
  3967  //
  3968  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3969  // with awserr.Error's Code and Message methods to get detailed information about
  3970  // the error.
  3971  //
  3972  // See the AWS API reference guide for Amazon WorkSpaces's
  3973  // API operation ModifyWorkspaceState for usage and error information.
  3974  //
  3975  // Returned Error Types:
  3976  //   * InvalidParameterValuesException
  3977  //   One or more parameter values are not valid.
  3978  //
  3979  //   * InvalidResourceStateException
  3980  //   The state of the resource is not valid for this operation.
  3981  //
  3982  //   * ResourceNotFoundException
  3983  //   The resource could not be found.
  3984  //
  3985  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceState
  3986  func (c *WorkSpaces) ModifyWorkspaceState(input *ModifyWorkspaceStateInput) (*ModifyWorkspaceStateOutput, error) {
  3987  	req, out := c.ModifyWorkspaceStateRequest(input)
  3988  	return out, req.Send()
  3989  }
  3990  
  3991  // ModifyWorkspaceStateWithContext is the same as ModifyWorkspaceState with the addition of
  3992  // the ability to pass a context and additional request options.
  3993  //
  3994  // See ModifyWorkspaceState for details on how to use this API operation.
  3995  //
  3996  // The context must be non-nil and will be used for request cancellation. If
  3997  // the context is nil a panic will occur. In the future the SDK may create
  3998  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3999  // for more information on using Contexts.
  4000  func (c *WorkSpaces) ModifyWorkspaceStateWithContext(ctx aws.Context, input *ModifyWorkspaceStateInput, opts ...request.Option) (*ModifyWorkspaceStateOutput, error) {
  4001  	req, out := c.ModifyWorkspaceStateRequest(input)
  4002  	req.SetContext(ctx)
  4003  	req.ApplyOptions(opts...)
  4004  	return out, req.Send()
  4005  }
  4006  
  4007  const opRebootWorkspaces = "RebootWorkspaces"
  4008  
  4009  // RebootWorkspacesRequest generates a "aws/request.Request" representing the
  4010  // client's request for the RebootWorkspaces operation. The "output" return
  4011  // value will be populated with the request's response once the request completes
  4012  // successfully.
  4013  //
  4014  // Use "Send" method on the returned Request to send the API call to the service.
  4015  // the "output" return value is not valid until after Send returns without error.
  4016  //
  4017  // See RebootWorkspaces for more information on using the RebootWorkspaces
  4018  // API call, and error handling.
  4019  //
  4020  // This method is useful when you want to inject custom logic or configuration
  4021  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4022  //
  4023  //
  4024  //    // Example sending a request using the RebootWorkspacesRequest method.
  4025  //    req, resp := client.RebootWorkspacesRequest(params)
  4026  //
  4027  //    err := req.Send()
  4028  //    if err == nil { // resp is now filled
  4029  //        fmt.Println(resp)
  4030  //    }
  4031  //
  4032  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebootWorkspaces
  4033  func (c *WorkSpaces) RebootWorkspacesRequest(input *RebootWorkspacesInput) (req *request.Request, output *RebootWorkspacesOutput) {
  4034  	op := &request.Operation{
  4035  		Name:       opRebootWorkspaces,
  4036  		HTTPMethod: "POST",
  4037  		HTTPPath:   "/",
  4038  	}
  4039  
  4040  	if input == nil {
  4041  		input = &RebootWorkspacesInput{}
  4042  	}
  4043  
  4044  	output = &RebootWorkspacesOutput{}
  4045  	req = c.newRequest(op, input, output)
  4046  	return
  4047  }
  4048  
  4049  // RebootWorkspaces API operation for Amazon WorkSpaces.
  4050  //
  4051  // Reboots the specified WorkSpaces.
  4052  //
  4053  // You cannot reboot a WorkSpace unless its state is AVAILABLE or UNHEALTHY.
  4054  //
  4055  // This operation is asynchronous and returns before the WorkSpaces have rebooted.
  4056  //
  4057  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4058  // with awserr.Error's Code and Message methods to get detailed information about
  4059  // the error.
  4060  //
  4061  // See the AWS API reference guide for Amazon WorkSpaces's
  4062  // API operation RebootWorkspaces for usage and error information.
  4063  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebootWorkspaces
  4064  func (c *WorkSpaces) RebootWorkspaces(input *RebootWorkspacesInput) (*RebootWorkspacesOutput, error) {
  4065  	req, out := c.RebootWorkspacesRequest(input)
  4066  	return out, req.Send()
  4067  }
  4068  
  4069  // RebootWorkspacesWithContext is the same as RebootWorkspaces with the addition of
  4070  // the ability to pass a context and additional request options.
  4071  //
  4072  // See RebootWorkspaces for details on how to use this API operation.
  4073  //
  4074  // The context must be non-nil and will be used for request cancellation. If
  4075  // the context is nil a panic will occur. In the future the SDK may create
  4076  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4077  // for more information on using Contexts.
  4078  func (c *WorkSpaces) RebootWorkspacesWithContext(ctx aws.Context, input *RebootWorkspacesInput, opts ...request.Option) (*RebootWorkspacesOutput, error) {
  4079  	req, out := c.RebootWorkspacesRequest(input)
  4080  	req.SetContext(ctx)
  4081  	req.ApplyOptions(opts...)
  4082  	return out, req.Send()
  4083  }
  4084  
  4085  const opRebuildWorkspaces = "RebuildWorkspaces"
  4086  
  4087  // RebuildWorkspacesRequest generates a "aws/request.Request" representing the
  4088  // client's request for the RebuildWorkspaces operation. The "output" return
  4089  // value will be populated with the request's response once the request completes
  4090  // successfully.
  4091  //
  4092  // Use "Send" method on the returned Request to send the API call to the service.
  4093  // the "output" return value is not valid until after Send returns without error.
  4094  //
  4095  // See RebuildWorkspaces for more information on using the RebuildWorkspaces
  4096  // API call, and error handling.
  4097  //
  4098  // This method is useful when you want to inject custom logic or configuration
  4099  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4100  //
  4101  //
  4102  //    // Example sending a request using the RebuildWorkspacesRequest method.
  4103  //    req, resp := client.RebuildWorkspacesRequest(params)
  4104  //
  4105  //    err := req.Send()
  4106  //    if err == nil { // resp is now filled
  4107  //        fmt.Println(resp)
  4108  //    }
  4109  //
  4110  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebuildWorkspaces
  4111  func (c *WorkSpaces) RebuildWorkspacesRequest(input *RebuildWorkspacesInput) (req *request.Request, output *RebuildWorkspacesOutput) {
  4112  	op := &request.Operation{
  4113  		Name:       opRebuildWorkspaces,
  4114  		HTTPMethod: "POST",
  4115  		HTTPPath:   "/",
  4116  	}
  4117  
  4118  	if input == nil {
  4119  		input = &RebuildWorkspacesInput{}
  4120  	}
  4121  
  4122  	output = &RebuildWorkspacesOutput{}
  4123  	req = c.newRequest(op, input, output)
  4124  	return
  4125  }
  4126  
  4127  // RebuildWorkspaces API operation for Amazon WorkSpaces.
  4128  //
  4129  // Rebuilds the specified WorkSpace.
  4130  //
  4131  // You cannot rebuild a WorkSpace unless its state is AVAILABLE, ERROR, UNHEALTHY,
  4132  // STOPPED, or REBOOTING.
  4133  //
  4134  // Rebuilding a WorkSpace is a potentially destructive action that can result
  4135  // in the loss of data. For more information, see Rebuild a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/reset-workspace.html).
  4136  //
  4137  // This operation is asynchronous and returns before the WorkSpaces have been
  4138  // completely rebuilt.
  4139  //
  4140  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4141  // with awserr.Error's Code and Message methods to get detailed information about
  4142  // the error.
  4143  //
  4144  // See the AWS API reference guide for Amazon WorkSpaces's
  4145  // API operation RebuildWorkspaces for usage and error information.
  4146  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RebuildWorkspaces
  4147  func (c *WorkSpaces) RebuildWorkspaces(input *RebuildWorkspacesInput) (*RebuildWorkspacesOutput, error) {
  4148  	req, out := c.RebuildWorkspacesRequest(input)
  4149  	return out, req.Send()
  4150  }
  4151  
  4152  // RebuildWorkspacesWithContext is the same as RebuildWorkspaces with the addition of
  4153  // the ability to pass a context and additional request options.
  4154  //
  4155  // See RebuildWorkspaces for details on how to use this API operation.
  4156  //
  4157  // The context must be non-nil and will be used for request cancellation. If
  4158  // the context is nil a panic will occur. In the future the SDK may create
  4159  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4160  // for more information on using Contexts.
  4161  func (c *WorkSpaces) RebuildWorkspacesWithContext(ctx aws.Context, input *RebuildWorkspacesInput, opts ...request.Option) (*RebuildWorkspacesOutput, error) {
  4162  	req, out := c.RebuildWorkspacesRequest(input)
  4163  	req.SetContext(ctx)
  4164  	req.ApplyOptions(opts...)
  4165  	return out, req.Send()
  4166  }
  4167  
  4168  const opRegisterWorkspaceDirectory = "RegisterWorkspaceDirectory"
  4169  
  4170  // RegisterWorkspaceDirectoryRequest generates a "aws/request.Request" representing the
  4171  // client's request for the RegisterWorkspaceDirectory operation. The "output" return
  4172  // value will be populated with the request's response once the request completes
  4173  // successfully.
  4174  //
  4175  // Use "Send" method on the returned Request to send the API call to the service.
  4176  // the "output" return value is not valid until after Send returns without error.
  4177  //
  4178  // See RegisterWorkspaceDirectory for more information on using the RegisterWorkspaceDirectory
  4179  // API call, and error handling.
  4180  //
  4181  // This method is useful when you want to inject custom logic or configuration
  4182  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4183  //
  4184  //
  4185  //    // Example sending a request using the RegisterWorkspaceDirectoryRequest method.
  4186  //    req, resp := client.RegisterWorkspaceDirectoryRequest(params)
  4187  //
  4188  //    err := req.Send()
  4189  //    if err == nil { // resp is now filled
  4190  //        fmt.Println(resp)
  4191  //    }
  4192  //
  4193  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RegisterWorkspaceDirectory
  4194  func (c *WorkSpaces) RegisterWorkspaceDirectoryRequest(input *RegisterWorkspaceDirectoryInput) (req *request.Request, output *RegisterWorkspaceDirectoryOutput) {
  4195  	op := &request.Operation{
  4196  		Name:       opRegisterWorkspaceDirectory,
  4197  		HTTPMethod: "POST",
  4198  		HTTPPath:   "/",
  4199  	}
  4200  
  4201  	if input == nil {
  4202  		input = &RegisterWorkspaceDirectoryInput{}
  4203  	}
  4204  
  4205  	output = &RegisterWorkspaceDirectoryOutput{}
  4206  	req = c.newRequest(op, input, output)
  4207  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4208  	return
  4209  }
  4210  
  4211  // RegisterWorkspaceDirectory API operation for Amazon WorkSpaces.
  4212  //
  4213  // Registers the specified directory. This operation is asynchronous and returns
  4214  // before the WorkSpace directory is registered. If this is the first time you
  4215  // are registering a directory, you will need to create the workspaces_DefaultRole
  4216  // role before you can register a directory. For more information, see Creating
  4217  // the workspaces_DefaultRole Role (https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role).
  4218  //
  4219  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4220  // with awserr.Error's Code and Message methods to get detailed information about
  4221  // the error.
  4222  //
  4223  // See the AWS API reference guide for Amazon WorkSpaces's
  4224  // API operation RegisterWorkspaceDirectory for usage and error information.
  4225  //
  4226  // Returned Error Types:
  4227  //   * InvalidParameterValuesException
  4228  //   One or more parameter values are not valid.
  4229  //
  4230  //   * ResourceNotFoundException
  4231  //   The resource could not be found.
  4232  //
  4233  //   * ResourceLimitExceededException
  4234  //   Your resource limits have been exceeded.
  4235  //
  4236  //   * AccessDeniedException
  4237  //   The user is not authorized to access a resource.
  4238  //
  4239  //   * WorkspacesDefaultRoleNotFoundException
  4240  //   The workspaces_DefaultRole role could not be found. If this is the first
  4241  //   time you are registering a directory, you will need to create the workspaces_DefaultRole
  4242  //   role before you can register a directory. For more information, see Creating
  4243  //   the workspaces_DefaultRole Role (https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role).
  4244  //
  4245  //   * InvalidResourceStateException
  4246  //   The state of the resource is not valid for this operation.
  4247  //
  4248  //   * UnsupportedNetworkConfigurationException
  4249  //   The configuration of this network is not supported for this operation, or
  4250  //   your network configuration conflicts with the Amazon WorkSpaces management
  4251  //   network IP range. For more information, see Configure a VPC for Amazon WorkSpaces
  4252  //   (https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-vpc.html).
  4253  //
  4254  //   * OperationNotSupportedException
  4255  //   This operation is not supported.
  4256  //
  4257  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RegisterWorkspaceDirectory
  4258  func (c *WorkSpaces) RegisterWorkspaceDirectory(input *RegisterWorkspaceDirectoryInput) (*RegisterWorkspaceDirectoryOutput, error) {
  4259  	req, out := c.RegisterWorkspaceDirectoryRequest(input)
  4260  	return out, req.Send()
  4261  }
  4262  
  4263  // RegisterWorkspaceDirectoryWithContext is the same as RegisterWorkspaceDirectory with the addition of
  4264  // the ability to pass a context and additional request options.
  4265  //
  4266  // See RegisterWorkspaceDirectory for details on how to use this API operation.
  4267  //
  4268  // The context must be non-nil and will be used for request cancellation. If
  4269  // the context is nil a panic will occur. In the future the SDK may create
  4270  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4271  // for more information on using Contexts.
  4272  func (c *WorkSpaces) RegisterWorkspaceDirectoryWithContext(ctx aws.Context, input *RegisterWorkspaceDirectoryInput, opts ...request.Option) (*RegisterWorkspaceDirectoryOutput, error) {
  4273  	req, out := c.RegisterWorkspaceDirectoryRequest(input)
  4274  	req.SetContext(ctx)
  4275  	req.ApplyOptions(opts...)
  4276  	return out, req.Send()
  4277  }
  4278  
  4279  const opRestoreWorkspace = "RestoreWorkspace"
  4280  
  4281  // RestoreWorkspaceRequest generates a "aws/request.Request" representing the
  4282  // client's request for the RestoreWorkspace operation. The "output" return
  4283  // value will be populated with the request's response once the request completes
  4284  // successfully.
  4285  //
  4286  // Use "Send" method on the returned Request to send the API call to the service.
  4287  // the "output" return value is not valid until after Send returns without error.
  4288  //
  4289  // See RestoreWorkspace for more information on using the RestoreWorkspace
  4290  // API call, and error handling.
  4291  //
  4292  // This method is useful when you want to inject custom logic or configuration
  4293  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4294  //
  4295  //
  4296  //    // Example sending a request using the RestoreWorkspaceRequest method.
  4297  //    req, resp := client.RestoreWorkspaceRequest(params)
  4298  //
  4299  //    err := req.Send()
  4300  //    if err == nil { // resp is now filled
  4301  //        fmt.Println(resp)
  4302  //    }
  4303  //
  4304  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RestoreWorkspace
  4305  func (c *WorkSpaces) RestoreWorkspaceRequest(input *RestoreWorkspaceInput) (req *request.Request, output *RestoreWorkspaceOutput) {
  4306  	op := &request.Operation{
  4307  		Name:       opRestoreWorkspace,
  4308  		HTTPMethod: "POST",
  4309  		HTTPPath:   "/",
  4310  	}
  4311  
  4312  	if input == nil {
  4313  		input = &RestoreWorkspaceInput{}
  4314  	}
  4315  
  4316  	output = &RestoreWorkspaceOutput{}
  4317  	req = c.newRequest(op, input, output)
  4318  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4319  	return
  4320  }
  4321  
  4322  // RestoreWorkspace API operation for Amazon WorkSpaces.
  4323  //
  4324  // Restores the specified WorkSpace to its last known healthy state.
  4325  //
  4326  // You cannot restore a WorkSpace unless its state is AVAILABLE, ERROR, UNHEALTHY,
  4327  // or STOPPED.
  4328  //
  4329  // Restoring a WorkSpace is a potentially destructive action that can result
  4330  // in the loss of data. For more information, see Restore a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/restore-workspace.html).
  4331  //
  4332  // This operation is asynchronous and returns before the WorkSpace is completely
  4333  // restored.
  4334  //
  4335  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4336  // with awserr.Error's Code and Message methods to get detailed information about
  4337  // the error.
  4338  //
  4339  // See the AWS API reference guide for Amazon WorkSpaces's
  4340  // API operation RestoreWorkspace for usage and error information.
  4341  //
  4342  // Returned Error Types:
  4343  //   * InvalidParameterValuesException
  4344  //   One or more parameter values are not valid.
  4345  //
  4346  //   * ResourceNotFoundException
  4347  //   The resource could not be found.
  4348  //
  4349  //   * AccessDeniedException
  4350  //   The user is not authorized to access a resource.
  4351  //
  4352  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RestoreWorkspace
  4353  func (c *WorkSpaces) RestoreWorkspace(input *RestoreWorkspaceInput) (*RestoreWorkspaceOutput, error) {
  4354  	req, out := c.RestoreWorkspaceRequest(input)
  4355  	return out, req.Send()
  4356  }
  4357  
  4358  // RestoreWorkspaceWithContext is the same as RestoreWorkspace with the addition of
  4359  // the ability to pass a context and additional request options.
  4360  //
  4361  // See RestoreWorkspace for details on how to use this API operation.
  4362  //
  4363  // The context must be non-nil and will be used for request cancellation. If
  4364  // the context is nil a panic will occur. In the future the SDK may create
  4365  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4366  // for more information on using Contexts.
  4367  func (c *WorkSpaces) RestoreWorkspaceWithContext(ctx aws.Context, input *RestoreWorkspaceInput, opts ...request.Option) (*RestoreWorkspaceOutput, error) {
  4368  	req, out := c.RestoreWorkspaceRequest(input)
  4369  	req.SetContext(ctx)
  4370  	req.ApplyOptions(opts...)
  4371  	return out, req.Send()
  4372  }
  4373  
  4374  const opRevokeIpRules = "RevokeIpRules"
  4375  
  4376  // RevokeIpRulesRequest generates a "aws/request.Request" representing the
  4377  // client's request for the RevokeIpRules operation. The "output" return
  4378  // value will be populated with the request's response once the request completes
  4379  // successfully.
  4380  //
  4381  // Use "Send" method on the returned Request to send the API call to the service.
  4382  // the "output" return value is not valid until after Send returns without error.
  4383  //
  4384  // See RevokeIpRules for more information on using the RevokeIpRules
  4385  // API call, and error handling.
  4386  //
  4387  // This method is useful when you want to inject custom logic or configuration
  4388  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4389  //
  4390  //
  4391  //    // Example sending a request using the RevokeIpRulesRequest method.
  4392  //    req, resp := client.RevokeIpRulesRequest(params)
  4393  //
  4394  //    err := req.Send()
  4395  //    if err == nil { // resp is now filled
  4396  //        fmt.Println(resp)
  4397  //    }
  4398  //
  4399  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RevokeIpRules
  4400  func (c *WorkSpaces) RevokeIpRulesRequest(input *RevokeIpRulesInput) (req *request.Request, output *RevokeIpRulesOutput) {
  4401  	op := &request.Operation{
  4402  		Name:       opRevokeIpRules,
  4403  		HTTPMethod: "POST",
  4404  		HTTPPath:   "/",
  4405  	}
  4406  
  4407  	if input == nil {
  4408  		input = &RevokeIpRulesInput{}
  4409  	}
  4410  
  4411  	output = &RevokeIpRulesOutput{}
  4412  	req = c.newRequest(op, input, output)
  4413  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4414  	return
  4415  }
  4416  
  4417  // RevokeIpRules API operation for Amazon WorkSpaces.
  4418  //
  4419  // Removes one or more rules from the specified IP access control group.
  4420  //
  4421  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4422  // with awserr.Error's Code and Message methods to get detailed information about
  4423  // the error.
  4424  //
  4425  // See the AWS API reference guide for Amazon WorkSpaces's
  4426  // API operation RevokeIpRules for usage and error information.
  4427  //
  4428  // Returned Error Types:
  4429  //   * InvalidParameterValuesException
  4430  //   One or more parameter values are not valid.
  4431  //
  4432  //   * ResourceNotFoundException
  4433  //   The resource could not be found.
  4434  //
  4435  //   * InvalidResourceStateException
  4436  //   The state of the resource is not valid for this operation.
  4437  //
  4438  //   * AccessDeniedException
  4439  //   The user is not authorized to access a resource.
  4440  //
  4441  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/RevokeIpRules
  4442  func (c *WorkSpaces) RevokeIpRules(input *RevokeIpRulesInput) (*RevokeIpRulesOutput, error) {
  4443  	req, out := c.RevokeIpRulesRequest(input)
  4444  	return out, req.Send()
  4445  }
  4446  
  4447  // RevokeIpRulesWithContext is the same as RevokeIpRules with the addition of
  4448  // the ability to pass a context and additional request options.
  4449  //
  4450  // See RevokeIpRules for details on how to use this API operation.
  4451  //
  4452  // The context must be non-nil and will be used for request cancellation. If
  4453  // the context is nil a panic will occur. In the future the SDK may create
  4454  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4455  // for more information on using Contexts.
  4456  func (c *WorkSpaces) RevokeIpRulesWithContext(ctx aws.Context, input *RevokeIpRulesInput, opts ...request.Option) (*RevokeIpRulesOutput, error) {
  4457  	req, out := c.RevokeIpRulesRequest(input)
  4458  	req.SetContext(ctx)
  4459  	req.ApplyOptions(opts...)
  4460  	return out, req.Send()
  4461  }
  4462  
  4463  const opStartWorkspaces = "StartWorkspaces"
  4464  
  4465  // StartWorkspacesRequest generates a "aws/request.Request" representing the
  4466  // client's request for the StartWorkspaces operation. The "output" return
  4467  // value will be populated with the request's response once the request completes
  4468  // successfully.
  4469  //
  4470  // Use "Send" method on the returned Request to send the API call to the service.
  4471  // the "output" return value is not valid until after Send returns without error.
  4472  //
  4473  // See StartWorkspaces for more information on using the StartWorkspaces
  4474  // API call, and error handling.
  4475  //
  4476  // This method is useful when you want to inject custom logic or configuration
  4477  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4478  //
  4479  //
  4480  //    // Example sending a request using the StartWorkspacesRequest method.
  4481  //    req, resp := client.StartWorkspacesRequest(params)
  4482  //
  4483  //    err := req.Send()
  4484  //    if err == nil { // resp is now filled
  4485  //        fmt.Println(resp)
  4486  //    }
  4487  //
  4488  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/StartWorkspaces
  4489  func (c *WorkSpaces) StartWorkspacesRequest(input *StartWorkspacesInput) (req *request.Request, output *StartWorkspacesOutput) {
  4490  	op := &request.Operation{
  4491  		Name:       opStartWorkspaces,
  4492  		HTTPMethod: "POST",
  4493  		HTTPPath:   "/",
  4494  	}
  4495  
  4496  	if input == nil {
  4497  		input = &StartWorkspacesInput{}
  4498  	}
  4499  
  4500  	output = &StartWorkspacesOutput{}
  4501  	req = c.newRequest(op, input, output)
  4502  	return
  4503  }
  4504  
  4505  // StartWorkspaces API operation for Amazon WorkSpaces.
  4506  //
  4507  // Starts the specified WorkSpaces.
  4508  //
  4509  // You cannot start a WorkSpace unless it has a running mode of AutoStop and
  4510  // a state of STOPPED.
  4511  //
  4512  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4513  // with awserr.Error's Code and Message methods to get detailed information about
  4514  // the error.
  4515  //
  4516  // See the AWS API reference guide for Amazon WorkSpaces's
  4517  // API operation StartWorkspaces for usage and error information.
  4518  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/StartWorkspaces
  4519  func (c *WorkSpaces) StartWorkspaces(input *StartWorkspacesInput) (*StartWorkspacesOutput, error) {
  4520  	req, out := c.StartWorkspacesRequest(input)
  4521  	return out, req.Send()
  4522  }
  4523  
  4524  // StartWorkspacesWithContext is the same as StartWorkspaces with the addition of
  4525  // the ability to pass a context and additional request options.
  4526  //
  4527  // See StartWorkspaces for details on how to use this API operation.
  4528  //
  4529  // The context must be non-nil and will be used for request cancellation. If
  4530  // the context is nil a panic will occur. In the future the SDK may create
  4531  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4532  // for more information on using Contexts.
  4533  func (c *WorkSpaces) StartWorkspacesWithContext(ctx aws.Context, input *StartWorkspacesInput, opts ...request.Option) (*StartWorkspacesOutput, error) {
  4534  	req, out := c.StartWorkspacesRequest(input)
  4535  	req.SetContext(ctx)
  4536  	req.ApplyOptions(opts...)
  4537  	return out, req.Send()
  4538  }
  4539  
  4540  const opStopWorkspaces = "StopWorkspaces"
  4541  
  4542  // StopWorkspacesRequest generates a "aws/request.Request" representing the
  4543  // client's request for the StopWorkspaces operation. The "output" return
  4544  // value will be populated with the request's response once the request completes
  4545  // successfully.
  4546  //
  4547  // Use "Send" method on the returned Request to send the API call to the service.
  4548  // the "output" return value is not valid until after Send returns without error.
  4549  //
  4550  // See StopWorkspaces for more information on using the StopWorkspaces
  4551  // API call, and error handling.
  4552  //
  4553  // This method is useful when you want to inject custom logic or configuration
  4554  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4555  //
  4556  //
  4557  //    // Example sending a request using the StopWorkspacesRequest method.
  4558  //    req, resp := client.StopWorkspacesRequest(params)
  4559  //
  4560  //    err := req.Send()
  4561  //    if err == nil { // resp is now filled
  4562  //        fmt.Println(resp)
  4563  //    }
  4564  //
  4565  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/StopWorkspaces
  4566  func (c *WorkSpaces) StopWorkspacesRequest(input *StopWorkspacesInput) (req *request.Request, output *StopWorkspacesOutput) {
  4567  	op := &request.Operation{
  4568  		Name:       opStopWorkspaces,
  4569  		HTTPMethod: "POST",
  4570  		HTTPPath:   "/",
  4571  	}
  4572  
  4573  	if input == nil {
  4574  		input = &StopWorkspacesInput{}
  4575  	}
  4576  
  4577  	output = &StopWorkspacesOutput{}
  4578  	req = c.newRequest(op, input, output)
  4579  	return
  4580  }
  4581  
  4582  // StopWorkspaces API operation for Amazon WorkSpaces.
  4583  //
  4584  // Stops the specified WorkSpaces.
  4585  //
  4586  // You cannot stop a WorkSpace unless it has a running mode of AutoStop and
  4587  // a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.
  4588  //
  4589  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4590  // with awserr.Error's Code and Message methods to get detailed information about
  4591  // the error.
  4592  //
  4593  // See the AWS API reference guide for Amazon WorkSpaces's
  4594  // API operation StopWorkspaces for usage and error information.
  4595  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/StopWorkspaces
  4596  func (c *WorkSpaces) StopWorkspaces(input *StopWorkspacesInput) (*StopWorkspacesOutput, error) {
  4597  	req, out := c.StopWorkspacesRequest(input)
  4598  	return out, req.Send()
  4599  }
  4600  
  4601  // StopWorkspacesWithContext is the same as StopWorkspaces with the addition of
  4602  // the ability to pass a context and additional request options.
  4603  //
  4604  // See StopWorkspaces for details on how to use this API operation.
  4605  //
  4606  // The context must be non-nil and will be used for request cancellation. If
  4607  // the context is nil a panic will occur. In the future the SDK may create
  4608  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4609  // for more information on using Contexts.
  4610  func (c *WorkSpaces) StopWorkspacesWithContext(ctx aws.Context, input *StopWorkspacesInput, opts ...request.Option) (*StopWorkspacesOutput, error) {
  4611  	req, out := c.StopWorkspacesRequest(input)
  4612  	req.SetContext(ctx)
  4613  	req.ApplyOptions(opts...)
  4614  	return out, req.Send()
  4615  }
  4616  
  4617  const opTerminateWorkspaces = "TerminateWorkspaces"
  4618  
  4619  // TerminateWorkspacesRequest generates a "aws/request.Request" representing the
  4620  // client's request for the TerminateWorkspaces operation. The "output" return
  4621  // value will be populated with the request's response once the request completes
  4622  // successfully.
  4623  //
  4624  // Use "Send" method on the returned Request to send the API call to the service.
  4625  // the "output" return value is not valid until after Send returns without error.
  4626  //
  4627  // See TerminateWorkspaces for more information on using the TerminateWorkspaces
  4628  // API call, and error handling.
  4629  //
  4630  // This method is useful when you want to inject custom logic or configuration
  4631  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4632  //
  4633  //
  4634  //    // Example sending a request using the TerminateWorkspacesRequest method.
  4635  //    req, resp := client.TerminateWorkspacesRequest(params)
  4636  //
  4637  //    err := req.Send()
  4638  //    if err == nil { // resp is now filled
  4639  //        fmt.Println(resp)
  4640  //    }
  4641  //
  4642  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/TerminateWorkspaces
  4643  func (c *WorkSpaces) TerminateWorkspacesRequest(input *TerminateWorkspacesInput) (req *request.Request, output *TerminateWorkspacesOutput) {
  4644  	op := &request.Operation{
  4645  		Name:       opTerminateWorkspaces,
  4646  		HTTPMethod: "POST",
  4647  		HTTPPath:   "/",
  4648  	}
  4649  
  4650  	if input == nil {
  4651  		input = &TerminateWorkspacesInput{}
  4652  	}
  4653  
  4654  	output = &TerminateWorkspacesOutput{}
  4655  	req = c.newRequest(op, input, output)
  4656  	return
  4657  }
  4658  
  4659  // TerminateWorkspaces API operation for Amazon WorkSpaces.
  4660  //
  4661  // Terminates the specified WorkSpaces.
  4662  //
  4663  // Terminating a WorkSpace is a permanent action and cannot be undone. The user's
  4664  // data is destroyed. If you need to archive any user data, contact Amazon Web
  4665  // Services Support before terminating the WorkSpace.
  4666  //
  4667  // You can terminate a WorkSpace that is in any state except SUSPENDED.
  4668  //
  4669  // This operation is asynchronous and returns before the WorkSpaces have been
  4670  // completely terminated. After a WorkSpace is terminated, the TERMINATED state
  4671  // is returned only briefly before the WorkSpace directory metadata is cleaned
  4672  // up, so this state is rarely returned. To confirm that a WorkSpace is terminated,
  4673  // check for the WorkSpace ID by using DescribeWorkSpaces (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html).
  4674  // If the WorkSpace ID isn't returned, then the WorkSpace has been successfully
  4675  // terminated.
  4676  //
  4677  // Simple AD and AD Connector are made available to you free of charge to use
  4678  // with WorkSpaces. If there are no WorkSpaces being used with your Simple AD
  4679  // or AD Connector directory for 30 consecutive days, this directory will be
  4680  // automatically deregistered for use with Amazon WorkSpaces, and you will be
  4681  // charged for this directory as per the Directory Service pricing terms (http://aws.amazon.com/directoryservice/pricing/).
  4682  //
  4683  // To delete empty directories, see Delete the Directory for Your WorkSpaces
  4684  // (https://docs.aws.amazon.com/workspaces/latest/adminguide/delete-workspaces-directory.html).
  4685  // If you delete your Simple AD or AD Connector directory, you can always create
  4686  // a new one when you want to start using WorkSpaces again.
  4687  //
  4688  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4689  // with awserr.Error's Code and Message methods to get detailed information about
  4690  // the error.
  4691  //
  4692  // See the AWS API reference guide for Amazon WorkSpaces's
  4693  // API operation TerminateWorkspaces for usage and error information.
  4694  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/TerminateWorkspaces
  4695  func (c *WorkSpaces) TerminateWorkspaces(input *TerminateWorkspacesInput) (*TerminateWorkspacesOutput, error) {
  4696  	req, out := c.TerminateWorkspacesRequest(input)
  4697  	return out, req.Send()
  4698  }
  4699  
  4700  // TerminateWorkspacesWithContext is the same as TerminateWorkspaces with the addition of
  4701  // the ability to pass a context and additional request options.
  4702  //
  4703  // See TerminateWorkspaces for details on how to use this API operation.
  4704  //
  4705  // The context must be non-nil and will be used for request cancellation. If
  4706  // the context is nil a panic will occur. In the future the SDK may create
  4707  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4708  // for more information on using Contexts.
  4709  func (c *WorkSpaces) TerminateWorkspacesWithContext(ctx aws.Context, input *TerminateWorkspacesInput, opts ...request.Option) (*TerminateWorkspacesOutput, error) {
  4710  	req, out := c.TerminateWorkspacesRequest(input)
  4711  	req.SetContext(ctx)
  4712  	req.ApplyOptions(opts...)
  4713  	return out, req.Send()
  4714  }
  4715  
  4716  const opUpdateConnectionAliasPermission = "UpdateConnectionAliasPermission"
  4717  
  4718  // UpdateConnectionAliasPermissionRequest generates a "aws/request.Request" representing the
  4719  // client's request for the UpdateConnectionAliasPermission operation. The "output" return
  4720  // value will be populated with the request's response once the request completes
  4721  // successfully.
  4722  //
  4723  // Use "Send" method on the returned Request to send the API call to the service.
  4724  // the "output" return value is not valid until after Send returns without error.
  4725  //
  4726  // See UpdateConnectionAliasPermission for more information on using the UpdateConnectionAliasPermission
  4727  // API call, and error handling.
  4728  //
  4729  // This method is useful when you want to inject custom logic or configuration
  4730  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4731  //
  4732  //
  4733  //    // Example sending a request using the UpdateConnectionAliasPermissionRequest method.
  4734  //    req, resp := client.UpdateConnectionAliasPermissionRequest(params)
  4735  //
  4736  //    err := req.Send()
  4737  //    if err == nil { // resp is now filled
  4738  //        fmt.Println(resp)
  4739  //    }
  4740  //
  4741  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateConnectionAliasPermission
  4742  func (c *WorkSpaces) UpdateConnectionAliasPermissionRequest(input *UpdateConnectionAliasPermissionInput) (req *request.Request, output *UpdateConnectionAliasPermissionOutput) {
  4743  	op := &request.Operation{
  4744  		Name:       opUpdateConnectionAliasPermission,
  4745  		HTTPMethod: "POST",
  4746  		HTTPPath:   "/",
  4747  	}
  4748  
  4749  	if input == nil {
  4750  		input = &UpdateConnectionAliasPermissionInput{}
  4751  	}
  4752  
  4753  	output = &UpdateConnectionAliasPermissionOutput{}
  4754  	req = c.newRequest(op, input, output)
  4755  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4756  	return
  4757  }
  4758  
  4759  // UpdateConnectionAliasPermission API operation for Amazon WorkSpaces.
  4760  //
  4761  // Shares or unshares a connection alias with one account by specifying whether
  4762  // that account has permission to associate the connection alias with a directory.
  4763  // If the association permission is granted, the connection alias is shared
  4764  // with that account. If the association permission is revoked, the connection
  4765  // alias is unshared with the account. For more information, see Cross-Region
  4766  // Redirection for Amazon WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html).
  4767  //
  4768  //    * Before performing this operation, call DescribeConnectionAliases (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeConnectionAliases.html)
  4769  //    to make sure that the current state of the connection alias is CREATED.
  4770  //
  4771  //    * To delete a connection alias that has been shared, the shared account
  4772  //    must first disassociate the connection alias from any directories it has
  4773  //    been associated with. Then you must unshare the connection alias from
  4774  //    the account it has been shared with. You can delete a connection alias
  4775  //    only after it is no longer shared with any accounts or associated with
  4776  //    any directories.
  4777  //
  4778  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4779  // with awserr.Error's Code and Message methods to get detailed information about
  4780  // the error.
  4781  //
  4782  // See the AWS API reference guide for Amazon WorkSpaces's
  4783  // API operation UpdateConnectionAliasPermission for usage and error information.
  4784  //
  4785  // Returned Error Types:
  4786  //   * AccessDeniedException
  4787  //   The user is not authorized to access a resource.
  4788  //
  4789  //   * InvalidParameterValuesException
  4790  //   One or more parameter values are not valid.
  4791  //
  4792  //   * ResourceLimitExceededException
  4793  //   Your resource limits have been exceeded.
  4794  //
  4795  //   * ResourceNotFoundException
  4796  //   The resource could not be found.
  4797  //
  4798  //   * ResourceAssociatedException
  4799  //   The resource is associated with a directory.
  4800  //
  4801  //   * InvalidResourceStateException
  4802  //   The state of the resource is not valid for this operation.
  4803  //
  4804  //   * OperationNotSupportedException
  4805  //   This operation is not supported.
  4806  //
  4807  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateConnectionAliasPermission
  4808  func (c *WorkSpaces) UpdateConnectionAliasPermission(input *UpdateConnectionAliasPermissionInput) (*UpdateConnectionAliasPermissionOutput, error) {
  4809  	req, out := c.UpdateConnectionAliasPermissionRequest(input)
  4810  	return out, req.Send()
  4811  }
  4812  
  4813  // UpdateConnectionAliasPermissionWithContext is the same as UpdateConnectionAliasPermission with the addition of
  4814  // the ability to pass a context and additional request options.
  4815  //
  4816  // See UpdateConnectionAliasPermission for details on how to use this API operation.
  4817  //
  4818  // The context must be non-nil and will be used for request cancellation. If
  4819  // the context is nil a panic will occur. In the future the SDK may create
  4820  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4821  // for more information on using Contexts.
  4822  func (c *WorkSpaces) UpdateConnectionAliasPermissionWithContext(ctx aws.Context, input *UpdateConnectionAliasPermissionInput, opts ...request.Option) (*UpdateConnectionAliasPermissionOutput, error) {
  4823  	req, out := c.UpdateConnectionAliasPermissionRequest(input)
  4824  	req.SetContext(ctx)
  4825  	req.ApplyOptions(opts...)
  4826  	return out, req.Send()
  4827  }
  4828  
  4829  const opUpdateRulesOfIpGroup = "UpdateRulesOfIpGroup"
  4830  
  4831  // UpdateRulesOfIpGroupRequest generates a "aws/request.Request" representing the
  4832  // client's request for the UpdateRulesOfIpGroup operation. The "output" return
  4833  // value will be populated with the request's response once the request completes
  4834  // successfully.
  4835  //
  4836  // Use "Send" method on the returned Request to send the API call to the service.
  4837  // the "output" return value is not valid until after Send returns without error.
  4838  //
  4839  // See UpdateRulesOfIpGroup for more information on using the UpdateRulesOfIpGroup
  4840  // API call, and error handling.
  4841  //
  4842  // This method is useful when you want to inject custom logic or configuration
  4843  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4844  //
  4845  //
  4846  //    // Example sending a request using the UpdateRulesOfIpGroupRequest method.
  4847  //    req, resp := client.UpdateRulesOfIpGroupRequest(params)
  4848  //
  4849  //    err := req.Send()
  4850  //    if err == nil { // resp is now filled
  4851  //        fmt.Println(resp)
  4852  //    }
  4853  //
  4854  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateRulesOfIpGroup
  4855  func (c *WorkSpaces) UpdateRulesOfIpGroupRequest(input *UpdateRulesOfIpGroupInput) (req *request.Request, output *UpdateRulesOfIpGroupOutput) {
  4856  	op := &request.Operation{
  4857  		Name:       opUpdateRulesOfIpGroup,
  4858  		HTTPMethod: "POST",
  4859  		HTTPPath:   "/",
  4860  	}
  4861  
  4862  	if input == nil {
  4863  		input = &UpdateRulesOfIpGroupInput{}
  4864  	}
  4865  
  4866  	output = &UpdateRulesOfIpGroupOutput{}
  4867  	req = c.newRequest(op, input, output)
  4868  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4869  	return
  4870  }
  4871  
  4872  // UpdateRulesOfIpGroup API operation for Amazon WorkSpaces.
  4873  //
  4874  // Replaces the current rules of the specified IP access control group with
  4875  // the specified rules.
  4876  //
  4877  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4878  // with awserr.Error's Code and Message methods to get detailed information about
  4879  // the error.
  4880  //
  4881  // See the AWS API reference guide for Amazon WorkSpaces's
  4882  // API operation UpdateRulesOfIpGroup for usage and error information.
  4883  //
  4884  // Returned Error Types:
  4885  //   * InvalidParameterValuesException
  4886  //   One or more parameter values are not valid.
  4887  //
  4888  //   * ResourceNotFoundException
  4889  //   The resource could not be found.
  4890  //
  4891  //   * ResourceLimitExceededException
  4892  //   Your resource limits have been exceeded.
  4893  //
  4894  //   * InvalidResourceStateException
  4895  //   The state of the resource is not valid for this operation.
  4896  //
  4897  //   * AccessDeniedException
  4898  //   The user is not authorized to access a resource.
  4899  //
  4900  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateRulesOfIpGroup
  4901  func (c *WorkSpaces) UpdateRulesOfIpGroup(input *UpdateRulesOfIpGroupInput) (*UpdateRulesOfIpGroupOutput, error) {
  4902  	req, out := c.UpdateRulesOfIpGroupRequest(input)
  4903  	return out, req.Send()
  4904  }
  4905  
  4906  // UpdateRulesOfIpGroupWithContext is the same as UpdateRulesOfIpGroup with the addition of
  4907  // the ability to pass a context and additional request options.
  4908  //
  4909  // See UpdateRulesOfIpGroup for details on how to use this API operation.
  4910  //
  4911  // The context must be non-nil and will be used for request cancellation. If
  4912  // the context is nil a panic will occur. In the future the SDK may create
  4913  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4914  // for more information on using Contexts.
  4915  func (c *WorkSpaces) UpdateRulesOfIpGroupWithContext(ctx aws.Context, input *UpdateRulesOfIpGroupInput, opts ...request.Option) (*UpdateRulesOfIpGroupOutput, error) {
  4916  	req, out := c.UpdateRulesOfIpGroupRequest(input)
  4917  	req.SetContext(ctx)
  4918  	req.ApplyOptions(opts...)
  4919  	return out, req.Send()
  4920  }
  4921  
  4922  const opUpdateWorkspaceBundle = "UpdateWorkspaceBundle"
  4923  
  4924  // UpdateWorkspaceBundleRequest generates a "aws/request.Request" representing the
  4925  // client's request for the UpdateWorkspaceBundle operation. The "output" return
  4926  // value will be populated with the request's response once the request completes
  4927  // successfully.
  4928  //
  4929  // Use "Send" method on the returned Request to send the API call to the service.
  4930  // the "output" return value is not valid until after Send returns without error.
  4931  //
  4932  // See UpdateWorkspaceBundle for more information on using the UpdateWorkspaceBundle
  4933  // API call, and error handling.
  4934  //
  4935  // This method is useful when you want to inject custom logic or configuration
  4936  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4937  //
  4938  //
  4939  //    // Example sending a request using the UpdateWorkspaceBundleRequest method.
  4940  //    req, resp := client.UpdateWorkspaceBundleRequest(params)
  4941  //
  4942  //    err := req.Send()
  4943  //    if err == nil { // resp is now filled
  4944  //        fmt.Println(resp)
  4945  //    }
  4946  //
  4947  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceBundle
  4948  func (c *WorkSpaces) UpdateWorkspaceBundleRequest(input *UpdateWorkspaceBundleInput) (req *request.Request, output *UpdateWorkspaceBundleOutput) {
  4949  	op := &request.Operation{
  4950  		Name:       opUpdateWorkspaceBundle,
  4951  		HTTPMethod: "POST",
  4952  		HTTPPath:   "/",
  4953  	}
  4954  
  4955  	if input == nil {
  4956  		input = &UpdateWorkspaceBundleInput{}
  4957  	}
  4958  
  4959  	output = &UpdateWorkspaceBundleOutput{}
  4960  	req = c.newRequest(op, input, output)
  4961  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4962  	return
  4963  }
  4964  
  4965  // UpdateWorkspaceBundle API operation for Amazon WorkSpaces.
  4966  //
  4967  // Updates a WorkSpace bundle with a new image. For more information about updating
  4968  // WorkSpace bundles, see Update a Custom WorkSpaces Bundle (https://docs.aws.amazon.com/workspaces/latest/adminguide/update-custom-bundle.html).
  4969  //
  4970  // Existing WorkSpaces aren't automatically updated when you update the bundle
  4971  // that they're based on. To update existing WorkSpaces that are based on a
  4972  // bundle that you've updated, you must either rebuild the WorkSpaces or delete
  4973  // and recreate them.
  4974  //
  4975  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4976  // with awserr.Error's Code and Message methods to get detailed information about
  4977  // the error.
  4978  //
  4979  // See the AWS API reference guide for Amazon WorkSpaces's
  4980  // API operation UpdateWorkspaceBundle for usage and error information.
  4981  //
  4982  // Returned Error Types:
  4983  //   * AccessDeniedException
  4984  //   The user is not authorized to access a resource.
  4985  //
  4986  //   * InvalidParameterValuesException
  4987  //   One or more parameter values are not valid.
  4988  //
  4989  //   * ResourceNotFoundException
  4990  //   The resource could not be found.
  4991  //
  4992  //   * ResourceUnavailableException
  4993  //   The specified resource is not available.
  4994  //
  4995  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceBundle
  4996  func (c *WorkSpaces) UpdateWorkspaceBundle(input *UpdateWorkspaceBundleInput) (*UpdateWorkspaceBundleOutput, error) {
  4997  	req, out := c.UpdateWorkspaceBundleRequest(input)
  4998  	return out, req.Send()
  4999  }
  5000  
  5001  // UpdateWorkspaceBundleWithContext is the same as UpdateWorkspaceBundle with the addition of
  5002  // the ability to pass a context and additional request options.
  5003  //
  5004  // See UpdateWorkspaceBundle for details on how to use this API operation.
  5005  //
  5006  // The context must be non-nil and will be used for request cancellation. If
  5007  // the context is nil a panic will occur. In the future the SDK may create
  5008  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5009  // for more information on using Contexts.
  5010  func (c *WorkSpaces) UpdateWorkspaceBundleWithContext(ctx aws.Context, input *UpdateWorkspaceBundleInput, opts ...request.Option) (*UpdateWorkspaceBundleOutput, error) {
  5011  	req, out := c.UpdateWorkspaceBundleRequest(input)
  5012  	req.SetContext(ctx)
  5013  	req.ApplyOptions(opts...)
  5014  	return out, req.Send()
  5015  }
  5016  
  5017  const opUpdateWorkspaceImagePermission = "UpdateWorkspaceImagePermission"
  5018  
  5019  // UpdateWorkspaceImagePermissionRequest generates a "aws/request.Request" representing the
  5020  // client's request for the UpdateWorkspaceImagePermission operation. The "output" return
  5021  // value will be populated with the request's response once the request completes
  5022  // successfully.
  5023  //
  5024  // Use "Send" method on the returned Request to send the API call to the service.
  5025  // the "output" return value is not valid until after Send returns without error.
  5026  //
  5027  // See UpdateWorkspaceImagePermission for more information on using the UpdateWorkspaceImagePermission
  5028  // API call, and error handling.
  5029  //
  5030  // This method is useful when you want to inject custom logic or configuration
  5031  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5032  //
  5033  //
  5034  //    // Example sending a request using the UpdateWorkspaceImagePermissionRequest method.
  5035  //    req, resp := client.UpdateWorkspaceImagePermissionRequest(params)
  5036  //
  5037  //    err := req.Send()
  5038  //    if err == nil { // resp is now filled
  5039  //        fmt.Println(resp)
  5040  //    }
  5041  //
  5042  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceImagePermission
  5043  func (c *WorkSpaces) UpdateWorkspaceImagePermissionRequest(input *UpdateWorkspaceImagePermissionInput) (req *request.Request, output *UpdateWorkspaceImagePermissionOutput) {
  5044  	op := &request.Operation{
  5045  		Name:       opUpdateWorkspaceImagePermission,
  5046  		HTTPMethod: "POST",
  5047  		HTTPPath:   "/",
  5048  	}
  5049  
  5050  	if input == nil {
  5051  		input = &UpdateWorkspaceImagePermissionInput{}
  5052  	}
  5053  
  5054  	output = &UpdateWorkspaceImagePermissionOutput{}
  5055  	req = c.newRequest(op, input, output)
  5056  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5057  	return
  5058  }
  5059  
  5060  // UpdateWorkspaceImagePermission API operation for Amazon WorkSpaces.
  5061  //
  5062  // Shares or unshares an image with one account in the same Amazon Web Services
  5063  // Region by specifying whether that account has permission to copy the image.
  5064  // If the copy image permission is granted, the image is shared with that account.
  5065  // If the copy image permission is revoked, the image is unshared with the account.
  5066  //
  5067  // After an image has been shared, the recipient account can copy the image
  5068  // to other Regions as needed.
  5069  //
  5070  // In the China (Ningxia) Region, you can copy images only within the same Region.
  5071  //
  5072  // In Amazon Web Services GovCloud (US), to copy images to and from other Regions,
  5073  // contact Amazon Web Services Support.
  5074  //
  5075  // For more information about sharing images, see Share or Unshare a Custom
  5076  // WorkSpaces Image (https://docs.aws.amazon.com/workspaces/latest/adminguide/share-custom-image.html).
  5077  //
  5078  //    * To delete an image that has been shared, you must unshare the image
  5079  //    before you delete it.
  5080  //
  5081  //    * Sharing Bring Your Own License (BYOL) images across Amazon Web Services
  5082  //    accounts isn't supported at this time in Amazon Web Services GovCloud
  5083  //    (US). To share BYOL images across accounts in Amazon Web Services GovCloud
  5084  //    (US), contact Amazon Web Services Support.
  5085  //
  5086  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5087  // with awserr.Error's Code and Message methods to get detailed information about
  5088  // the error.
  5089  //
  5090  // See the AWS API reference guide for Amazon WorkSpaces's
  5091  // API operation UpdateWorkspaceImagePermission for usage and error information.
  5092  //
  5093  // Returned Error Types:
  5094  //   * ResourceNotFoundException
  5095  //   The resource could not be found.
  5096  //
  5097  //   * ResourceUnavailableException
  5098  //   The specified resource is not available.
  5099  //
  5100  //   * AccessDeniedException
  5101  //   The user is not authorized to access a resource.
  5102  //
  5103  //   * InvalidParameterValuesException
  5104  //   One or more parameter values are not valid.
  5105  //
  5106  //   * OperationNotSupportedException
  5107  //   This operation is not supported.
  5108  //
  5109  // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/UpdateWorkspaceImagePermission
  5110  func (c *WorkSpaces) UpdateWorkspaceImagePermission(input *UpdateWorkspaceImagePermissionInput) (*UpdateWorkspaceImagePermissionOutput, error) {
  5111  	req, out := c.UpdateWorkspaceImagePermissionRequest(input)
  5112  	return out, req.Send()
  5113  }
  5114  
  5115  // UpdateWorkspaceImagePermissionWithContext is the same as UpdateWorkspaceImagePermission with the addition of
  5116  // the ability to pass a context and additional request options.
  5117  //
  5118  // See UpdateWorkspaceImagePermission for details on how to use this API operation.
  5119  //
  5120  // The context must be non-nil and will be used for request cancellation. If
  5121  // the context is nil a panic will occur. In the future the SDK may create
  5122  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5123  // for more information on using Contexts.
  5124  func (c *WorkSpaces) UpdateWorkspaceImagePermissionWithContext(ctx aws.Context, input *UpdateWorkspaceImagePermissionInput, opts ...request.Option) (*UpdateWorkspaceImagePermissionOutput, error) {
  5125  	req, out := c.UpdateWorkspaceImagePermissionRequest(input)
  5126  	req.SetContext(ctx)
  5127  	req.ApplyOptions(opts...)
  5128  	return out, req.Send()
  5129  }
  5130  
  5131  // The user is not authorized to access a resource.
  5132  type AccessDeniedException struct {
  5133  	_            struct{}                  `type:"structure"`
  5134  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5135  
  5136  	Message_ *string `locationName:"message" type:"string"`
  5137  }
  5138  
  5139  // String returns the string representation.
  5140  //
  5141  // API parameter values that are decorated as "sensitive" in the API will not
  5142  // be included in the string output. The member name will be present, but the
  5143  // value will be replaced with "sensitive".
  5144  func (s AccessDeniedException) String() string {
  5145  	return awsutil.Prettify(s)
  5146  }
  5147  
  5148  // GoString returns the string representation.
  5149  //
  5150  // API parameter values that are decorated as "sensitive" in the API will not
  5151  // be included in the string output. The member name will be present, but the
  5152  // value will be replaced with "sensitive".
  5153  func (s AccessDeniedException) GoString() string {
  5154  	return s.String()
  5155  }
  5156  
  5157  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  5158  	return &AccessDeniedException{
  5159  		RespMetadata: v,
  5160  	}
  5161  }
  5162  
  5163  // Code returns the exception type name.
  5164  func (s *AccessDeniedException) Code() string {
  5165  	return "AccessDeniedException"
  5166  }
  5167  
  5168  // Message returns the exception's message.
  5169  func (s *AccessDeniedException) Message() string {
  5170  	if s.Message_ != nil {
  5171  		return *s.Message_
  5172  	}
  5173  	return ""
  5174  }
  5175  
  5176  // OrigErr always returns nil, satisfies awserr.Error interface.
  5177  func (s *AccessDeniedException) OrigErr() error {
  5178  	return nil
  5179  }
  5180  
  5181  func (s *AccessDeniedException) Error() string {
  5182  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5183  }
  5184  
  5185  // Status code returns the HTTP status code for the request's response error.
  5186  func (s *AccessDeniedException) StatusCode() int {
  5187  	return s.RespMetadata.StatusCode
  5188  }
  5189  
  5190  // RequestID returns the service's response RequestID for request.
  5191  func (s *AccessDeniedException) RequestID() string {
  5192  	return s.RespMetadata.RequestID
  5193  }
  5194  
  5195  // Describes a modification to the configuration of Bring Your Own License (BYOL)
  5196  // for the specified account.
  5197  type AccountModification struct {
  5198  	_ struct{} `type:"structure"`
  5199  
  5200  	// The IP address range, specified as an IPv4 CIDR block, for the management
  5201  	// network interface used for the account.
  5202  	DedicatedTenancyManagementCidrRange *string `type:"string"`
  5203  
  5204  	// The status of BYOL (whether BYOL is being enabled or disabled).
  5205  	DedicatedTenancySupport *string `type:"string" enum:"DedicatedTenancySupportResultEnum"`
  5206  
  5207  	// The error code that is returned if the configuration of BYOL cannot be modified.
  5208  	ErrorCode *string `type:"string"`
  5209  
  5210  	// The text of the error message that is returned if the configuration of BYOL
  5211  	// cannot be modified.
  5212  	ErrorMessage *string `type:"string"`
  5213  
  5214  	// The state of the modification to the configuration of BYOL.
  5215  	ModificationState *string `type:"string" enum:"DedicatedTenancyModificationStateEnum"`
  5216  
  5217  	// The timestamp when the modification of the BYOL configuration was started.
  5218  	StartTime *time.Time `type:"timestamp"`
  5219  }
  5220  
  5221  // String returns the string representation.
  5222  //
  5223  // API parameter values that are decorated as "sensitive" in the API will not
  5224  // be included in the string output. The member name will be present, but the
  5225  // value will be replaced with "sensitive".
  5226  func (s AccountModification) String() string {
  5227  	return awsutil.Prettify(s)
  5228  }
  5229  
  5230  // GoString returns the string representation.
  5231  //
  5232  // API parameter values that are decorated as "sensitive" in the API will not
  5233  // be included in the string output. The member name will be present, but the
  5234  // value will be replaced with "sensitive".
  5235  func (s AccountModification) GoString() string {
  5236  	return s.String()
  5237  }
  5238  
  5239  // SetDedicatedTenancyManagementCidrRange sets the DedicatedTenancyManagementCidrRange field's value.
  5240  func (s *AccountModification) SetDedicatedTenancyManagementCidrRange(v string) *AccountModification {
  5241  	s.DedicatedTenancyManagementCidrRange = &v
  5242  	return s
  5243  }
  5244  
  5245  // SetDedicatedTenancySupport sets the DedicatedTenancySupport field's value.
  5246  func (s *AccountModification) SetDedicatedTenancySupport(v string) *AccountModification {
  5247  	s.DedicatedTenancySupport = &v
  5248  	return s
  5249  }
  5250  
  5251  // SetErrorCode sets the ErrorCode field's value.
  5252  func (s *AccountModification) SetErrorCode(v string) *AccountModification {
  5253  	s.ErrorCode = &v
  5254  	return s
  5255  }
  5256  
  5257  // SetErrorMessage sets the ErrorMessage field's value.
  5258  func (s *AccountModification) SetErrorMessage(v string) *AccountModification {
  5259  	s.ErrorMessage = &v
  5260  	return s
  5261  }
  5262  
  5263  // SetModificationState sets the ModificationState field's value.
  5264  func (s *AccountModification) SetModificationState(v string) *AccountModification {
  5265  	s.ModificationState = &v
  5266  	return s
  5267  }
  5268  
  5269  // SetStartTime sets the StartTime field's value.
  5270  func (s *AccountModification) SetStartTime(v time.Time) *AccountModification {
  5271  	s.StartTime = &v
  5272  	return s
  5273  }
  5274  
  5275  type AssociateConnectionAliasInput struct {
  5276  	_ struct{} `type:"structure"`
  5277  
  5278  	// The identifier of the connection alias.
  5279  	//
  5280  	// AliasId is a required field
  5281  	AliasId *string `min:"13" type:"string" required:"true"`
  5282  
  5283  	// The identifier of the directory to associate the connection alias with.
  5284  	//
  5285  	// ResourceId is a required field
  5286  	ResourceId *string `min:"1" type:"string" required:"true"`
  5287  }
  5288  
  5289  // String returns the string representation.
  5290  //
  5291  // API parameter values that are decorated as "sensitive" in the API will not
  5292  // be included in the string output. The member name will be present, but the
  5293  // value will be replaced with "sensitive".
  5294  func (s AssociateConnectionAliasInput) String() string {
  5295  	return awsutil.Prettify(s)
  5296  }
  5297  
  5298  // GoString returns the string representation.
  5299  //
  5300  // API parameter values that are decorated as "sensitive" in the API will not
  5301  // be included in the string output. The member name will be present, but the
  5302  // value will be replaced with "sensitive".
  5303  func (s AssociateConnectionAliasInput) GoString() string {
  5304  	return s.String()
  5305  }
  5306  
  5307  // Validate inspects the fields of the type to determine if they are valid.
  5308  func (s *AssociateConnectionAliasInput) Validate() error {
  5309  	invalidParams := request.ErrInvalidParams{Context: "AssociateConnectionAliasInput"}
  5310  	if s.AliasId == nil {
  5311  		invalidParams.Add(request.NewErrParamRequired("AliasId"))
  5312  	}
  5313  	if s.AliasId != nil && len(*s.AliasId) < 13 {
  5314  		invalidParams.Add(request.NewErrParamMinLen("AliasId", 13))
  5315  	}
  5316  	if s.ResourceId == nil {
  5317  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  5318  	}
  5319  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  5320  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  5321  	}
  5322  
  5323  	if invalidParams.Len() > 0 {
  5324  		return invalidParams
  5325  	}
  5326  	return nil
  5327  }
  5328  
  5329  // SetAliasId sets the AliasId field's value.
  5330  func (s *AssociateConnectionAliasInput) SetAliasId(v string) *AssociateConnectionAliasInput {
  5331  	s.AliasId = &v
  5332  	return s
  5333  }
  5334  
  5335  // SetResourceId sets the ResourceId field's value.
  5336  func (s *AssociateConnectionAliasInput) SetResourceId(v string) *AssociateConnectionAliasInput {
  5337  	s.ResourceId = &v
  5338  	return s
  5339  }
  5340  
  5341  type AssociateConnectionAliasOutput struct {
  5342  	_ struct{} `type:"structure"`
  5343  
  5344  	// The identifier of the connection alias association. You use the connection
  5345  	// identifier in the DNS TXT record when you're configuring your DNS routing
  5346  	// policies.
  5347  	ConnectionIdentifier *string `min:"1" type:"string"`
  5348  }
  5349  
  5350  // String returns the string representation.
  5351  //
  5352  // API parameter values that are decorated as "sensitive" in the API will not
  5353  // be included in the string output. The member name will be present, but the
  5354  // value will be replaced with "sensitive".
  5355  func (s AssociateConnectionAliasOutput) String() string {
  5356  	return awsutil.Prettify(s)
  5357  }
  5358  
  5359  // GoString returns the string representation.
  5360  //
  5361  // API parameter values that are decorated as "sensitive" in the API will not
  5362  // be included in the string output. The member name will be present, but the
  5363  // value will be replaced with "sensitive".
  5364  func (s AssociateConnectionAliasOutput) GoString() string {
  5365  	return s.String()
  5366  }
  5367  
  5368  // SetConnectionIdentifier sets the ConnectionIdentifier field's value.
  5369  func (s *AssociateConnectionAliasOutput) SetConnectionIdentifier(v string) *AssociateConnectionAliasOutput {
  5370  	s.ConnectionIdentifier = &v
  5371  	return s
  5372  }
  5373  
  5374  type AssociateIpGroupsInput struct {
  5375  	_ struct{} `type:"structure"`
  5376  
  5377  	// The identifier of the directory.
  5378  	//
  5379  	// DirectoryId is a required field
  5380  	DirectoryId *string `min:"10" type:"string" required:"true"`
  5381  
  5382  	// The identifiers of one or more IP access control groups.
  5383  	//
  5384  	// GroupIds is a required field
  5385  	GroupIds []*string `type:"list" required:"true"`
  5386  }
  5387  
  5388  // String returns the string representation.
  5389  //
  5390  // API parameter values that are decorated as "sensitive" in the API will not
  5391  // be included in the string output. The member name will be present, but the
  5392  // value will be replaced with "sensitive".
  5393  func (s AssociateIpGroupsInput) String() string {
  5394  	return awsutil.Prettify(s)
  5395  }
  5396  
  5397  // GoString returns the string representation.
  5398  //
  5399  // API parameter values that are decorated as "sensitive" in the API will not
  5400  // be included in the string output. The member name will be present, but the
  5401  // value will be replaced with "sensitive".
  5402  func (s AssociateIpGroupsInput) GoString() string {
  5403  	return s.String()
  5404  }
  5405  
  5406  // Validate inspects the fields of the type to determine if they are valid.
  5407  func (s *AssociateIpGroupsInput) Validate() error {
  5408  	invalidParams := request.ErrInvalidParams{Context: "AssociateIpGroupsInput"}
  5409  	if s.DirectoryId == nil {
  5410  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  5411  	}
  5412  	if s.DirectoryId != nil && len(*s.DirectoryId) < 10 {
  5413  		invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 10))
  5414  	}
  5415  	if s.GroupIds == nil {
  5416  		invalidParams.Add(request.NewErrParamRequired("GroupIds"))
  5417  	}
  5418  
  5419  	if invalidParams.Len() > 0 {
  5420  		return invalidParams
  5421  	}
  5422  	return nil
  5423  }
  5424  
  5425  // SetDirectoryId sets the DirectoryId field's value.
  5426  func (s *AssociateIpGroupsInput) SetDirectoryId(v string) *AssociateIpGroupsInput {
  5427  	s.DirectoryId = &v
  5428  	return s
  5429  }
  5430  
  5431  // SetGroupIds sets the GroupIds field's value.
  5432  func (s *AssociateIpGroupsInput) SetGroupIds(v []*string) *AssociateIpGroupsInput {
  5433  	s.GroupIds = v
  5434  	return s
  5435  }
  5436  
  5437  type AssociateIpGroupsOutput struct {
  5438  	_ struct{} `type:"structure"`
  5439  }
  5440  
  5441  // String returns the string representation.
  5442  //
  5443  // API parameter values that are decorated as "sensitive" in the API will not
  5444  // be included in the string output. The member name will be present, but the
  5445  // value will be replaced with "sensitive".
  5446  func (s AssociateIpGroupsOutput) String() string {
  5447  	return awsutil.Prettify(s)
  5448  }
  5449  
  5450  // GoString returns the string representation.
  5451  //
  5452  // API parameter values that are decorated as "sensitive" in the API will not
  5453  // be included in the string output. The member name will be present, but the
  5454  // value will be replaced with "sensitive".
  5455  func (s AssociateIpGroupsOutput) GoString() string {
  5456  	return s.String()
  5457  }
  5458  
  5459  type AuthorizeIpRulesInput struct {
  5460  	_ struct{} `type:"structure"`
  5461  
  5462  	// The identifier of the group.
  5463  	//
  5464  	// GroupId is a required field
  5465  	GroupId *string `type:"string" required:"true"`
  5466  
  5467  	// The rules to add to the group.
  5468  	//
  5469  	// UserRules is a required field
  5470  	UserRules []*IpRuleItem `type:"list" required:"true"`
  5471  }
  5472  
  5473  // String returns the string representation.
  5474  //
  5475  // API parameter values that are decorated as "sensitive" in the API will not
  5476  // be included in the string output. The member name will be present, but the
  5477  // value will be replaced with "sensitive".
  5478  func (s AuthorizeIpRulesInput) String() string {
  5479  	return awsutil.Prettify(s)
  5480  }
  5481  
  5482  // GoString returns the string representation.
  5483  //
  5484  // API parameter values that are decorated as "sensitive" in the API will not
  5485  // be included in the string output. The member name will be present, but the
  5486  // value will be replaced with "sensitive".
  5487  func (s AuthorizeIpRulesInput) GoString() string {
  5488  	return s.String()
  5489  }
  5490  
  5491  // Validate inspects the fields of the type to determine if they are valid.
  5492  func (s *AuthorizeIpRulesInput) Validate() error {
  5493  	invalidParams := request.ErrInvalidParams{Context: "AuthorizeIpRulesInput"}
  5494  	if s.GroupId == nil {
  5495  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
  5496  	}
  5497  	if s.UserRules == nil {
  5498  		invalidParams.Add(request.NewErrParamRequired("UserRules"))
  5499  	}
  5500  
  5501  	if invalidParams.Len() > 0 {
  5502  		return invalidParams
  5503  	}
  5504  	return nil
  5505  }
  5506  
  5507  // SetGroupId sets the GroupId field's value.
  5508  func (s *AuthorizeIpRulesInput) SetGroupId(v string) *AuthorizeIpRulesInput {
  5509  	s.GroupId = &v
  5510  	return s
  5511  }
  5512  
  5513  // SetUserRules sets the UserRules field's value.
  5514  func (s *AuthorizeIpRulesInput) SetUserRules(v []*IpRuleItem) *AuthorizeIpRulesInput {
  5515  	s.UserRules = v
  5516  	return s
  5517  }
  5518  
  5519  type AuthorizeIpRulesOutput struct {
  5520  	_ struct{} `type:"structure"`
  5521  }
  5522  
  5523  // String returns the string representation.
  5524  //
  5525  // API parameter values that are decorated as "sensitive" in the API will not
  5526  // be included in the string output. The member name will be present, but the
  5527  // value will be replaced with "sensitive".
  5528  func (s AuthorizeIpRulesOutput) String() string {
  5529  	return awsutil.Prettify(s)
  5530  }
  5531  
  5532  // GoString returns the string representation.
  5533  //
  5534  // API parameter values that are decorated as "sensitive" in the API will not
  5535  // be included in the string output. The member name will be present, but the
  5536  // value will be replaced with "sensitive".
  5537  func (s AuthorizeIpRulesOutput) GoString() string {
  5538  	return s.String()
  5539  }
  5540  
  5541  // Describes an Amazon WorkSpaces client.
  5542  type ClientProperties struct {
  5543  	_ struct{} `type:"structure"`
  5544  
  5545  	// Specifies whether users can cache their credentials on the Amazon WorkSpaces
  5546  	// client. When enabled, users can choose to reconnect to their WorkSpaces without
  5547  	// re-entering their credentials.
  5548  	ReconnectEnabled *string `type:"string" enum:"ReconnectEnum"`
  5549  }
  5550  
  5551  // String returns the string representation.
  5552  //
  5553  // API parameter values that are decorated as "sensitive" in the API will not
  5554  // be included in the string output. The member name will be present, but the
  5555  // value will be replaced with "sensitive".
  5556  func (s ClientProperties) String() string {
  5557  	return awsutil.Prettify(s)
  5558  }
  5559  
  5560  // GoString returns the string representation.
  5561  //
  5562  // API parameter values that are decorated as "sensitive" in the API will not
  5563  // be included in the string output. The member name will be present, but the
  5564  // value will be replaced with "sensitive".
  5565  func (s ClientProperties) GoString() string {
  5566  	return s.String()
  5567  }
  5568  
  5569  // SetReconnectEnabled sets the ReconnectEnabled field's value.
  5570  func (s *ClientProperties) SetReconnectEnabled(v string) *ClientProperties {
  5571  	s.ReconnectEnabled = &v
  5572  	return s
  5573  }
  5574  
  5575  // Information about the Amazon WorkSpaces client.
  5576  type ClientPropertiesResult struct {
  5577  	_ struct{} `type:"structure"`
  5578  
  5579  	// Information about the Amazon WorkSpaces client.
  5580  	ClientProperties *ClientProperties `type:"structure"`
  5581  
  5582  	// The resource identifier, in the form of a directory ID.
  5583  	ResourceId *string `min:"1" type:"string"`
  5584  }
  5585  
  5586  // String returns the string representation.
  5587  //
  5588  // API parameter values that are decorated as "sensitive" in the API will not
  5589  // be included in the string output. The member name will be present, but the
  5590  // value will be replaced with "sensitive".
  5591  func (s ClientPropertiesResult) String() string {
  5592  	return awsutil.Prettify(s)
  5593  }
  5594  
  5595  // GoString returns the string representation.
  5596  //
  5597  // API parameter values that are decorated as "sensitive" in the API will not
  5598  // be included in the string output. The member name will be present, but the
  5599  // value will be replaced with "sensitive".
  5600  func (s ClientPropertiesResult) GoString() string {
  5601  	return s.String()
  5602  }
  5603  
  5604  // SetClientProperties sets the ClientProperties field's value.
  5605  func (s *ClientPropertiesResult) SetClientProperties(v *ClientProperties) *ClientPropertiesResult {
  5606  	s.ClientProperties = v
  5607  	return s
  5608  }
  5609  
  5610  // SetResourceId sets the ResourceId field's value.
  5611  func (s *ClientPropertiesResult) SetResourceId(v string) *ClientPropertiesResult {
  5612  	s.ResourceId = &v
  5613  	return s
  5614  }
  5615  
  5616  // Describes the compute type of the bundle.
  5617  type ComputeType struct {
  5618  	_ struct{} `type:"structure"`
  5619  
  5620  	// The compute type.
  5621  	Name *string `type:"string" enum:"Compute"`
  5622  }
  5623  
  5624  // String returns the string representation.
  5625  //
  5626  // API parameter values that are decorated as "sensitive" in the API will not
  5627  // be included in the string output. The member name will be present, but the
  5628  // value will be replaced with "sensitive".
  5629  func (s ComputeType) String() string {
  5630  	return awsutil.Prettify(s)
  5631  }
  5632  
  5633  // GoString returns the string representation.
  5634  //
  5635  // API parameter values that are decorated as "sensitive" in the API will not
  5636  // be included in the string output. The member name will be present, but the
  5637  // value will be replaced with "sensitive".
  5638  func (s ComputeType) GoString() string {
  5639  	return s.String()
  5640  }
  5641  
  5642  // SetName sets the Name field's value.
  5643  func (s *ComputeType) SetName(v string) *ComputeType {
  5644  	s.Name = &v
  5645  	return s
  5646  }
  5647  
  5648  // Describes a connection alias. Connection aliases are used for cross-Region
  5649  // redirection. For more information, see Cross-Region Redirection for Amazon
  5650  // WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html).
  5651  type ConnectionAlias struct {
  5652  	_ struct{} `type:"structure"`
  5653  
  5654  	// The identifier of the connection alias.
  5655  	AliasId *string `min:"13" type:"string"`
  5656  
  5657  	// The association status of the connection alias.
  5658  	Associations []*ConnectionAliasAssociation `min:"1" type:"list"`
  5659  
  5660  	// The connection string specified for the connection alias. The connection
  5661  	// string must be in the form of a fully qualified domain name (FQDN), such
  5662  	// as www.example.com.
  5663  	ConnectionString *string `min:"1" type:"string"`
  5664  
  5665  	// The identifier of the Amazon Web Services account that owns the connection
  5666  	// alias.
  5667  	OwnerAccountId *string `type:"string"`
  5668  
  5669  	// The current state of the connection alias.
  5670  	State *string `type:"string" enum:"ConnectionAliasState"`
  5671  }
  5672  
  5673  // String returns the string representation.
  5674  //
  5675  // API parameter values that are decorated as "sensitive" in the API will not
  5676  // be included in the string output. The member name will be present, but the
  5677  // value will be replaced with "sensitive".
  5678  func (s ConnectionAlias) String() string {
  5679  	return awsutil.Prettify(s)
  5680  }
  5681  
  5682  // GoString returns the string representation.
  5683  //
  5684  // API parameter values that are decorated as "sensitive" in the API will not
  5685  // be included in the string output. The member name will be present, but the
  5686  // value will be replaced with "sensitive".
  5687  func (s ConnectionAlias) GoString() string {
  5688  	return s.String()
  5689  }
  5690  
  5691  // SetAliasId sets the AliasId field's value.
  5692  func (s *ConnectionAlias) SetAliasId(v string) *ConnectionAlias {
  5693  	s.AliasId = &v
  5694  	return s
  5695  }
  5696  
  5697  // SetAssociations sets the Associations field's value.
  5698  func (s *ConnectionAlias) SetAssociations(v []*ConnectionAliasAssociation) *ConnectionAlias {
  5699  	s.Associations = v
  5700  	return s
  5701  }
  5702  
  5703  // SetConnectionString sets the ConnectionString field's value.
  5704  func (s *ConnectionAlias) SetConnectionString(v string) *ConnectionAlias {
  5705  	s.ConnectionString = &v
  5706  	return s
  5707  }
  5708  
  5709  // SetOwnerAccountId sets the OwnerAccountId field's value.
  5710  func (s *ConnectionAlias) SetOwnerAccountId(v string) *ConnectionAlias {
  5711  	s.OwnerAccountId = &v
  5712  	return s
  5713  }
  5714  
  5715  // SetState sets the State field's value.
  5716  func (s *ConnectionAlias) SetState(v string) *ConnectionAlias {
  5717  	s.State = &v
  5718  	return s
  5719  }
  5720  
  5721  // Describes a connection alias association that is used for cross-Region redirection.
  5722  // For more information, see Cross-Region Redirection for Amazon WorkSpaces
  5723  // (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html).
  5724  type ConnectionAliasAssociation struct {
  5725  	_ struct{} `type:"structure"`
  5726  
  5727  	// The identifier of the Amazon Web Services account that associated the connection
  5728  	// alias with a directory.
  5729  	AssociatedAccountId *string `type:"string"`
  5730  
  5731  	// The association status of the connection alias.
  5732  	AssociationStatus *string `type:"string" enum:"AssociationStatus"`
  5733  
  5734  	// The identifier of the connection alias association. You use the connection
  5735  	// identifier in the DNS TXT record when you're configuring your DNS routing
  5736  	// policies.
  5737  	ConnectionIdentifier *string `min:"1" type:"string"`
  5738  
  5739  	// The identifier of the directory associated with a connection alias.
  5740  	ResourceId *string `min:"1" type:"string"`
  5741  }
  5742  
  5743  // String returns the string representation.
  5744  //
  5745  // API parameter values that are decorated as "sensitive" in the API will not
  5746  // be included in the string output. The member name will be present, but the
  5747  // value will be replaced with "sensitive".
  5748  func (s ConnectionAliasAssociation) String() string {
  5749  	return awsutil.Prettify(s)
  5750  }
  5751  
  5752  // GoString returns the string representation.
  5753  //
  5754  // API parameter values that are decorated as "sensitive" in the API will not
  5755  // be included in the string output. The member name will be present, but the
  5756  // value will be replaced with "sensitive".
  5757  func (s ConnectionAliasAssociation) GoString() string {
  5758  	return s.String()
  5759  }
  5760  
  5761  // SetAssociatedAccountId sets the AssociatedAccountId field's value.
  5762  func (s *ConnectionAliasAssociation) SetAssociatedAccountId(v string) *ConnectionAliasAssociation {
  5763  	s.AssociatedAccountId = &v
  5764  	return s
  5765  }
  5766  
  5767  // SetAssociationStatus sets the AssociationStatus field's value.
  5768  func (s *ConnectionAliasAssociation) SetAssociationStatus(v string) *ConnectionAliasAssociation {
  5769  	s.AssociationStatus = &v
  5770  	return s
  5771  }
  5772  
  5773  // SetConnectionIdentifier sets the ConnectionIdentifier field's value.
  5774  func (s *ConnectionAliasAssociation) SetConnectionIdentifier(v string) *ConnectionAliasAssociation {
  5775  	s.ConnectionIdentifier = &v
  5776  	return s
  5777  }
  5778  
  5779  // SetResourceId sets the ResourceId field's value.
  5780  func (s *ConnectionAliasAssociation) SetResourceId(v string) *ConnectionAliasAssociation {
  5781  	s.ResourceId = &v
  5782  	return s
  5783  }
  5784  
  5785  // Describes the permissions for a connection alias. Connection aliases are
  5786  // used for cross-Region redirection. For more information, see Cross-Region
  5787  // Redirection for Amazon WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/cross-region-redirection.html).
  5788  type ConnectionAliasPermission struct {
  5789  	_ struct{} `type:"structure"`
  5790  
  5791  	// Indicates whether the specified Amazon Web Services account is allowed to
  5792  	// associate the connection alias with a directory.
  5793  	//
  5794  	// AllowAssociation is a required field
  5795  	AllowAssociation *bool `type:"boolean" required:"true"`
  5796  
  5797  	// The identifier of the Amazon Web Services account that the connection alias
  5798  	// is shared with.
  5799  	//
  5800  	// SharedAccountId is a required field
  5801  	SharedAccountId *string `type:"string" required:"true"`
  5802  }
  5803  
  5804  // String returns the string representation.
  5805  //
  5806  // API parameter values that are decorated as "sensitive" in the API will not
  5807  // be included in the string output. The member name will be present, but the
  5808  // value will be replaced with "sensitive".
  5809  func (s ConnectionAliasPermission) String() string {
  5810  	return awsutil.Prettify(s)
  5811  }
  5812  
  5813  // GoString returns the string representation.
  5814  //
  5815  // API parameter values that are decorated as "sensitive" in the API will not
  5816  // be included in the string output. The member name will be present, but the
  5817  // value will be replaced with "sensitive".
  5818  func (s ConnectionAliasPermission) GoString() string {
  5819  	return s.String()
  5820  }
  5821  
  5822  // Validate inspects the fields of the type to determine if they are valid.
  5823  func (s *ConnectionAliasPermission) Validate() error {
  5824  	invalidParams := request.ErrInvalidParams{Context: "ConnectionAliasPermission"}
  5825  	if s.AllowAssociation == nil {
  5826  		invalidParams.Add(request.NewErrParamRequired("AllowAssociation"))
  5827  	}
  5828  	if s.SharedAccountId == nil {
  5829  		invalidParams.Add(request.NewErrParamRequired("SharedAccountId"))
  5830  	}
  5831  
  5832  	if invalidParams.Len() > 0 {
  5833  		return invalidParams
  5834  	}
  5835  	return nil
  5836  }
  5837  
  5838  // SetAllowAssociation sets the AllowAssociation field's value.
  5839  func (s *ConnectionAliasPermission) SetAllowAssociation(v bool) *ConnectionAliasPermission {
  5840  	s.AllowAssociation = &v
  5841  	return s
  5842  }
  5843  
  5844  // SetSharedAccountId sets the SharedAccountId field's value.
  5845  func (s *ConnectionAliasPermission) SetSharedAccountId(v string) *ConnectionAliasPermission {
  5846  	s.SharedAccountId = &v
  5847  	return s
  5848  }
  5849  
  5850  type CopyWorkspaceImageInput struct {
  5851  	_ struct{} `type:"structure"`
  5852  
  5853  	// A description of the image.
  5854  	Description *string `min:"1" type:"string"`
  5855  
  5856  	// The name of the image.
  5857  	//
  5858  	// Name is a required field
  5859  	Name *string `min:"1" type:"string" required:"true"`
  5860  
  5861  	// The identifier of the source image.
  5862  	//
  5863  	// SourceImageId is a required field
  5864  	SourceImageId *string `type:"string" required:"true"`
  5865  
  5866  	// The identifier of the source Region.
  5867  	//
  5868  	// SourceRegion is a required field
  5869  	SourceRegion *string `min:"1" type:"string" required:"true"`
  5870  
  5871  	// The tags for the image.
  5872  	Tags []*Tag `type:"list"`
  5873  }
  5874  
  5875  // String returns the string representation.
  5876  //
  5877  // API parameter values that are decorated as "sensitive" in the API will not
  5878  // be included in the string output. The member name will be present, but the
  5879  // value will be replaced with "sensitive".
  5880  func (s CopyWorkspaceImageInput) String() string {
  5881  	return awsutil.Prettify(s)
  5882  }
  5883  
  5884  // GoString returns the string representation.
  5885  //
  5886  // API parameter values that are decorated as "sensitive" in the API will not
  5887  // be included in the string output. The member name will be present, but the
  5888  // value will be replaced with "sensitive".
  5889  func (s CopyWorkspaceImageInput) GoString() string {
  5890  	return s.String()
  5891  }
  5892  
  5893  // Validate inspects the fields of the type to determine if they are valid.
  5894  func (s *CopyWorkspaceImageInput) Validate() error {
  5895  	invalidParams := request.ErrInvalidParams{Context: "CopyWorkspaceImageInput"}
  5896  	if s.Description != nil && len(*s.Description) < 1 {
  5897  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  5898  	}
  5899  	if s.Name == nil {
  5900  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5901  	}
  5902  	if s.Name != nil && len(*s.Name) < 1 {
  5903  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  5904  	}
  5905  	if s.SourceImageId == nil {
  5906  		invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  5907  	}
  5908  	if s.SourceRegion == nil {
  5909  		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  5910  	}
  5911  	if s.SourceRegion != nil && len(*s.SourceRegion) < 1 {
  5912  		invalidParams.Add(request.NewErrParamMinLen("SourceRegion", 1))
  5913  	}
  5914  	if s.Tags != nil {
  5915  		for i, v := range s.Tags {
  5916  			if v == nil {
  5917  				continue
  5918  			}
  5919  			if err := v.Validate(); err != nil {
  5920  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  5921  			}
  5922  		}
  5923  	}
  5924  
  5925  	if invalidParams.Len() > 0 {
  5926  		return invalidParams
  5927  	}
  5928  	return nil
  5929  }
  5930  
  5931  // SetDescription sets the Description field's value.
  5932  func (s *CopyWorkspaceImageInput) SetDescription(v string) *CopyWorkspaceImageInput {
  5933  	s.Description = &v
  5934  	return s
  5935  }
  5936  
  5937  // SetName sets the Name field's value.
  5938  func (s *CopyWorkspaceImageInput) SetName(v string) *CopyWorkspaceImageInput {
  5939  	s.Name = &v
  5940  	return s
  5941  }
  5942  
  5943  // SetSourceImageId sets the SourceImageId field's value.
  5944  func (s *CopyWorkspaceImageInput) SetSourceImageId(v string) *CopyWorkspaceImageInput {
  5945  	s.SourceImageId = &v
  5946  	return s
  5947  }
  5948  
  5949  // SetSourceRegion sets the SourceRegion field's value.
  5950  func (s *CopyWorkspaceImageInput) SetSourceRegion(v string) *CopyWorkspaceImageInput {
  5951  	s.SourceRegion = &v
  5952  	return s
  5953  }
  5954  
  5955  // SetTags sets the Tags field's value.
  5956  func (s *CopyWorkspaceImageInput) SetTags(v []*Tag) *CopyWorkspaceImageInput {
  5957  	s.Tags = v
  5958  	return s
  5959  }
  5960  
  5961  type CopyWorkspaceImageOutput struct {
  5962  	_ struct{} `type:"structure"`
  5963  
  5964  	// The identifier of the image.
  5965  	ImageId *string `type:"string"`
  5966  }
  5967  
  5968  // String returns the string representation.
  5969  //
  5970  // API parameter values that are decorated as "sensitive" in the API will not
  5971  // be included in the string output. The member name will be present, but the
  5972  // value will be replaced with "sensitive".
  5973  func (s CopyWorkspaceImageOutput) String() string {
  5974  	return awsutil.Prettify(s)
  5975  }
  5976  
  5977  // GoString returns the string representation.
  5978  //
  5979  // API parameter values that are decorated as "sensitive" in the API will not
  5980  // be included in the string output. The member name will be present, but the
  5981  // value will be replaced with "sensitive".
  5982  func (s CopyWorkspaceImageOutput) GoString() string {
  5983  	return s.String()
  5984  }
  5985  
  5986  // SetImageId sets the ImageId field's value.
  5987  func (s *CopyWorkspaceImageOutput) SetImageId(v string) *CopyWorkspaceImageOutput {
  5988  	s.ImageId = &v
  5989  	return s
  5990  }
  5991  
  5992  type CreateConnectionAliasInput struct {
  5993  	_ struct{} `type:"structure"`
  5994  
  5995  	// A connection string in the form of a fully qualified domain name (FQDN),
  5996  	// such as www.example.com.
  5997  	//
  5998  	// After you create a connection string, it is always associated to your Amazon
  5999  	// Web Services account. You cannot recreate the same connection string with
  6000  	// a different account, even if you delete all instances of it from the original
  6001  	// account. The connection string is globally reserved for your account.
  6002  	//
  6003  	// ConnectionString is a required field
  6004  	ConnectionString *string `min:"1" type:"string" required:"true"`
  6005  
  6006  	// The tags to associate with the connection alias.
  6007  	Tags []*Tag `type:"list"`
  6008  }
  6009  
  6010  // String returns the string representation.
  6011  //
  6012  // API parameter values that are decorated as "sensitive" in the API will not
  6013  // be included in the string output. The member name will be present, but the
  6014  // value will be replaced with "sensitive".
  6015  func (s CreateConnectionAliasInput) String() string {
  6016  	return awsutil.Prettify(s)
  6017  }
  6018  
  6019  // GoString returns the string representation.
  6020  //
  6021  // API parameter values that are decorated as "sensitive" in the API will not
  6022  // be included in the string output. The member name will be present, but the
  6023  // value will be replaced with "sensitive".
  6024  func (s CreateConnectionAliasInput) GoString() string {
  6025  	return s.String()
  6026  }
  6027  
  6028  // Validate inspects the fields of the type to determine if they are valid.
  6029  func (s *CreateConnectionAliasInput) Validate() error {
  6030  	invalidParams := request.ErrInvalidParams{Context: "CreateConnectionAliasInput"}
  6031  	if s.ConnectionString == nil {
  6032  		invalidParams.Add(request.NewErrParamRequired("ConnectionString"))
  6033  	}
  6034  	if s.ConnectionString != nil && len(*s.ConnectionString) < 1 {
  6035  		invalidParams.Add(request.NewErrParamMinLen("ConnectionString", 1))
  6036  	}
  6037  	if s.Tags != nil {
  6038  		for i, v := range s.Tags {
  6039  			if v == nil {
  6040  				continue
  6041  			}
  6042  			if err := v.Validate(); err != nil {
  6043  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6044  			}
  6045  		}
  6046  	}
  6047  
  6048  	if invalidParams.Len() > 0 {
  6049  		return invalidParams
  6050  	}
  6051  	return nil
  6052  }
  6053  
  6054  // SetConnectionString sets the ConnectionString field's value.
  6055  func (s *CreateConnectionAliasInput) SetConnectionString(v string) *CreateConnectionAliasInput {
  6056  	s.ConnectionString = &v
  6057  	return s
  6058  }
  6059  
  6060  // SetTags sets the Tags field's value.
  6061  func (s *CreateConnectionAliasInput) SetTags(v []*Tag) *CreateConnectionAliasInput {
  6062  	s.Tags = v
  6063  	return s
  6064  }
  6065  
  6066  type CreateConnectionAliasOutput struct {
  6067  	_ struct{} `type:"structure"`
  6068  
  6069  	// The identifier of the connection alias.
  6070  	AliasId *string `min:"13" type:"string"`
  6071  }
  6072  
  6073  // String returns the string representation.
  6074  //
  6075  // API parameter values that are decorated as "sensitive" in the API will not
  6076  // be included in the string output. The member name will be present, but the
  6077  // value will be replaced with "sensitive".
  6078  func (s CreateConnectionAliasOutput) String() string {
  6079  	return awsutil.Prettify(s)
  6080  }
  6081  
  6082  // GoString returns the string representation.
  6083  //
  6084  // API parameter values that are decorated as "sensitive" in the API will not
  6085  // be included in the string output. The member name will be present, but the
  6086  // value will be replaced with "sensitive".
  6087  func (s CreateConnectionAliasOutput) GoString() string {
  6088  	return s.String()
  6089  }
  6090  
  6091  // SetAliasId sets the AliasId field's value.
  6092  func (s *CreateConnectionAliasOutput) SetAliasId(v string) *CreateConnectionAliasOutput {
  6093  	s.AliasId = &v
  6094  	return s
  6095  }
  6096  
  6097  type CreateIpGroupInput struct {
  6098  	_ struct{} `type:"structure"`
  6099  
  6100  	// The description of the group.
  6101  	GroupDesc *string `type:"string"`
  6102  
  6103  	// The name of the group.
  6104  	//
  6105  	// GroupName is a required field
  6106  	GroupName *string `type:"string" required:"true"`
  6107  
  6108  	// The tags. Each WorkSpaces resource can have a maximum of 50 tags.
  6109  	Tags []*Tag `type:"list"`
  6110  
  6111  	// The rules to add to the group.
  6112  	UserRules []*IpRuleItem `type:"list"`
  6113  }
  6114  
  6115  // String returns the string representation.
  6116  //
  6117  // API parameter values that are decorated as "sensitive" in the API will not
  6118  // be included in the string output. The member name will be present, but the
  6119  // value will be replaced with "sensitive".
  6120  func (s CreateIpGroupInput) String() string {
  6121  	return awsutil.Prettify(s)
  6122  }
  6123  
  6124  // GoString returns the string representation.
  6125  //
  6126  // API parameter values that are decorated as "sensitive" in the API will not
  6127  // be included in the string output. The member name will be present, but the
  6128  // value will be replaced with "sensitive".
  6129  func (s CreateIpGroupInput) GoString() string {
  6130  	return s.String()
  6131  }
  6132  
  6133  // Validate inspects the fields of the type to determine if they are valid.
  6134  func (s *CreateIpGroupInput) Validate() error {
  6135  	invalidParams := request.ErrInvalidParams{Context: "CreateIpGroupInput"}
  6136  	if s.GroupName == nil {
  6137  		invalidParams.Add(request.NewErrParamRequired("GroupName"))
  6138  	}
  6139  	if s.Tags != nil {
  6140  		for i, v := range s.Tags {
  6141  			if v == nil {
  6142  				continue
  6143  			}
  6144  			if err := v.Validate(); err != nil {
  6145  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6146  			}
  6147  		}
  6148  	}
  6149  
  6150  	if invalidParams.Len() > 0 {
  6151  		return invalidParams
  6152  	}
  6153  	return nil
  6154  }
  6155  
  6156  // SetGroupDesc sets the GroupDesc field's value.
  6157  func (s *CreateIpGroupInput) SetGroupDesc(v string) *CreateIpGroupInput {
  6158  	s.GroupDesc = &v
  6159  	return s
  6160  }
  6161  
  6162  // SetGroupName sets the GroupName field's value.
  6163  func (s *CreateIpGroupInput) SetGroupName(v string) *CreateIpGroupInput {
  6164  	s.GroupName = &v
  6165  	return s
  6166  }
  6167  
  6168  // SetTags sets the Tags field's value.
  6169  func (s *CreateIpGroupInput) SetTags(v []*Tag) *CreateIpGroupInput {
  6170  	s.Tags = v
  6171  	return s
  6172  }
  6173  
  6174  // SetUserRules sets the UserRules field's value.
  6175  func (s *CreateIpGroupInput) SetUserRules(v []*IpRuleItem) *CreateIpGroupInput {
  6176  	s.UserRules = v
  6177  	return s
  6178  }
  6179  
  6180  type CreateIpGroupOutput struct {
  6181  	_ struct{} `type:"structure"`
  6182  
  6183  	// The identifier of the group.
  6184  	GroupId *string `type:"string"`
  6185  }
  6186  
  6187  // String returns the string representation.
  6188  //
  6189  // API parameter values that are decorated as "sensitive" in the API will not
  6190  // be included in the string output. The member name will be present, but the
  6191  // value will be replaced with "sensitive".
  6192  func (s CreateIpGroupOutput) String() string {
  6193  	return awsutil.Prettify(s)
  6194  }
  6195  
  6196  // GoString returns the string representation.
  6197  //
  6198  // API parameter values that are decorated as "sensitive" in the API will not
  6199  // be included in the string output. The member name will be present, but the
  6200  // value will be replaced with "sensitive".
  6201  func (s CreateIpGroupOutput) GoString() string {
  6202  	return s.String()
  6203  }
  6204  
  6205  // SetGroupId sets the GroupId field's value.
  6206  func (s *CreateIpGroupOutput) SetGroupId(v string) *CreateIpGroupOutput {
  6207  	s.GroupId = &v
  6208  	return s
  6209  }
  6210  
  6211  type CreateTagsInput struct {
  6212  	_ struct{} `type:"structure"`
  6213  
  6214  	// The identifier of the WorkSpaces resource. The supported resource types are
  6215  	// WorkSpaces, registered directories, images, custom bundles, IP access control
  6216  	// groups, and connection aliases.
  6217  	//
  6218  	// ResourceId is a required field
  6219  	ResourceId *string `min:"1" type:"string" required:"true"`
  6220  
  6221  	// The tags. Each WorkSpaces resource can have a maximum of 50 tags.
  6222  	//
  6223  	// Tags is a required field
  6224  	Tags []*Tag `type:"list" required:"true"`
  6225  }
  6226  
  6227  // String returns the string representation.
  6228  //
  6229  // API parameter values that are decorated as "sensitive" in the API will not
  6230  // be included in the string output. The member name will be present, but the
  6231  // value will be replaced with "sensitive".
  6232  func (s CreateTagsInput) String() string {
  6233  	return awsutil.Prettify(s)
  6234  }
  6235  
  6236  // GoString returns the string representation.
  6237  //
  6238  // API parameter values that are decorated as "sensitive" in the API will not
  6239  // be included in the string output. The member name will be present, but the
  6240  // value will be replaced with "sensitive".
  6241  func (s CreateTagsInput) GoString() string {
  6242  	return s.String()
  6243  }
  6244  
  6245  // Validate inspects the fields of the type to determine if they are valid.
  6246  func (s *CreateTagsInput) Validate() error {
  6247  	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  6248  	if s.ResourceId == nil {
  6249  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  6250  	}
  6251  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  6252  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  6253  	}
  6254  	if s.Tags == nil {
  6255  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  6256  	}
  6257  	if s.Tags != nil {
  6258  		for i, v := range s.Tags {
  6259  			if v == nil {
  6260  				continue
  6261  			}
  6262  			if err := v.Validate(); err != nil {
  6263  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6264  			}
  6265  		}
  6266  	}
  6267  
  6268  	if invalidParams.Len() > 0 {
  6269  		return invalidParams
  6270  	}
  6271  	return nil
  6272  }
  6273  
  6274  // SetResourceId sets the ResourceId field's value.
  6275  func (s *CreateTagsInput) SetResourceId(v string) *CreateTagsInput {
  6276  	s.ResourceId = &v
  6277  	return s
  6278  }
  6279  
  6280  // SetTags sets the Tags field's value.
  6281  func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  6282  	s.Tags = v
  6283  	return s
  6284  }
  6285  
  6286  type CreateTagsOutput struct {
  6287  	_ struct{} `type:"structure"`
  6288  }
  6289  
  6290  // String returns the string representation.
  6291  //
  6292  // API parameter values that are decorated as "sensitive" in the API will not
  6293  // be included in the string output. The member name will be present, but the
  6294  // value will be replaced with "sensitive".
  6295  func (s CreateTagsOutput) String() string {
  6296  	return awsutil.Prettify(s)
  6297  }
  6298  
  6299  // GoString returns the string representation.
  6300  //
  6301  // API parameter values that are decorated as "sensitive" in the API will not
  6302  // be included in the string output. The member name will be present, but the
  6303  // value will be replaced with "sensitive".
  6304  func (s CreateTagsOutput) GoString() string {
  6305  	return s.String()
  6306  }
  6307  
  6308  type CreateUpdatedWorkspaceImageInput struct {
  6309  	_ struct{} `type:"structure"`
  6310  
  6311  	// A description of whether updates for the WorkSpace image are available.
  6312  	//
  6313  	// Description is a required field
  6314  	Description *string `min:"1" type:"string" required:"true"`
  6315  
  6316  	// The name of the new updated WorkSpace image.
  6317  	//
  6318  	// Name is a required field
  6319  	Name *string `min:"1" type:"string" required:"true"`
  6320  
  6321  	// The identifier of the source WorkSpace image.
  6322  	//
  6323  	// SourceImageId is a required field
  6324  	SourceImageId *string `type:"string" required:"true"`
  6325  
  6326  	// The tags that you want to add to the new updated WorkSpace image.
  6327  	//
  6328  	// To add tags at the same time when you're creating the updated image, you
  6329  	// must create an IAM policy that grants your IAM user permissions to use workspaces:CreateTags.
  6330  	Tags []*Tag `type:"list"`
  6331  }
  6332  
  6333  // String returns the string representation.
  6334  //
  6335  // API parameter values that are decorated as "sensitive" in the API will not
  6336  // be included in the string output. The member name will be present, but the
  6337  // value will be replaced with "sensitive".
  6338  func (s CreateUpdatedWorkspaceImageInput) String() string {
  6339  	return awsutil.Prettify(s)
  6340  }
  6341  
  6342  // GoString returns the string representation.
  6343  //
  6344  // API parameter values that are decorated as "sensitive" in the API will not
  6345  // be included in the string output. The member name will be present, but the
  6346  // value will be replaced with "sensitive".
  6347  func (s CreateUpdatedWorkspaceImageInput) GoString() string {
  6348  	return s.String()
  6349  }
  6350  
  6351  // Validate inspects the fields of the type to determine if they are valid.
  6352  func (s *CreateUpdatedWorkspaceImageInput) Validate() error {
  6353  	invalidParams := request.ErrInvalidParams{Context: "CreateUpdatedWorkspaceImageInput"}
  6354  	if s.Description == nil {
  6355  		invalidParams.Add(request.NewErrParamRequired("Description"))
  6356  	}
  6357  	if s.Description != nil && len(*s.Description) < 1 {
  6358  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  6359  	}
  6360  	if s.Name == nil {
  6361  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6362  	}
  6363  	if s.Name != nil && len(*s.Name) < 1 {
  6364  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6365  	}
  6366  	if s.SourceImageId == nil {
  6367  		invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  6368  	}
  6369  	if s.Tags != nil {
  6370  		for i, v := range s.Tags {
  6371  			if v == nil {
  6372  				continue
  6373  			}
  6374  			if err := v.Validate(); err != nil {
  6375  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6376  			}
  6377  		}
  6378  	}
  6379  
  6380  	if invalidParams.Len() > 0 {
  6381  		return invalidParams
  6382  	}
  6383  	return nil
  6384  }
  6385  
  6386  // SetDescription sets the Description field's value.
  6387  func (s *CreateUpdatedWorkspaceImageInput) SetDescription(v string) *CreateUpdatedWorkspaceImageInput {
  6388  	s.Description = &v
  6389  	return s
  6390  }
  6391  
  6392  // SetName sets the Name field's value.
  6393  func (s *CreateUpdatedWorkspaceImageInput) SetName(v string) *CreateUpdatedWorkspaceImageInput {
  6394  	s.Name = &v
  6395  	return s
  6396  }
  6397  
  6398  // SetSourceImageId sets the SourceImageId field's value.
  6399  func (s *CreateUpdatedWorkspaceImageInput) SetSourceImageId(v string) *CreateUpdatedWorkspaceImageInput {
  6400  	s.SourceImageId = &v
  6401  	return s
  6402  }
  6403  
  6404  // SetTags sets the Tags field's value.
  6405  func (s *CreateUpdatedWorkspaceImageInput) SetTags(v []*Tag) *CreateUpdatedWorkspaceImageInput {
  6406  	s.Tags = v
  6407  	return s
  6408  }
  6409  
  6410  type CreateUpdatedWorkspaceImageOutput struct {
  6411  	_ struct{} `type:"structure"`
  6412  
  6413  	// The identifier of the new updated WorkSpace image.
  6414  	ImageId *string `type:"string"`
  6415  }
  6416  
  6417  // String returns the string representation.
  6418  //
  6419  // API parameter values that are decorated as "sensitive" in the API will not
  6420  // be included in the string output. The member name will be present, but the
  6421  // value will be replaced with "sensitive".
  6422  func (s CreateUpdatedWorkspaceImageOutput) String() string {
  6423  	return awsutil.Prettify(s)
  6424  }
  6425  
  6426  // GoString returns the string representation.
  6427  //
  6428  // API parameter values that are decorated as "sensitive" in the API will not
  6429  // be included in the string output. The member name will be present, but the
  6430  // value will be replaced with "sensitive".
  6431  func (s CreateUpdatedWorkspaceImageOutput) GoString() string {
  6432  	return s.String()
  6433  }
  6434  
  6435  // SetImageId sets the ImageId field's value.
  6436  func (s *CreateUpdatedWorkspaceImageOutput) SetImageId(v string) *CreateUpdatedWorkspaceImageOutput {
  6437  	s.ImageId = &v
  6438  	return s
  6439  }
  6440  
  6441  type CreateWorkspaceBundleInput struct {
  6442  	_ struct{} `type:"structure"`
  6443  
  6444  	// The description of the bundle.
  6445  	//
  6446  	// BundleDescription is a required field
  6447  	BundleDescription *string `min:"1" type:"string" required:"true"`
  6448  
  6449  	// The name of the bundle.
  6450  	//
  6451  	// BundleName is a required field
  6452  	BundleName *string `min:"1" type:"string" required:"true"`
  6453  
  6454  	// Describes the compute type of the bundle.
  6455  	//
  6456  	// ComputeType is a required field
  6457  	ComputeType *ComputeType `type:"structure" required:"true"`
  6458  
  6459  	// The identifier of the image that is used to create the bundle.
  6460  	//
  6461  	// ImageId is a required field
  6462  	ImageId *string `type:"string" required:"true"`
  6463  
  6464  	// Describes the root volume for a WorkSpace bundle.
  6465  	RootStorage *RootStorage `type:"structure"`
  6466  
  6467  	// The tags associated with the bundle.
  6468  	//
  6469  	// To add tags at the same time when you're creating the bundle, you must create
  6470  	// an IAM policy that grants your IAM user permissions to use workspaces:CreateTags.
  6471  	Tags []*Tag `type:"list"`
  6472  
  6473  	// Describes the user volume for a WorkSpace bundle.
  6474  	//
  6475  	// UserStorage is a required field
  6476  	UserStorage *UserStorage `type:"structure" required:"true"`
  6477  }
  6478  
  6479  // String returns the string representation.
  6480  //
  6481  // API parameter values that are decorated as "sensitive" in the API will not
  6482  // be included in the string output. The member name will be present, but the
  6483  // value will be replaced with "sensitive".
  6484  func (s CreateWorkspaceBundleInput) String() string {
  6485  	return awsutil.Prettify(s)
  6486  }
  6487  
  6488  // GoString returns the string representation.
  6489  //
  6490  // API parameter values that are decorated as "sensitive" in the API will not
  6491  // be included in the string output. The member name will be present, but the
  6492  // value will be replaced with "sensitive".
  6493  func (s CreateWorkspaceBundleInput) GoString() string {
  6494  	return s.String()
  6495  }
  6496  
  6497  // Validate inspects the fields of the type to determine if they are valid.
  6498  func (s *CreateWorkspaceBundleInput) Validate() error {
  6499  	invalidParams := request.ErrInvalidParams{Context: "CreateWorkspaceBundleInput"}
  6500  	if s.BundleDescription == nil {
  6501  		invalidParams.Add(request.NewErrParamRequired("BundleDescription"))
  6502  	}
  6503  	if s.BundleDescription != nil && len(*s.BundleDescription) < 1 {
  6504  		invalidParams.Add(request.NewErrParamMinLen("BundleDescription", 1))
  6505  	}
  6506  	if s.BundleName == nil {
  6507  		invalidParams.Add(request.NewErrParamRequired("BundleName"))
  6508  	}
  6509  	if s.BundleName != nil && len(*s.BundleName) < 1 {
  6510  		invalidParams.Add(request.NewErrParamMinLen("BundleName", 1))
  6511  	}
  6512  	if s.ComputeType == nil {
  6513  		invalidParams.Add(request.NewErrParamRequired("ComputeType"))
  6514  	}
  6515  	if s.ImageId == nil {
  6516  		invalidParams.Add(request.NewErrParamRequired("ImageId"))
  6517  	}
  6518  	if s.UserStorage == nil {
  6519  		invalidParams.Add(request.NewErrParamRequired("UserStorage"))
  6520  	}
  6521  	if s.RootStorage != nil {
  6522  		if err := s.RootStorage.Validate(); err != nil {
  6523  			invalidParams.AddNested("RootStorage", err.(request.ErrInvalidParams))
  6524  		}
  6525  	}
  6526  	if s.Tags != nil {
  6527  		for i, v := range s.Tags {
  6528  			if v == nil {
  6529  				continue
  6530  			}
  6531  			if err := v.Validate(); err != nil {
  6532  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6533  			}
  6534  		}
  6535  	}
  6536  	if s.UserStorage != nil {
  6537  		if err := s.UserStorage.Validate(); err != nil {
  6538  			invalidParams.AddNested("UserStorage", err.(request.ErrInvalidParams))
  6539  		}
  6540  	}
  6541  
  6542  	if invalidParams.Len() > 0 {
  6543  		return invalidParams
  6544  	}
  6545  	return nil
  6546  }
  6547  
  6548  // SetBundleDescription sets the BundleDescription field's value.
  6549  func (s *CreateWorkspaceBundleInput) SetBundleDescription(v string) *CreateWorkspaceBundleInput {
  6550  	s.BundleDescription = &v
  6551  	return s
  6552  }
  6553  
  6554  // SetBundleName sets the BundleName field's value.
  6555  func (s *CreateWorkspaceBundleInput) SetBundleName(v string) *CreateWorkspaceBundleInput {
  6556  	s.BundleName = &v
  6557  	return s
  6558  }
  6559  
  6560  // SetComputeType sets the ComputeType field's value.
  6561  func (s *CreateWorkspaceBundleInput) SetComputeType(v *ComputeType) *CreateWorkspaceBundleInput {
  6562  	s.ComputeType = v
  6563  	return s
  6564  }
  6565  
  6566  // SetImageId sets the ImageId field's value.
  6567  func (s *CreateWorkspaceBundleInput) SetImageId(v string) *CreateWorkspaceBundleInput {
  6568  	s.ImageId = &v
  6569  	return s
  6570  }
  6571  
  6572  // SetRootStorage sets the RootStorage field's value.
  6573  func (s *CreateWorkspaceBundleInput) SetRootStorage(v *RootStorage) *CreateWorkspaceBundleInput {
  6574  	s.RootStorage = v
  6575  	return s
  6576  }
  6577  
  6578  // SetTags sets the Tags field's value.
  6579  func (s *CreateWorkspaceBundleInput) SetTags(v []*Tag) *CreateWorkspaceBundleInput {
  6580  	s.Tags = v
  6581  	return s
  6582  }
  6583  
  6584  // SetUserStorage sets the UserStorage field's value.
  6585  func (s *CreateWorkspaceBundleInput) SetUserStorage(v *UserStorage) *CreateWorkspaceBundleInput {
  6586  	s.UserStorage = v
  6587  	return s
  6588  }
  6589  
  6590  type CreateWorkspaceBundleOutput struct {
  6591  	_ struct{} `type:"structure"`
  6592  
  6593  	// Describes a WorkSpace bundle.
  6594  	WorkspaceBundle *WorkspaceBundle `type:"structure"`
  6595  }
  6596  
  6597  // String returns the string representation.
  6598  //
  6599  // API parameter values that are decorated as "sensitive" in the API will not
  6600  // be included in the string output. The member name will be present, but the
  6601  // value will be replaced with "sensitive".
  6602  func (s CreateWorkspaceBundleOutput) String() string {
  6603  	return awsutil.Prettify(s)
  6604  }
  6605  
  6606  // GoString returns the string representation.
  6607  //
  6608  // API parameter values that are decorated as "sensitive" in the API will not
  6609  // be included in the string output. The member name will be present, but the
  6610  // value will be replaced with "sensitive".
  6611  func (s CreateWorkspaceBundleOutput) GoString() string {
  6612  	return s.String()
  6613  }
  6614  
  6615  // SetWorkspaceBundle sets the WorkspaceBundle field's value.
  6616  func (s *CreateWorkspaceBundleOutput) SetWorkspaceBundle(v *WorkspaceBundle) *CreateWorkspaceBundleOutput {
  6617  	s.WorkspaceBundle = v
  6618  	return s
  6619  }
  6620  
  6621  type CreateWorkspacesInput struct {
  6622  	_ struct{} `type:"structure"`
  6623  
  6624  	// The WorkSpaces to create. You can specify up to 25 WorkSpaces.
  6625  	//
  6626  	// Workspaces is a required field
  6627  	Workspaces []*WorkspaceRequest `min:"1" type:"list" required:"true"`
  6628  }
  6629  
  6630  // String returns the string representation.
  6631  //
  6632  // API parameter values that are decorated as "sensitive" in the API will not
  6633  // be included in the string output. The member name will be present, but the
  6634  // value will be replaced with "sensitive".
  6635  func (s CreateWorkspacesInput) String() string {
  6636  	return awsutil.Prettify(s)
  6637  }
  6638  
  6639  // GoString returns the string representation.
  6640  //
  6641  // API parameter values that are decorated as "sensitive" in the API will not
  6642  // be included in the string output. The member name will be present, but the
  6643  // value will be replaced with "sensitive".
  6644  func (s CreateWorkspacesInput) GoString() string {
  6645  	return s.String()
  6646  }
  6647  
  6648  // Validate inspects the fields of the type to determine if they are valid.
  6649  func (s *CreateWorkspacesInput) Validate() error {
  6650  	invalidParams := request.ErrInvalidParams{Context: "CreateWorkspacesInput"}
  6651  	if s.Workspaces == nil {
  6652  		invalidParams.Add(request.NewErrParamRequired("Workspaces"))
  6653  	}
  6654  	if s.Workspaces != nil && len(s.Workspaces) < 1 {
  6655  		invalidParams.Add(request.NewErrParamMinLen("Workspaces", 1))
  6656  	}
  6657  	if s.Workspaces != nil {
  6658  		for i, v := range s.Workspaces {
  6659  			if v == nil {
  6660  				continue
  6661  			}
  6662  			if err := v.Validate(); err != nil {
  6663  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Workspaces", i), err.(request.ErrInvalidParams))
  6664  			}
  6665  		}
  6666  	}
  6667  
  6668  	if invalidParams.Len() > 0 {
  6669  		return invalidParams
  6670  	}
  6671  	return nil
  6672  }
  6673  
  6674  // SetWorkspaces sets the Workspaces field's value.
  6675  func (s *CreateWorkspacesInput) SetWorkspaces(v []*WorkspaceRequest) *CreateWorkspacesInput {
  6676  	s.Workspaces = v
  6677  	return s
  6678  }
  6679  
  6680  type CreateWorkspacesOutput struct {
  6681  	_ struct{} `type:"structure"`
  6682  
  6683  	// Information about the WorkSpaces that could not be created.
  6684  	FailedRequests []*FailedCreateWorkspaceRequest `type:"list"`
  6685  
  6686  	// Information about the WorkSpaces that were created.
  6687  	//
  6688  	// Because this operation is asynchronous, the identifier returned is not immediately
  6689  	// available for use with other operations. For example, if you call DescribeWorkspaces
  6690  	// before the WorkSpace is created, the information returned can be incomplete.
  6691  	PendingRequests []*Workspace `type:"list"`
  6692  }
  6693  
  6694  // String returns the string representation.
  6695  //
  6696  // API parameter values that are decorated as "sensitive" in the API will not
  6697  // be included in the string output. The member name will be present, but the
  6698  // value will be replaced with "sensitive".
  6699  func (s CreateWorkspacesOutput) String() string {
  6700  	return awsutil.Prettify(s)
  6701  }
  6702  
  6703  // GoString returns the string representation.
  6704  //
  6705  // API parameter values that are decorated as "sensitive" in the API will not
  6706  // be included in the string output. The member name will be present, but the
  6707  // value will be replaced with "sensitive".
  6708  func (s CreateWorkspacesOutput) GoString() string {
  6709  	return s.String()
  6710  }
  6711  
  6712  // SetFailedRequests sets the FailedRequests field's value.
  6713  func (s *CreateWorkspacesOutput) SetFailedRequests(v []*FailedCreateWorkspaceRequest) *CreateWorkspacesOutput {
  6714  	s.FailedRequests = v
  6715  	return s
  6716  }
  6717  
  6718  // SetPendingRequests sets the PendingRequests field's value.
  6719  func (s *CreateWorkspacesOutput) SetPendingRequests(v []*Workspace) *CreateWorkspacesOutput {
  6720  	s.PendingRequests = v
  6721  	return s
  6722  }
  6723  
  6724  // Describes the default values that are used to create WorkSpaces. For more
  6725  // information, see Update Directory Details for Your WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/update-directory-details.html).
  6726  type DefaultWorkspaceCreationProperties struct {
  6727  	_ struct{} `type:"structure"`
  6728  
  6729  	// The identifier of the default security group to apply to WorkSpaces when
  6730  	// they are created. For more information, see Security Groups for Your WorkSpaces
  6731  	// (https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-security-groups.html).
  6732  	CustomSecurityGroupId *string `min:"11" type:"string"`
  6733  
  6734  	// The organizational unit (OU) in the directory for the WorkSpace machine accounts.
  6735  	DefaultOu *string `type:"string"`
  6736  
  6737  	// Specifies whether to automatically assign an Elastic public IP address to
  6738  	// WorkSpaces in this directory by default. If enabled, the Elastic public IP
  6739  	// address allows outbound internet access from your WorkSpaces when you’re
  6740  	// using an internet gateway in the Amazon VPC in which your WorkSpaces are
  6741  	// located. If you're using a Network Address Translation (NAT) gateway for
  6742  	// outbound internet access from your VPC, or if your WorkSpaces are in public
  6743  	// subnets and you manually assign them Elastic IP addresses, you should disable
  6744  	// this setting. This setting applies to new WorkSpaces that you launch or to
  6745  	// existing WorkSpaces that you rebuild. For more information, see Configure
  6746  	// a VPC for Amazon WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-vpc.html).
  6747  	EnableInternetAccess *bool `type:"boolean"`
  6748  
  6749  	// Specifies whether maintenance mode is enabled for WorkSpaces. For more information,
  6750  	// see WorkSpace Maintenance (https://docs.aws.amazon.com/workspaces/latest/adminguide/workspace-maintenance.html).
  6751  	EnableMaintenanceMode *bool `type:"boolean"`
  6752  
  6753  	// Specifies whether the directory is enabled for Amazon WorkDocs.
  6754  	EnableWorkDocs *bool `type:"boolean"`
  6755  
  6756  	// Specifies whether WorkSpace users are local administrators on their WorkSpaces.
  6757  	UserEnabledAsLocalAdministrator *bool `type:"boolean"`
  6758  }
  6759  
  6760  // String returns the string representation.
  6761  //
  6762  // API parameter values that are decorated as "sensitive" in the API will not
  6763  // be included in the string output. The member name will be present, but the
  6764  // value will be replaced with "sensitive".
  6765  func (s DefaultWorkspaceCreationProperties) String() string {
  6766  	return awsutil.Prettify(s)
  6767  }
  6768  
  6769  // GoString returns the string representation.
  6770  //
  6771  // API parameter values that are decorated as "sensitive" in the API will not
  6772  // be included in the string output. The member name will be present, but the
  6773  // value will be replaced with "sensitive".
  6774  func (s DefaultWorkspaceCreationProperties) GoString() string {
  6775  	return s.String()
  6776  }
  6777  
  6778  // SetCustomSecurityGroupId sets the CustomSecurityGroupId field's value.
  6779  func (s *DefaultWorkspaceCreationProperties) SetCustomSecurityGroupId(v string) *DefaultWorkspaceCreationProperties {
  6780  	s.CustomSecurityGroupId = &v
  6781  	return s
  6782  }
  6783  
  6784  // SetDefaultOu sets the DefaultOu field's value.
  6785  func (s *DefaultWorkspaceCreationProperties) SetDefaultOu(v string) *DefaultWorkspaceCreationProperties {
  6786  	s.DefaultOu = &v
  6787  	return s
  6788  }
  6789  
  6790  // SetEnableInternetAccess sets the EnableInternetAccess field's value.
  6791  func (s *DefaultWorkspaceCreationProperties) SetEnableInternetAccess(v bool) *DefaultWorkspaceCreationProperties {
  6792  	s.EnableInternetAccess = &v
  6793  	return s
  6794  }
  6795  
  6796  // SetEnableMaintenanceMode sets the EnableMaintenanceMode field's value.
  6797  func (s *DefaultWorkspaceCreationProperties) SetEnableMaintenanceMode(v bool) *DefaultWorkspaceCreationProperties {
  6798  	s.EnableMaintenanceMode = &v
  6799  	return s
  6800  }
  6801  
  6802  // SetEnableWorkDocs sets the EnableWorkDocs field's value.
  6803  func (s *DefaultWorkspaceCreationProperties) SetEnableWorkDocs(v bool) *DefaultWorkspaceCreationProperties {
  6804  	s.EnableWorkDocs = &v
  6805  	return s
  6806  }
  6807  
  6808  // SetUserEnabledAsLocalAdministrator sets the UserEnabledAsLocalAdministrator field's value.
  6809  func (s *DefaultWorkspaceCreationProperties) SetUserEnabledAsLocalAdministrator(v bool) *DefaultWorkspaceCreationProperties {
  6810  	s.UserEnabledAsLocalAdministrator = &v
  6811  	return s
  6812  }
  6813  
  6814  type DeleteConnectionAliasInput struct {
  6815  	_ struct{} `type:"structure"`
  6816  
  6817  	// The identifier of the connection alias to delete.
  6818  	//
  6819  	// AliasId is a required field
  6820  	AliasId *string `min:"13" type:"string" required:"true"`
  6821  }
  6822  
  6823  // String returns the string representation.
  6824  //
  6825  // API parameter values that are decorated as "sensitive" in the API will not
  6826  // be included in the string output. The member name will be present, but the
  6827  // value will be replaced with "sensitive".
  6828  func (s DeleteConnectionAliasInput) String() string {
  6829  	return awsutil.Prettify(s)
  6830  }
  6831  
  6832  // GoString returns the string representation.
  6833  //
  6834  // API parameter values that are decorated as "sensitive" in the API will not
  6835  // be included in the string output. The member name will be present, but the
  6836  // value will be replaced with "sensitive".
  6837  func (s DeleteConnectionAliasInput) GoString() string {
  6838  	return s.String()
  6839  }
  6840  
  6841  // Validate inspects the fields of the type to determine if they are valid.
  6842  func (s *DeleteConnectionAliasInput) Validate() error {
  6843  	invalidParams := request.ErrInvalidParams{Context: "DeleteConnectionAliasInput"}
  6844  	if s.AliasId == nil {
  6845  		invalidParams.Add(request.NewErrParamRequired("AliasId"))
  6846  	}
  6847  	if s.AliasId != nil && len(*s.AliasId) < 13 {
  6848  		invalidParams.Add(request.NewErrParamMinLen("AliasId", 13))
  6849  	}
  6850  
  6851  	if invalidParams.Len() > 0 {
  6852  		return invalidParams
  6853  	}
  6854  	return nil
  6855  }
  6856  
  6857  // SetAliasId sets the AliasId field's value.
  6858  func (s *DeleteConnectionAliasInput) SetAliasId(v string) *DeleteConnectionAliasInput {
  6859  	s.AliasId = &v
  6860  	return s
  6861  }
  6862  
  6863  type DeleteConnectionAliasOutput struct {
  6864  	_ struct{} `type:"structure"`
  6865  }
  6866  
  6867  // String returns the string representation.
  6868  //
  6869  // API parameter values that are decorated as "sensitive" in the API will not
  6870  // be included in the string output. The member name will be present, but the
  6871  // value will be replaced with "sensitive".
  6872  func (s DeleteConnectionAliasOutput) String() string {
  6873  	return awsutil.Prettify(s)
  6874  }
  6875  
  6876  // GoString returns the string representation.
  6877  //
  6878  // API parameter values that are decorated as "sensitive" in the API will not
  6879  // be included in the string output. The member name will be present, but the
  6880  // value will be replaced with "sensitive".
  6881  func (s DeleteConnectionAliasOutput) GoString() string {
  6882  	return s.String()
  6883  }
  6884  
  6885  type DeleteIpGroupInput struct {
  6886  	_ struct{} `type:"structure"`
  6887  
  6888  	// The identifier of the IP access control group.
  6889  	//
  6890  	// GroupId is a required field
  6891  	GroupId *string `type:"string" required:"true"`
  6892  }
  6893  
  6894  // String returns the string representation.
  6895  //
  6896  // API parameter values that are decorated as "sensitive" in the API will not
  6897  // be included in the string output. The member name will be present, but the
  6898  // value will be replaced with "sensitive".
  6899  func (s DeleteIpGroupInput) String() string {
  6900  	return awsutil.Prettify(s)
  6901  }
  6902  
  6903  // GoString returns the string representation.
  6904  //
  6905  // API parameter values that are decorated as "sensitive" in the API will not
  6906  // be included in the string output. The member name will be present, but the
  6907  // value will be replaced with "sensitive".
  6908  func (s DeleteIpGroupInput) GoString() string {
  6909  	return s.String()
  6910  }
  6911  
  6912  // Validate inspects the fields of the type to determine if they are valid.
  6913  func (s *DeleteIpGroupInput) Validate() error {
  6914  	invalidParams := request.ErrInvalidParams{Context: "DeleteIpGroupInput"}
  6915  	if s.GroupId == nil {
  6916  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
  6917  	}
  6918  
  6919  	if invalidParams.Len() > 0 {
  6920  		return invalidParams
  6921  	}
  6922  	return nil
  6923  }
  6924  
  6925  // SetGroupId sets the GroupId field's value.
  6926  func (s *DeleteIpGroupInput) SetGroupId(v string) *DeleteIpGroupInput {
  6927  	s.GroupId = &v
  6928  	return s
  6929  }
  6930  
  6931  type DeleteIpGroupOutput struct {
  6932  	_ struct{} `type:"structure"`
  6933  }
  6934  
  6935  // String returns the string representation.
  6936  //
  6937  // API parameter values that are decorated as "sensitive" in the API will not
  6938  // be included in the string output. The member name will be present, but the
  6939  // value will be replaced with "sensitive".
  6940  func (s DeleteIpGroupOutput) String() string {
  6941  	return awsutil.Prettify(s)
  6942  }
  6943  
  6944  // GoString returns the string representation.
  6945  //
  6946  // API parameter values that are decorated as "sensitive" in the API will not
  6947  // be included in the string output. The member name will be present, but the
  6948  // value will be replaced with "sensitive".
  6949  func (s DeleteIpGroupOutput) GoString() string {
  6950  	return s.String()
  6951  }
  6952  
  6953  type DeleteTagsInput struct {
  6954  	_ struct{} `type:"structure"`
  6955  
  6956  	// The identifier of the WorkSpaces resource. The supported resource types are
  6957  	// WorkSpaces, registered directories, images, custom bundles, IP access control
  6958  	// groups, and connection aliases.
  6959  	//
  6960  	// ResourceId is a required field
  6961  	ResourceId *string `min:"1" type:"string" required:"true"`
  6962  
  6963  	// The tag keys.
  6964  	//
  6965  	// TagKeys is a required field
  6966  	TagKeys []*string `type:"list" required:"true"`
  6967  }
  6968  
  6969  // String returns the string representation.
  6970  //
  6971  // API parameter values that are decorated as "sensitive" in the API will not
  6972  // be included in the string output. The member name will be present, but the
  6973  // value will be replaced with "sensitive".
  6974  func (s DeleteTagsInput) String() string {
  6975  	return awsutil.Prettify(s)
  6976  }
  6977  
  6978  // GoString returns the string representation.
  6979  //
  6980  // API parameter values that are decorated as "sensitive" in the API will not
  6981  // be included in the string output. The member name will be present, but the
  6982  // value will be replaced with "sensitive".
  6983  func (s DeleteTagsInput) GoString() string {
  6984  	return s.String()
  6985  }
  6986  
  6987  // Validate inspects the fields of the type to determine if they are valid.
  6988  func (s *DeleteTagsInput) Validate() error {
  6989  	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  6990  	if s.ResourceId == nil {
  6991  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  6992  	}
  6993  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  6994  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  6995  	}
  6996  	if s.TagKeys == nil {
  6997  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  6998  	}
  6999  
  7000  	if invalidParams.Len() > 0 {
  7001  		return invalidParams
  7002  	}
  7003  	return nil
  7004  }
  7005  
  7006  // SetResourceId sets the ResourceId field's value.
  7007  func (s *DeleteTagsInput) SetResourceId(v string) *DeleteTagsInput {
  7008  	s.ResourceId = &v
  7009  	return s
  7010  }
  7011  
  7012  // SetTagKeys sets the TagKeys field's value.
  7013  func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput {
  7014  	s.TagKeys = v
  7015  	return s
  7016  }
  7017  
  7018  type DeleteTagsOutput struct {
  7019  	_ struct{} `type:"structure"`
  7020  }
  7021  
  7022  // String returns the string representation.
  7023  //
  7024  // API parameter values that are decorated as "sensitive" in the API will not
  7025  // be included in the string output. The member name will be present, but the
  7026  // value will be replaced with "sensitive".
  7027  func (s DeleteTagsOutput) String() string {
  7028  	return awsutil.Prettify(s)
  7029  }
  7030  
  7031  // GoString returns the string representation.
  7032  //
  7033  // API parameter values that are decorated as "sensitive" in the API will not
  7034  // be included in the string output. The member name will be present, but the
  7035  // value will be replaced with "sensitive".
  7036  func (s DeleteTagsOutput) GoString() string {
  7037  	return s.String()
  7038  }
  7039  
  7040  type DeleteWorkspaceBundleInput struct {
  7041  	_ struct{} `type:"structure"`
  7042  
  7043  	// The identifier of the bundle.
  7044  	BundleId *string `type:"string"`
  7045  }
  7046  
  7047  // String returns the string representation.
  7048  //
  7049  // API parameter values that are decorated as "sensitive" in the API will not
  7050  // be included in the string output. The member name will be present, but the
  7051  // value will be replaced with "sensitive".
  7052  func (s DeleteWorkspaceBundleInput) String() string {
  7053  	return awsutil.Prettify(s)
  7054  }
  7055  
  7056  // GoString returns the string representation.
  7057  //
  7058  // API parameter values that are decorated as "sensitive" in the API will not
  7059  // be included in the string output. The member name will be present, but the
  7060  // value will be replaced with "sensitive".
  7061  func (s DeleteWorkspaceBundleInput) GoString() string {
  7062  	return s.String()
  7063  }
  7064  
  7065  // SetBundleId sets the BundleId field's value.
  7066  func (s *DeleteWorkspaceBundleInput) SetBundleId(v string) *DeleteWorkspaceBundleInput {
  7067  	s.BundleId = &v
  7068  	return s
  7069  }
  7070  
  7071  type DeleteWorkspaceBundleOutput struct {
  7072  	_ struct{} `type:"structure"`
  7073  }
  7074  
  7075  // String returns the string representation.
  7076  //
  7077  // API parameter values that are decorated as "sensitive" in the API will not
  7078  // be included in the string output. The member name will be present, but the
  7079  // value will be replaced with "sensitive".
  7080  func (s DeleteWorkspaceBundleOutput) String() string {
  7081  	return awsutil.Prettify(s)
  7082  }
  7083  
  7084  // GoString returns the string representation.
  7085  //
  7086  // API parameter values that are decorated as "sensitive" in the API will not
  7087  // be included in the string output. The member name will be present, but the
  7088  // value will be replaced with "sensitive".
  7089  func (s DeleteWorkspaceBundleOutput) GoString() string {
  7090  	return s.String()
  7091  }
  7092  
  7093  type DeleteWorkspaceImageInput struct {
  7094  	_ struct{} `type:"structure"`
  7095  
  7096  	// The identifier of the image.
  7097  	//
  7098  	// ImageId is a required field
  7099  	ImageId *string `type:"string" required:"true"`
  7100  }
  7101  
  7102  // String returns the string representation.
  7103  //
  7104  // API parameter values that are decorated as "sensitive" in the API will not
  7105  // be included in the string output. The member name will be present, but the
  7106  // value will be replaced with "sensitive".
  7107  func (s DeleteWorkspaceImageInput) String() string {
  7108  	return awsutil.Prettify(s)
  7109  }
  7110  
  7111  // GoString returns the string representation.
  7112  //
  7113  // API parameter values that are decorated as "sensitive" in the API will not
  7114  // be included in the string output. The member name will be present, but the
  7115  // value will be replaced with "sensitive".
  7116  func (s DeleteWorkspaceImageInput) GoString() string {
  7117  	return s.String()
  7118  }
  7119  
  7120  // Validate inspects the fields of the type to determine if they are valid.
  7121  func (s *DeleteWorkspaceImageInput) Validate() error {
  7122  	invalidParams := request.ErrInvalidParams{Context: "DeleteWorkspaceImageInput"}
  7123  	if s.ImageId == nil {
  7124  		invalidParams.Add(request.NewErrParamRequired("ImageId"))
  7125  	}
  7126  
  7127  	if invalidParams.Len() > 0 {
  7128  		return invalidParams
  7129  	}
  7130  	return nil
  7131  }
  7132  
  7133  // SetImageId sets the ImageId field's value.
  7134  func (s *DeleteWorkspaceImageInput) SetImageId(v string) *DeleteWorkspaceImageInput {
  7135  	s.ImageId = &v
  7136  	return s
  7137  }
  7138  
  7139  type DeleteWorkspaceImageOutput struct {
  7140  	_ struct{} `type:"structure"`
  7141  }
  7142  
  7143  // String returns the string representation.
  7144  //
  7145  // API parameter values that are decorated as "sensitive" in the API will not
  7146  // be included in the string output. The member name will be present, but the
  7147  // value will be replaced with "sensitive".
  7148  func (s DeleteWorkspaceImageOutput) String() string {
  7149  	return awsutil.Prettify(s)
  7150  }
  7151  
  7152  // GoString returns the string representation.
  7153  //
  7154  // API parameter values that are decorated as "sensitive" in the API will not
  7155  // be included in the string output. The member name will be present, but the
  7156  // value will be replaced with "sensitive".
  7157  func (s DeleteWorkspaceImageOutput) GoString() string {
  7158  	return s.String()
  7159  }
  7160  
  7161  type DeregisterWorkspaceDirectoryInput struct {
  7162  	_ struct{} `type:"structure"`
  7163  
  7164  	// The identifier of the directory. If any WorkSpaces are registered to this
  7165  	// directory, you must remove them before you deregister the directory, or you
  7166  	// will receive an OperationNotSupportedException error.
  7167  	//
  7168  	// DirectoryId is a required field
  7169  	DirectoryId *string `min:"10" type:"string" required:"true"`
  7170  }
  7171  
  7172  // String returns the string representation.
  7173  //
  7174  // API parameter values that are decorated as "sensitive" in the API will not
  7175  // be included in the string output. The member name will be present, but the
  7176  // value will be replaced with "sensitive".
  7177  func (s DeregisterWorkspaceDirectoryInput) String() string {
  7178  	return awsutil.Prettify(s)
  7179  }
  7180  
  7181  // GoString returns the string representation.
  7182  //
  7183  // API parameter values that are decorated as "sensitive" in the API will not
  7184  // be included in the string output. The member name will be present, but the
  7185  // value will be replaced with "sensitive".
  7186  func (s DeregisterWorkspaceDirectoryInput) GoString() string {
  7187  	return s.String()
  7188  }
  7189  
  7190  // Validate inspects the fields of the type to determine if they are valid.
  7191  func (s *DeregisterWorkspaceDirectoryInput) Validate() error {
  7192  	invalidParams := request.ErrInvalidParams{Context: "DeregisterWorkspaceDirectoryInput"}
  7193  	if s.DirectoryId == nil {
  7194  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  7195  	}
  7196  	if s.DirectoryId != nil && len(*s.DirectoryId) < 10 {
  7197  		invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 10))
  7198  	}
  7199  
  7200  	if invalidParams.Len() > 0 {
  7201  		return invalidParams
  7202  	}
  7203  	return nil
  7204  }
  7205  
  7206  // SetDirectoryId sets the DirectoryId field's value.
  7207  func (s *DeregisterWorkspaceDirectoryInput) SetDirectoryId(v string) *DeregisterWorkspaceDirectoryInput {
  7208  	s.DirectoryId = &v
  7209  	return s
  7210  }
  7211  
  7212  type DeregisterWorkspaceDirectoryOutput struct {
  7213  	_ struct{} `type:"structure"`
  7214  }
  7215  
  7216  // String returns the string representation.
  7217  //
  7218  // API parameter values that are decorated as "sensitive" in the API will not
  7219  // be included in the string output. The member name will be present, but the
  7220  // value will be replaced with "sensitive".
  7221  func (s DeregisterWorkspaceDirectoryOutput) String() string {
  7222  	return awsutil.Prettify(s)
  7223  }
  7224  
  7225  // GoString returns the string representation.
  7226  //
  7227  // API parameter values that are decorated as "sensitive" in the API will not
  7228  // be included in the string output. The member name will be present, but the
  7229  // value will be replaced with "sensitive".
  7230  func (s DeregisterWorkspaceDirectoryOutput) GoString() string {
  7231  	return s.String()
  7232  }
  7233  
  7234  type DescribeAccountInput struct {
  7235  	_ struct{} `type:"structure"`
  7236  }
  7237  
  7238  // String returns the string representation.
  7239  //
  7240  // API parameter values that are decorated as "sensitive" in the API will not
  7241  // be included in the string output. The member name will be present, but the
  7242  // value will be replaced with "sensitive".
  7243  func (s DescribeAccountInput) String() string {
  7244  	return awsutil.Prettify(s)
  7245  }
  7246  
  7247  // GoString returns the string representation.
  7248  //
  7249  // API parameter values that are decorated as "sensitive" in the API will not
  7250  // be included in the string output. The member name will be present, but the
  7251  // value will be replaced with "sensitive".
  7252  func (s DescribeAccountInput) GoString() string {
  7253  	return s.String()
  7254  }
  7255  
  7256  type DescribeAccountModificationsInput struct {
  7257  	_ struct{} `type:"structure"`
  7258  
  7259  	// If you received a NextToken from a previous call that was paginated, provide
  7260  	// this token to receive the next set of results.
  7261  	NextToken *string `min:"1" type:"string"`
  7262  }
  7263  
  7264  // String returns the string representation.
  7265  //
  7266  // API parameter values that are decorated as "sensitive" in the API will not
  7267  // be included in the string output. The member name will be present, but the
  7268  // value will be replaced with "sensitive".
  7269  func (s DescribeAccountModificationsInput) String() string {
  7270  	return awsutil.Prettify(s)
  7271  }
  7272  
  7273  // GoString returns the string representation.
  7274  //
  7275  // API parameter values that are decorated as "sensitive" in the API will not
  7276  // be included in the string output. The member name will be present, but the
  7277  // value will be replaced with "sensitive".
  7278  func (s DescribeAccountModificationsInput) GoString() string {
  7279  	return s.String()
  7280  }
  7281  
  7282  // Validate inspects the fields of the type to determine if they are valid.
  7283  func (s *DescribeAccountModificationsInput) Validate() error {
  7284  	invalidParams := request.ErrInvalidParams{Context: "DescribeAccountModificationsInput"}
  7285  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7286  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7287  	}
  7288  
  7289  	if invalidParams.Len() > 0 {
  7290  		return invalidParams
  7291  	}
  7292  	return nil
  7293  }
  7294  
  7295  // SetNextToken sets the NextToken field's value.
  7296  func (s *DescribeAccountModificationsInput) SetNextToken(v string) *DescribeAccountModificationsInput {
  7297  	s.NextToken = &v
  7298  	return s
  7299  }
  7300  
  7301  type DescribeAccountModificationsOutput struct {
  7302  	_ struct{} `type:"structure"`
  7303  
  7304  	// The list of modifications to the configuration of BYOL.
  7305  	AccountModifications []*AccountModification `type:"list"`
  7306  
  7307  	// The token to use to retrieve the next page of results. This value is null
  7308  	// when there are no more results to return.
  7309  	NextToken *string `min:"1" type:"string"`
  7310  }
  7311  
  7312  // String returns the string representation.
  7313  //
  7314  // API parameter values that are decorated as "sensitive" in the API will not
  7315  // be included in the string output. The member name will be present, but the
  7316  // value will be replaced with "sensitive".
  7317  func (s DescribeAccountModificationsOutput) String() string {
  7318  	return awsutil.Prettify(s)
  7319  }
  7320  
  7321  // GoString returns the string representation.
  7322  //
  7323  // API parameter values that are decorated as "sensitive" in the API will not
  7324  // be included in the string output. The member name will be present, but the
  7325  // value will be replaced with "sensitive".
  7326  func (s DescribeAccountModificationsOutput) GoString() string {
  7327  	return s.String()
  7328  }
  7329  
  7330  // SetAccountModifications sets the AccountModifications field's value.
  7331  func (s *DescribeAccountModificationsOutput) SetAccountModifications(v []*AccountModification) *DescribeAccountModificationsOutput {
  7332  	s.AccountModifications = v
  7333  	return s
  7334  }
  7335  
  7336  // SetNextToken sets the NextToken field's value.
  7337  func (s *DescribeAccountModificationsOutput) SetNextToken(v string) *DescribeAccountModificationsOutput {
  7338  	s.NextToken = &v
  7339  	return s
  7340  }
  7341  
  7342  type DescribeAccountOutput struct {
  7343  	_ struct{} `type:"structure"`
  7344  
  7345  	// The IP address range, specified as an IPv4 CIDR block, used for the management
  7346  	// network interface.
  7347  	//
  7348  	// The management network interface is connected to a secure Amazon WorkSpaces
  7349  	// management network. It is used for interactive streaming of the WorkSpace
  7350  	// desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage
  7351  	// the WorkSpace.
  7352  	DedicatedTenancyManagementCidrRange *string `type:"string"`
  7353  
  7354  	// The status of BYOL (whether BYOL is enabled or disabled).
  7355  	DedicatedTenancySupport *string `type:"string" enum:"DedicatedTenancySupportResultEnum"`
  7356  }
  7357  
  7358  // String returns the string representation.
  7359  //
  7360  // API parameter values that are decorated as "sensitive" in the API will not
  7361  // be included in the string output. The member name will be present, but the
  7362  // value will be replaced with "sensitive".
  7363  func (s DescribeAccountOutput) String() string {
  7364  	return awsutil.Prettify(s)
  7365  }
  7366  
  7367  // GoString returns the string representation.
  7368  //
  7369  // API parameter values that are decorated as "sensitive" in the API will not
  7370  // be included in the string output. The member name will be present, but the
  7371  // value will be replaced with "sensitive".
  7372  func (s DescribeAccountOutput) GoString() string {
  7373  	return s.String()
  7374  }
  7375  
  7376  // SetDedicatedTenancyManagementCidrRange sets the DedicatedTenancyManagementCidrRange field's value.
  7377  func (s *DescribeAccountOutput) SetDedicatedTenancyManagementCidrRange(v string) *DescribeAccountOutput {
  7378  	s.DedicatedTenancyManagementCidrRange = &v
  7379  	return s
  7380  }
  7381  
  7382  // SetDedicatedTenancySupport sets the DedicatedTenancySupport field's value.
  7383  func (s *DescribeAccountOutput) SetDedicatedTenancySupport(v string) *DescribeAccountOutput {
  7384  	s.DedicatedTenancySupport = &v
  7385  	return s
  7386  }
  7387  
  7388  type DescribeClientPropertiesInput struct {
  7389  	_ struct{} `type:"structure"`
  7390  
  7391  	// The resource identifier, in the form of directory IDs.
  7392  	//
  7393  	// ResourceIds is a required field
  7394  	ResourceIds []*string `min:"1" type:"list" required:"true"`
  7395  }
  7396  
  7397  // String returns the string representation.
  7398  //
  7399  // API parameter values that are decorated as "sensitive" in the API will not
  7400  // be included in the string output. The member name will be present, but the
  7401  // value will be replaced with "sensitive".
  7402  func (s DescribeClientPropertiesInput) String() string {
  7403  	return awsutil.Prettify(s)
  7404  }
  7405  
  7406  // GoString returns the string representation.
  7407  //
  7408  // API parameter values that are decorated as "sensitive" in the API will not
  7409  // be included in the string output. The member name will be present, but the
  7410  // value will be replaced with "sensitive".
  7411  func (s DescribeClientPropertiesInput) GoString() string {
  7412  	return s.String()
  7413  }
  7414  
  7415  // Validate inspects the fields of the type to determine if they are valid.
  7416  func (s *DescribeClientPropertiesInput) Validate() error {
  7417  	invalidParams := request.ErrInvalidParams{Context: "DescribeClientPropertiesInput"}
  7418  	if s.ResourceIds == nil {
  7419  		invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
  7420  	}
  7421  	if s.ResourceIds != nil && len(s.ResourceIds) < 1 {
  7422  		invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1))
  7423  	}
  7424  
  7425  	if invalidParams.Len() > 0 {
  7426  		return invalidParams
  7427  	}
  7428  	return nil
  7429  }
  7430  
  7431  // SetResourceIds sets the ResourceIds field's value.
  7432  func (s *DescribeClientPropertiesInput) SetResourceIds(v []*string) *DescribeClientPropertiesInput {
  7433  	s.ResourceIds = v
  7434  	return s
  7435  }
  7436  
  7437  type DescribeClientPropertiesOutput struct {
  7438  	_ struct{} `type:"structure"`
  7439  
  7440  	// Information about the specified Amazon WorkSpaces clients.
  7441  	ClientPropertiesList []*ClientPropertiesResult `type:"list"`
  7442  }
  7443  
  7444  // String returns the string representation.
  7445  //
  7446  // API parameter values that are decorated as "sensitive" in the API will not
  7447  // be included in the string output. The member name will be present, but the
  7448  // value will be replaced with "sensitive".
  7449  func (s DescribeClientPropertiesOutput) String() string {
  7450  	return awsutil.Prettify(s)
  7451  }
  7452  
  7453  // GoString returns the string representation.
  7454  //
  7455  // API parameter values that are decorated as "sensitive" in the API will not
  7456  // be included in the string output. The member name will be present, but the
  7457  // value will be replaced with "sensitive".
  7458  func (s DescribeClientPropertiesOutput) GoString() string {
  7459  	return s.String()
  7460  }
  7461  
  7462  // SetClientPropertiesList sets the ClientPropertiesList field's value.
  7463  func (s *DescribeClientPropertiesOutput) SetClientPropertiesList(v []*ClientPropertiesResult) *DescribeClientPropertiesOutput {
  7464  	s.ClientPropertiesList = v
  7465  	return s
  7466  }
  7467  
  7468  type DescribeConnectionAliasPermissionsInput struct {
  7469  	_ struct{} `type:"structure"`
  7470  
  7471  	// The identifier of the connection alias.
  7472  	//
  7473  	// AliasId is a required field
  7474  	AliasId *string `min:"13" type:"string" required:"true"`
  7475  
  7476  	// The maximum number of results to return.
  7477  	MaxResults *int64 `min:"1" type:"integer"`
  7478  
  7479  	// If you received a NextToken from a previous call that was paginated, provide
  7480  	// this token to receive the next set of results.
  7481  	NextToken *string `min:"1" type:"string"`
  7482  }
  7483  
  7484  // String returns the string representation.
  7485  //
  7486  // API parameter values that are decorated as "sensitive" in the API will not
  7487  // be included in the string output. The member name will be present, but the
  7488  // value will be replaced with "sensitive".
  7489  func (s DescribeConnectionAliasPermissionsInput) String() string {
  7490  	return awsutil.Prettify(s)
  7491  }
  7492  
  7493  // GoString returns the string representation.
  7494  //
  7495  // API parameter values that are decorated as "sensitive" in the API will not
  7496  // be included in the string output. The member name will be present, but the
  7497  // value will be replaced with "sensitive".
  7498  func (s DescribeConnectionAliasPermissionsInput) GoString() string {
  7499  	return s.String()
  7500  }
  7501  
  7502  // Validate inspects the fields of the type to determine if they are valid.
  7503  func (s *DescribeConnectionAliasPermissionsInput) Validate() error {
  7504  	invalidParams := request.ErrInvalidParams{Context: "DescribeConnectionAliasPermissionsInput"}
  7505  	if s.AliasId == nil {
  7506  		invalidParams.Add(request.NewErrParamRequired("AliasId"))
  7507  	}
  7508  	if s.AliasId != nil && len(*s.AliasId) < 13 {
  7509  		invalidParams.Add(request.NewErrParamMinLen("AliasId", 13))
  7510  	}
  7511  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7512  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7513  	}
  7514  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7515  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7516  	}
  7517  
  7518  	if invalidParams.Len() > 0 {
  7519  		return invalidParams
  7520  	}
  7521  	return nil
  7522  }
  7523  
  7524  // SetAliasId sets the AliasId field's value.
  7525  func (s *DescribeConnectionAliasPermissionsInput) SetAliasId(v string) *DescribeConnectionAliasPermissionsInput {
  7526  	s.AliasId = &v
  7527  	return s
  7528  }
  7529  
  7530  // SetMaxResults sets the MaxResults field's value.
  7531  func (s *DescribeConnectionAliasPermissionsInput) SetMaxResults(v int64) *DescribeConnectionAliasPermissionsInput {
  7532  	s.MaxResults = &v
  7533  	return s
  7534  }
  7535  
  7536  // SetNextToken sets the NextToken field's value.
  7537  func (s *DescribeConnectionAliasPermissionsInput) SetNextToken(v string) *DescribeConnectionAliasPermissionsInput {
  7538  	s.NextToken = &v
  7539  	return s
  7540  }
  7541  
  7542  type DescribeConnectionAliasPermissionsOutput struct {
  7543  	_ struct{} `type:"structure"`
  7544  
  7545  	// The identifier of the connection alias.
  7546  	AliasId *string `min:"13" type:"string"`
  7547  
  7548  	// The permissions associated with a connection alias.
  7549  	ConnectionAliasPermissions []*ConnectionAliasPermission `min:"1" type:"list"`
  7550  
  7551  	// The token to use to retrieve the next page of results. This value is null
  7552  	// when there are no more results to return.
  7553  	NextToken *string `min:"1" type:"string"`
  7554  }
  7555  
  7556  // String returns the string representation.
  7557  //
  7558  // API parameter values that are decorated as "sensitive" in the API will not
  7559  // be included in the string output. The member name will be present, but the
  7560  // value will be replaced with "sensitive".
  7561  func (s DescribeConnectionAliasPermissionsOutput) String() string {
  7562  	return awsutil.Prettify(s)
  7563  }
  7564  
  7565  // GoString returns the string representation.
  7566  //
  7567  // API parameter values that are decorated as "sensitive" in the API will not
  7568  // be included in the string output. The member name will be present, but the
  7569  // value will be replaced with "sensitive".
  7570  func (s DescribeConnectionAliasPermissionsOutput) GoString() string {
  7571  	return s.String()
  7572  }
  7573  
  7574  // SetAliasId sets the AliasId field's value.
  7575  func (s *DescribeConnectionAliasPermissionsOutput) SetAliasId(v string) *DescribeConnectionAliasPermissionsOutput {
  7576  	s.AliasId = &v
  7577  	return s
  7578  }
  7579  
  7580  // SetConnectionAliasPermissions sets the ConnectionAliasPermissions field's value.
  7581  func (s *DescribeConnectionAliasPermissionsOutput) SetConnectionAliasPermissions(v []*ConnectionAliasPermission) *DescribeConnectionAliasPermissionsOutput {
  7582  	s.ConnectionAliasPermissions = v
  7583  	return s
  7584  }
  7585  
  7586  // SetNextToken sets the NextToken field's value.
  7587  func (s *DescribeConnectionAliasPermissionsOutput) SetNextToken(v string) *DescribeConnectionAliasPermissionsOutput {
  7588  	s.NextToken = &v
  7589  	return s
  7590  }
  7591  
  7592  type DescribeConnectionAliasesInput struct {
  7593  	_ struct{} `type:"structure"`
  7594  
  7595  	// The identifiers of the connection aliases to describe.
  7596  	AliasIds []*string `min:"1" type:"list"`
  7597  
  7598  	// The maximum number of connection aliases to return.
  7599  	Limit *int64 `min:"1" type:"integer"`
  7600  
  7601  	// If you received a NextToken from a previous call that was paginated, provide
  7602  	// this token to receive the next set of results.
  7603  	NextToken *string `min:"1" type:"string"`
  7604  
  7605  	// The identifier of the directory associated with the connection alias.
  7606  	ResourceId *string `min:"1" type:"string"`
  7607  }
  7608  
  7609  // String returns the string representation.
  7610  //
  7611  // API parameter values that are decorated as "sensitive" in the API will not
  7612  // be included in the string output. The member name will be present, but the
  7613  // value will be replaced with "sensitive".
  7614  func (s DescribeConnectionAliasesInput) String() string {
  7615  	return awsutil.Prettify(s)
  7616  }
  7617  
  7618  // GoString returns the string representation.
  7619  //
  7620  // API parameter values that are decorated as "sensitive" in the API will not
  7621  // be included in the string output. The member name will be present, but the
  7622  // value will be replaced with "sensitive".
  7623  func (s DescribeConnectionAliasesInput) GoString() string {
  7624  	return s.String()
  7625  }
  7626  
  7627  // Validate inspects the fields of the type to determine if they are valid.
  7628  func (s *DescribeConnectionAliasesInput) Validate() error {
  7629  	invalidParams := request.ErrInvalidParams{Context: "DescribeConnectionAliasesInput"}
  7630  	if s.AliasIds != nil && len(s.AliasIds) < 1 {
  7631  		invalidParams.Add(request.NewErrParamMinLen("AliasIds", 1))
  7632  	}
  7633  	if s.Limit != nil && *s.Limit < 1 {
  7634  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
  7635  	}
  7636  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7637  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7638  	}
  7639  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  7640  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  7641  	}
  7642  
  7643  	if invalidParams.Len() > 0 {
  7644  		return invalidParams
  7645  	}
  7646  	return nil
  7647  }
  7648  
  7649  // SetAliasIds sets the AliasIds field's value.
  7650  func (s *DescribeConnectionAliasesInput) SetAliasIds(v []*string) *DescribeConnectionAliasesInput {
  7651  	s.AliasIds = v
  7652  	return s
  7653  }
  7654  
  7655  // SetLimit sets the Limit field's value.
  7656  func (s *DescribeConnectionAliasesInput) SetLimit(v int64) *DescribeConnectionAliasesInput {
  7657  	s.Limit = &v
  7658  	return s
  7659  }
  7660  
  7661  // SetNextToken sets the NextToken field's value.
  7662  func (s *DescribeConnectionAliasesInput) SetNextToken(v string) *DescribeConnectionAliasesInput {
  7663  	s.NextToken = &v
  7664  	return s
  7665  }
  7666  
  7667  // SetResourceId sets the ResourceId field's value.
  7668  func (s *DescribeConnectionAliasesInput) SetResourceId(v string) *DescribeConnectionAliasesInput {
  7669  	s.ResourceId = &v
  7670  	return s
  7671  }
  7672  
  7673  type DescribeConnectionAliasesOutput struct {
  7674  	_ struct{} `type:"structure"`
  7675  
  7676  	// Information about the specified connection aliases.
  7677  	ConnectionAliases []*ConnectionAlias `min:"1" type:"list"`
  7678  
  7679  	// The token to use to retrieve the next page of results. This value is null
  7680  	// when there are no more results to return.
  7681  	NextToken *string `min:"1" type:"string"`
  7682  }
  7683  
  7684  // String returns the string representation.
  7685  //
  7686  // API parameter values that are decorated as "sensitive" in the API will not
  7687  // be included in the string output. The member name will be present, but the
  7688  // value will be replaced with "sensitive".
  7689  func (s DescribeConnectionAliasesOutput) String() string {
  7690  	return awsutil.Prettify(s)
  7691  }
  7692  
  7693  // GoString returns the string representation.
  7694  //
  7695  // API parameter values that are decorated as "sensitive" in the API will not
  7696  // be included in the string output. The member name will be present, but the
  7697  // value will be replaced with "sensitive".
  7698  func (s DescribeConnectionAliasesOutput) GoString() string {
  7699  	return s.String()
  7700  }
  7701  
  7702  // SetConnectionAliases sets the ConnectionAliases field's value.
  7703  func (s *DescribeConnectionAliasesOutput) SetConnectionAliases(v []*ConnectionAlias) *DescribeConnectionAliasesOutput {
  7704  	s.ConnectionAliases = v
  7705  	return s
  7706  }
  7707  
  7708  // SetNextToken sets the NextToken field's value.
  7709  func (s *DescribeConnectionAliasesOutput) SetNextToken(v string) *DescribeConnectionAliasesOutput {
  7710  	s.NextToken = &v
  7711  	return s
  7712  }
  7713  
  7714  type DescribeIpGroupsInput struct {
  7715  	_ struct{} `type:"structure"`
  7716  
  7717  	// The identifiers of one or more IP access control groups.
  7718  	GroupIds []*string `type:"list"`
  7719  
  7720  	// The maximum number of items to return.
  7721  	MaxResults *int64 `min:"1" type:"integer"`
  7722  
  7723  	// If you received a NextToken from a previous call that was paginated, provide
  7724  	// this token to receive the next set of results.
  7725  	NextToken *string `min:"1" type:"string"`
  7726  }
  7727  
  7728  // String returns the string representation.
  7729  //
  7730  // API parameter values that are decorated as "sensitive" in the API will not
  7731  // be included in the string output. The member name will be present, but the
  7732  // value will be replaced with "sensitive".
  7733  func (s DescribeIpGroupsInput) String() string {
  7734  	return awsutil.Prettify(s)
  7735  }
  7736  
  7737  // GoString returns the string representation.
  7738  //
  7739  // API parameter values that are decorated as "sensitive" in the API will not
  7740  // be included in the string output. The member name will be present, but the
  7741  // value will be replaced with "sensitive".
  7742  func (s DescribeIpGroupsInput) GoString() string {
  7743  	return s.String()
  7744  }
  7745  
  7746  // Validate inspects the fields of the type to determine if they are valid.
  7747  func (s *DescribeIpGroupsInput) Validate() error {
  7748  	invalidParams := request.ErrInvalidParams{Context: "DescribeIpGroupsInput"}
  7749  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7750  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7751  	}
  7752  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7753  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7754  	}
  7755  
  7756  	if invalidParams.Len() > 0 {
  7757  		return invalidParams
  7758  	}
  7759  	return nil
  7760  }
  7761  
  7762  // SetGroupIds sets the GroupIds field's value.
  7763  func (s *DescribeIpGroupsInput) SetGroupIds(v []*string) *DescribeIpGroupsInput {
  7764  	s.GroupIds = v
  7765  	return s
  7766  }
  7767  
  7768  // SetMaxResults sets the MaxResults field's value.
  7769  func (s *DescribeIpGroupsInput) SetMaxResults(v int64) *DescribeIpGroupsInput {
  7770  	s.MaxResults = &v
  7771  	return s
  7772  }
  7773  
  7774  // SetNextToken sets the NextToken field's value.
  7775  func (s *DescribeIpGroupsInput) SetNextToken(v string) *DescribeIpGroupsInput {
  7776  	s.NextToken = &v
  7777  	return s
  7778  }
  7779  
  7780  type DescribeIpGroupsOutput struct {
  7781  	_ struct{} `type:"structure"`
  7782  
  7783  	// The token to use to retrieve the next page of results. This value is null
  7784  	// when there are no more results to return.
  7785  	NextToken *string `min:"1" type:"string"`
  7786  
  7787  	// Information about the IP access control groups.
  7788  	Result []*IpGroup `type:"list"`
  7789  }
  7790  
  7791  // String returns the string representation.
  7792  //
  7793  // API parameter values that are decorated as "sensitive" in the API will not
  7794  // be included in the string output. The member name will be present, but the
  7795  // value will be replaced with "sensitive".
  7796  func (s DescribeIpGroupsOutput) String() string {
  7797  	return awsutil.Prettify(s)
  7798  }
  7799  
  7800  // GoString returns the string representation.
  7801  //
  7802  // API parameter values that are decorated as "sensitive" in the API will not
  7803  // be included in the string output. The member name will be present, but the
  7804  // value will be replaced with "sensitive".
  7805  func (s DescribeIpGroupsOutput) GoString() string {
  7806  	return s.String()
  7807  }
  7808  
  7809  // SetNextToken sets the NextToken field's value.
  7810  func (s *DescribeIpGroupsOutput) SetNextToken(v string) *DescribeIpGroupsOutput {
  7811  	s.NextToken = &v
  7812  	return s
  7813  }
  7814  
  7815  // SetResult sets the Result field's value.
  7816  func (s *DescribeIpGroupsOutput) SetResult(v []*IpGroup) *DescribeIpGroupsOutput {
  7817  	s.Result = v
  7818  	return s
  7819  }
  7820  
  7821  type DescribeTagsInput struct {
  7822  	_ struct{} `type:"structure"`
  7823  
  7824  	// The identifier of the WorkSpaces resource. The supported resource types are
  7825  	// WorkSpaces, registered directories, images, custom bundles, IP access control
  7826  	// groups, and connection aliases.
  7827  	//
  7828  	// ResourceId is a required field
  7829  	ResourceId *string `min:"1" type:"string" required:"true"`
  7830  }
  7831  
  7832  // String returns the string representation.
  7833  //
  7834  // API parameter values that are decorated as "sensitive" in the API will not
  7835  // be included in the string output. The member name will be present, but the
  7836  // value will be replaced with "sensitive".
  7837  func (s DescribeTagsInput) String() string {
  7838  	return awsutil.Prettify(s)
  7839  }
  7840  
  7841  // GoString returns the string representation.
  7842  //
  7843  // API parameter values that are decorated as "sensitive" in the API will not
  7844  // be included in the string output. The member name will be present, but the
  7845  // value will be replaced with "sensitive".
  7846  func (s DescribeTagsInput) GoString() string {
  7847  	return s.String()
  7848  }
  7849  
  7850  // Validate inspects the fields of the type to determine if they are valid.
  7851  func (s *DescribeTagsInput) Validate() error {
  7852  	invalidParams := request.ErrInvalidParams{Context: "DescribeTagsInput"}
  7853  	if s.ResourceId == nil {
  7854  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  7855  	}
  7856  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  7857  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  7858  	}
  7859  
  7860  	if invalidParams.Len() > 0 {
  7861  		return invalidParams
  7862  	}
  7863  	return nil
  7864  }
  7865  
  7866  // SetResourceId sets the ResourceId field's value.
  7867  func (s *DescribeTagsInput) SetResourceId(v string) *DescribeTagsInput {
  7868  	s.ResourceId = &v
  7869  	return s
  7870  }
  7871  
  7872  type DescribeTagsOutput struct {
  7873  	_ struct{} `type:"structure"`
  7874  
  7875  	// The tags.
  7876  	TagList []*Tag `type:"list"`
  7877  }
  7878  
  7879  // String returns the string representation.
  7880  //
  7881  // API parameter values that are decorated as "sensitive" in the API will not
  7882  // be included in the string output. The member name will be present, but the
  7883  // value will be replaced with "sensitive".
  7884  func (s DescribeTagsOutput) String() string {
  7885  	return awsutil.Prettify(s)
  7886  }
  7887  
  7888  // GoString returns the string representation.
  7889  //
  7890  // API parameter values that are decorated as "sensitive" in the API will not
  7891  // be included in the string output. The member name will be present, but the
  7892  // value will be replaced with "sensitive".
  7893  func (s DescribeTagsOutput) GoString() string {
  7894  	return s.String()
  7895  }
  7896  
  7897  // SetTagList sets the TagList field's value.
  7898  func (s *DescribeTagsOutput) SetTagList(v []*Tag) *DescribeTagsOutput {
  7899  	s.TagList = v
  7900  	return s
  7901  }
  7902  
  7903  type DescribeWorkspaceBundlesInput struct {
  7904  	_ struct{} `type:"structure"`
  7905  
  7906  	// The identifiers of the bundles. You cannot combine this parameter with any
  7907  	// other filter.
  7908  	BundleIds []*string `min:"1" type:"list"`
  7909  
  7910  	// The token for the next set of results. (You received this token from a previous
  7911  	// call.)
  7912  	NextToken *string `min:"1" type:"string"`
  7913  
  7914  	// The owner of the bundles. You cannot combine this parameter with any other
  7915  	// filter.
  7916  	//
  7917  	// To describe the bundles provided by Amazon Web Services, specify AMAZON.
  7918  	// To describe the bundles that belong to your account, don't specify a value.
  7919  	Owner *string `type:"string"`
  7920  }
  7921  
  7922  // String returns the string representation.
  7923  //
  7924  // API parameter values that are decorated as "sensitive" in the API will not
  7925  // be included in the string output. The member name will be present, but the
  7926  // value will be replaced with "sensitive".
  7927  func (s DescribeWorkspaceBundlesInput) String() string {
  7928  	return awsutil.Prettify(s)
  7929  }
  7930  
  7931  // GoString returns the string representation.
  7932  //
  7933  // API parameter values that are decorated as "sensitive" in the API will not
  7934  // be included in the string output. The member name will be present, but the
  7935  // value will be replaced with "sensitive".
  7936  func (s DescribeWorkspaceBundlesInput) GoString() string {
  7937  	return s.String()
  7938  }
  7939  
  7940  // Validate inspects the fields of the type to determine if they are valid.
  7941  func (s *DescribeWorkspaceBundlesInput) Validate() error {
  7942  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspaceBundlesInput"}
  7943  	if s.BundleIds != nil && len(s.BundleIds) < 1 {
  7944  		invalidParams.Add(request.NewErrParamMinLen("BundleIds", 1))
  7945  	}
  7946  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7947  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7948  	}
  7949  
  7950  	if invalidParams.Len() > 0 {
  7951  		return invalidParams
  7952  	}
  7953  	return nil
  7954  }
  7955  
  7956  // SetBundleIds sets the BundleIds field's value.
  7957  func (s *DescribeWorkspaceBundlesInput) SetBundleIds(v []*string) *DescribeWorkspaceBundlesInput {
  7958  	s.BundleIds = v
  7959  	return s
  7960  }
  7961  
  7962  // SetNextToken sets the NextToken field's value.
  7963  func (s *DescribeWorkspaceBundlesInput) SetNextToken(v string) *DescribeWorkspaceBundlesInput {
  7964  	s.NextToken = &v
  7965  	return s
  7966  }
  7967  
  7968  // SetOwner sets the Owner field's value.
  7969  func (s *DescribeWorkspaceBundlesInput) SetOwner(v string) *DescribeWorkspaceBundlesInput {
  7970  	s.Owner = &v
  7971  	return s
  7972  }
  7973  
  7974  type DescribeWorkspaceBundlesOutput struct {
  7975  	_ struct{} `type:"structure"`
  7976  
  7977  	// Information about the bundles.
  7978  	Bundles []*WorkspaceBundle `type:"list"`
  7979  
  7980  	// The token to use to retrieve the next page of results. This value is null
  7981  	// when there are no more results to return. This token is valid for one day
  7982  	// and must be used within that time frame.
  7983  	NextToken *string `min:"1" type:"string"`
  7984  }
  7985  
  7986  // String returns the string representation.
  7987  //
  7988  // API parameter values that are decorated as "sensitive" in the API will not
  7989  // be included in the string output. The member name will be present, but the
  7990  // value will be replaced with "sensitive".
  7991  func (s DescribeWorkspaceBundlesOutput) String() string {
  7992  	return awsutil.Prettify(s)
  7993  }
  7994  
  7995  // GoString returns the string representation.
  7996  //
  7997  // API parameter values that are decorated as "sensitive" in the API will not
  7998  // be included in the string output. The member name will be present, but the
  7999  // value will be replaced with "sensitive".
  8000  func (s DescribeWorkspaceBundlesOutput) GoString() string {
  8001  	return s.String()
  8002  }
  8003  
  8004  // SetBundles sets the Bundles field's value.
  8005  func (s *DescribeWorkspaceBundlesOutput) SetBundles(v []*WorkspaceBundle) *DescribeWorkspaceBundlesOutput {
  8006  	s.Bundles = v
  8007  	return s
  8008  }
  8009  
  8010  // SetNextToken sets the NextToken field's value.
  8011  func (s *DescribeWorkspaceBundlesOutput) SetNextToken(v string) *DescribeWorkspaceBundlesOutput {
  8012  	s.NextToken = &v
  8013  	return s
  8014  }
  8015  
  8016  type DescribeWorkspaceDirectoriesInput struct {
  8017  	_ struct{} `type:"structure"`
  8018  
  8019  	// The identifiers of the directories. If the value is null, all directories
  8020  	// are retrieved.
  8021  	DirectoryIds []*string `min:"1" type:"list"`
  8022  
  8023  	// The maximum number of directories to return.
  8024  	Limit *int64 `min:"1" type:"integer"`
  8025  
  8026  	// If you received a NextToken from a previous call that was paginated, provide
  8027  	// this token to receive the next set of results.
  8028  	NextToken *string `min:"1" type:"string"`
  8029  }
  8030  
  8031  // String returns the string representation.
  8032  //
  8033  // API parameter values that are decorated as "sensitive" in the API will not
  8034  // be included in the string output. The member name will be present, but the
  8035  // value will be replaced with "sensitive".
  8036  func (s DescribeWorkspaceDirectoriesInput) String() string {
  8037  	return awsutil.Prettify(s)
  8038  }
  8039  
  8040  // GoString returns the string representation.
  8041  //
  8042  // API parameter values that are decorated as "sensitive" in the API will not
  8043  // be included in the string output. The member name will be present, but the
  8044  // value will be replaced with "sensitive".
  8045  func (s DescribeWorkspaceDirectoriesInput) GoString() string {
  8046  	return s.String()
  8047  }
  8048  
  8049  // Validate inspects the fields of the type to determine if they are valid.
  8050  func (s *DescribeWorkspaceDirectoriesInput) Validate() error {
  8051  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspaceDirectoriesInput"}
  8052  	if s.DirectoryIds != nil && len(s.DirectoryIds) < 1 {
  8053  		invalidParams.Add(request.NewErrParamMinLen("DirectoryIds", 1))
  8054  	}
  8055  	if s.Limit != nil && *s.Limit < 1 {
  8056  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
  8057  	}
  8058  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8059  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8060  	}
  8061  
  8062  	if invalidParams.Len() > 0 {
  8063  		return invalidParams
  8064  	}
  8065  	return nil
  8066  }
  8067  
  8068  // SetDirectoryIds sets the DirectoryIds field's value.
  8069  func (s *DescribeWorkspaceDirectoriesInput) SetDirectoryIds(v []*string) *DescribeWorkspaceDirectoriesInput {
  8070  	s.DirectoryIds = v
  8071  	return s
  8072  }
  8073  
  8074  // SetLimit sets the Limit field's value.
  8075  func (s *DescribeWorkspaceDirectoriesInput) SetLimit(v int64) *DescribeWorkspaceDirectoriesInput {
  8076  	s.Limit = &v
  8077  	return s
  8078  }
  8079  
  8080  // SetNextToken sets the NextToken field's value.
  8081  func (s *DescribeWorkspaceDirectoriesInput) SetNextToken(v string) *DescribeWorkspaceDirectoriesInput {
  8082  	s.NextToken = &v
  8083  	return s
  8084  }
  8085  
  8086  type DescribeWorkspaceDirectoriesOutput struct {
  8087  	_ struct{} `type:"structure"`
  8088  
  8089  	// Information about the directories.
  8090  	Directories []*WorkspaceDirectory `type:"list"`
  8091  
  8092  	// The token to use to retrieve the next page of results. This value is null
  8093  	// when there are no more results to return.
  8094  	NextToken *string `min:"1" type:"string"`
  8095  }
  8096  
  8097  // String returns the string representation.
  8098  //
  8099  // API parameter values that are decorated as "sensitive" in the API will not
  8100  // be included in the string output. The member name will be present, but the
  8101  // value will be replaced with "sensitive".
  8102  func (s DescribeWorkspaceDirectoriesOutput) String() string {
  8103  	return awsutil.Prettify(s)
  8104  }
  8105  
  8106  // GoString returns the string representation.
  8107  //
  8108  // API parameter values that are decorated as "sensitive" in the API will not
  8109  // be included in the string output. The member name will be present, but the
  8110  // value will be replaced with "sensitive".
  8111  func (s DescribeWorkspaceDirectoriesOutput) GoString() string {
  8112  	return s.String()
  8113  }
  8114  
  8115  // SetDirectories sets the Directories field's value.
  8116  func (s *DescribeWorkspaceDirectoriesOutput) SetDirectories(v []*WorkspaceDirectory) *DescribeWorkspaceDirectoriesOutput {
  8117  	s.Directories = v
  8118  	return s
  8119  }
  8120  
  8121  // SetNextToken sets the NextToken field's value.
  8122  func (s *DescribeWorkspaceDirectoriesOutput) SetNextToken(v string) *DescribeWorkspaceDirectoriesOutput {
  8123  	s.NextToken = &v
  8124  	return s
  8125  }
  8126  
  8127  type DescribeWorkspaceImagePermissionsInput struct {
  8128  	_ struct{} `type:"structure"`
  8129  
  8130  	// The identifier of the image.
  8131  	//
  8132  	// ImageId is a required field
  8133  	ImageId *string `type:"string" required:"true"`
  8134  
  8135  	// The maximum number of items to return.
  8136  	MaxResults *int64 `min:"1" type:"integer"`
  8137  
  8138  	// If you received a NextToken from a previous call that was paginated, provide
  8139  	// this token to receive the next set of results.
  8140  	NextToken *string `min:"1" type:"string"`
  8141  }
  8142  
  8143  // String returns the string representation.
  8144  //
  8145  // API parameter values that are decorated as "sensitive" in the API will not
  8146  // be included in the string output. The member name will be present, but the
  8147  // value will be replaced with "sensitive".
  8148  func (s DescribeWorkspaceImagePermissionsInput) String() string {
  8149  	return awsutil.Prettify(s)
  8150  }
  8151  
  8152  // GoString returns the string representation.
  8153  //
  8154  // API parameter values that are decorated as "sensitive" in the API will not
  8155  // be included in the string output. The member name will be present, but the
  8156  // value will be replaced with "sensitive".
  8157  func (s DescribeWorkspaceImagePermissionsInput) GoString() string {
  8158  	return s.String()
  8159  }
  8160  
  8161  // Validate inspects the fields of the type to determine if they are valid.
  8162  func (s *DescribeWorkspaceImagePermissionsInput) Validate() error {
  8163  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspaceImagePermissionsInput"}
  8164  	if s.ImageId == nil {
  8165  		invalidParams.Add(request.NewErrParamRequired("ImageId"))
  8166  	}
  8167  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8168  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8169  	}
  8170  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8171  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8172  	}
  8173  
  8174  	if invalidParams.Len() > 0 {
  8175  		return invalidParams
  8176  	}
  8177  	return nil
  8178  }
  8179  
  8180  // SetImageId sets the ImageId field's value.
  8181  func (s *DescribeWorkspaceImagePermissionsInput) SetImageId(v string) *DescribeWorkspaceImagePermissionsInput {
  8182  	s.ImageId = &v
  8183  	return s
  8184  }
  8185  
  8186  // SetMaxResults sets the MaxResults field's value.
  8187  func (s *DescribeWorkspaceImagePermissionsInput) SetMaxResults(v int64) *DescribeWorkspaceImagePermissionsInput {
  8188  	s.MaxResults = &v
  8189  	return s
  8190  }
  8191  
  8192  // SetNextToken sets the NextToken field's value.
  8193  func (s *DescribeWorkspaceImagePermissionsInput) SetNextToken(v string) *DescribeWorkspaceImagePermissionsInput {
  8194  	s.NextToken = &v
  8195  	return s
  8196  }
  8197  
  8198  type DescribeWorkspaceImagePermissionsOutput struct {
  8199  	_ struct{} `type:"structure"`
  8200  
  8201  	// The identifier of the image.
  8202  	ImageId *string `type:"string"`
  8203  
  8204  	// The identifiers of the Amazon Web Services accounts that the image has been
  8205  	// shared with.
  8206  	ImagePermissions []*ImagePermission `type:"list"`
  8207  
  8208  	// The token to use to retrieve the next page of results. This value is null
  8209  	// when there are no more results to return.
  8210  	NextToken *string `min:"1" type:"string"`
  8211  }
  8212  
  8213  // String returns the string representation.
  8214  //
  8215  // API parameter values that are decorated as "sensitive" in the API will not
  8216  // be included in the string output. The member name will be present, but the
  8217  // value will be replaced with "sensitive".
  8218  func (s DescribeWorkspaceImagePermissionsOutput) String() string {
  8219  	return awsutil.Prettify(s)
  8220  }
  8221  
  8222  // GoString returns the string representation.
  8223  //
  8224  // API parameter values that are decorated as "sensitive" in the API will not
  8225  // be included in the string output. The member name will be present, but the
  8226  // value will be replaced with "sensitive".
  8227  func (s DescribeWorkspaceImagePermissionsOutput) GoString() string {
  8228  	return s.String()
  8229  }
  8230  
  8231  // SetImageId sets the ImageId field's value.
  8232  func (s *DescribeWorkspaceImagePermissionsOutput) SetImageId(v string) *DescribeWorkspaceImagePermissionsOutput {
  8233  	s.ImageId = &v
  8234  	return s
  8235  }
  8236  
  8237  // SetImagePermissions sets the ImagePermissions field's value.
  8238  func (s *DescribeWorkspaceImagePermissionsOutput) SetImagePermissions(v []*ImagePermission) *DescribeWorkspaceImagePermissionsOutput {
  8239  	s.ImagePermissions = v
  8240  	return s
  8241  }
  8242  
  8243  // SetNextToken sets the NextToken field's value.
  8244  func (s *DescribeWorkspaceImagePermissionsOutput) SetNextToken(v string) *DescribeWorkspaceImagePermissionsOutput {
  8245  	s.NextToken = &v
  8246  	return s
  8247  }
  8248  
  8249  type DescribeWorkspaceImagesInput struct {
  8250  	_ struct{} `type:"structure"`
  8251  
  8252  	// The identifier of the image.
  8253  	ImageIds []*string `min:"1" type:"list"`
  8254  
  8255  	// The type (owned or shared) of the image.
  8256  	ImageType *string `type:"string" enum:"ImageType"`
  8257  
  8258  	// The maximum number of items to return.
  8259  	MaxResults *int64 `min:"1" type:"integer"`
  8260  
  8261  	// If you received a NextToken from a previous call that was paginated, provide
  8262  	// this token to receive the next set of results.
  8263  	NextToken *string `min:"1" type:"string"`
  8264  }
  8265  
  8266  // String returns the string representation.
  8267  //
  8268  // API parameter values that are decorated as "sensitive" in the API will not
  8269  // be included in the string output. The member name will be present, but the
  8270  // value will be replaced with "sensitive".
  8271  func (s DescribeWorkspaceImagesInput) String() string {
  8272  	return awsutil.Prettify(s)
  8273  }
  8274  
  8275  // GoString returns the string representation.
  8276  //
  8277  // API parameter values that are decorated as "sensitive" in the API will not
  8278  // be included in the string output. The member name will be present, but the
  8279  // value will be replaced with "sensitive".
  8280  func (s DescribeWorkspaceImagesInput) GoString() string {
  8281  	return s.String()
  8282  }
  8283  
  8284  // Validate inspects the fields of the type to determine if they are valid.
  8285  func (s *DescribeWorkspaceImagesInput) Validate() error {
  8286  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspaceImagesInput"}
  8287  	if s.ImageIds != nil && len(s.ImageIds) < 1 {
  8288  		invalidParams.Add(request.NewErrParamMinLen("ImageIds", 1))
  8289  	}
  8290  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8291  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8292  	}
  8293  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8294  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8295  	}
  8296  
  8297  	if invalidParams.Len() > 0 {
  8298  		return invalidParams
  8299  	}
  8300  	return nil
  8301  }
  8302  
  8303  // SetImageIds sets the ImageIds field's value.
  8304  func (s *DescribeWorkspaceImagesInput) SetImageIds(v []*string) *DescribeWorkspaceImagesInput {
  8305  	s.ImageIds = v
  8306  	return s
  8307  }
  8308  
  8309  // SetImageType sets the ImageType field's value.
  8310  func (s *DescribeWorkspaceImagesInput) SetImageType(v string) *DescribeWorkspaceImagesInput {
  8311  	s.ImageType = &v
  8312  	return s
  8313  }
  8314  
  8315  // SetMaxResults sets the MaxResults field's value.
  8316  func (s *DescribeWorkspaceImagesInput) SetMaxResults(v int64) *DescribeWorkspaceImagesInput {
  8317  	s.MaxResults = &v
  8318  	return s
  8319  }
  8320  
  8321  // SetNextToken sets the NextToken field's value.
  8322  func (s *DescribeWorkspaceImagesInput) SetNextToken(v string) *DescribeWorkspaceImagesInput {
  8323  	s.NextToken = &v
  8324  	return s
  8325  }
  8326  
  8327  type DescribeWorkspaceImagesOutput struct {
  8328  	_ struct{} `type:"structure"`
  8329  
  8330  	// Information about the images.
  8331  	Images []*WorkspaceImage `type:"list"`
  8332  
  8333  	// The token to use to retrieve the next page of results. This value is null
  8334  	// when there are no more results to return.
  8335  	NextToken *string `min:"1" type:"string"`
  8336  }
  8337  
  8338  // String returns the string representation.
  8339  //
  8340  // API parameter values that are decorated as "sensitive" in the API will not
  8341  // be included in the string output. The member name will be present, but the
  8342  // value will be replaced with "sensitive".
  8343  func (s DescribeWorkspaceImagesOutput) String() string {
  8344  	return awsutil.Prettify(s)
  8345  }
  8346  
  8347  // GoString returns the string representation.
  8348  //
  8349  // API parameter values that are decorated as "sensitive" in the API will not
  8350  // be included in the string output. The member name will be present, but the
  8351  // value will be replaced with "sensitive".
  8352  func (s DescribeWorkspaceImagesOutput) GoString() string {
  8353  	return s.String()
  8354  }
  8355  
  8356  // SetImages sets the Images field's value.
  8357  func (s *DescribeWorkspaceImagesOutput) SetImages(v []*WorkspaceImage) *DescribeWorkspaceImagesOutput {
  8358  	s.Images = v
  8359  	return s
  8360  }
  8361  
  8362  // SetNextToken sets the NextToken field's value.
  8363  func (s *DescribeWorkspaceImagesOutput) SetNextToken(v string) *DescribeWorkspaceImagesOutput {
  8364  	s.NextToken = &v
  8365  	return s
  8366  }
  8367  
  8368  type DescribeWorkspaceSnapshotsInput struct {
  8369  	_ struct{} `type:"structure"`
  8370  
  8371  	// The identifier of the WorkSpace.
  8372  	//
  8373  	// WorkspaceId is a required field
  8374  	WorkspaceId *string `type:"string" required:"true"`
  8375  }
  8376  
  8377  // String returns the string representation.
  8378  //
  8379  // API parameter values that are decorated as "sensitive" in the API will not
  8380  // be included in the string output. The member name will be present, but the
  8381  // value will be replaced with "sensitive".
  8382  func (s DescribeWorkspaceSnapshotsInput) String() string {
  8383  	return awsutil.Prettify(s)
  8384  }
  8385  
  8386  // GoString returns the string representation.
  8387  //
  8388  // API parameter values that are decorated as "sensitive" in the API will not
  8389  // be included in the string output. The member name will be present, but the
  8390  // value will be replaced with "sensitive".
  8391  func (s DescribeWorkspaceSnapshotsInput) GoString() string {
  8392  	return s.String()
  8393  }
  8394  
  8395  // Validate inspects the fields of the type to determine if they are valid.
  8396  func (s *DescribeWorkspaceSnapshotsInput) Validate() error {
  8397  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspaceSnapshotsInput"}
  8398  	if s.WorkspaceId == nil {
  8399  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
  8400  	}
  8401  
  8402  	if invalidParams.Len() > 0 {
  8403  		return invalidParams
  8404  	}
  8405  	return nil
  8406  }
  8407  
  8408  // SetWorkspaceId sets the WorkspaceId field's value.
  8409  func (s *DescribeWorkspaceSnapshotsInput) SetWorkspaceId(v string) *DescribeWorkspaceSnapshotsInput {
  8410  	s.WorkspaceId = &v
  8411  	return s
  8412  }
  8413  
  8414  type DescribeWorkspaceSnapshotsOutput struct {
  8415  	_ struct{} `type:"structure"`
  8416  
  8417  	// Information about the snapshots that can be used to rebuild a WorkSpace.
  8418  	// These snapshots include the user volume.
  8419  	RebuildSnapshots []*Snapshot `type:"list"`
  8420  
  8421  	// Information about the snapshots that can be used to restore a WorkSpace.
  8422  	// These snapshots include both the root volume and the user volume.
  8423  	RestoreSnapshots []*Snapshot `type:"list"`
  8424  }
  8425  
  8426  // String returns the string representation.
  8427  //
  8428  // API parameter values that are decorated as "sensitive" in the API will not
  8429  // be included in the string output. The member name will be present, but the
  8430  // value will be replaced with "sensitive".
  8431  func (s DescribeWorkspaceSnapshotsOutput) String() string {
  8432  	return awsutil.Prettify(s)
  8433  }
  8434  
  8435  // GoString returns the string representation.
  8436  //
  8437  // API parameter values that are decorated as "sensitive" in the API will not
  8438  // be included in the string output. The member name will be present, but the
  8439  // value will be replaced with "sensitive".
  8440  func (s DescribeWorkspaceSnapshotsOutput) GoString() string {
  8441  	return s.String()
  8442  }
  8443  
  8444  // SetRebuildSnapshots sets the RebuildSnapshots field's value.
  8445  func (s *DescribeWorkspaceSnapshotsOutput) SetRebuildSnapshots(v []*Snapshot) *DescribeWorkspaceSnapshotsOutput {
  8446  	s.RebuildSnapshots = v
  8447  	return s
  8448  }
  8449  
  8450  // SetRestoreSnapshots sets the RestoreSnapshots field's value.
  8451  func (s *DescribeWorkspaceSnapshotsOutput) SetRestoreSnapshots(v []*Snapshot) *DescribeWorkspaceSnapshotsOutput {
  8452  	s.RestoreSnapshots = v
  8453  	return s
  8454  }
  8455  
  8456  type DescribeWorkspacesConnectionStatusInput struct {
  8457  	_ struct{} `type:"structure"`
  8458  
  8459  	// If you received a NextToken from a previous call that was paginated, provide
  8460  	// this token to receive the next set of results.
  8461  	NextToken *string `min:"1" type:"string"`
  8462  
  8463  	// The identifiers of the WorkSpaces. You can specify up to 25 WorkSpaces.
  8464  	WorkspaceIds []*string `min:"1" type:"list"`
  8465  }
  8466  
  8467  // String returns the string representation.
  8468  //
  8469  // API parameter values that are decorated as "sensitive" in the API will not
  8470  // be included in the string output. The member name will be present, but the
  8471  // value will be replaced with "sensitive".
  8472  func (s DescribeWorkspacesConnectionStatusInput) String() string {
  8473  	return awsutil.Prettify(s)
  8474  }
  8475  
  8476  // GoString returns the string representation.
  8477  //
  8478  // API parameter values that are decorated as "sensitive" in the API will not
  8479  // be included in the string output. The member name will be present, but the
  8480  // value will be replaced with "sensitive".
  8481  func (s DescribeWorkspacesConnectionStatusInput) GoString() string {
  8482  	return s.String()
  8483  }
  8484  
  8485  // Validate inspects the fields of the type to determine if they are valid.
  8486  func (s *DescribeWorkspacesConnectionStatusInput) Validate() error {
  8487  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspacesConnectionStatusInput"}
  8488  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8489  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8490  	}
  8491  	if s.WorkspaceIds != nil && len(s.WorkspaceIds) < 1 {
  8492  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceIds", 1))
  8493  	}
  8494  
  8495  	if invalidParams.Len() > 0 {
  8496  		return invalidParams
  8497  	}
  8498  	return nil
  8499  }
  8500  
  8501  // SetNextToken sets the NextToken field's value.
  8502  func (s *DescribeWorkspacesConnectionStatusInput) SetNextToken(v string) *DescribeWorkspacesConnectionStatusInput {
  8503  	s.NextToken = &v
  8504  	return s
  8505  }
  8506  
  8507  // SetWorkspaceIds sets the WorkspaceIds field's value.
  8508  func (s *DescribeWorkspacesConnectionStatusInput) SetWorkspaceIds(v []*string) *DescribeWorkspacesConnectionStatusInput {
  8509  	s.WorkspaceIds = v
  8510  	return s
  8511  }
  8512  
  8513  type DescribeWorkspacesConnectionStatusOutput struct {
  8514  	_ struct{} `type:"structure"`
  8515  
  8516  	// The token to use to retrieve the next page of results. This value is null
  8517  	// when there are no more results to return.
  8518  	NextToken *string `min:"1" type:"string"`
  8519  
  8520  	// Information about the connection status of the WorkSpace.
  8521  	WorkspacesConnectionStatus []*WorkspaceConnectionStatus `type:"list"`
  8522  }
  8523  
  8524  // String returns the string representation.
  8525  //
  8526  // API parameter values that are decorated as "sensitive" in the API will not
  8527  // be included in the string output. The member name will be present, but the
  8528  // value will be replaced with "sensitive".
  8529  func (s DescribeWorkspacesConnectionStatusOutput) String() string {
  8530  	return awsutil.Prettify(s)
  8531  }
  8532  
  8533  // GoString returns the string representation.
  8534  //
  8535  // API parameter values that are decorated as "sensitive" in the API will not
  8536  // be included in the string output. The member name will be present, but the
  8537  // value will be replaced with "sensitive".
  8538  func (s DescribeWorkspacesConnectionStatusOutput) GoString() string {
  8539  	return s.String()
  8540  }
  8541  
  8542  // SetNextToken sets the NextToken field's value.
  8543  func (s *DescribeWorkspacesConnectionStatusOutput) SetNextToken(v string) *DescribeWorkspacesConnectionStatusOutput {
  8544  	s.NextToken = &v
  8545  	return s
  8546  }
  8547  
  8548  // SetWorkspacesConnectionStatus sets the WorkspacesConnectionStatus field's value.
  8549  func (s *DescribeWorkspacesConnectionStatusOutput) SetWorkspacesConnectionStatus(v []*WorkspaceConnectionStatus) *DescribeWorkspacesConnectionStatusOutput {
  8550  	s.WorkspacesConnectionStatus = v
  8551  	return s
  8552  }
  8553  
  8554  type DescribeWorkspacesInput struct {
  8555  	_ struct{} `type:"structure"`
  8556  
  8557  	// The identifier of the bundle. All WorkSpaces that are created from this bundle
  8558  	// are retrieved. You cannot combine this parameter with any other filter.
  8559  	BundleId *string `type:"string"`
  8560  
  8561  	// The identifier of the directory. In addition, you can optionally specify
  8562  	// a specific directory user (see UserName). You cannot combine this parameter
  8563  	// with any other filter.
  8564  	DirectoryId *string `min:"10" type:"string"`
  8565  
  8566  	// The maximum number of items to return.
  8567  	Limit *int64 `min:"1" type:"integer"`
  8568  
  8569  	// If you received a NextToken from a previous call that was paginated, provide
  8570  	// this token to receive the next set of results.
  8571  	NextToken *string `min:"1" type:"string"`
  8572  
  8573  	// The name of the directory user. You must specify this parameter with DirectoryId.
  8574  	UserName *string `min:"1" type:"string"`
  8575  
  8576  	// The identifiers of the WorkSpaces. You cannot combine this parameter with
  8577  	// any other filter.
  8578  	//
  8579  	// Because the CreateWorkspaces operation is asynchronous, the identifier it
  8580  	// returns is not immediately available. If you immediately call DescribeWorkspaces
  8581  	// with this identifier, no information is returned.
  8582  	WorkspaceIds []*string `min:"1" type:"list"`
  8583  }
  8584  
  8585  // String returns the string representation.
  8586  //
  8587  // API parameter values that are decorated as "sensitive" in the API will not
  8588  // be included in the string output. The member name will be present, but the
  8589  // value will be replaced with "sensitive".
  8590  func (s DescribeWorkspacesInput) String() string {
  8591  	return awsutil.Prettify(s)
  8592  }
  8593  
  8594  // GoString returns the string representation.
  8595  //
  8596  // API parameter values that are decorated as "sensitive" in the API will not
  8597  // be included in the string output. The member name will be present, but the
  8598  // value will be replaced with "sensitive".
  8599  func (s DescribeWorkspacesInput) GoString() string {
  8600  	return s.String()
  8601  }
  8602  
  8603  // Validate inspects the fields of the type to determine if they are valid.
  8604  func (s *DescribeWorkspacesInput) Validate() error {
  8605  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkspacesInput"}
  8606  	if s.DirectoryId != nil && len(*s.DirectoryId) < 10 {
  8607  		invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 10))
  8608  	}
  8609  	if s.Limit != nil && *s.Limit < 1 {
  8610  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
  8611  	}
  8612  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8613  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8614  	}
  8615  	if s.UserName != nil && len(*s.UserName) < 1 {
  8616  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  8617  	}
  8618  	if s.WorkspaceIds != nil && len(s.WorkspaceIds) < 1 {
  8619  		invalidParams.Add(request.NewErrParamMinLen("WorkspaceIds", 1))
  8620  	}
  8621  
  8622  	if invalidParams.Len() > 0 {
  8623  		return invalidParams
  8624  	}
  8625  	return nil
  8626  }
  8627  
  8628  // SetBundleId sets the BundleId field's value.
  8629  func (s *DescribeWorkspacesInput) SetBundleId(v string) *DescribeWorkspacesInput {
  8630  	s.BundleId = &v
  8631  	return s
  8632  }
  8633  
  8634  // SetDirectoryId sets the DirectoryId field's value.
  8635  func (s *DescribeWorkspacesInput) SetDirectoryId(v string) *DescribeWorkspacesInput {
  8636  	s.DirectoryId = &v
  8637  	return s
  8638  }
  8639  
  8640  // SetLimit sets the Limit field's value.
  8641  func (s *DescribeWorkspacesInput) SetLimit(v int64) *DescribeWorkspacesInput {
  8642  	s.Limit = &v
  8643  	return s
  8644  }
  8645  
  8646  // SetNextToken sets the NextToken field's value.
  8647  func (s *DescribeWorkspacesInput) SetNextToken(v string) *DescribeWorkspacesInput {
  8648  	s.NextToken = &v
  8649  	return s
  8650  }
  8651  
  8652  // SetUserName sets the UserName field's value.
  8653  func (s *DescribeWorkspacesInput) SetUserName(v string) *DescribeWorkspacesInput {
  8654  	s.UserName = &v
  8655  	return s
  8656  }
  8657  
  8658  // SetWorkspaceIds sets the WorkspaceIds field's value.
  8659  func (s *DescribeWorkspacesInput) SetWorkspaceIds(v []*string) *DescribeWorkspacesInput {
  8660  	s.WorkspaceIds = v
  8661  	return s
  8662  }
  8663  
  8664  type DescribeWorkspacesOutput struct {
  8665  	_ struct{} `type:"structure"`
  8666  
  8667  	// The token to use to retrieve the next page of results. This value is null
  8668  	// when there are no more results to return.
  8669  	NextToken *string `min:"1" type:"string"`
  8670  
  8671  	// Information about the WorkSpaces.
  8672  	//
  8673  	// Because CreateWorkspaces is an asynchronous operation, some of the returned
  8674  	// information could be incomplete.
  8675  	Workspaces []*Workspace `type:"list"`
  8676  }
  8677  
  8678  // String returns the string representation.
  8679  //
  8680  // API parameter values that are decorated as "sensitive" in the API will not
  8681  // be included in the string output. The member name will be present, but the
  8682  // value will be replaced with "sensitive".
  8683  func (s DescribeWorkspacesOutput) String() string {
  8684  	return awsutil.Prettify(s)
  8685  }
  8686  
  8687  // GoString returns the string representation.
  8688  //
  8689  // API parameter values that are decorated as "sensitive" in the API will not
  8690  // be included in the string output. The member name will be present, but the
  8691  // value will be replaced with "sensitive".
  8692  func (s DescribeWorkspacesOutput) GoString() string {
  8693  	return s.String()
  8694  }
  8695  
  8696  // SetNextToken sets the NextToken field's value.
  8697  func (s *DescribeWorkspacesOutput) SetNextToken(v string) *DescribeWorkspacesOutput {
  8698  	s.NextToken = &v
  8699  	return s
  8700  }
  8701  
  8702  // SetWorkspaces sets the Workspaces field's value.
  8703  func (s *DescribeWorkspacesOutput) SetWorkspaces(v []*Workspace) *DescribeWorkspacesOutput {
  8704  	s.Workspaces = v
  8705  	return s
  8706  }
  8707  
  8708  type DisassociateConnectionAliasInput struct {
  8709  	_ struct{} `type:"structure"`
  8710  
  8711  	// The identifier of the connection alias to disassociate.
  8712  	//
  8713  	// AliasId is a required field
  8714  	AliasId *string `min:"13" type:"string" required:"true"`
  8715  }
  8716  
  8717  // String returns the string representation.
  8718  //
  8719  // API parameter values that are decorated as "sensitive" in the API will not
  8720  // be included in the string output. The member name will be present, but the
  8721  // value will be replaced with "sensitive".
  8722  func (s DisassociateConnectionAliasInput) String() string {
  8723  	return awsutil.Prettify(s)
  8724  }
  8725  
  8726  // GoString returns the string representation.
  8727  //
  8728  // API parameter values that are decorated as "sensitive" in the API will not
  8729  // be included in the string output. The member name will be present, but the
  8730  // value will be replaced with "sensitive".
  8731  func (s DisassociateConnectionAliasInput) GoString() string {
  8732  	return s.String()
  8733  }
  8734  
  8735  // Validate inspects the fields of the type to determine if they are valid.
  8736  func (s *DisassociateConnectionAliasInput) Validate() error {
  8737  	invalidParams := request.ErrInvalidParams{Context: "DisassociateConnectionAliasInput"}
  8738  	if s.AliasId == nil {
  8739  		invalidParams.Add(request.NewErrParamRequired("AliasId"))
  8740  	}
  8741  	if s.AliasId != nil && len(*s.AliasId) < 13 {
  8742  		invalidParams.Add(request.NewErrParamMinLen("AliasId", 13))
  8743  	}
  8744  
  8745  	if invalidParams.Len() > 0 {
  8746  		return invalidParams
  8747  	}
  8748  	return nil
  8749  }
  8750  
  8751  // SetAliasId sets the AliasId field's value.
  8752  func (s *DisassociateConnectionAliasInput) SetAliasId(v string) *DisassociateConnectionAliasInput {
  8753  	s.AliasId = &v
  8754  	return s
  8755  }
  8756  
  8757  type DisassociateConnectionAliasOutput struct {
  8758  	_ struct{} `type:"structure"`
  8759  }
  8760  
  8761  // String returns the string representation.
  8762  //
  8763  // API parameter values that are decorated as "sensitive" in the API will not
  8764  // be included in the string output. The member name will be present, but the
  8765  // value will be replaced with "sensitive".
  8766  func (s DisassociateConnectionAliasOutput) String() string {
  8767  	return awsutil.Prettify(s)
  8768  }
  8769  
  8770  // GoString returns the string representation.
  8771  //
  8772  // API parameter values that are decorated as "sensitive" in the API will not
  8773  // be included in the string output. The member name will be present, but the
  8774  // value will be replaced with "sensitive".
  8775  func (s DisassociateConnectionAliasOutput) GoString() string {
  8776  	return s.String()
  8777  }
  8778  
  8779  type DisassociateIpGroupsInput struct {
  8780  	_ struct{} `type:"structure"`
  8781  
  8782  	// The identifier of the directory.
  8783  	//
  8784  	// DirectoryId is a required field
  8785  	DirectoryId *string `min:"10" type:"string" required:"true"`
  8786  
  8787  	// The identifiers of one or more IP access control groups.
  8788  	//
  8789  	// GroupIds is a required field
  8790  	GroupIds []*string `type:"list" required:"true"`
  8791  }
  8792  
  8793  // String returns the string representation.
  8794  //
  8795  // API parameter values that are decorated as "sensitive" in the API will not
  8796  // be included in the string output. The member name will be present, but the
  8797  // value will be replaced with "sensitive".
  8798  func (s DisassociateIpGroupsInput) String() string {
  8799  	return awsutil.Prettify(s)
  8800  }
  8801  
  8802  // GoString returns the string representation.
  8803  //
  8804  // API parameter values that are decorated as "sensitive" in the API will not
  8805  // be included in the string output. The member name will be present, but the
  8806  // value will be replaced with "sensitive".
  8807  func (s DisassociateIpGroupsInput) GoString() string {
  8808  	return s.String()
  8809  }
  8810  
  8811  // Validate inspects the fields of the type to determine if they are valid.
  8812  func (s *DisassociateIpGroupsInput) Validate() error {
  8813  	invalidParams := request.ErrInvalidParams{Context: "DisassociateIpGroupsInput"}
  8814  	if s.DirectoryId == nil {
  8815  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  8816  	}
  8817  	if s.DirectoryId != nil && len(*s.DirectoryId) < 10 {
  8818  		invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 10))
  8819  	}
  8820  	if s.GroupIds == nil {
  8821  		invalidParams.Add(request.NewErrParamRequired("GroupIds"))
  8822  	}
  8823  
  8824  	if invalidParams.Len() > 0 {
  8825  		return invalidParams
  8826  	}
  8827  	return nil
  8828  }
  8829  
  8830  // SetDirectoryId sets the DirectoryId field's value.
  8831  func (s *DisassociateIpGroupsInput) SetDirectoryId(v string) *DisassociateIpGroupsInput {
  8832  	s.DirectoryId = &v
  8833  	return s
  8834  }
  8835  
  8836  // SetGroupIds sets the GroupIds field's value.
  8837  func (s *DisassociateIpGroupsInput) SetGroupIds(v []*string) *DisassociateIpGroupsInput {
  8838  	s.GroupIds = v
  8839  	return s
  8840  }
  8841  
  8842  type DisassociateIpGroupsOutput struct {
  8843  	_ struct{} `type:"structure"`
  8844  }
  8845  
  8846  // String returns the string representation.
  8847  //
  8848  // API parameter values that are decorated as "sensitive" in the API will not
  8849  // be included in the string output. The member name will be present, but the
  8850  // value will be replaced with "sensitive".
  8851  func (s DisassociateIpGroupsOutput) String() string {
  8852  	return awsutil.Prettify(s)
  8853  }
  8854  
  8855  // GoString returns the string representation.
  8856  //
  8857  // API parameter values that are decorated as "sensitive" in the API will not
  8858  // be included in the string output. The member name will be present, but the
  8859  // value will be replaced with "sensitive".
  8860  func (s DisassociateIpGroupsOutput) GoString() string {
  8861  	return s.String()
  8862  }
  8863  
  8864  // Describes a WorkSpace that cannot be created.
  8865  type FailedCreateWorkspaceRequest struct {
  8866  	_ struct{} `type:"structure"`
  8867  
  8868  	// The error code that is returned if the WorkSpace cannot be created.
  8869  	ErrorCode *string `type:"string"`
  8870  
  8871  	// The text of the error message that is returned if the WorkSpace cannot be
  8872  	// created.
  8873  	ErrorMessage *string `type:"string"`
  8874  
  8875  	// Information about the WorkSpace.
  8876  	WorkspaceRequest *WorkspaceRequest `type:"structure"`
  8877  }
  8878  
  8879  // String returns the string representation.
  8880  //
  8881  // API parameter values that are decorated as "sensitive" in the API will not
  8882  // be included in the string output. The member name will be present, but the
  8883  // value will be replaced with "sensitive".
  8884  func (s FailedCreateWorkspaceRequest) String() string {
  8885  	return awsutil.Prettify(s)
  8886  }
  8887  
  8888  // GoString returns the string representation.
  8889  //
  8890  // API parameter values that are decorated as "sensitive" in the API will not
  8891  // be included in the string output. The member name will be present, but the
  8892  // value will be replaced with "sensitive".
  8893  func (s FailedCreateWorkspaceRequest) GoString() string {
  8894  	return s.String()
  8895  }
  8896  
  8897  // SetErrorCode sets the ErrorCode field's value.
  8898  func (s *FailedCreateWorkspaceRequest) SetErrorCode(v string) *FailedCreateWorkspaceRequest {
  8899  	s.ErrorCode = &v
  8900  	return s
  8901  }
  8902  
  8903  // SetErrorMessage sets the ErrorMessage field's value.
  8904  func (s *FailedCreateWorkspaceRequest) SetErrorMessage(v string) *FailedCreateWorkspaceRequest {
  8905  	s.ErrorMessage = &v
  8906  	return s
  8907  }
  8908  
  8909  // SetWorkspaceRequest sets the WorkspaceRequest field's value.
  8910  func (s *FailedCreateWorkspaceRequest) SetWorkspaceRequest(v *WorkspaceRequest) *FailedCreateWorkspaceRequest {
  8911  	s.WorkspaceRequest = v
  8912  	return s
  8913  }
  8914  
  8915  // Describes a WorkSpace that could not be rebooted. (RebootWorkspaces), rebuilt
  8916  // (RebuildWorkspaces), restored (RestoreWorkspace), terminated (TerminateWorkspaces),
  8917  // started (StartWorkspaces), or stopped (StopWorkspaces).
  8918  type FailedWorkspaceChangeRequest struct {
  8919  	_ struct{} `type:"structure"`
  8920  
  8921  	// The error code that is returned if the WorkSpace cannot be rebooted.
  8922  	ErrorCode *string `type:"string"`
  8923  
  8924  	// The text of the error message that is returned if the WorkSpace cannot be
  8925  	// rebooted.
  8926  	ErrorMessage *string `type:"string"`
  8927  
  8928  	// The identifier of the WorkSpace.
  8929  	WorkspaceId *string `type:"string"`
  8930  }
  8931  
  8932  // String returns the string representation.
  8933  //
  8934  // API parameter values that are decorated as "sensitive" in the API will not
  8935  // be included in the string output. The member name will be present, but the
  8936  // value will be replaced with "sensitive".
  8937  func (s FailedWorkspaceChangeRequest) String() string {
  8938  	return awsutil.Prettify(s)
  8939  }
  8940  
  8941  // GoString returns the string representation.
  8942  //
  8943  // API parameter values that are decorated as "sensitive" in the API will not
  8944  // be included in the string output. The member name will be present, but the
  8945  // value will be replaced with "sensitive".
  8946  func (s FailedWorkspaceChangeRequest) GoString() string {
  8947  	return s.String()
  8948  }
  8949  
  8950  // SetErrorCode sets the ErrorCode field's value.
  8951  func (s *FailedWorkspaceChangeRequest) SetErrorCode(v string) *FailedWorkspaceChangeRequest {
  8952  	s.ErrorCode = &v
  8953  	return s
  8954  }
  8955  
  8956  // SetErrorMessage sets the ErrorMessage field's value.
  8957  func (s *FailedWorkspaceChangeRequest) SetErrorMessage(v string) *FailedWorkspaceChangeRequest {
  8958  	s.ErrorMessage = &v
  8959  	return s
  8960  }
  8961  
  8962  // SetWorkspaceId sets the WorkspaceId field's value.
  8963  func (s *FailedWorkspaceChangeRequest) SetWorkspaceId(v string) *FailedWorkspaceChangeRequest {
  8964  	s.WorkspaceId = &v
  8965  	return s
  8966  }
  8967  
  8968  // Describes the Amazon Web Services accounts that have been granted permission
  8969  // to use a shared image. For more information about sharing images, see Share
  8970  // or Unshare a Custom WorkSpaces Image (https://docs.aws.amazon.com/workspaces/latest/adminguide/share-custom-image.html).
  8971  type ImagePermission struct {
  8972  	_ struct{} `type:"structure"`
  8973  
  8974  	// The identifier of the Amazon Web Services account that an image has been
  8975  	// shared with.
  8976  	SharedAccountId *string `type:"string"`
  8977  }
  8978  
  8979  // String returns the string representation.
  8980  //
  8981  // API parameter values that are decorated as "sensitive" in the API will not
  8982  // be included in the string output. The member name will be present, but the
  8983  // value will be replaced with "sensitive".
  8984  func (s ImagePermission) String() string {
  8985  	return awsutil.Prettify(s)
  8986  }
  8987  
  8988  // GoString returns the string representation.
  8989  //
  8990  // API parameter values that are decorated as "sensitive" in the API will not
  8991  // be included in the string output. The member name will be present, but the
  8992  // value will be replaced with "sensitive".
  8993  func (s ImagePermission) GoString() string {
  8994  	return s.String()
  8995  }
  8996  
  8997  // SetSharedAccountId sets the SharedAccountId field's value.
  8998  func (s *ImagePermission) SetSharedAccountId(v string) *ImagePermission {
  8999  	s.SharedAccountId = &v
  9000  	return s
  9001  }
  9002  
  9003  type ImportWorkspaceImageInput struct {
  9004  	_ struct{} `type:"structure"`
  9005  
  9006  	// If specified, the version of Microsoft Office to subscribe to. Valid only
  9007  	// for Windows 10 BYOL images. For more information about subscribing to Office
  9008  	// for BYOL images, see Bring Your Own Windows Desktop Licenses (https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html).
  9009  	//
  9010  	// Although this parameter is an array, only one item is allowed at this time.
  9011  	Applications []*string `min:"1" type:"list"`
  9012  
  9013  	// The identifier of the EC2 image.
  9014  	//
  9015  	// Ec2ImageId is a required field
  9016  	Ec2ImageId *string `type:"string" required:"true"`
  9017  
  9018  	// The description of the WorkSpace image.
  9019  	//
  9020  	// ImageDescription is a required field
  9021  	ImageDescription *string `min:"1" type:"string" required:"true"`
  9022  
  9023  	// The name of the WorkSpace image.
  9024  	//
  9025  	// ImageName is a required field
  9026  	ImageName *string `min:"1" type:"string" required:"true"`
  9027  
  9028  	// The ingestion process to be used when importing the image, depending on which
  9029  	// protocol you want to use for your BYOL Workspace image, either PCoIP or WorkSpaces
  9030  	// Streaming Protocol (WSP). To use WSP, specify a value that ends in _WSP.
  9031  	// To use PCoIP, specify a value that does not end in _WSP.
  9032  	//
  9033  	// For non-GPU-enabled bundles (bundles other than Graphics or GraphicsPro),
  9034  	// specify BYOL_REGULAR or BYOL_REGULAR_WSP, depending on the protocol.
  9035  	//
  9036  	// IngestionProcess is a required field
  9037  	IngestionProcess *string `type:"string" required:"true" enum:"WorkspaceImageIngestionProcess"`
  9038  
  9039  	// The tags. Each WorkSpaces resource can have a maximum of 50 tags.
  9040  	Tags []*Tag `type:"list"`
  9041  }
  9042  
  9043  // String returns the string representation.
  9044  //
  9045  // API parameter values that are decorated as "sensitive" in the API will not
  9046  // be included in the string output. The member name will be present, but the
  9047  // value will be replaced with "sensitive".
  9048  func (s ImportWorkspaceImageInput) String() string {
  9049  	return awsutil.Prettify(s)
  9050  }
  9051  
  9052  // GoString returns the string representation.
  9053  //
  9054  // API parameter values that are decorated as "sensitive" in the API will not
  9055  // be included in the string output. The member name will be present, but the
  9056  // value will be replaced with "sensitive".
  9057  func (s ImportWorkspaceImageInput) GoString() string {
  9058  	return s.String()
  9059  }
  9060  
  9061  // Validate inspects the fields of the type to determine if they are valid.
  9062  func (s *ImportWorkspaceImageInput) Validate() error {
  9063  	invalidParams := request.ErrInvalidParams{Context: "ImportWorkspaceImageInput"}
  9064  	if s.Applications != nil && len(s.Applications) < 1 {
  9065  		invalidParams.Add(request.NewErrParamMinLen("Applications", 1))
  9066  	}
  9067  	if s.Ec2ImageId == nil {
  9068  		invalidParams.Add(request.NewErrParamRequired("Ec2ImageId"))
  9069  	}
  9070  	if s.ImageDescription == nil {
  9071  		invalidParams.Add(request.NewErrParamRequired("ImageDescription"))
  9072  	}
  9073  	if s.ImageDescription != nil && len(*s.ImageDescription) < 1 {
  9074  		invalidParams.Add(request.NewErrParamMinLen("ImageDescription", 1))
  9075  	}
  9076  	if s.ImageName == nil {
  9077  		invalidParams.Add(request.NewErrParamRequired("ImageName"))
  9078  	}
  9079  	if s.ImageName != nil && len(*s.ImageName) < 1 {
  9080  		invalidParams.Add(request.NewErrParamMinLen("ImageName", 1))
  9081  	}
  9082  	if s.IngestionProcess == nil {
  9083  		invalidParams.Add(request.NewErrParamRequired("IngestionProcess"))
  9084  	}
  9085  	if s.Tags != nil {
  9086  		for i, v := range s.Tags {
  9087  			if v == nil {
  9088  				continue
  9089  			}
  9090  			if err := v.Validate(); err != nil {
  9091  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  9092  			}
  9093  		}
  9094  	}
  9095  
  9096  	if invalidParams.Len() > 0 {
  9097  		return invalidParams
  9098  	}
  9099  	return nil
  9100  }
  9101  
  9102  // SetApplications sets the Applications field's value.
  9103  func (s *ImportWorkspaceImageInput) SetApplications(v []*string) *ImportWorkspaceImageInput {
  9104  	s.Applications = v
  9105  	return s
  9106  }
  9107  
  9108  // SetEc2ImageId sets the Ec2ImageId field's value.
  9109  func (s *ImportWorkspaceImageInput) SetEc2ImageId(v string) *ImportWorkspaceImageInput {
  9110  	s.Ec2ImageId = &v
  9111  	return s
  9112  }
  9113  
  9114  // SetImageDescription sets the ImageDescription field's value.
  9115  func (s *ImportWorkspaceImageInput) SetImageDescription(v string) *ImportWorkspaceImageInput {
  9116  	s.ImageDescription = &v
  9117  	return s
  9118  }
  9119  
  9120  // SetImageName sets the ImageName field's value.
  9121  func (s *ImportWorkspaceImageInput) SetImageName(v string) *ImportWorkspaceImageInput {
  9122  	s.ImageName = &v
  9123  	return s
  9124  }
  9125  
  9126  // SetIngestionProcess sets the IngestionProcess field's value.
  9127  func (s *ImportWorkspaceImageInput) SetIngestionProcess(v string) *ImportWorkspaceImageInput {
  9128  	s.IngestionProcess = &v
  9129  	return s
  9130  }
  9131  
  9132  // SetTags sets the Tags field's value.
  9133  func (s *ImportWorkspaceImageInput) SetTags(v []*Tag) *ImportWorkspaceImageInput {
  9134  	s.Tags = v
  9135  	return s
  9136  }
  9137  
  9138  type ImportWorkspaceImageOutput struct {
  9139  	_ struct{} `type:"structure"`
  9140  
  9141  	// The identifier of the WorkSpace image.
  9142  	ImageId *string `type:"string"`
  9143  }
  9144  
  9145  // String returns the string representation.
  9146  //
  9147  // API parameter values that are decorated as "sensitive" in the API will not
  9148  // be included in the string output. The member name will be present, but the
  9149  // value will be replaced with "sensitive".
  9150  func (s ImportWorkspaceImageOutput) String() string {
  9151  	return awsutil.Prettify(s)
  9152  }
  9153  
  9154  // GoString returns the string representation.
  9155  //
  9156  // API parameter values that are decorated as "sensitive" in the API will not
  9157  // be included in the string output. The member name will be present, but the
  9158  // value will be replaced with "sensitive".
  9159  func (s ImportWorkspaceImageOutput) GoString() string {
  9160  	return s.String()
  9161  }
  9162  
  9163  // SetImageId sets the ImageId field's value.
  9164  func (s *ImportWorkspaceImageOutput) SetImageId(v string) *ImportWorkspaceImageOutput {
  9165  	s.ImageId = &v
  9166  	return s
  9167  }
  9168  
  9169  // One or more parameter values are not valid.
  9170  type InvalidParameterValuesException struct {
  9171  	_            struct{}                  `type:"structure"`
  9172  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9173  
  9174  	// The exception error message.
  9175  	Message_ *string `locationName:"message" type:"string"`
  9176  }
  9177  
  9178  // String returns the string representation.
  9179  //
  9180  // API parameter values that are decorated as "sensitive" in the API will not
  9181  // be included in the string output. The member name will be present, but the
  9182  // value will be replaced with "sensitive".
  9183  func (s InvalidParameterValuesException) String() string {
  9184  	return awsutil.Prettify(s)
  9185  }
  9186  
  9187  // GoString returns the string representation.
  9188  //
  9189  // API parameter values that are decorated as "sensitive" in the API will not
  9190  // be included in the string output. The member name will be present, but the
  9191  // value will be replaced with "sensitive".
  9192  func (s InvalidParameterValuesException) GoString() string {
  9193  	return s.String()
  9194  }
  9195  
  9196  func newErrorInvalidParameterValuesException(v protocol.ResponseMetadata) error {
  9197  	return &InvalidParameterValuesException{
  9198  		RespMetadata: v,
  9199  	}
  9200  }
  9201  
  9202  // Code returns the exception type name.
  9203  func (s *InvalidParameterValuesException) Code() string {
  9204  	return "InvalidParameterValuesException"
  9205  }
  9206  
  9207  // Message returns the exception's message.
  9208  func (s *InvalidParameterValuesException) Message() string {
  9209  	if s.Message_ != nil {
  9210  		return *s.Message_
  9211  	}
  9212  	return ""
  9213  }
  9214  
  9215  // OrigErr always returns nil, satisfies awserr.Error interface.
  9216  func (s *InvalidParameterValuesException) OrigErr() error {
  9217  	return nil
  9218  }
  9219  
  9220  func (s *InvalidParameterValuesException) Error() string {
  9221  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9222  }
  9223  
  9224  // Status code returns the HTTP status code for the request's response error.
  9225  func (s *InvalidParameterValuesException) StatusCode() int {
  9226  	return s.RespMetadata.StatusCode
  9227  }
  9228  
  9229  // RequestID returns the service's response RequestID for request.
  9230  func (s *InvalidParameterValuesException) RequestID() string {
  9231  	return s.RespMetadata.RequestID
  9232  }
  9233  
  9234  // The state of the resource is not valid for this operation.
  9235  type InvalidResourceStateException struct {
  9236  	_            struct{}                  `type:"structure"`
  9237  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9238  
  9239  	Message_ *string `locationName:"message" type:"string"`
  9240  }
  9241  
  9242  // String returns the string representation.
  9243  //
  9244  // API parameter values that are decorated as "sensitive" in the API will not
  9245  // be included in the string output. The member name will be present, but the
  9246  // value will be replaced with "sensitive".
  9247  func (s InvalidResourceStateException) String() string {
  9248  	return awsutil.Prettify(s)
  9249  }
  9250  
  9251  // GoString returns the string representation.
  9252  //
  9253  // API parameter values that are decorated as "sensitive" in the API will not
  9254  // be included in the string output. The member name will be present, but the
  9255  // value will be replaced with "sensitive".
  9256  func (s InvalidResourceStateException) GoString() string {
  9257  	return s.String()
  9258  }
  9259  
  9260  func newErrorInvalidResourceStateException(v protocol.ResponseMetadata) error {
  9261  	return &InvalidResourceStateException{
  9262  		RespMetadata: v,
  9263  	}
  9264  }
  9265  
  9266  // Code returns the exception type name.
  9267  func (s *InvalidResourceStateException) Code() string {
  9268  	return "InvalidResourceStateException"
  9269  }
  9270  
  9271  // Message returns the exception's message.
  9272  func (s *InvalidResourceStateException) Message() string {
  9273  	if s.Message_ != nil {
  9274  		return *s.Message_
  9275  	}
  9276  	return ""
  9277  }
  9278  
  9279  // OrigErr always returns nil, satisfies awserr.Error interface.
  9280  func (s *InvalidResourceStateException) OrigErr() error {
  9281  	return nil
  9282  }
  9283  
  9284  func (s *InvalidResourceStateException) Error() string {
  9285  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9286  }
  9287  
  9288  // Status code returns the HTTP status code for the request's response error.
  9289  func (s *InvalidResourceStateException) StatusCode() int {
  9290  	return s.RespMetadata.StatusCode
  9291  }
  9292  
  9293  // RequestID returns the service's response RequestID for request.
  9294  func (s *InvalidResourceStateException) RequestID() string {
  9295  	return s.RespMetadata.RequestID
  9296  }
  9297  
  9298  // Describes an IP access control group.
  9299  type IpGroup struct {
  9300  	_ struct{} `type:"structure"`
  9301  
  9302  	// The description of the group.
  9303  	GroupDesc *string `locationName:"groupDesc" type:"string"`
  9304  
  9305  	// The identifier of the group.
  9306  	GroupId *string `locationName:"groupId" type:"string"`
  9307  
  9308  	// The name of the group.
  9309  	GroupName *string `locationName:"groupName" type:"string"`
  9310  
  9311  	// The rules.
  9312  	UserRules []*IpRuleItem `locationName:"userRules" type:"list"`
  9313  }
  9314  
  9315  // String returns the string representation.
  9316  //
  9317  // API parameter values that are decorated as "sensitive" in the API will not
  9318  // be included in the string output. The member name will be present, but the
  9319  // value will be replaced with "sensitive".
  9320  func (s IpGroup) String() string {
  9321  	return awsutil.Prettify(s)
  9322  }
  9323  
  9324  // GoString returns the string representation.
  9325  //
  9326  // API parameter values that are decorated as "sensitive" in the API will not
  9327  // be included in the string output. The member name will be present, but the
  9328  // value will be replaced with "sensitive".
  9329  func (s IpGroup) GoString() string {
  9330  	return s.String()
  9331  }
  9332  
  9333  // SetGroupDesc sets the GroupDesc field's value.
  9334  func (s *IpGroup) SetGroupDesc(v string) *IpGroup {
  9335  	s.GroupDesc = &v
  9336  	return s
  9337  }
  9338  
  9339  // SetGroupId sets the GroupId field's value.
  9340  func (s *IpGroup) SetGroupId(v string) *IpGroup {
  9341  	s.GroupId = &v
  9342  	return s
  9343  }
  9344  
  9345  // SetGroupName sets the GroupName field's value.
  9346  func (s *IpGroup) SetGroupName(v string) *IpGroup {
  9347  	s.GroupName = &v
  9348  	return s
  9349  }
  9350  
  9351  // SetUserRules sets the UserRules field's value.
  9352  func (s *IpGroup) SetUserRules(v []*IpRuleItem) *IpGroup {
  9353  	s.UserRules = v
  9354  	return s
  9355  }
  9356  
  9357  // Describes a rule for an IP access control group.
  9358  type IpRuleItem struct {
  9359  	_ struct{} `type:"structure"`
  9360  
  9361  	// The IP address range, in CIDR notation.
  9362  	IpRule *string `locationName:"ipRule" type:"string"`
  9363  
  9364  	// The description.
  9365  	RuleDesc *string `locationName:"ruleDesc" type:"string"`
  9366  }
  9367  
  9368  // String returns the string representation.
  9369  //
  9370  // API parameter values that are decorated as "sensitive" in the API will not
  9371  // be included in the string output. The member name will be present, but the
  9372  // value will be replaced with "sensitive".
  9373  func (s IpRuleItem) String() string {
  9374  	return awsutil.Prettify(s)
  9375  }
  9376  
  9377  // GoString returns the string representation.
  9378  //
  9379  // API parameter values that are decorated as "sensitive" in the API will not
  9380  // be included in the string output. The member name will be present, but the
  9381  // value will be replaced with "sensitive".
  9382  func (s IpRuleItem) GoString() string {
  9383  	return s.String()
  9384  }
  9385  
  9386  // SetIpRule sets the IpRule field's value.
  9387  func (s *IpRuleItem) SetIpRule(v string) *IpRuleItem {
  9388  	s.IpRule = &v
  9389  	return s
  9390  }
  9391  
  9392  // SetRuleDesc sets the RuleDesc field's value.
  9393  func (s *IpRuleItem) SetRuleDesc(v string) *IpRuleItem {
  9394  	s.RuleDesc = &v
  9395  	return s
  9396  }
  9397  
  9398  type ListAvailableManagementCidrRangesInput struct {
  9399  	_ struct{} `type:"structure"`
  9400  
  9401  	// The IP address range to search. Specify an IP address range that is compatible
  9402  	// with your network and in CIDR notation (that is, specify the range as an
  9403  	// IPv4 CIDR block).
  9404  	//
  9405  	// ManagementCidrRangeConstraint is a required field
  9406  	ManagementCidrRangeConstraint *string `type:"string" required:"true"`
  9407  
  9408  	// The maximum number of items to return.
  9409  	MaxResults *int64 `min:"1" type:"integer"`
  9410  
  9411  	// If you received a NextToken from a previous call that was paginated, provide
  9412  	// this token to receive the next set of results.
  9413  	NextToken *string `min:"1" type:"string"`
  9414  }
  9415  
  9416  // String returns the string representation.
  9417  //
  9418  // API parameter values that are decorated as "sensitive" in the API will not
  9419  // be included in the string output. The member name will be present, but the
  9420  // value will be replaced with "sensitive".
  9421  func (s ListAvailableManagementCidrRangesInput) String() string {
  9422  	return awsutil.Prettify(s)
  9423  }
  9424  
  9425  // GoString returns the string representation.
  9426  //
  9427  // API parameter values that are decorated as "sensitive" in the API will not
  9428  // be included in the string output. The member name will be present, but the
  9429  // value will be replaced with "sensitive".
  9430  func (s ListAvailableManagementCidrRangesInput) GoString() string {
  9431  	return s.String()
  9432  }
  9433  
  9434  // Validate inspects the fields of the type to determine if they are valid.
  9435  func (s *ListAvailableManagementCidrRangesInput) Validate() error {
  9436  	invalidParams := request.ErrInvalidParams{Context: "ListAvailableManagementCidrRangesInput"}
  9437  	if s.ManagementCidrRangeConstraint == nil {
  9438  		invalidParams.Add(request.NewErrParamRequired("ManagementCidrRangeConstraint"))
  9439  	}
  9440  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9441  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9442  	}
  9443  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9444  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9445  	}
  9446  
  9447  	if invalidParams.Len() > 0 {
  9448  		return invalidParams
  9449  	}
  9450  	return nil
  9451  }
  9452  
  9453  // SetManagementCidrRangeConstraint sets the ManagementCidrRangeConstraint field's value.
  9454  func (s *ListAvailableManagementCidrRangesInput) SetManagementCidrRangeConstraint(v string) *ListAvailableManagementCidrRangesInput {
  9455  	s.ManagementCidrRangeConstraint = &v
  9456  	return s
  9457  }
  9458  
  9459  // SetMaxResults sets the MaxResults field's value.
  9460  func (s *ListAvailableManagementCidrRangesInput) SetMaxResults(v int64) *ListAvailableManagementCidrRangesInput {
  9461  	s.MaxResults = &v
  9462  	return s
  9463  }
  9464  
  9465  // SetNextToken sets the NextToken field's value.
  9466  func (s *ListAvailableManagementCidrRangesInput) SetNextToken(v string) *ListAvailableManagementCidrRangesInput {
  9467  	s.NextToken = &v
  9468  	return s
  9469  }
  9470  
  9471  type ListAvailableManagementCidrRangesOutput struct {
  9472  	_ struct{} `type:"structure"`
  9473  
  9474  	// The list of available IP address ranges, specified as IPv4 CIDR blocks.
  9475  	ManagementCidrRanges []*string `type:"list"`
  9476  
  9477  	// The token to use to retrieve the next page of results. This value is null
  9478  	// when there are no more results to return.
  9479  	NextToken *string `min:"1" type:"string"`
  9480  }
  9481  
  9482  // String returns the string representation.
  9483  //
  9484  // API parameter values that are decorated as "sensitive" in the API will not
  9485  // be included in the string output. The member name will be present, but the
  9486  // value will be replaced with "sensitive".
  9487  func (s ListAvailableManagementCidrRangesOutput) String() string {
  9488  	return awsutil.Prettify(s)
  9489  }
  9490  
  9491  // GoString returns the string representation.
  9492  //
  9493  // API parameter values that are decorated as "sensitive" in the API will not
  9494  // be included in the string output. The member name will be present, but the
  9495  // value will be replaced with "sensitive".
  9496  func (s ListAvailableManagementCidrRangesOutput) GoString() string {
  9497  	return s.String()
  9498  }
  9499  
  9500  // SetManagementCidrRanges sets the ManagementCidrRanges field's value.
  9501  func (s *ListAvailableManagementCidrRangesOutput) SetManagementCidrRanges(v []*string) *ListAvailableManagementCidrRangesOutput {
  9502  	s.ManagementCidrRanges = v
  9503  	return s
  9504  }
  9505  
  9506  // SetNextToken sets the NextToken field's value.
  9507  func (s *ListAvailableManagementCidrRangesOutput) SetNextToken(v string) *ListAvailableManagementCidrRangesOutput {
  9508  	s.NextToken = &v
  9509  	return s
  9510  }
  9511  
  9512  type MigrateWorkspaceInput struct {
  9513  	_ struct{} `type:"structure"`
  9514  
  9515  	// The identifier of the target bundle type to migrate the WorkSpace to.
  9516  	//
  9517  	// BundleId is a required field
  9518  	BundleId *string `type:"string" required:"true"`
  9519  
  9520  	// The identifier of the WorkSpace to migrate from.
  9521  	//
  9522  	// SourceWorkspaceId is a required field
  9523  	SourceWorkspaceId *string `type:"string" required:"true"`
  9524  }
  9525  
  9526  // String returns the string representation.
  9527  //
  9528  // API parameter values that are decorated as "sensitive" in the API will not
  9529  // be included in the string output. The member name will be present, but the
  9530  // value will be replaced with "sensitive".
  9531  func (s MigrateWorkspaceInput) String() string {
  9532  	return awsutil.Prettify(s)
  9533  }
  9534  
  9535  // GoString returns the string representation.
  9536  //
  9537  // API parameter values that are decorated as "sensitive" in the API will not
  9538  // be included in the string output. The member name will be present, but the
  9539  // value will be replaced with "sensitive".
  9540  func (s MigrateWorkspaceInput) GoString() string {
  9541  	return s.String()
  9542  }
  9543  
  9544  // Validate inspects the fields of the type to determine if they are valid.
  9545  func (s *MigrateWorkspaceInput) Validate() error {
  9546  	invalidParams := request.ErrInvalidParams{Context: "MigrateWorkspaceInput"}
  9547  	if s.BundleId == nil {
  9548  		invalidParams.Add(request.NewErrParamRequired("BundleId"))
  9549  	}
  9550  	if s.SourceWorkspaceId == nil {
  9551  		invalidParams.Add(request.NewErrParamRequired("SourceWorkspaceId"))
  9552  	}
  9553  
  9554  	if invalidParams.Len() > 0 {
  9555  		return invalidParams
  9556  	}
  9557  	return nil
  9558  }
  9559  
  9560  // SetBundleId sets the BundleId field's value.
  9561  func (s *MigrateWorkspaceInput) SetBundleId(v string) *MigrateWorkspaceInput {
  9562  	s.BundleId = &v
  9563  	return s
  9564  }
  9565  
  9566  // SetSourceWorkspaceId sets the SourceWorkspaceId field's value.
  9567  func (s *MigrateWorkspaceInput) SetSourceWorkspaceId(v string) *MigrateWorkspaceInput {
  9568  	s.SourceWorkspaceId = &v
  9569  	return s
  9570  }
  9571  
  9572  type MigrateWorkspaceOutput struct {
  9573  	_ struct{} `type:"structure"`
  9574  
  9575  	// The original identifier of the WorkSpace that is being migrated.
  9576  	SourceWorkspaceId *string `type:"string"`
  9577  
  9578  	// The new identifier of the WorkSpace that is being migrated. If the migration
  9579  	// does not succeed, the target WorkSpace ID will not be used, and the WorkSpace
  9580  	// will still have the original WorkSpace ID.
  9581  	TargetWorkspaceId *string `type:"string"`
  9582  }
  9583  
  9584  // String returns the string representation.
  9585  //
  9586  // API parameter values that are decorated as "sensitive" in the API will not
  9587  // be included in the string output. The member name will be present, but the
  9588  // value will be replaced with "sensitive".
  9589  func (s MigrateWorkspaceOutput) String() string {
  9590  	return awsutil.Prettify(s)
  9591  }
  9592  
  9593  // GoString returns the string representation.
  9594  //
  9595  // API parameter values that are decorated as "sensitive" in the API will not
  9596  // be included in the string output. The member name will be present, but the
  9597  // value will be replaced with "sensitive".
  9598  func (s MigrateWorkspaceOutput) GoString() string {
  9599  	return s.String()
  9600  }
  9601  
  9602  // SetSourceWorkspaceId sets the SourceWorkspaceId field's value.
  9603  func (s *MigrateWorkspaceOutput) SetSourceWorkspaceId(v string) *MigrateWorkspaceOutput {
  9604  	s.SourceWorkspaceId = &v
  9605  	return s
  9606  }
  9607  
  9608  // SetTargetWorkspaceId sets the TargetWorkspaceId field's value.
  9609  func (s *MigrateWorkspaceOutput) SetTargetWorkspaceId(v string) *MigrateWorkspaceOutput {
  9610  	s.TargetWorkspaceId = &v
  9611  	return s
  9612  }
  9613  
  9614  // Describes a WorkSpace modification.
  9615  type ModificationState struct {
  9616  	_ struct{} `type:"structure"`
  9617  
  9618  	// The resource.
  9619  	Resource *string `type:"string" enum:"ModificationResourceEnum"`
  9620  
  9621  	// The modification state.
  9622  	State *string `type:"string" enum:"ModificationStateEnum"`
  9623  }
  9624  
  9625  // String returns the string representation.
  9626  //
  9627  // API parameter values that are decorated as "sensitive" in the API will not
  9628  // be included in the string output. The member name will be present, but the
  9629  // value will be replaced with "sensitive".
  9630  func (s ModificationState) String() string {
  9631  	return awsutil.Prettify(s)
  9632  }
  9633  
  9634  // GoString returns the string representation.
  9635  //
  9636  // API parameter values that are decorated as "sensitive" in the API will not
  9637  // be included in the string output. The member name will be present, but the
  9638  // value will be replaced with "sensitive".
  9639  func (s ModificationState) GoString() string {
  9640  	return s.String()
  9641  }
  9642  
  9643  // SetResource sets the Resource field's value.
  9644  func (s *ModificationState) SetResource(v string) *ModificationState {
  9645  	s.Resource = &v
  9646  	return s
  9647  }
  9648  
  9649  // SetState sets the State field's value.
  9650  func (s *ModificationState) SetState(v string) *ModificationState {
  9651  	s.State = &v
  9652  	return s
  9653  }
  9654  
  9655  type ModifyAccountInput struct {
  9656  	_ struct{} `type:"structure"`
  9657  
  9658  	// The IP address range, specified as an IPv4 CIDR block, for the management
  9659  	// network interface. Specify an IP address range that is compatible with your
  9660  	// network and in CIDR notation (that is, specify the range as an IPv4 CIDR
  9661  	// block). The CIDR block size must be /16 (for example, 203.0.113.25/16). It
  9662  	// must also be specified as available by the ListAvailableManagementCidrRanges
  9663  	// operation.
  9664  	DedicatedTenancyManagementCidrRange *string `type:"string"`
  9665  
  9666  	// The status of BYOL.
  9667  	DedicatedTenancySupport *string `type:"string" enum:"DedicatedTenancySupportEnum"`
  9668  }
  9669  
  9670  // String returns the string representation.
  9671  //
  9672  // API parameter values that are decorated as "sensitive" in the API will not
  9673  // be included in the string output. The member name will be present, but the
  9674  // value will be replaced with "sensitive".
  9675  func (s ModifyAccountInput) String() string {
  9676  	return awsutil.Prettify(s)
  9677  }
  9678  
  9679  // GoString returns the string representation.
  9680  //
  9681  // API parameter values that are decorated as "sensitive" in the API will not
  9682  // be included in the string output. The member name will be present, but the
  9683  // value will be replaced with "sensitive".
  9684  func (s ModifyAccountInput) GoString() string {
  9685  	return s.String()
  9686  }
  9687  
  9688  // SetDedicatedTenancyManagementCidrRange sets the DedicatedTenancyManagementCidrRange field's value.
  9689  func (s *ModifyAccountInput) SetDedicatedTenancyManagementCidrRange(v string) *ModifyAccountInput {
  9690  	s.DedicatedTenancyManagementCidrRange = &v
  9691  	return s
  9692  }
  9693  
  9694  // SetDedicatedTenancySupport sets the DedicatedTenancySupport field's value.
  9695  func (s *ModifyAccountInput) SetDedicatedTenancySupport(v string) *ModifyAccountInput {
  9696  	s.DedicatedTenancySupport = &v
  9697  	return s
  9698  }
  9699  
  9700  type ModifyAccountOutput struct {
  9701  	_ struct{} `type:"structure"`
  9702  }
  9703  
  9704  // String returns the string representation.
  9705  //
  9706  // API parameter values that are decorated as "sensitive" in the API will not
  9707  // be included in the string output. The member name will be present, but the
  9708  // value will be replaced with "sensitive".
  9709  func (s ModifyAccountOutput) String() string {
  9710  	return awsutil.Prettify(s)
  9711  }
  9712  
  9713  // GoString returns the string representation.
  9714  //
  9715  // API parameter values that are decorated as "sensitive" in the API will not
  9716  // be included in the string output. The member name will be present, but the
  9717  // value will be replaced with "sensitive".
  9718  func (s ModifyAccountOutput) GoString() string {
  9719  	return s.String()
  9720  }
  9721  
  9722  type ModifyClientPropertiesInput struct {
  9723  	_ struct{} `type:"structure"`
  9724  
  9725  	// Information about the Amazon WorkSpaces client.
  9726  	//
  9727  	// ClientProperties is a required field
  9728  	ClientProperties *ClientProperties `type:"structure" required:"true"`
  9729  
  9730  	// The resource identifiers, in the form of directory IDs.
  9731  	//
  9732  	// ResourceId is a required field
  9733  	ResourceId *string `min:"1" type:"string" required:"true"`
  9734  }
  9735  
  9736  // String returns the string representation.
  9737  //
  9738  // API parameter values that are decorated as "sensitive" in the API will not
  9739  // be included in the string output. The member name will be present, but the
  9740  // value will be replaced with "sensitive".
  9741  func (s ModifyClientPropertiesInput) String() string {
  9742  	return awsutil.Prettify(s)
  9743  }
  9744  
  9745  // GoString returns the string representation.
  9746  //
  9747  // API parameter values that are decorated as "sensitive" in the API will not
  9748  // be included in the string output. The member name will be present, but the
  9749  // value will be replaced with "sensitive".
  9750  func (s ModifyClientPropertiesInput) GoString() string {
  9751  	return s.String()
  9752  }
  9753  
  9754  // Validate inspects the fields of the type to determine if they are valid.
  9755  func (s *ModifyClientPropertiesInput) Validate() error {
  9756  	invalidParams := request.ErrInvalidParams{Context: "ModifyClientPropertiesInput"}
  9757  	if s.ClientProperties == nil {
  9758  		invalidParams.Add(request.NewErrParamRequired("ClientProperties"))
  9759  	}
  9760  	if s.ResourceId == nil {
  9761  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  9762  	}
  9763  	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  9764  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  9765  	}
  9766  
  9767  	if invalidParams.Len() > 0 {
  9768  		return invalidParams
  9769  	}
  9770  	return nil
  9771  }
  9772  
  9773  // SetClientProperties sets the ClientProperties field's value.
  9774  func (s *ModifyClientPropertiesInput) SetClientProperties(v *ClientProperties) *ModifyClientPropertiesInput {
  9775  	s.ClientProperties = v
  9776  	return s
  9777  }
  9778  
  9779  // SetResourceId sets the ResourceId field's value.
  9780  func (s *ModifyClientPropertiesInput) SetResourceId(v string) *ModifyClientPropertiesInput {
  9781  	s.ResourceId = &v
  9782  	return s
  9783  }
  9784  
  9785  type ModifyClientPropertiesOutput struct {
  9786  	_ struct{} `type:"structure"`
  9787  }
  9788  
  9789  // String returns the string representation.
  9790  //
  9791  // API parameter values that are decorated as "sensitive" in the API will not
  9792  // be included in the string output. The member name will be present, but the
  9793  // value will be replaced with "sensitive".
  9794  func (s ModifyClientPropertiesOutput) String() string {
  9795  	return awsutil.Prettify(s)
  9796  }
  9797  
  9798  // GoString returns the string representation.
  9799  //
  9800  // API parameter values that are decorated as "sensitive" in the API will not
  9801  // be included in the string output. The member name will be present, but the
  9802  // value will be replaced with "sensitive".
  9803  func (s ModifyClientPropertiesOutput) GoString() string {
  9804  	return s.String()
  9805  }
  9806  
  9807  type ModifySelfservicePermissionsInput struct {
  9808  	_ struct{} `type:"structure"`
  9809  
  9810  	// The identifier of the directory.
  9811  	//
  9812  	// ResourceId is a required field
  9813  	ResourceId *string `min:"10" type:"string" required:"true"`
  9814  
  9815  	// The permissions to enable or disable self-service capabilities.
  9816  	//
  9817  	// SelfservicePermissions is a required field
  9818  	SelfservicePermissions *SelfservicePermissions `type:"structure" required:"true"`
  9819  }
  9820  
  9821  // String returns the string representation.
  9822  //
  9823  // API parameter values that are decorated as "sensitive" in the API will not
  9824  // be included in the string output. The member name will be present, but the
  9825  // value will be replaced with "sensitive".
  9826  func (s ModifySelfservicePermissionsInput) String() string {
  9827  	return awsutil.Prettify(s)
  9828  }
  9829  
  9830  // GoString returns the string representation.
  9831  //
  9832  // API parameter values that are decorated as "sensitive" in the API will not
  9833  // be included in the string output. The member name will be present, but the
  9834  // value will be replaced with "sensitive".
  9835  func (s ModifySelfservicePermissionsInput) GoString() string {
  9836  	return s.String()
  9837  }
  9838  
  9839  // Validate inspects the fields of the type to determine if they are valid.
  9840  func (s *ModifySelfservicePermissionsInput) Validate() error {
  9841  	invalidParams := request.ErrInvalidParams{Context: "ModifySelfservicePermissionsInput"}
  9842  	if s.ResourceId == nil {
  9843  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  9844  	}
  9845  	if s.ResourceId != nil && len(*s.ResourceId) < 10 {
  9846  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 10))
  9847  	}
  9848  	if s.SelfservicePermissions == nil {
  9849  		invalidParams.Add(request.NewErrParamRequired("SelfservicePermissions"))
  9850  	}
  9851  
  9852  	if invalidParams.Len() > 0 {
  9853  		return invalidParams
  9854  	}
  9855  	return nil
  9856  }
  9857  
  9858  // SetResourceId sets the ResourceId field's value.
  9859  func (s *ModifySelfservicePermissionsInput) SetResourceId(v string) *ModifySelfservicePermissionsInput {
  9860  	s.ResourceId = &v
  9861  	return s
  9862  }
  9863  
  9864  // SetSelfservicePermissions sets the SelfservicePermissions field's value.
  9865  func (s *ModifySelfservicePermissionsInput) SetSelfservicePermissions(v *SelfservicePermissions) *ModifySelfservicePermissionsInput {
  9866  	s.SelfservicePermissions = v
  9867  	return s
  9868  }
  9869  
  9870  type ModifySelfservicePermissionsOutput struct {
  9871  	_ struct{} `type:"structure"`
  9872  }
  9873  
  9874  // String returns the string representation.
  9875  //
  9876  // API parameter values that are decorated as "sensitive" in the API will not
  9877  // be included in the string output. The member name will be present, but the
  9878  // value will be replaced with "sensitive".
  9879  func (s ModifySelfservicePermissionsOutput) String() string {
  9880  	return awsutil.Prettify(s)
  9881  }
  9882  
  9883  // GoString returns the string representation.
  9884  //
  9885  // API parameter values that are decorated as "sensitive" in the API will not
  9886  // be included in the string output. The member name will be present, but the
  9887  // value will be replaced with "sensitive".
  9888  func (s ModifySelfservicePermissionsOutput) GoString() string {
  9889  	return s.String()
  9890  }
  9891  
  9892  type ModifyWorkspaceAccessPropertiesInput struct {
  9893  	_ struct{} `type:"structure"`
  9894  
  9895  	// The identifier of the directory.
  9896  	//
  9897  	// ResourceId is a required field
  9898  	ResourceId *string `min:"10" type:"string" required:"true"`
  9899  
  9900  	// The device types and operating systems to enable or disable for access.
  9901  	//
  9902  	// WorkspaceAccessProperties is a required field
  9903  	WorkspaceAccessProperties *WorkspaceAccessProperties `type:"structure" required:"true"`
  9904  }
  9905  
  9906  // String returns the string representation.
  9907  //
  9908  // API parameter values that are decorated as "sensitive" in the API will not
  9909  // be included in the string output. The member name will be present, but the
  9910  // value will be replaced with "sensitive".
  9911  func (s ModifyWorkspaceAccessPropertiesInput) String() string {
  9912  	return awsutil.Prettify(s)
  9913  }
  9914  
  9915  // GoString returns the string representation.
  9916  //
  9917  // API parameter values that are decorated as "sensitive" in the API will not
  9918  // be included in the string output. The member name will be present, but the
  9919  // value will be replaced with "sensitive".
  9920  func (s ModifyWorkspaceAccessPropertiesInput) GoString() string {
  9921  	return s.String()
  9922  }
  9923  
  9924  // Validate inspects the fields of the type to determine if they are valid.
  9925  func (s *ModifyWorkspaceAccessPropertiesInput) Validate() error {
  9926  	invalidParams := request.ErrInvalidParams{Context: "ModifyWorkspaceAccessPropertiesInput"}
  9927  	if s.ResourceId == nil {
  9928  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  9929  	}
  9930  	if s.ResourceId != nil && len(*s.ResourceId) < 10 {
  9931  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 10))
  9932  	}
  9933  	if s.WorkspaceAccessProperties == nil {
  9934  		invalidParams.Add(request.NewErrParamRequired("WorkspaceAccessProperties"))
  9935  	}
  9936  
  9937  	if invalidParams.Len() > 0 {
  9938  		return invalidParams
  9939  	}
  9940  	return nil
  9941  }
  9942  
  9943  // SetResourceId sets the ResourceId field's value.
  9944  func (s *ModifyWorkspaceAccessPropertiesInput) SetResourceId(v string) *ModifyWorkspaceAccessPropertiesInput {
  9945  	s.ResourceId = &v
  9946  	return s
  9947  }
  9948  
  9949  // SetWorkspaceAccessProperties sets the WorkspaceAccessProperties field's value.
  9950  func (s *ModifyWorkspaceAccessPropertiesInput) SetWorkspaceAccessProperties(v *WorkspaceAccessProperties) *ModifyWorkspaceAccessPropertiesInput {
  9951  	s.WorkspaceAccessProperties = v
  9952  	return s
  9953  }
  9954  
  9955  type ModifyWorkspaceAccessPropertiesOutput struct {
  9956  	_ struct{} `type:"structure"`
  9957  }
  9958  
  9959  // String returns the string representation.
  9960  //
  9961  // API parameter values that are decorated as "sensitive" in the API will not
  9962  // be included in the string output. The member name will be present, but the
  9963  // value will be replaced with "sensitive".
  9964  func (s ModifyWorkspaceAccessPropertiesOutput) String() string {
  9965  	return awsutil.Prettify(s)
  9966  }
  9967  
  9968  // GoString returns the string representation.
  9969  //
  9970  // API parameter values that are decorated as "sensitive" in the API will not
  9971  // be included in the string output. The member name will be present, but the
  9972  // value will be replaced with "sensitive".
  9973  func (s ModifyWorkspaceAccessPropertiesOutput) GoString() string {
  9974  	return s.String()
  9975  }
  9976  
  9977  type ModifyWorkspaceCreationPropertiesInput struct {
  9978  	_ struct{} `type:"structure"`
  9979  
  9980  	// The identifier of the directory.
  9981  	//
  9982  	// ResourceId is a required field
  9983  	ResourceId *string `min:"10" type:"string" required:"true"`
  9984  
  9985  	// The default properties for creating WorkSpaces.
  9986  	//
  9987  	// WorkspaceCreationProperties is a required field
  9988  	WorkspaceCreationProperties *WorkspaceCreationProperties `type:"structure" required:"true"`
  9989  }
  9990  
  9991  // String returns the string representation.
  9992  //
  9993  // API parameter values that are decorated as "sensitive" in the API will not
  9994  // be included in the string output. The member name will be present, but the
  9995  // value will be replaced with "sensitive".
  9996  func (s ModifyWorkspaceCreationPropertiesInput) String() string {
  9997  	return awsutil.Prettify(s)
  9998  }
  9999  
 10000  // GoString returns the string representation.
 10001  //
 10002  // API parameter values that are decorated as "sensitive" in the API will not
 10003  // be included in the string output. The member name will be present, but the
 10004  // value will be replaced with "sensitive".
 10005  func (s ModifyWorkspaceCreationPropertiesInput) GoString() string {
 10006  	return s.String()
 10007  }
 10008  
 10009  // Validate inspects the fields of the type to determine if they are valid.
 10010  func (s *ModifyWorkspaceCreationPropertiesInput) Validate() error {
 10011  	invalidParams := request.ErrInvalidParams{Context: "ModifyWorkspaceCreationPropertiesInput"}
 10012  	if s.ResourceId == nil {
 10013  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 10014  	}
 10015  	if s.ResourceId != nil && len(*s.ResourceId) < 10 {
 10016  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 10))
 10017  	}
 10018  	if s.WorkspaceCreationProperties == nil {
 10019  		invalidParams.Add(request.NewErrParamRequired("WorkspaceCreationProperties"))
 10020  	}
 10021  	if s.WorkspaceCreationProperties != nil {
 10022  		if err := s.WorkspaceCreationProperties.Validate(); err != nil {
 10023  			invalidParams.AddNested("WorkspaceCreationProperties", err.(request.ErrInvalidParams))
 10024  		}
 10025  	}
 10026  
 10027  	if invalidParams.Len() > 0 {
 10028  		return invalidParams
 10029  	}
 10030  	return nil
 10031  }
 10032  
 10033  // SetResourceId sets the ResourceId field's value.
 10034  func (s *ModifyWorkspaceCreationPropertiesInput) SetResourceId(v string) *ModifyWorkspaceCreationPropertiesInput {
 10035  	s.ResourceId = &v
 10036  	return s
 10037  }
 10038  
 10039  // SetWorkspaceCreationProperties sets the WorkspaceCreationProperties field's value.
 10040  func (s *ModifyWorkspaceCreationPropertiesInput) SetWorkspaceCreationProperties(v *WorkspaceCreationProperties) *ModifyWorkspaceCreationPropertiesInput {
 10041  	s.WorkspaceCreationProperties = v
 10042  	return s
 10043  }
 10044  
 10045  type ModifyWorkspaceCreationPropertiesOutput struct {
 10046  	_ struct{} `type:"structure"`
 10047  }
 10048  
 10049  // String returns the string representation.
 10050  //
 10051  // API parameter values that are decorated as "sensitive" in the API will not
 10052  // be included in the string output. The member name will be present, but the
 10053  // value will be replaced with "sensitive".
 10054  func (s ModifyWorkspaceCreationPropertiesOutput) String() string {
 10055  	return awsutil.Prettify(s)
 10056  }
 10057  
 10058  // GoString returns the string representation.
 10059  //
 10060  // API parameter values that are decorated as "sensitive" in the API will not
 10061  // be included in the string output. The member name will be present, but the
 10062  // value will be replaced with "sensitive".
 10063  func (s ModifyWorkspaceCreationPropertiesOutput) GoString() string {
 10064  	return s.String()
 10065  }
 10066  
 10067  type ModifyWorkspacePropertiesInput struct {
 10068  	_ struct{} `type:"structure"`
 10069  
 10070  	// The identifier of the WorkSpace.
 10071  	//
 10072  	// WorkspaceId is a required field
 10073  	WorkspaceId *string `type:"string" required:"true"`
 10074  
 10075  	// The properties of the WorkSpace.
 10076  	//
 10077  	// WorkspaceProperties is a required field
 10078  	WorkspaceProperties *WorkspaceProperties `type:"structure" required:"true"`
 10079  }
 10080  
 10081  // String returns the string representation.
 10082  //
 10083  // API parameter values that are decorated as "sensitive" in the API will not
 10084  // be included in the string output. The member name will be present, but the
 10085  // value will be replaced with "sensitive".
 10086  func (s ModifyWorkspacePropertiesInput) String() string {
 10087  	return awsutil.Prettify(s)
 10088  }
 10089  
 10090  // GoString returns the string representation.
 10091  //
 10092  // API parameter values that are decorated as "sensitive" in the API will not
 10093  // be included in the string output. The member name will be present, but the
 10094  // value will be replaced with "sensitive".
 10095  func (s ModifyWorkspacePropertiesInput) GoString() string {
 10096  	return s.String()
 10097  }
 10098  
 10099  // Validate inspects the fields of the type to determine if they are valid.
 10100  func (s *ModifyWorkspacePropertiesInput) Validate() error {
 10101  	invalidParams := request.ErrInvalidParams{Context: "ModifyWorkspacePropertiesInput"}
 10102  	if s.WorkspaceId == nil {
 10103  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
 10104  	}
 10105  	if s.WorkspaceProperties == nil {
 10106  		invalidParams.Add(request.NewErrParamRequired("WorkspaceProperties"))
 10107  	}
 10108  
 10109  	if invalidParams.Len() > 0 {
 10110  		return invalidParams
 10111  	}
 10112  	return nil
 10113  }
 10114  
 10115  // SetWorkspaceId sets the WorkspaceId field's value.
 10116  func (s *ModifyWorkspacePropertiesInput) SetWorkspaceId(v string) *ModifyWorkspacePropertiesInput {
 10117  	s.WorkspaceId = &v
 10118  	return s
 10119  }
 10120  
 10121  // SetWorkspaceProperties sets the WorkspaceProperties field's value.
 10122  func (s *ModifyWorkspacePropertiesInput) SetWorkspaceProperties(v *WorkspaceProperties) *ModifyWorkspacePropertiesInput {
 10123  	s.WorkspaceProperties = v
 10124  	return s
 10125  }
 10126  
 10127  type ModifyWorkspacePropertiesOutput struct {
 10128  	_ struct{} `type:"structure"`
 10129  }
 10130  
 10131  // String returns the string representation.
 10132  //
 10133  // API parameter values that are decorated as "sensitive" in the API will not
 10134  // be included in the string output. The member name will be present, but the
 10135  // value will be replaced with "sensitive".
 10136  func (s ModifyWorkspacePropertiesOutput) String() string {
 10137  	return awsutil.Prettify(s)
 10138  }
 10139  
 10140  // GoString returns the string representation.
 10141  //
 10142  // API parameter values that are decorated as "sensitive" in the API will not
 10143  // be included in the string output. The member name will be present, but the
 10144  // value will be replaced with "sensitive".
 10145  func (s ModifyWorkspacePropertiesOutput) GoString() string {
 10146  	return s.String()
 10147  }
 10148  
 10149  type ModifyWorkspaceStateInput struct {
 10150  	_ struct{} `type:"structure"`
 10151  
 10152  	// The identifier of the WorkSpace.
 10153  	//
 10154  	// WorkspaceId is a required field
 10155  	WorkspaceId *string `type:"string" required:"true"`
 10156  
 10157  	// The WorkSpace state.
 10158  	//
 10159  	// WorkspaceState is a required field
 10160  	WorkspaceState *string `type:"string" required:"true" enum:"TargetWorkspaceState"`
 10161  }
 10162  
 10163  // String returns the string representation.
 10164  //
 10165  // API parameter values that are decorated as "sensitive" in the API will not
 10166  // be included in the string output. The member name will be present, but the
 10167  // value will be replaced with "sensitive".
 10168  func (s ModifyWorkspaceStateInput) String() string {
 10169  	return awsutil.Prettify(s)
 10170  }
 10171  
 10172  // GoString returns the string representation.
 10173  //
 10174  // API parameter values that are decorated as "sensitive" in the API will not
 10175  // be included in the string output. The member name will be present, but the
 10176  // value will be replaced with "sensitive".
 10177  func (s ModifyWorkspaceStateInput) GoString() string {
 10178  	return s.String()
 10179  }
 10180  
 10181  // Validate inspects the fields of the type to determine if they are valid.
 10182  func (s *ModifyWorkspaceStateInput) Validate() error {
 10183  	invalidParams := request.ErrInvalidParams{Context: "ModifyWorkspaceStateInput"}
 10184  	if s.WorkspaceId == nil {
 10185  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
 10186  	}
 10187  	if s.WorkspaceState == nil {
 10188  		invalidParams.Add(request.NewErrParamRequired("WorkspaceState"))
 10189  	}
 10190  
 10191  	if invalidParams.Len() > 0 {
 10192  		return invalidParams
 10193  	}
 10194  	return nil
 10195  }
 10196  
 10197  // SetWorkspaceId sets the WorkspaceId field's value.
 10198  func (s *ModifyWorkspaceStateInput) SetWorkspaceId(v string) *ModifyWorkspaceStateInput {
 10199  	s.WorkspaceId = &v
 10200  	return s
 10201  }
 10202  
 10203  // SetWorkspaceState sets the WorkspaceState field's value.
 10204  func (s *ModifyWorkspaceStateInput) SetWorkspaceState(v string) *ModifyWorkspaceStateInput {
 10205  	s.WorkspaceState = &v
 10206  	return s
 10207  }
 10208  
 10209  type ModifyWorkspaceStateOutput struct {
 10210  	_ struct{} `type:"structure"`
 10211  }
 10212  
 10213  // String returns the string representation.
 10214  //
 10215  // API parameter values that are decorated as "sensitive" in the API will not
 10216  // be included in the string output. The member name will be present, but the
 10217  // value will be replaced with "sensitive".
 10218  func (s ModifyWorkspaceStateOutput) String() string {
 10219  	return awsutil.Prettify(s)
 10220  }
 10221  
 10222  // GoString returns the string representation.
 10223  //
 10224  // API parameter values that are decorated as "sensitive" in the API will not
 10225  // be included in the string output. The member name will be present, but the
 10226  // value will be replaced with "sensitive".
 10227  func (s ModifyWorkspaceStateOutput) GoString() string {
 10228  	return s.String()
 10229  }
 10230  
 10231  // The operating system that the image is running.
 10232  type OperatingSystem struct {
 10233  	_ struct{} `type:"structure"`
 10234  
 10235  	// The operating system.
 10236  	Type *string `type:"string" enum:"OperatingSystemType"`
 10237  }
 10238  
 10239  // String returns the string representation.
 10240  //
 10241  // API parameter values that are decorated as "sensitive" in the API will not
 10242  // be included in the string output. The member name will be present, but the
 10243  // value will be replaced with "sensitive".
 10244  func (s OperatingSystem) String() string {
 10245  	return awsutil.Prettify(s)
 10246  }
 10247  
 10248  // GoString returns the string representation.
 10249  //
 10250  // API parameter values that are decorated as "sensitive" in the API will not
 10251  // be included in the string output. The member name will be present, but the
 10252  // value will be replaced with "sensitive".
 10253  func (s OperatingSystem) GoString() string {
 10254  	return s.String()
 10255  }
 10256  
 10257  // SetType sets the Type field's value.
 10258  func (s *OperatingSystem) SetType(v string) *OperatingSystem {
 10259  	s.Type = &v
 10260  	return s
 10261  }
 10262  
 10263  // The properties of this WorkSpace are currently being modified. Try again
 10264  // in a moment.
 10265  type OperationInProgressException struct {
 10266  	_            struct{}                  `type:"structure"`
 10267  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10268  
 10269  	Message_ *string `locationName:"message" type:"string"`
 10270  }
 10271  
 10272  // String returns the string representation.
 10273  //
 10274  // API parameter values that are decorated as "sensitive" in the API will not
 10275  // be included in the string output. The member name will be present, but the
 10276  // value will be replaced with "sensitive".
 10277  func (s OperationInProgressException) String() string {
 10278  	return awsutil.Prettify(s)
 10279  }
 10280  
 10281  // GoString returns the string representation.
 10282  //
 10283  // API parameter values that are decorated as "sensitive" in the API will not
 10284  // be included in the string output. The member name will be present, but the
 10285  // value will be replaced with "sensitive".
 10286  func (s OperationInProgressException) GoString() string {
 10287  	return s.String()
 10288  }
 10289  
 10290  func newErrorOperationInProgressException(v protocol.ResponseMetadata) error {
 10291  	return &OperationInProgressException{
 10292  		RespMetadata: v,
 10293  	}
 10294  }
 10295  
 10296  // Code returns the exception type name.
 10297  func (s *OperationInProgressException) Code() string {
 10298  	return "OperationInProgressException"
 10299  }
 10300  
 10301  // Message returns the exception's message.
 10302  func (s *OperationInProgressException) Message() string {
 10303  	if s.Message_ != nil {
 10304  		return *s.Message_
 10305  	}
 10306  	return ""
 10307  }
 10308  
 10309  // OrigErr always returns nil, satisfies awserr.Error interface.
 10310  func (s *OperationInProgressException) OrigErr() error {
 10311  	return nil
 10312  }
 10313  
 10314  func (s *OperationInProgressException) Error() string {
 10315  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10316  }
 10317  
 10318  // Status code returns the HTTP status code for the request's response error.
 10319  func (s *OperationInProgressException) StatusCode() int {
 10320  	return s.RespMetadata.StatusCode
 10321  }
 10322  
 10323  // RequestID returns the service's response RequestID for request.
 10324  func (s *OperationInProgressException) RequestID() string {
 10325  	return s.RespMetadata.RequestID
 10326  }
 10327  
 10328  // This operation is not supported.
 10329  type OperationNotSupportedException struct {
 10330  	_            struct{}                  `type:"structure"`
 10331  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10332  
 10333  	Message_ *string `locationName:"message" type:"string"`
 10334  }
 10335  
 10336  // String returns the string representation.
 10337  //
 10338  // API parameter values that are decorated as "sensitive" in the API will not
 10339  // be included in the string output. The member name will be present, but the
 10340  // value will be replaced with "sensitive".
 10341  func (s OperationNotSupportedException) String() string {
 10342  	return awsutil.Prettify(s)
 10343  }
 10344  
 10345  // GoString returns the string representation.
 10346  //
 10347  // API parameter values that are decorated as "sensitive" in the API will not
 10348  // be included in the string output. The member name will be present, but the
 10349  // value will be replaced with "sensitive".
 10350  func (s OperationNotSupportedException) GoString() string {
 10351  	return s.String()
 10352  }
 10353  
 10354  func newErrorOperationNotSupportedException(v protocol.ResponseMetadata) error {
 10355  	return &OperationNotSupportedException{
 10356  		RespMetadata: v,
 10357  	}
 10358  }
 10359  
 10360  // Code returns the exception type name.
 10361  func (s *OperationNotSupportedException) Code() string {
 10362  	return "OperationNotSupportedException"
 10363  }
 10364  
 10365  // Message returns the exception's message.
 10366  func (s *OperationNotSupportedException) Message() string {
 10367  	if s.Message_ != nil {
 10368  		return *s.Message_
 10369  	}
 10370  	return ""
 10371  }
 10372  
 10373  // OrigErr always returns nil, satisfies awserr.Error interface.
 10374  func (s *OperationNotSupportedException) OrigErr() error {
 10375  	return nil
 10376  }
 10377  
 10378  func (s *OperationNotSupportedException) Error() string {
 10379  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10380  }
 10381  
 10382  // Status code returns the HTTP status code for the request's response error.
 10383  func (s *OperationNotSupportedException) StatusCode() int {
 10384  	return s.RespMetadata.StatusCode
 10385  }
 10386  
 10387  // RequestID returns the service's response RequestID for request.
 10388  func (s *OperationNotSupportedException) RequestID() string {
 10389  	return s.RespMetadata.RequestID
 10390  }
 10391  
 10392  // Describes the information used to reboot a WorkSpace.
 10393  type RebootRequest struct {
 10394  	_ struct{} `type:"structure"`
 10395  
 10396  	// The identifier of the WorkSpace.
 10397  	//
 10398  	// WorkspaceId is a required field
 10399  	WorkspaceId *string `type:"string" required:"true"`
 10400  }
 10401  
 10402  // String returns the string representation.
 10403  //
 10404  // API parameter values that are decorated as "sensitive" in the API will not
 10405  // be included in the string output. The member name will be present, but the
 10406  // value will be replaced with "sensitive".
 10407  func (s RebootRequest) String() string {
 10408  	return awsutil.Prettify(s)
 10409  }
 10410  
 10411  // GoString returns the string representation.
 10412  //
 10413  // API parameter values that are decorated as "sensitive" in the API will not
 10414  // be included in the string output. The member name will be present, but the
 10415  // value will be replaced with "sensitive".
 10416  func (s RebootRequest) GoString() string {
 10417  	return s.String()
 10418  }
 10419  
 10420  // Validate inspects the fields of the type to determine if they are valid.
 10421  func (s *RebootRequest) Validate() error {
 10422  	invalidParams := request.ErrInvalidParams{Context: "RebootRequest"}
 10423  	if s.WorkspaceId == nil {
 10424  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
 10425  	}
 10426  
 10427  	if invalidParams.Len() > 0 {
 10428  		return invalidParams
 10429  	}
 10430  	return nil
 10431  }
 10432  
 10433  // SetWorkspaceId sets the WorkspaceId field's value.
 10434  func (s *RebootRequest) SetWorkspaceId(v string) *RebootRequest {
 10435  	s.WorkspaceId = &v
 10436  	return s
 10437  }
 10438  
 10439  type RebootWorkspacesInput struct {
 10440  	_ struct{} `type:"structure"`
 10441  
 10442  	// The WorkSpaces to reboot. You can specify up to 25 WorkSpaces.
 10443  	//
 10444  	// RebootWorkspaceRequests is a required field
 10445  	RebootWorkspaceRequests []*RebootRequest `min:"1" type:"list" required:"true"`
 10446  }
 10447  
 10448  // String returns the string representation.
 10449  //
 10450  // API parameter values that are decorated as "sensitive" in the API will not
 10451  // be included in the string output. The member name will be present, but the
 10452  // value will be replaced with "sensitive".
 10453  func (s RebootWorkspacesInput) String() string {
 10454  	return awsutil.Prettify(s)
 10455  }
 10456  
 10457  // GoString returns the string representation.
 10458  //
 10459  // API parameter values that are decorated as "sensitive" in the API will not
 10460  // be included in the string output. The member name will be present, but the
 10461  // value will be replaced with "sensitive".
 10462  func (s RebootWorkspacesInput) GoString() string {
 10463  	return s.String()
 10464  }
 10465  
 10466  // Validate inspects the fields of the type to determine if they are valid.
 10467  func (s *RebootWorkspacesInput) Validate() error {
 10468  	invalidParams := request.ErrInvalidParams{Context: "RebootWorkspacesInput"}
 10469  	if s.RebootWorkspaceRequests == nil {
 10470  		invalidParams.Add(request.NewErrParamRequired("RebootWorkspaceRequests"))
 10471  	}
 10472  	if s.RebootWorkspaceRequests != nil && len(s.RebootWorkspaceRequests) < 1 {
 10473  		invalidParams.Add(request.NewErrParamMinLen("RebootWorkspaceRequests", 1))
 10474  	}
 10475  	if s.RebootWorkspaceRequests != nil {
 10476  		for i, v := range s.RebootWorkspaceRequests {
 10477  			if v == nil {
 10478  				continue
 10479  			}
 10480  			if err := v.Validate(); err != nil {
 10481  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RebootWorkspaceRequests", i), err.(request.ErrInvalidParams))
 10482  			}
 10483  		}
 10484  	}
 10485  
 10486  	if invalidParams.Len() > 0 {
 10487  		return invalidParams
 10488  	}
 10489  	return nil
 10490  }
 10491  
 10492  // SetRebootWorkspaceRequests sets the RebootWorkspaceRequests field's value.
 10493  func (s *RebootWorkspacesInput) SetRebootWorkspaceRequests(v []*RebootRequest) *RebootWorkspacesInput {
 10494  	s.RebootWorkspaceRequests = v
 10495  	return s
 10496  }
 10497  
 10498  type RebootWorkspacesOutput struct {
 10499  	_ struct{} `type:"structure"`
 10500  
 10501  	// Information about the WorkSpaces that could not be rebooted.
 10502  	FailedRequests []*FailedWorkspaceChangeRequest `type:"list"`
 10503  }
 10504  
 10505  // String returns the string representation.
 10506  //
 10507  // API parameter values that are decorated as "sensitive" in the API will not
 10508  // be included in the string output. The member name will be present, but the
 10509  // value will be replaced with "sensitive".
 10510  func (s RebootWorkspacesOutput) String() string {
 10511  	return awsutil.Prettify(s)
 10512  }
 10513  
 10514  // GoString returns the string representation.
 10515  //
 10516  // API parameter values that are decorated as "sensitive" in the API will not
 10517  // be included in the string output. The member name will be present, but the
 10518  // value will be replaced with "sensitive".
 10519  func (s RebootWorkspacesOutput) GoString() string {
 10520  	return s.String()
 10521  }
 10522  
 10523  // SetFailedRequests sets the FailedRequests field's value.
 10524  func (s *RebootWorkspacesOutput) SetFailedRequests(v []*FailedWorkspaceChangeRequest) *RebootWorkspacesOutput {
 10525  	s.FailedRequests = v
 10526  	return s
 10527  }
 10528  
 10529  // Describes the information used to rebuild a WorkSpace.
 10530  type RebuildRequest struct {
 10531  	_ struct{} `type:"structure"`
 10532  
 10533  	// The identifier of the WorkSpace.
 10534  	//
 10535  	// WorkspaceId is a required field
 10536  	WorkspaceId *string `type:"string" required:"true"`
 10537  }
 10538  
 10539  // String returns the string representation.
 10540  //
 10541  // API parameter values that are decorated as "sensitive" in the API will not
 10542  // be included in the string output. The member name will be present, but the
 10543  // value will be replaced with "sensitive".
 10544  func (s RebuildRequest) String() string {
 10545  	return awsutil.Prettify(s)
 10546  }
 10547  
 10548  // GoString returns the string representation.
 10549  //
 10550  // API parameter values that are decorated as "sensitive" in the API will not
 10551  // be included in the string output. The member name will be present, but the
 10552  // value will be replaced with "sensitive".
 10553  func (s RebuildRequest) GoString() string {
 10554  	return s.String()
 10555  }
 10556  
 10557  // Validate inspects the fields of the type to determine if they are valid.
 10558  func (s *RebuildRequest) Validate() error {
 10559  	invalidParams := request.ErrInvalidParams{Context: "RebuildRequest"}
 10560  	if s.WorkspaceId == nil {
 10561  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
 10562  	}
 10563  
 10564  	if invalidParams.Len() > 0 {
 10565  		return invalidParams
 10566  	}
 10567  	return nil
 10568  }
 10569  
 10570  // SetWorkspaceId sets the WorkspaceId field's value.
 10571  func (s *RebuildRequest) SetWorkspaceId(v string) *RebuildRequest {
 10572  	s.WorkspaceId = &v
 10573  	return s
 10574  }
 10575  
 10576  type RebuildWorkspacesInput struct {
 10577  	_ struct{} `type:"structure"`
 10578  
 10579  	// The WorkSpace to rebuild. You can specify a single WorkSpace.
 10580  	//
 10581  	// RebuildWorkspaceRequests is a required field
 10582  	RebuildWorkspaceRequests []*RebuildRequest `min:"1" type:"list" required:"true"`
 10583  }
 10584  
 10585  // String returns the string representation.
 10586  //
 10587  // API parameter values that are decorated as "sensitive" in the API will not
 10588  // be included in the string output. The member name will be present, but the
 10589  // value will be replaced with "sensitive".
 10590  func (s RebuildWorkspacesInput) String() string {
 10591  	return awsutil.Prettify(s)
 10592  }
 10593  
 10594  // GoString returns the string representation.
 10595  //
 10596  // API parameter values that are decorated as "sensitive" in the API will not
 10597  // be included in the string output. The member name will be present, but the
 10598  // value will be replaced with "sensitive".
 10599  func (s RebuildWorkspacesInput) GoString() string {
 10600  	return s.String()
 10601  }
 10602  
 10603  // Validate inspects the fields of the type to determine if they are valid.
 10604  func (s *RebuildWorkspacesInput) Validate() error {
 10605  	invalidParams := request.ErrInvalidParams{Context: "RebuildWorkspacesInput"}
 10606  	if s.RebuildWorkspaceRequests == nil {
 10607  		invalidParams.Add(request.NewErrParamRequired("RebuildWorkspaceRequests"))
 10608  	}
 10609  	if s.RebuildWorkspaceRequests != nil && len(s.RebuildWorkspaceRequests) < 1 {
 10610  		invalidParams.Add(request.NewErrParamMinLen("RebuildWorkspaceRequests", 1))
 10611  	}
 10612  	if s.RebuildWorkspaceRequests != nil {
 10613  		for i, v := range s.RebuildWorkspaceRequests {
 10614  			if v == nil {
 10615  				continue
 10616  			}
 10617  			if err := v.Validate(); err != nil {
 10618  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RebuildWorkspaceRequests", i), err.(request.ErrInvalidParams))
 10619  			}
 10620  		}
 10621  	}
 10622  
 10623  	if invalidParams.Len() > 0 {
 10624  		return invalidParams
 10625  	}
 10626  	return nil
 10627  }
 10628  
 10629  // SetRebuildWorkspaceRequests sets the RebuildWorkspaceRequests field's value.
 10630  func (s *RebuildWorkspacesInput) SetRebuildWorkspaceRequests(v []*RebuildRequest) *RebuildWorkspacesInput {
 10631  	s.RebuildWorkspaceRequests = v
 10632  	return s
 10633  }
 10634  
 10635  type RebuildWorkspacesOutput struct {
 10636  	_ struct{} `type:"structure"`
 10637  
 10638  	// Information about the WorkSpace that could not be rebuilt.
 10639  	FailedRequests []*FailedWorkspaceChangeRequest `type:"list"`
 10640  }
 10641  
 10642  // String returns the string representation.
 10643  //
 10644  // API parameter values that are decorated as "sensitive" in the API will not
 10645  // be included in the string output. The member name will be present, but the
 10646  // value will be replaced with "sensitive".
 10647  func (s RebuildWorkspacesOutput) String() string {
 10648  	return awsutil.Prettify(s)
 10649  }
 10650  
 10651  // GoString returns the string representation.
 10652  //
 10653  // API parameter values that are decorated as "sensitive" in the API will not
 10654  // be included in the string output. The member name will be present, but the
 10655  // value will be replaced with "sensitive".
 10656  func (s RebuildWorkspacesOutput) GoString() string {
 10657  	return s.String()
 10658  }
 10659  
 10660  // SetFailedRequests sets the FailedRequests field's value.
 10661  func (s *RebuildWorkspacesOutput) SetFailedRequests(v []*FailedWorkspaceChangeRequest) *RebuildWorkspacesOutput {
 10662  	s.FailedRequests = v
 10663  	return s
 10664  }
 10665  
 10666  type RegisterWorkspaceDirectoryInput struct {
 10667  	_ struct{} `type:"structure"`
 10668  
 10669  	// The identifier of the directory. You cannot register a directory if it does
 10670  	// not have a status of Active. If the directory does not have a status of Active,
 10671  	// you will receive an InvalidResourceStateException error. If you have already
 10672  	// registered the maximum number of directories that you can register with Amazon
 10673  	// WorkSpaces, you will receive a ResourceLimitExceededException error. Deregister
 10674  	// directories that you are not using for WorkSpaces, and try again.
 10675  	//
 10676  	// DirectoryId is a required field
 10677  	DirectoryId *string `min:"10" type:"string" required:"true"`
 10678  
 10679  	// Indicates whether self-service capabilities are enabled or disabled.
 10680  	EnableSelfService *bool `type:"boolean"`
 10681  
 10682  	// Indicates whether Amazon WorkDocs is enabled or disabled. If you have enabled
 10683  	// this parameter and WorkDocs is not available in the Region, you will receive
 10684  	// an OperationNotSupportedException error. Set EnableWorkDocs to disabled,
 10685  	// and try again.
 10686  	//
 10687  	// EnableWorkDocs is a required field
 10688  	EnableWorkDocs *bool `type:"boolean" required:"true"`
 10689  
 10690  	// The identifiers of the subnets for your virtual private cloud (VPC). Make
 10691  	// sure that the subnets are in supported Availability Zones. The subnets must
 10692  	// also be in separate Availability Zones. If these conditions are not met,
 10693  	// you will receive an OperationNotSupportedException error.
 10694  	SubnetIds []*string `type:"list"`
 10695  
 10696  	// The tags associated with the directory.
 10697  	Tags []*Tag `type:"list"`
 10698  
 10699  	// Indicates whether your WorkSpace directory is dedicated or shared. To use
 10700  	// Bring Your Own License (BYOL) images, this value must be set to DEDICATED
 10701  	// and your Amazon Web Services account must be enabled for BYOL. If your account
 10702  	// has not been enabled for BYOL, you will receive an InvalidParameterValuesException
 10703  	// error. For more information about BYOL images, see Bring Your Own Windows
 10704  	// Desktop Images (https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html).
 10705  	Tenancy *string `type:"string" enum:"Tenancy"`
 10706  }
 10707  
 10708  // String returns the string representation.
 10709  //
 10710  // API parameter values that are decorated as "sensitive" in the API will not
 10711  // be included in the string output. The member name will be present, but the
 10712  // value will be replaced with "sensitive".
 10713  func (s RegisterWorkspaceDirectoryInput) String() string {
 10714  	return awsutil.Prettify(s)
 10715  }
 10716  
 10717  // GoString returns the string representation.
 10718  //
 10719  // API parameter values that are decorated as "sensitive" in the API will not
 10720  // be included in the string output. The member name will be present, but the
 10721  // value will be replaced with "sensitive".
 10722  func (s RegisterWorkspaceDirectoryInput) GoString() string {
 10723  	return s.String()
 10724  }
 10725  
 10726  // Validate inspects the fields of the type to determine if they are valid.
 10727  func (s *RegisterWorkspaceDirectoryInput) Validate() error {
 10728  	invalidParams := request.ErrInvalidParams{Context: "RegisterWorkspaceDirectoryInput"}
 10729  	if s.DirectoryId == nil {
 10730  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 10731  	}
 10732  	if s.DirectoryId != nil && len(*s.DirectoryId) < 10 {
 10733  		invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 10))
 10734  	}
 10735  	if s.EnableWorkDocs == nil {
 10736  		invalidParams.Add(request.NewErrParamRequired("EnableWorkDocs"))
 10737  	}
 10738  	if s.Tags != nil {
 10739  		for i, v := range s.Tags {
 10740  			if v == nil {
 10741  				continue
 10742  			}
 10743  			if err := v.Validate(); err != nil {
 10744  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 10745  			}
 10746  		}
 10747  	}
 10748  
 10749  	if invalidParams.Len() > 0 {
 10750  		return invalidParams
 10751  	}
 10752  	return nil
 10753  }
 10754  
 10755  // SetDirectoryId sets the DirectoryId field's value.
 10756  func (s *RegisterWorkspaceDirectoryInput) SetDirectoryId(v string) *RegisterWorkspaceDirectoryInput {
 10757  	s.DirectoryId = &v
 10758  	return s
 10759  }
 10760  
 10761  // SetEnableSelfService sets the EnableSelfService field's value.
 10762  func (s *RegisterWorkspaceDirectoryInput) SetEnableSelfService(v bool) *RegisterWorkspaceDirectoryInput {
 10763  	s.EnableSelfService = &v
 10764  	return s
 10765  }
 10766  
 10767  // SetEnableWorkDocs sets the EnableWorkDocs field's value.
 10768  func (s *RegisterWorkspaceDirectoryInput) SetEnableWorkDocs(v bool) *RegisterWorkspaceDirectoryInput {
 10769  	s.EnableWorkDocs = &v
 10770  	return s
 10771  }
 10772  
 10773  // SetSubnetIds sets the SubnetIds field's value.
 10774  func (s *RegisterWorkspaceDirectoryInput) SetSubnetIds(v []*string) *RegisterWorkspaceDirectoryInput {
 10775  	s.SubnetIds = v
 10776  	return s
 10777  }
 10778  
 10779  // SetTags sets the Tags field's value.
 10780  func (s *RegisterWorkspaceDirectoryInput) SetTags(v []*Tag) *RegisterWorkspaceDirectoryInput {
 10781  	s.Tags = v
 10782  	return s
 10783  }
 10784  
 10785  // SetTenancy sets the Tenancy field's value.
 10786  func (s *RegisterWorkspaceDirectoryInput) SetTenancy(v string) *RegisterWorkspaceDirectoryInput {
 10787  	s.Tenancy = &v
 10788  	return s
 10789  }
 10790  
 10791  type RegisterWorkspaceDirectoryOutput struct {
 10792  	_ struct{} `type:"structure"`
 10793  }
 10794  
 10795  // String returns the string representation.
 10796  //
 10797  // API parameter values that are decorated as "sensitive" in the API will not
 10798  // be included in the string output. The member name will be present, but the
 10799  // value will be replaced with "sensitive".
 10800  func (s RegisterWorkspaceDirectoryOutput) String() string {
 10801  	return awsutil.Prettify(s)
 10802  }
 10803  
 10804  // GoString returns the string representation.
 10805  //
 10806  // API parameter values that are decorated as "sensitive" in the API will not
 10807  // be included in the string output. The member name will be present, but the
 10808  // value will be replaced with "sensitive".
 10809  func (s RegisterWorkspaceDirectoryOutput) GoString() string {
 10810  	return s.String()
 10811  }
 10812  
 10813  // The specified resource already exists.
 10814  type ResourceAlreadyExistsException struct {
 10815  	_            struct{}                  `type:"structure"`
 10816  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10817  
 10818  	Message_ *string `locationName:"message" type:"string"`
 10819  }
 10820  
 10821  // String returns the string representation.
 10822  //
 10823  // API parameter values that are decorated as "sensitive" in the API will not
 10824  // be included in the string output. The member name will be present, but the
 10825  // value will be replaced with "sensitive".
 10826  func (s ResourceAlreadyExistsException) String() string {
 10827  	return awsutil.Prettify(s)
 10828  }
 10829  
 10830  // GoString returns the string representation.
 10831  //
 10832  // API parameter values that are decorated as "sensitive" in the API will not
 10833  // be included in the string output. The member name will be present, but the
 10834  // value will be replaced with "sensitive".
 10835  func (s ResourceAlreadyExistsException) GoString() string {
 10836  	return s.String()
 10837  }
 10838  
 10839  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 10840  	return &ResourceAlreadyExistsException{
 10841  		RespMetadata: v,
 10842  	}
 10843  }
 10844  
 10845  // Code returns the exception type name.
 10846  func (s *ResourceAlreadyExistsException) Code() string {
 10847  	return "ResourceAlreadyExistsException"
 10848  }
 10849  
 10850  // Message returns the exception's message.
 10851  func (s *ResourceAlreadyExistsException) Message() string {
 10852  	if s.Message_ != nil {
 10853  		return *s.Message_
 10854  	}
 10855  	return ""
 10856  }
 10857  
 10858  // OrigErr always returns nil, satisfies awserr.Error interface.
 10859  func (s *ResourceAlreadyExistsException) OrigErr() error {
 10860  	return nil
 10861  }
 10862  
 10863  func (s *ResourceAlreadyExistsException) Error() string {
 10864  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10865  }
 10866  
 10867  // Status code returns the HTTP status code for the request's response error.
 10868  func (s *ResourceAlreadyExistsException) StatusCode() int {
 10869  	return s.RespMetadata.StatusCode
 10870  }
 10871  
 10872  // RequestID returns the service's response RequestID for request.
 10873  func (s *ResourceAlreadyExistsException) RequestID() string {
 10874  	return s.RespMetadata.RequestID
 10875  }
 10876  
 10877  // The resource is associated with a directory.
 10878  type ResourceAssociatedException struct {
 10879  	_            struct{}                  `type:"structure"`
 10880  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10881  
 10882  	Message_ *string `locationName:"message" type:"string"`
 10883  }
 10884  
 10885  // String returns the string representation.
 10886  //
 10887  // API parameter values that are decorated as "sensitive" in the API will not
 10888  // be included in the string output. The member name will be present, but the
 10889  // value will be replaced with "sensitive".
 10890  func (s ResourceAssociatedException) String() string {
 10891  	return awsutil.Prettify(s)
 10892  }
 10893  
 10894  // GoString returns the string representation.
 10895  //
 10896  // API parameter values that are decorated as "sensitive" in the API will not
 10897  // be included in the string output. The member name will be present, but the
 10898  // value will be replaced with "sensitive".
 10899  func (s ResourceAssociatedException) GoString() string {
 10900  	return s.String()
 10901  }
 10902  
 10903  func newErrorResourceAssociatedException(v protocol.ResponseMetadata) error {
 10904  	return &ResourceAssociatedException{
 10905  		RespMetadata: v,
 10906  	}
 10907  }
 10908  
 10909  // Code returns the exception type name.
 10910  func (s *ResourceAssociatedException) Code() string {
 10911  	return "ResourceAssociatedException"
 10912  }
 10913  
 10914  // Message returns the exception's message.
 10915  func (s *ResourceAssociatedException) Message() string {
 10916  	if s.Message_ != nil {
 10917  		return *s.Message_
 10918  	}
 10919  	return ""
 10920  }
 10921  
 10922  // OrigErr always returns nil, satisfies awserr.Error interface.
 10923  func (s *ResourceAssociatedException) OrigErr() error {
 10924  	return nil
 10925  }
 10926  
 10927  func (s *ResourceAssociatedException) Error() string {
 10928  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10929  }
 10930  
 10931  // Status code returns the HTTP status code for the request's response error.
 10932  func (s *ResourceAssociatedException) StatusCode() int {
 10933  	return s.RespMetadata.StatusCode
 10934  }
 10935  
 10936  // RequestID returns the service's response RequestID for request.
 10937  func (s *ResourceAssociatedException) RequestID() string {
 10938  	return s.RespMetadata.RequestID
 10939  }
 10940  
 10941  // The resource could not be created.
 10942  type ResourceCreationFailedException struct {
 10943  	_            struct{}                  `type:"structure"`
 10944  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10945  
 10946  	Message_ *string `locationName:"message" type:"string"`
 10947  }
 10948  
 10949  // String returns the string representation.
 10950  //
 10951  // API parameter values that are decorated as "sensitive" in the API will not
 10952  // be included in the string output. The member name will be present, but the
 10953  // value will be replaced with "sensitive".
 10954  func (s ResourceCreationFailedException) String() string {
 10955  	return awsutil.Prettify(s)
 10956  }
 10957  
 10958  // GoString returns the string representation.
 10959  //
 10960  // API parameter values that are decorated as "sensitive" in the API will not
 10961  // be included in the string output. The member name will be present, but the
 10962  // value will be replaced with "sensitive".
 10963  func (s ResourceCreationFailedException) GoString() string {
 10964  	return s.String()
 10965  }
 10966  
 10967  func newErrorResourceCreationFailedException(v protocol.ResponseMetadata) error {
 10968  	return &ResourceCreationFailedException{
 10969  		RespMetadata: v,
 10970  	}
 10971  }
 10972  
 10973  // Code returns the exception type name.
 10974  func (s *ResourceCreationFailedException) Code() string {
 10975  	return "ResourceCreationFailedException"
 10976  }
 10977  
 10978  // Message returns the exception's message.
 10979  func (s *ResourceCreationFailedException) Message() string {
 10980  	if s.Message_ != nil {
 10981  		return *s.Message_
 10982  	}
 10983  	return ""
 10984  }
 10985  
 10986  // OrigErr always returns nil, satisfies awserr.Error interface.
 10987  func (s *ResourceCreationFailedException) OrigErr() error {
 10988  	return nil
 10989  }
 10990  
 10991  func (s *ResourceCreationFailedException) Error() string {
 10992  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10993  }
 10994  
 10995  // Status code returns the HTTP status code for the request's response error.
 10996  func (s *ResourceCreationFailedException) StatusCode() int {
 10997  	return s.RespMetadata.StatusCode
 10998  }
 10999  
 11000  // RequestID returns the service's response RequestID for request.
 11001  func (s *ResourceCreationFailedException) RequestID() string {
 11002  	return s.RespMetadata.RequestID
 11003  }
 11004  
 11005  // Your resource limits have been exceeded.
 11006  type ResourceLimitExceededException struct {
 11007  	_            struct{}                  `type:"structure"`
 11008  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11009  
 11010  	// The exception error message.
 11011  	Message_ *string `locationName:"message" type:"string"`
 11012  }
 11013  
 11014  // String returns the string representation.
 11015  //
 11016  // API parameter values that are decorated as "sensitive" in the API will not
 11017  // be included in the string output. The member name will be present, but the
 11018  // value will be replaced with "sensitive".
 11019  func (s ResourceLimitExceededException) String() string {
 11020  	return awsutil.Prettify(s)
 11021  }
 11022  
 11023  // GoString returns the string representation.
 11024  //
 11025  // API parameter values that are decorated as "sensitive" in the API will not
 11026  // be included in the string output. The member name will be present, but the
 11027  // value will be replaced with "sensitive".
 11028  func (s ResourceLimitExceededException) GoString() string {
 11029  	return s.String()
 11030  }
 11031  
 11032  func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error {
 11033  	return &ResourceLimitExceededException{
 11034  		RespMetadata: v,
 11035  	}
 11036  }
 11037  
 11038  // Code returns the exception type name.
 11039  func (s *ResourceLimitExceededException) Code() string {
 11040  	return "ResourceLimitExceededException"
 11041  }
 11042  
 11043  // Message returns the exception's message.
 11044  func (s *ResourceLimitExceededException) Message() string {
 11045  	if s.Message_ != nil {
 11046  		return *s.Message_
 11047  	}
 11048  	return ""
 11049  }
 11050  
 11051  // OrigErr always returns nil, satisfies awserr.Error interface.
 11052  func (s *ResourceLimitExceededException) OrigErr() error {
 11053  	return nil
 11054  }
 11055  
 11056  func (s *ResourceLimitExceededException) Error() string {
 11057  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11058  }
 11059  
 11060  // Status code returns the HTTP status code for the request's response error.
 11061  func (s *ResourceLimitExceededException) StatusCode() int {
 11062  	return s.RespMetadata.StatusCode
 11063  }
 11064  
 11065  // RequestID returns the service's response RequestID for request.
 11066  func (s *ResourceLimitExceededException) RequestID() string {
 11067  	return s.RespMetadata.RequestID
 11068  }
 11069  
 11070  // The resource could not be found.
 11071  type ResourceNotFoundException struct {
 11072  	_            struct{}                  `type:"structure"`
 11073  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11074  
 11075  	// The resource could not be found.
 11076  	Message_ *string `locationName:"message" type:"string"`
 11077  
 11078  	// The ID of the resource that could not be found.
 11079  	ResourceId *string `min:"1" type:"string"`
 11080  }
 11081  
 11082  // String returns the string representation.
 11083  //
 11084  // API parameter values that are decorated as "sensitive" in the API will not
 11085  // be included in the string output. The member name will be present, but the
 11086  // value will be replaced with "sensitive".
 11087  func (s ResourceNotFoundException) String() string {
 11088  	return awsutil.Prettify(s)
 11089  }
 11090  
 11091  // GoString returns the string representation.
 11092  //
 11093  // API parameter values that are decorated as "sensitive" in the API will not
 11094  // be included in the string output. The member name will be present, but the
 11095  // value will be replaced with "sensitive".
 11096  func (s ResourceNotFoundException) GoString() string {
 11097  	return s.String()
 11098  }
 11099  
 11100  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 11101  	return &ResourceNotFoundException{
 11102  		RespMetadata: v,
 11103  	}
 11104  }
 11105  
 11106  // Code returns the exception type name.
 11107  func (s *ResourceNotFoundException) Code() string {
 11108  	return "ResourceNotFoundException"
 11109  }
 11110  
 11111  // Message returns the exception's message.
 11112  func (s *ResourceNotFoundException) Message() string {
 11113  	if s.Message_ != nil {
 11114  		return *s.Message_
 11115  	}
 11116  	return ""
 11117  }
 11118  
 11119  // OrigErr always returns nil, satisfies awserr.Error interface.
 11120  func (s *ResourceNotFoundException) OrigErr() error {
 11121  	return nil
 11122  }
 11123  
 11124  func (s *ResourceNotFoundException) Error() string {
 11125  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11126  }
 11127  
 11128  // Status code returns the HTTP status code for the request's response error.
 11129  func (s *ResourceNotFoundException) StatusCode() int {
 11130  	return s.RespMetadata.StatusCode
 11131  }
 11132  
 11133  // RequestID returns the service's response RequestID for request.
 11134  func (s *ResourceNotFoundException) RequestID() string {
 11135  	return s.RespMetadata.RequestID
 11136  }
 11137  
 11138  // The specified resource is not available.
 11139  type ResourceUnavailableException struct {
 11140  	_            struct{}                  `type:"structure"`
 11141  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11142  
 11143  	// The exception error message.
 11144  	Message_ *string `locationName:"message" type:"string"`
 11145  
 11146  	// The identifier of the resource that is not available.
 11147  	ResourceId *string `min:"1" type:"string"`
 11148  }
 11149  
 11150  // String returns the string representation.
 11151  //
 11152  // API parameter values that are decorated as "sensitive" in the API will not
 11153  // be included in the string output. The member name will be present, but the
 11154  // value will be replaced with "sensitive".
 11155  func (s ResourceUnavailableException) String() string {
 11156  	return awsutil.Prettify(s)
 11157  }
 11158  
 11159  // GoString returns the string representation.
 11160  //
 11161  // API parameter values that are decorated as "sensitive" in the API will not
 11162  // be included in the string output. The member name will be present, but the
 11163  // value will be replaced with "sensitive".
 11164  func (s ResourceUnavailableException) GoString() string {
 11165  	return s.String()
 11166  }
 11167  
 11168  func newErrorResourceUnavailableException(v protocol.ResponseMetadata) error {
 11169  	return &ResourceUnavailableException{
 11170  		RespMetadata: v,
 11171  	}
 11172  }
 11173  
 11174  // Code returns the exception type name.
 11175  func (s *ResourceUnavailableException) Code() string {
 11176  	return "ResourceUnavailableException"
 11177  }
 11178  
 11179  // Message returns the exception's message.
 11180  func (s *ResourceUnavailableException) Message() string {
 11181  	if s.Message_ != nil {
 11182  		return *s.Message_
 11183  	}
 11184  	return ""
 11185  }
 11186  
 11187  // OrigErr always returns nil, satisfies awserr.Error interface.
 11188  func (s *ResourceUnavailableException) OrigErr() error {
 11189  	return nil
 11190  }
 11191  
 11192  func (s *ResourceUnavailableException) Error() string {
 11193  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11194  }
 11195  
 11196  // Status code returns the HTTP status code for the request's response error.
 11197  func (s *ResourceUnavailableException) StatusCode() int {
 11198  	return s.RespMetadata.StatusCode
 11199  }
 11200  
 11201  // RequestID returns the service's response RequestID for request.
 11202  func (s *ResourceUnavailableException) RequestID() string {
 11203  	return s.RespMetadata.RequestID
 11204  }
 11205  
 11206  type RestoreWorkspaceInput struct {
 11207  	_ struct{} `type:"structure"`
 11208  
 11209  	// The identifier of the WorkSpace.
 11210  	//
 11211  	// WorkspaceId is a required field
 11212  	WorkspaceId *string `type:"string" required:"true"`
 11213  }
 11214  
 11215  // String returns the string representation.
 11216  //
 11217  // API parameter values that are decorated as "sensitive" in the API will not
 11218  // be included in the string output. The member name will be present, but the
 11219  // value will be replaced with "sensitive".
 11220  func (s RestoreWorkspaceInput) String() string {
 11221  	return awsutil.Prettify(s)
 11222  }
 11223  
 11224  // GoString returns the string representation.
 11225  //
 11226  // API parameter values that are decorated as "sensitive" in the API will not
 11227  // be included in the string output. The member name will be present, but the
 11228  // value will be replaced with "sensitive".
 11229  func (s RestoreWorkspaceInput) GoString() string {
 11230  	return s.String()
 11231  }
 11232  
 11233  // Validate inspects the fields of the type to determine if they are valid.
 11234  func (s *RestoreWorkspaceInput) Validate() error {
 11235  	invalidParams := request.ErrInvalidParams{Context: "RestoreWorkspaceInput"}
 11236  	if s.WorkspaceId == nil {
 11237  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
 11238  	}
 11239  
 11240  	if invalidParams.Len() > 0 {
 11241  		return invalidParams
 11242  	}
 11243  	return nil
 11244  }
 11245  
 11246  // SetWorkspaceId sets the WorkspaceId field's value.
 11247  func (s *RestoreWorkspaceInput) SetWorkspaceId(v string) *RestoreWorkspaceInput {
 11248  	s.WorkspaceId = &v
 11249  	return s
 11250  }
 11251  
 11252  type RestoreWorkspaceOutput struct {
 11253  	_ struct{} `type:"structure"`
 11254  }
 11255  
 11256  // String returns the string representation.
 11257  //
 11258  // API parameter values that are decorated as "sensitive" in the API will not
 11259  // be included in the string output. The member name will be present, but the
 11260  // value will be replaced with "sensitive".
 11261  func (s RestoreWorkspaceOutput) String() string {
 11262  	return awsutil.Prettify(s)
 11263  }
 11264  
 11265  // GoString returns the string representation.
 11266  //
 11267  // API parameter values that are decorated as "sensitive" in the API will not
 11268  // be included in the string output. The member name will be present, but the
 11269  // value will be replaced with "sensitive".
 11270  func (s RestoreWorkspaceOutput) GoString() string {
 11271  	return s.String()
 11272  }
 11273  
 11274  type RevokeIpRulesInput struct {
 11275  	_ struct{} `type:"structure"`
 11276  
 11277  	// The identifier of the group.
 11278  	//
 11279  	// GroupId is a required field
 11280  	GroupId *string `type:"string" required:"true"`
 11281  
 11282  	// The rules to remove from the group.
 11283  	//
 11284  	// UserRules is a required field
 11285  	UserRules []*string `type:"list" required:"true"`
 11286  }
 11287  
 11288  // String returns the string representation.
 11289  //
 11290  // API parameter values that are decorated as "sensitive" in the API will not
 11291  // be included in the string output. The member name will be present, but the
 11292  // value will be replaced with "sensitive".
 11293  func (s RevokeIpRulesInput) String() string {
 11294  	return awsutil.Prettify(s)
 11295  }
 11296  
 11297  // GoString returns the string representation.
 11298  //
 11299  // API parameter values that are decorated as "sensitive" in the API will not
 11300  // be included in the string output. The member name will be present, but the
 11301  // value will be replaced with "sensitive".
 11302  func (s RevokeIpRulesInput) GoString() string {
 11303  	return s.String()
 11304  }
 11305  
 11306  // Validate inspects the fields of the type to determine if they are valid.
 11307  func (s *RevokeIpRulesInput) Validate() error {
 11308  	invalidParams := request.ErrInvalidParams{Context: "RevokeIpRulesInput"}
 11309  	if s.GroupId == nil {
 11310  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 11311  	}
 11312  	if s.UserRules == nil {
 11313  		invalidParams.Add(request.NewErrParamRequired("UserRules"))
 11314  	}
 11315  
 11316  	if invalidParams.Len() > 0 {
 11317  		return invalidParams
 11318  	}
 11319  	return nil
 11320  }
 11321  
 11322  // SetGroupId sets the GroupId field's value.
 11323  func (s *RevokeIpRulesInput) SetGroupId(v string) *RevokeIpRulesInput {
 11324  	s.GroupId = &v
 11325  	return s
 11326  }
 11327  
 11328  // SetUserRules sets the UserRules field's value.
 11329  func (s *RevokeIpRulesInput) SetUserRules(v []*string) *RevokeIpRulesInput {
 11330  	s.UserRules = v
 11331  	return s
 11332  }
 11333  
 11334  type RevokeIpRulesOutput struct {
 11335  	_ struct{} `type:"structure"`
 11336  }
 11337  
 11338  // String returns the string representation.
 11339  //
 11340  // API parameter values that are decorated as "sensitive" in the API will not
 11341  // be included in the string output. The member name will be present, but the
 11342  // value will be replaced with "sensitive".
 11343  func (s RevokeIpRulesOutput) String() string {
 11344  	return awsutil.Prettify(s)
 11345  }
 11346  
 11347  // GoString returns the string representation.
 11348  //
 11349  // API parameter values that are decorated as "sensitive" in the API will not
 11350  // be included in the string output. The member name will be present, but the
 11351  // value will be replaced with "sensitive".
 11352  func (s RevokeIpRulesOutput) GoString() string {
 11353  	return s.String()
 11354  }
 11355  
 11356  // Describes the root volume for a WorkSpace bundle.
 11357  type RootStorage struct {
 11358  	_ struct{} `type:"structure"`
 11359  
 11360  	// The size of the root volume.
 11361  	Capacity *string `min:"1" type:"string"`
 11362  }
 11363  
 11364  // String returns the string representation.
 11365  //
 11366  // API parameter values that are decorated as "sensitive" in the API will not
 11367  // be included in the string output. The member name will be present, but the
 11368  // value will be replaced with "sensitive".
 11369  func (s RootStorage) String() string {
 11370  	return awsutil.Prettify(s)
 11371  }
 11372  
 11373  // GoString returns the string representation.
 11374  //
 11375  // API parameter values that are decorated as "sensitive" in the API will not
 11376  // be included in the string output. The member name will be present, but the
 11377  // value will be replaced with "sensitive".
 11378  func (s RootStorage) GoString() string {
 11379  	return s.String()
 11380  }
 11381  
 11382  // Validate inspects the fields of the type to determine if they are valid.
 11383  func (s *RootStorage) Validate() error {
 11384  	invalidParams := request.ErrInvalidParams{Context: "RootStorage"}
 11385  	if s.Capacity != nil && len(*s.Capacity) < 1 {
 11386  		invalidParams.Add(request.NewErrParamMinLen("Capacity", 1))
 11387  	}
 11388  
 11389  	if invalidParams.Len() > 0 {
 11390  		return invalidParams
 11391  	}
 11392  	return nil
 11393  }
 11394  
 11395  // SetCapacity sets the Capacity field's value.
 11396  func (s *RootStorage) SetCapacity(v string) *RootStorage {
 11397  	s.Capacity = &v
 11398  	return s
 11399  }
 11400  
 11401  // Describes the self-service permissions for a directory. For more information,
 11402  // see Enable Self-Service WorkSpace Management Capabilities for Your Users
 11403  // (https://docs.aws.amazon.com/workspaces/latest/adminguide/enable-user-self-service-workspace-management.html).
 11404  type SelfservicePermissions struct {
 11405  	_ struct{} `type:"structure"`
 11406  
 11407  	// Specifies whether users can change the compute type (bundle) for their WorkSpace.
 11408  	ChangeComputeType *string `type:"string" enum:"ReconnectEnum"`
 11409  
 11410  	// Specifies whether users can increase the volume size of the drives on their
 11411  	// WorkSpace.
 11412  	IncreaseVolumeSize *string `type:"string" enum:"ReconnectEnum"`
 11413  
 11414  	// Specifies whether users can rebuild the operating system of a WorkSpace to
 11415  	// its original state.
 11416  	RebuildWorkspace *string `type:"string" enum:"ReconnectEnum"`
 11417  
 11418  	// Specifies whether users can restart their WorkSpace.
 11419  	RestartWorkspace *string `type:"string" enum:"ReconnectEnum"`
 11420  
 11421  	// Specifies whether users can switch the running mode of their WorkSpace.
 11422  	SwitchRunningMode *string `type:"string" enum:"ReconnectEnum"`
 11423  }
 11424  
 11425  // String returns the string representation.
 11426  //
 11427  // API parameter values that are decorated as "sensitive" in the API will not
 11428  // be included in the string output. The member name will be present, but the
 11429  // value will be replaced with "sensitive".
 11430  func (s SelfservicePermissions) String() string {
 11431  	return awsutil.Prettify(s)
 11432  }
 11433  
 11434  // GoString returns the string representation.
 11435  //
 11436  // API parameter values that are decorated as "sensitive" in the API will not
 11437  // be included in the string output. The member name will be present, but the
 11438  // value will be replaced with "sensitive".
 11439  func (s SelfservicePermissions) GoString() string {
 11440  	return s.String()
 11441  }
 11442  
 11443  // SetChangeComputeType sets the ChangeComputeType field's value.
 11444  func (s *SelfservicePermissions) SetChangeComputeType(v string) *SelfservicePermissions {
 11445  	s.ChangeComputeType = &v
 11446  	return s
 11447  }
 11448  
 11449  // SetIncreaseVolumeSize sets the IncreaseVolumeSize field's value.
 11450  func (s *SelfservicePermissions) SetIncreaseVolumeSize(v string) *SelfservicePermissions {
 11451  	s.IncreaseVolumeSize = &v
 11452  	return s
 11453  }
 11454  
 11455  // SetRebuildWorkspace sets the RebuildWorkspace field's value.
 11456  func (s *SelfservicePermissions) SetRebuildWorkspace(v string) *SelfservicePermissions {
 11457  	s.RebuildWorkspace = &v
 11458  	return s
 11459  }
 11460  
 11461  // SetRestartWorkspace sets the RestartWorkspace field's value.
 11462  func (s *SelfservicePermissions) SetRestartWorkspace(v string) *SelfservicePermissions {
 11463  	s.RestartWorkspace = &v
 11464  	return s
 11465  }
 11466  
 11467  // SetSwitchRunningMode sets the SwitchRunningMode field's value.
 11468  func (s *SelfservicePermissions) SetSwitchRunningMode(v string) *SelfservicePermissions {
 11469  	s.SwitchRunningMode = &v
 11470  	return s
 11471  }
 11472  
 11473  // Describes a snapshot.
 11474  type Snapshot struct {
 11475  	_ struct{} `type:"structure"`
 11476  
 11477  	// The time when the snapshot was created.
 11478  	SnapshotTime *time.Time `type:"timestamp"`
 11479  }
 11480  
 11481  // String returns the string representation.
 11482  //
 11483  // API parameter values that are decorated as "sensitive" in the API will not
 11484  // be included in the string output. The member name will be present, but the
 11485  // value will be replaced with "sensitive".
 11486  func (s Snapshot) String() string {
 11487  	return awsutil.Prettify(s)
 11488  }
 11489  
 11490  // GoString returns the string representation.
 11491  //
 11492  // API parameter values that are decorated as "sensitive" in the API will not
 11493  // be included in the string output. The member name will be present, but the
 11494  // value will be replaced with "sensitive".
 11495  func (s Snapshot) GoString() string {
 11496  	return s.String()
 11497  }
 11498  
 11499  // SetSnapshotTime sets the SnapshotTime field's value.
 11500  func (s *Snapshot) SetSnapshotTime(v time.Time) *Snapshot {
 11501  	s.SnapshotTime = &v
 11502  	return s
 11503  }
 11504  
 11505  // Information used to start a WorkSpace.
 11506  type StartRequest struct {
 11507  	_ struct{} `type:"structure"`
 11508  
 11509  	// The identifier of the WorkSpace.
 11510  	WorkspaceId *string `type:"string"`
 11511  }
 11512  
 11513  // String returns the string representation.
 11514  //
 11515  // API parameter values that are decorated as "sensitive" in the API will not
 11516  // be included in the string output. The member name will be present, but the
 11517  // value will be replaced with "sensitive".
 11518  func (s StartRequest) String() string {
 11519  	return awsutil.Prettify(s)
 11520  }
 11521  
 11522  // GoString returns the string representation.
 11523  //
 11524  // API parameter values that are decorated as "sensitive" in the API will not
 11525  // be included in the string output. The member name will be present, but the
 11526  // value will be replaced with "sensitive".
 11527  func (s StartRequest) GoString() string {
 11528  	return s.String()
 11529  }
 11530  
 11531  // SetWorkspaceId sets the WorkspaceId field's value.
 11532  func (s *StartRequest) SetWorkspaceId(v string) *StartRequest {
 11533  	s.WorkspaceId = &v
 11534  	return s
 11535  }
 11536  
 11537  type StartWorkspacesInput struct {
 11538  	_ struct{} `type:"structure"`
 11539  
 11540  	// The WorkSpaces to start. You can specify up to 25 WorkSpaces.
 11541  	//
 11542  	// StartWorkspaceRequests is a required field
 11543  	StartWorkspaceRequests []*StartRequest `min:"1" type:"list" required:"true"`
 11544  }
 11545  
 11546  // String returns the string representation.
 11547  //
 11548  // API parameter values that are decorated as "sensitive" in the API will not
 11549  // be included in the string output. The member name will be present, but the
 11550  // value will be replaced with "sensitive".
 11551  func (s StartWorkspacesInput) String() string {
 11552  	return awsutil.Prettify(s)
 11553  }
 11554  
 11555  // GoString returns the string representation.
 11556  //
 11557  // API parameter values that are decorated as "sensitive" in the API will not
 11558  // be included in the string output. The member name will be present, but the
 11559  // value will be replaced with "sensitive".
 11560  func (s StartWorkspacesInput) GoString() string {
 11561  	return s.String()
 11562  }
 11563  
 11564  // Validate inspects the fields of the type to determine if they are valid.
 11565  func (s *StartWorkspacesInput) Validate() error {
 11566  	invalidParams := request.ErrInvalidParams{Context: "StartWorkspacesInput"}
 11567  	if s.StartWorkspaceRequests == nil {
 11568  		invalidParams.Add(request.NewErrParamRequired("StartWorkspaceRequests"))
 11569  	}
 11570  	if s.StartWorkspaceRequests != nil && len(s.StartWorkspaceRequests) < 1 {
 11571  		invalidParams.Add(request.NewErrParamMinLen("StartWorkspaceRequests", 1))
 11572  	}
 11573  
 11574  	if invalidParams.Len() > 0 {
 11575  		return invalidParams
 11576  	}
 11577  	return nil
 11578  }
 11579  
 11580  // SetStartWorkspaceRequests sets the StartWorkspaceRequests field's value.
 11581  func (s *StartWorkspacesInput) SetStartWorkspaceRequests(v []*StartRequest) *StartWorkspacesInput {
 11582  	s.StartWorkspaceRequests = v
 11583  	return s
 11584  }
 11585  
 11586  type StartWorkspacesOutput struct {
 11587  	_ struct{} `type:"structure"`
 11588  
 11589  	// Information about the WorkSpaces that could not be started.
 11590  	FailedRequests []*FailedWorkspaceChangeRequest `type:"list"`
 11591  }
 11592  
 11593  // String returns the string representation.
 11594  //
 11595  // API parameter values that are decorated as "sensitive" in the API will not
 11596  // be included in the string output. The member name will be present, but the
 11597  // value will be replaced with "sensitive".
 11598  func (s StartWorkspacesOutput) String() string {
 11599  	return awsutil.Prettify(s)
 11600  }
 11601  
 11602  // GoString returns the string representation.
 11603  //
 11604  // API parameter values that are decorated as "sensitive" in the API will not
 11605  // be included in the string output. The member name will be present, but the
 11606  // value will be replaced with "sensitive".
 11607  func (s StartWorkspacesOutput) GoString() string {
 11608  	return s.String()
 11609  }
 11610  
 11611  // SetFailedRequests sets the FailedRequests field's value.
 11612  func (s *StartWorkspacesOutput) SetFailedRequests(v []*FailedWorkspaceChangeRequest) *StartWorkspacesOutput {
 11613  	s.FailedRequests = v
 11614  	return s
 11615  }
 11616  
 11617  // Describes the information used to stop a WorkSpace.
 11618  type StopRequest struct {
 11619  	_ struct{} `type:"structure"`
 11620  
 11621  	// The identifier of the WorkSpace.
 11622  	WorkspaceId *string `type:"string"`
 11623  }
 11624  
 11625  // String returns the string representation.
 11626  //
 11627  // API parameter values that are decorated as "sensitive" in the API will not
 11628  // be included in the string output. The member name will be present, but the
 11629  // value will be replaced with "sensitive".
 11630  func (s StopRequest) String() string {
 11631  	return awsutil.Prettify(s)
 11632  }
 11633  
 11634  // GoString returns the string representation.
 11635  //
 11636  // API parameter values that are decorated as "sensitive" in the API will not
 11637  // be included in the string output. The member name will be present, but the
 11638  // value will be replaced with "sensitive".
 11639  func (s StopRequest) GoString() string {
 11640  	return s.String()
 11641  }
 11642  
 11643  // SetWorkspaceId sets the WorkspaceId field's value.
 11644  func (s *StopRequest) SetWorkspaceId(v string) *StopRequest {
 11645  	s.WorkspaceId = &v
 11646  	return s
 11647  }
 11648  
 11649  type StopWorkspacesInput struct {
 11650  	_ struct{} `type:"structure"`
 11651  
 11652  	// The WorkSpaces to stop. You can specify up to 25 WorkSpaces.
 11653  	//
 11654  	// StopWorkspaceRequests is a required field
 11655  	StopWorkspaceRequests []*StopRequest `min:"1" type:"list" required:"true"`
 11656  }
 11657  
 11658  // String returns the string representation.
 11659  //
 11660  // API parameter values that are decorated as "sensitive" in the API will not
 11661  // be included in the string output. The member name will be present, but the
 11662  // value will be replaced with "sensitive".
 11663  func (s StopWorkspacesInput) String() string {
 11664  	return awsutil.Prettify(s)
 11665  }
 11666  
 11667  // GoString returns the string representation.
 11668  //
 11669  // API parameter values that are decorated as "sensitive" in the API will not
 11670  // be included in the string output. The member name will be present, but the
 11671  // value will be replaced with "sensitive".
 11672  func (s StopWorkspacesInput) GoString() string {
 11673  	return s.String()
 11674  }
 11675  
 11676  // Validate inspects the fields of the type to determine if they are valid.
 11677  func (s *StopWorkspacesInput) Validate() error {
 11678  	invalidParams := request.ErrInvalidParams{Context: "StopWorkspacesInput"}
 11679  	if s.StopWorkspaceRequests == nil {
 11680  		invalidParams.Add(request.NewErrParamRequired("StopWorkspaceRequests"))
 11681  	}
 11682  	if s.StopWorkspaceRequests != nil && len(s.StopWorkspaceRequests) < 1 {
 11683  		invalidParams.Add(request.NewErrParamMinLen("StopWorkspaceRequests", 1))
 11684  	}
 11685  
 11686  	if invalidParams.Len() > 0 {
 11687  		return invalidParams
 11688  	}
 11689  	return nil
 11690  }
 11691  
 11692  // SetStopWorkspaceRequests sets the StopWorkspaceRequests field's value.
 11693  func (s *StopWorkspacesInput) SetStopWorkspaceRequests(v []*StopRequest) *StopWorkspacesInput {
 11694  	s.StopWorkspaceRequests = v
 11695  	return s
 11696  }
 11697  
 11698  type StopWorkspacesOutput struct {
 11699  	_ struct{} `type:"structure"`
 11700  
 11701  	// Information about the WorkSpaces that could not be stopped.
 11702  	FailedRequests []*FailedWorkspaceChangeRequest `type:"list"`
 11703  }
 11704  
 11705  // String returns the string representation.
 11706  //
 11707  // API parameter values that are decorated as "sensitive" in the API will not
 11708  // be included in the string output. The member name will be present, but the
 11709  // value will be replaced with "sensitive".
 11710  func (s StopWorkspacesOutput) String() string {
 11711  	return awsutil.Prettify(s)
 11712  }
 11713  
 11714  // GoString returns the string representation.
 11715  //
 11716  // API parameter values that are decorated as "sensitive" in the API will not
 11717  // be included in the string output. The member name will be present, but the
 11718  // value will be replaced with "sensitive".
 11719  func (s StopWorkspacesOutput) GoString() string {
 11720  	return s.String()
 11721  }
 11722  
 11723  // SetFailedRequests sets the FailedRequests field's value.
 11724  func (s *StopWorkspacesOutput) SetFailedRequests(v []*FailedWorkspaceChangeRequest) *StopWorkspacesOutput {
 11725  	s.FailedRequests = v
 11726  	return s
 11727  }
 11728  
 11729  // Describes a tag.
 11730  type Tag struct {
 11731  	_ struct{} `type:"structure"`
 11732  
 11733  	// The key of the tag.
 11734  	//
 11735  	// Key is a required field
 11736  	Key *string `min:"1" type:"string" required:"true"`
 11737  
 11738  	// The value of the tag.
 11739  	Value *string `type:"string"`
 11740  }
 11741  
 11742  // String returns the string representation.
 11743  //
 11744  // API parameter values that are decorated as "sensitive" in the API will not
 11745  // be included in the string output. The member name will be present, but the
 11746  // value will be replaced with "sensitive".
 11747  func (s Tag) String() string {
 11748  	return awsutil.Prettify(s)
 11749  }
 11750  
 11751  // GoString returns the string representation.
 11752  //
 11753  // API parameter values that are decorated as "sensitive" in the API will not
 11754  // be included in the string output. The member name will be present, but the
 11755  // value will be replaced with "sensitive".
 11756  func (s Tag) GoString() string {
 11757  	return s.String()
 11758  }
 11759  
 11760  // Validate inspects the fields of the type to determine if they are valid.
 11761  func (s *Tag) Validate() error {
 11762  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 11763  	if s.Key == nil {
 11764  		invalidParams.Add(request.NewErrParamRequired("Key"))
 11765  	}
 11766  	if s.Key != nil && len(*s.Key) < 1 {
 11767  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 11768  	}
 11769  
 11770  	if invalidParams.Len() > 0 {
 11771  		return invalidParams
 11772  	}
 11773  	return nil
 11774  }
 11775  
 11776  // SetKey sets the Key field's value.
 11777  func (s *Tag) SetKey(v string) *Tag {
 11778  	s.Key = &v
 11779  	return s
 11780  }
 11781  
 11782  // SetValue sets the Value field's value.
 11783  func (s *Tag) SetValue(v string) *Tag {
 11784  	s.Value = &v
 11785  	return s
 11786  }
 11787  
 11788  // Describes the information used to terminate a WorkSpace.
 11789  type TerminateRequest struct {
 11790  	_ struct{} `type:"structure"`
 11791  
 11792  	// The identifier of the WorkSpace.
 11793  	//
 11794  	// WorkspaceId is a required field
 11795  	WorkspaceId *string `type:"string" required:"true"`
 11796  }
 11797  
 11798  // String returns the string representation.
 11799  //
 11800  // API parameter values that are decorated as "sensitive" in the API will not
 11801  // be included in the string output. The member name will be present, but the
 11802  // value will be replaced with "sensitive".
 11803  func (s TerminateRequest) String() string {
 11804  	return awsutil.Prettify(s)
 11805  }
 11806  
 11807  // GoString returns the string representation.
 11808  //
 11809  // API parameter values that are decorated as "sensitive" in the API will not
 11810  // be included in the string output. The member name will be present, but the
 11811  // value will be replaced with "sensitive".
 11812  func (s TerminateRequest) GoString() string {
 11813  	return s.String()
 11814  }
 11815  
 11816  // Validate inspects the fields of the type to determine if they are valid.
 11817  func (s *TerminateRequest) Validate() error {
 11818  	invalidParams := request.ErrInvalidParams{Context: "TerminateRequest"}
 11819  	if s.WorkspaceId == nil {
 11820  		invalidParams.Add(request.NewErrParamRequired("WorkspaceId"))
 11821  	}
 11822  
 11823  	if invalidParams.Len() > 0 {
 11824  		return invalidParams
 11825  	}
 11826  	return nil
 11827  }
 11828  
 11829  // SetWorkspaceId sets the WorkspaceId field's value.
 11830  func (s *TerminateRequest) SetWorkspaceId(v string) *TerminateRequest {
 11831  	s.WorkspaceId = &v
 11832  	return s
 11833  }
 11834  
 11835  type TerminateWorkspacesInput struct {
 11836  	_ struct{} `type:"structure"`
 11837  
 11838  	// The WorkSpaces to terminate. You can specify up to 25 WorkSpaces.
 11839  	//
 11840  	// TerminateWorkspaceRequests is a required field
 11841  	TerminateWorkspaceRequests []*TerminateRequest `min:"1" type:"list" required:"true"`
 11842  }
 11843  
 11844  // String returns the string representation.
 11845  //
 11846  // API parameter values that are decorated as "sensitive" in the API will not
 11847  // be included in the string output. The member name will be present, but the
 11848  // value will be replaced with "sensitive".
 11849  func (s TerminateWorkspacesInput) String() string {
 11850  	return awsutil.Prettify(s)
 11851  }
 11852  
 11853  // GoString returns the string representation.
 11854  //
 11855  // API parameter values that are decorated as "sensitive" in the API will not
 11856  // be included in the string output. The member name will be present, but the
 11857  // value will be replaced with "sensitive".
 11858  func (s TerminateWorkspacesInput) GoString() string {
 11859  	return s.String()
 11860  }
 11861  
 11862  // Validate inspects the fields of the type to determine if they are valid.
 11863  func (s *TerminateWorkspacesInput) Validate() error {
 11864  	invalidParams := request.ErrInvalidParams{Context: "TerminateWorkspacesInput"}
 11865  	if s.TerminateWorkspaceRequests == nil {
 11866  		invalidParams.Add(request.NewErrParamRequired("TerminateWorkspaceRequests"))
 11867  	}
 11868  	if s.TerminateWorkspaceRequests != nil && len(s.TerminateWorkspaceRequests) < 1 {
 11869  		invalidParams.Add(request.NewErrParamMinLen("TerminateWorkspaceRequests", 1))
 11870  	}
 11871  	if s.TerminateWorkspaceRequests != nil {
 11872  		for i, v := range s.TerminateWorkspaceRequests {
 11873  			if v == nil {
 11874  				continue
 11875  			}
 11876  			if err := v.Validate(); err != nil {
 11877  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TerminateWorkspaceRequests", i), err.(request.ErrInvalidParams))
 11878  			}
 11879  		}
 11880  	}
 11881  
 11882  	if invalidParams.Len() > 0 {
 11883  		return invalidParams
 11884  	}
 11885  	return nil
 11886  }
 11887  
 11888  // SetTerminateWorkspaceRequests sets the TerminateWorkspaceRequests field's value.
 11889  func (s *TerminateWorkspacesInput) SetTerminateWorkspaceRequests(v []*TerminateRequest) *TerminateWorkspacesInput {
 11890  	s.TerminateWorkspaceRequests = v
 11891  	return s
 11892  }
 11893  
 11894  type TerminateWorkspacesOutput struct {
 11895  	_ struct{} `type:"structure"`
 11896  
 11897  	// Information about the WorkSpaces that could not be terminated.
 11898  	FailedRequests []*FailedWorkspaceChangeRequest `type:"list"`
 11899  }
 11900  
 11901  // String returns the string representation.
 11902  //
 11903  // API parameter values that are decorated as "sensitive" in the API will not
 11904  // be included in the string output. The member name will be present, but the
 11905  // value will be replaced with "sensitive".
 11906  func (s TerminateWorkspacesOutput) String() string {
 11907  	return awsutil.Prettify(s)
 11908  }
 11909  
 11910  // GoString returns the string representation.
 11911  //
 11912  // API parameter values that are decorated as "sensitive" in the API will not
 11913  // be included in the string output. The member name will be present, but the
 11914  // value will be replaced with "sensitive".
 11915  func (s TerminateWorkspacesOutput) GoString() string {
 11916  	return s.String()
 11917  }
 11918  
 11919  // SetFailedRequests sets the FailedRequests field's value.
 11920  func (s *TerminateWorkspacesOutput) SetFailedRequests(v []*FailedWorkspaceChangeRequest) *TerminateWorkspacesOutput {
 11921  	s.FailedRequests = v
 11922  	return s
 11923  }
 11924  
 11925  // The configuration of this network is not supported for this operation, or
 11926  // your network configuration conflicts with the Amazon WorkSpaces management
 11927  // network IP range. For more information, see Configure a VPC for Amazon WorkSpaces
 11928  // (https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-vpc.html).
 11929  type UnsupportedNetworkConfigurationException struct {
 11930  	_            struct{}                  `type:"structure"`
 11931  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11932  
 11933  	Message_ *string `locationName:"message" type:"string"`
 11934  }
 11935  
 11936  // String returns the string representation.
 11937  //
 11938  // API parameter values that are decorated as "sensitive" in the API will not
 11939  // be included in the string output. The member name will be present, but the
 11940  // value will be replaced with "sensitive".
 11941  func (s UnsupportedNetworkConfigurationException) String() string {
 11942  	return awsutil.Prettify(s)
 11943  }
 11944  
 11945  // GoString returns the string representation.
 11946  //
 11947  // API parameter values that are decorated as "sensitive" in the API will not
 11948  // be included in the string output. The member name will be present, but the
 11949  // value will be replaced with "sensitive".
 11950  func (s UnsupportedNetworkConfigurationException) GoString() string {
 11951  	return s.String()
 11952  }
 11953  
 11954  func newErrorUnsupportedNetworkConfigurationException(v protocol.ResponseMetadata) error {
 11955  	return &UnsupportedNetworkConfigurationException{
 11956  		RespMetadata: v,
 11957  	}
 11958  }
 11959  
 11960  // Code returns the exception type name.
 11961  func (s *UnsupportedNetworkConfigurationException) Code() string {
 11962  	return "UnsupportedNetworkConfigurationException"
 11963  }
 11964  
 11965  // Message returns the exception's message.
 11966  func (s *UnsupportedNetworkConfigurationException) Message() string {
 11967  	if s.Message_ != nil {
 11968  		return *s.Message_
 11969  	}
 11970  	return ""
 11971  }
 11972  
 11973  // OrigErr always returns nil, satisfies awserr.Error interface.
 11974  func (s *UnsupportedNetworkConfigurationException) OrigErr() error {
 11975  	return nil
 11976  }
 11977  
 11978  func (s *UnsupportedNetworkConfigurationException) Error() string {
 11979  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11980  }
 11981  
 11982  // Status code returns the HTTP status code for the request's response error.
 11983  func (s *UnsupportedNetworkConfigurationException) StatusCode() int {
 11984  	return s.RespMetadata.StatusCode
 11985  }
 11986  
 11987  // RequestID returns the service's response RequestID for request.
 11988  func (s *UnsupportedNetworkConfigurationException) RequestID() string {
 11989  	return s.RespMetadata.RequestID
 11990  }
 11991  
 11992  // The configuration of this WorkSpace is not supported for this operation.
 11993  // For more information, see Required Configuration and Service Components for
 11994  // WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/required-service-components.html).
 11995  type UnsupportedWorkspaceConfigurationException struct {
 11996  	_            struct{}                  `type:"structure"`
 11997  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11998  
 11999  	Message_ *string `locationName:"message" type:"string"`
 12000  }
 12001  
 12002  // String returns the string representation.
 12003  //
 12004  // API parameter values that are decorated as "sensitive" in the API will not
 12005  // be included in the string output. The member name will be present, but the
 12006  // value will be replaced with "sensitive".
 12007  func (s UnsupportedWorkspaceConfigurationException) String() string {
 12008  	return awsutil.Prettify(s)
 12009  }
 12010  
 12011  // GoString returns the string representation.
 12012  //
 12013  // API parameter values that are decorated as "sensitive" in the API will not
 12014  // be included in the string output. The member name will be present, but the
 12015  // value will be replaced with "sensitive".
 12016  func (s UnsupportedWorkspaceConfigurationException) GoString() string {
 12017  	return s.String()
 12018  }
 12019  
 12020  func newErrorUnsupportedWorkspaceConfigurationException(v protocol.ResponseMetadata) error {
 12021  	return &UnsupportedWorkspaceConfigurationException{
 12022  		RespMetadata: v,
 12023  	}
 12024  }
 12025  
 12026  // Code returns the exception type name.
 12027  func (s *UnsupportedWorkspaceConfigurationException) Code() string {
 12028  	return "UnsupportedWorkspaceConfigurationException"
 12029  }
 12030  
 12031  // Message returns the exception's message.
 12032  func (s *UnsupportedWorkspaceConfigurationException) Message() string {
 12033  	if s.Message_ != nil {
 12034  		return *s.Message_
 12035  	}
 12036  	return ""
 12037  }
 12038  
 12039  // OrigErr always returns nil, satisfies awserr.Error interface.
 12040  func (s *UnsupportedWorkspaceConfigurationException) OrigErr() error {
 12041  	return nil
 12042  }
 12043  
 12044  func (s *UnsupportedWorkspaceConfigurationException) Error() string {
 12045  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12046  }
 12047  
 12048  // Status code returns the HTTP status code for the request's response error.
 12049  func (s *UnsupportedWorkspaceConfigurationException) StatusCode() int {
 12050  	return s.RespMetadata.StatusCode
 12051  }
 12052  
 12053  // RequestID returns the service's response RequestID for request.
 12054  func (s *UnsupportedWorkspaceConfigurationException) RequestID() string {
 12055  	return s.RespMetadata.RequestID
 12056  }
 12057  
 12058  type UpdateConnectionAliasPermissionInput struct {
 12059  	_ struct{} `type:"structure"`
 12060  
 12061  	// The identifier of the connection alias that you want to update permissions
 12062  	// for.
 12063  	//
 12064  	// AliasId is a required field
 12065  	AliasId *string `min:"13" type:"string" required:"true"`
 12066  
 12067  	// Indicates whether to share or unshare the connection alias with the specified
 12068  	// Amazon Web Services account.
 12069  	//
 12070  	// ConnectionAliasPermission is a required field
 12071  	ConnectionAliasPermission *ConnectionAliasPermission `type:"structure" required:"true"`
 12072  }
 12073  
 12074  // String returns the string representation.
 12075  //
 12076  // API parameter values that are decorated as "sensitive" in the API will not
 12077  // be included in the string output. The member name will be present, but the
 12078  // value will be replaced with "sensitive".
 12079  func (s UpdateConnectionAliasPermissionInput) String() string {
 12080  	return awsutil.Prettify(s)
 12081  }
 12082  
 12083  // GoString returns the string representation.
 12084  //
 12085  // API parameter values that are decorated as "sensitive" in the API will not
 12086  // be included in the string output. The member name will be present, but the
 12087  // value will be replaced with "sensitive".
 12088  func (s UpdateConnectionAliasPermissionInput) GoString() string {
 12089  	return s.String()
 12090  }
 12091  
 12092  // Validate inspects the fields of the type to determine if they are valid.
 12093  func (s *UpdateConnectionAliasPermissionInput) Validate() error {
 12094  	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectionAliasPermissionInput"}
 12095  	if s.AliasId == nil {
 12096  		invalidParams.Add(request.NewErrParamRequired("AliasId"))
 12097  	}
 12098  	if s.AliasId != nil && len(*s.AliasId) < 13 {
 12099  		invalidParams.Add(request.NewErrParamMinLen("AliasId", 13))
 12100  	}
 12101  	if s.ConnectionAliasPermission == nil {
 12102  		invalidParams.Add(request.NewErrParamRequired("ConnectionAliasPermission"))
 12103  	}
 12104  	if s.ConnectionAliasPermission != nil {
 12105  		if err := s.ConnectionAliasPermission.Validate(); err != nil {
 12106  			invalidParams.AddNested("ConnectionAliasPermission", err.(request.ErrInvalidParams))
 12107  		}
 12108  	}
 12109  
 12110  	if invalidParams.Len() > 0 {
 12111  		return invalidParams
 12112  	}
 12113  	return nil
 12114  }
 12115  
 12116  // SetAliasId sets the AliasId field's value.
 12117  func (s *UpdateConnectionAliasPermissionInput) SetAliasId(v string) *UpdateConnectionAliasPermissionInput {
 12118  	s.AliasId = &v
 12119  	return s
 12120  }
 12121  
 12122  // SetConnectionAliasPermission sets the ConnectionAliasPermission field's value.
 12123  func (s *UpdateConnectionAliasPermissionInput) SetConnectionAliasPermission(v *ConnectionAliasPermission) *UpdateConnectionAliasPermissionInput {
 12124  	s.ConnectionAliasPermission = v
 12125  	return s
 12126  }
 12127  
 12128  type UpdateConnectionAliasPermissionOutput struct {
 12129  	_ struct{} `type:"structure"`
 12130  }
 12131  
 12132  // String returns the string representation.
 12133  //
 12134  // API parameter values that are decorated as "sensitive" in the API will not
 12135  // be included in the string output. The member name will be present, but the
 12136  // value will be replaced with "sensitive".
 12137  func (s UpdateConnectionAliasPermissionOutput) String() string {
 12138  	return awsutil.Prettify(s)
 12139  }
 12140  
 12141  // GoString returns the string representation.
 12142  //
 12143  // API parameter values that are decorated as "sensitive" in the API will not
 12144  // be included in the string output. The member name will be present, but the
 12145  // value will be replaced with "sensitive".
 12146  func (s UpdateConnectionAliasPermissionOutput) GoString() string {
 12147  	return s.String()
 12148  }
 12149  
 12150  // Describes whether a WorkSpace image needs to be updated with the latest drivers
 12151  // and other components required by Amazon WorkSpaces.
 12152  //
 12153  // Only Windows 10 WorkSpace images can be programmatically updated at this
 12154  // time.
 12155  type UpdateResult struct {
 12156  	_ struct{} `type:"structure"`
 12157  
 12158  	// A description of whether updates for the WorkSpace image are pending or available.
 12159  	Description *string `min:"1" type:"string"`
 12160  
 12161  	// Indicates whether updated drivers or other components are available for the
 12162  	// specified WorkSpace image.
 12163  	UpdateAvailable *bool `type:"boolean"`
 12164  }
 12165  
 12166  // String returns the string representation.
 12167  //
 12168  // API parameter values that are decorated as "sensitive" in the API will not
 12169  // be included in the string output. The member name will be present, but the
 12170  // value will be replaced with "sensitive".
 12171  func (s UpdateResult) String() string {
 12172  	return awsutil.Prettify(s)
 12173  }
 12174  
 12175  // GoString returns the string representation.
 12176  //
 12177  // API parameter values that are decorated as "sensitive" in the API will not
 12178  // be included in the string output. The member name will be present, but the
 12179  // value will be replaced with "sensitive".
 12180  func (s UpdateResult) GoString() string {
 12181  	return s.String()
 12182  }
 12183  
 12184  // SetDescription sets the Description field's value.
 12185  func (s *UpdateResult) SetDescription(v string) *UpdateResult {
 12186  	s.Description = &v
 12187  	return s
 12188  }
 12189  
 12190  // SetUpdateAvailable sets the UpdateAvailable field's value.
 12191  func (s *UpdateResult) SetUpdateAvailable(v bool) *UpdateResult {
 12192  	s.UpdateAvailable = &v
 12193  	return s
 12194  }
 12195  
 12196  type UpdateRulesOfIpGroupInput struct {
 12197  	_ struct{} `type:"structure"`
 12198  
 12199  	// The identifier of the group.
 12200  	//
 12201  	// GroupId is a required field
 12202  	GroupId *string `type:"string" required:"true"`
 12203  
 12204  	// One or more rules.
 12205  	//
 12206  	// UserRules is a required field
 12207  	UserRules []*IpRuleItem `type:"list" required:"true"`
 12208  }
 12209  
 12210  // String returns the string representation.
 12211  //
 12212  // API parameter values that are decorated as "sensitive" in the API will not
 12213  // be included in the string output. The member name will be present, but the
 12214  // value will be replaced with "sensitive".
 12215  func (s UpdateRulesOfIpGroupInput) String() string {
 12216  	return awsutil.Prettify(s)
 12217  }
 12218  
 12219  // GoString returns the string representation.
 12220  //
 12221  // API parameter values that are decorated as "sensitive" in the API will not
 12222  // be included in the string output. The member name will be present, but the
 12223  // value will be replaced with "sensitive".
 12224  func (s UpdateRulesOfIpGroupInput) GoString() string {
 12225  	return s.String()
 12226  }
 12227  
 12228  // Validate inspects the fields of the type to determine if they are valid.
 12229  func (s *UpdateRulesOfIpGroupInput) Validate() error {
 12230  	invalidParams := request.ErrInvalidParams{Context: "UpdateRulesOfIpGroupInput"}
 12231  	if s.GroupId == nil {
 12232  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 12233  	}
 12234  	if s.UserRules == nil {
 12235  		invalidParams.Add(request.NewErrParamRequired("UserRules"))
 12236  	}
 12237  
 12238  	if invalidParams.Len() > 0 {
 12239  		return invalidParams
 12240  	}
 12241  	return nil
 12242  }
 12243  
 12244  // SetGroupId sets the GroupId field's value.
 12245  func (s *UpdateRulesOfIpGroupInput) SetGroupId(v string) *UpdateRulesOfIpGroupInput {
 12246  	s.GroupId = &v
 12247  	return s
 12248  }
 12249  
 12250  // SetUserRules sets the UserRules field's value.
 12251  func (s *UpdateRulesOfIpGroupInput) SetUserRules(v []*IpRuleItem) *UpdateRulesOfIpGroupInput {
 12252  	s.UserRules = v
 12253  	return s
 12254  }
 12255  
 12256  type UpdateRulesOfIpGroupOutput struct {
 12257  	_ struct{} `type:"structure"`
 12258  }
 12259  
 12260  // String returns the string representation.
 12261  //
 12262  // API parameter values that are decorated as "sensitive" in the API will not
 12263  // be included in the string output. The member name will be present, but the
 12264  // value will be replaced with "sensitive".
 12265  func (s UpdateRulesOfIpGroupOutput) String() string {
 12266  	return awsutil.Prettify(s)
 12267  }
 12268  
 12269  // GoString returns the string representation.
 12270  //
 12271  // API parameter values that are decorated as "sensitive" in the API will not
 12272  // be included in the string output. The member name will be present, but the
 12273  // value will be replaced with "sensitive".
 12274  func (s UpdateRulesOfIpGroupOutput) GoString() string {
 12275  	return s.String()
 12276  }
 12277  
 12278  type UpdateWorkspaceBundleInput struct {
 12279  	_ struct{} `type:"structure"`
 12280  
 12281  	// The identifier of the bundle.
 12282  	BundleId *string `type:"string"`
 12283  
 12284  	// The identifier of the image.
 12285  	ImageId *string `type:"string"`
 12286  }
 12287  
 12288  // String returns the string representation.
 12289  //
 12290  // API parameter values that are decorated as "sensitive" in the API will not
 12291  // be included in the string output. The member name will be present, but the
 12292  // value will be replaced with "sensitive".
 12293  func (s UpdateWorkspaceBundleInput) String() string {
 12294  	return awsutil.Prettify(s)
 12295  }
 12296  
 12297  // GoString returns the string representation.
 12298  //
 12299  // API parameter values that are decorated as "sensitive" in the API will not
 12300  // be included in the string output. The member name will be present, but the
 12301  // value will be replaced with "sensitive".
 12302  func (s UpdateWorkspaceBundleInput) GoString() string {
 12303  	return s.String()
 12304  }
 12305  
 12306  // SetBundleId sets the BundleId field's value.
 12307  func (s *UpdateWorkspaceBundleInput) SetBundleId(v string) *UpdateWorkspaceBundleInput {
 12308  	s.BundleId = &v
 12309  	return s
 12310  }
 12311  
 12312  // SetImageId sets the ImageId field's value.
 12313  func (s *UpdateWorkspaceBundleInput) SetImageId(v string) *UpdateWorkspaceBundleInput {
 12314  	s.ImageId = &v
 12315  	return s
 12316  }
 12317  
 12318  type UpdateWorkspaceBundleOutput struct {
 12319  	_ struct{} `type:"structure"`
 12320  }
 12321  
 12322  // String returns the string representation.
 12323  //
 12324  // API parameter values that are decorated as "sensitive" in the API will not
 12325  // be included in the string output. The member name will be present, but the
 12326  // value will be replaced with "sensitive".
 12327  func (s UpdateWorkspaceBundleOutput) String() string {
 12328  	return awsutil.Prettify(s)
 12329  }
 12330  
 12331  // GoString returns the string representation.
 12332  //
 12333  // API parameter values that are decorated as "sensitive" in the API will not
 12334  // be included in the string output. The member name will be present, but the
 12335  // value will be replaced with "sensitive".
 12336  func (s UpdateWorkspaceBundleOutput) GoString() string {
 12337  	return s.String()
 12338  }
 12339  
 12340  type UpdateWorkspaceImagePermissionInput struct {
 12341  	_ struct{} `type:"structure"`
 12342  
 12343  	// The permission to copy the image. This permission can be revoked only after
 12344  	// an image has been shared.
 12345  	//
 12346  	// AllowCopyImage is a required field
 12347  	AllowCopyImage *bool `type:"boolean" required:"true"`
 12348  
 12349  	// The identifier of the image.
 12350  	//
 12351  	// ImageId is a required field
 12352  	ImageId *string `type:"string" required:"true"`
 12353  
 12354  	// The identifier of the Amazon Web Services account to share or unshare the
 12355  	// image with.
 12356  	//
 12357  	// Before sharing the image, confirm that you are sharing to the correct Amazon
 12358  	// Web Services account ID.
 12359  	//
 12360  	// SharedAccountId is a required field
 12361  	SharedAccountId *string `type:"string" required:"true"`
 12362  }
 12363  
 12364  // String returns the string representation.
 12365  //
 12366  // API parameter values that are decorated as "sensitive" in the API will not
 12367  // be included in the string output. The member name will be present, but the
 12368  // value will be replaced with "sensitive".
 12369  func (s UpdateWorkspaceImagePermissionInput) String() string {
 12370  	return awsutil.Prettify(s)
 12371  }
 12372  
 12373  // GoString returns the string representation.
 12374  //
 12375  // API parameter values that are decorated as "sensitive" in the API will not
 12376  // be included in the string output. The member name will be present, but the
 12377  // value will be replaced with "sensitive".
 12378  func (s UpdateWorkspaceImagePermissionInput) GoString() string {
 12379  	return s.String()
 12380  }
 12381  
 12382  // Validate inspects the fields of the type to determine if they are valid.
 12383  func (s *UpdateWorkspaceImagePermissionInput) Validate() error {
 12384  	invalidParams := request.ErrInvalidParams{Context: "UpdateWorkspaceImagePermissionInput"}
 12385  	if s.AllowCopyImage == nil {
 12386  		invalidParams.Add(request.NewErrParamRequired("AllowCopyImage"))
 12387  	}
 12388  	if s.ImageId == nil {
 12389  		invalidParams.Add(request.NewErrParamRequired("ImageId"))
 12390  	}
 12391  	if s.SharedAccountId == nil {
 12392  		invalidParams.Add(request.NewErrParamRequired("SharedAccountId"))
 12393  	}
 12394  
 12395  	if invalidParams.Len() > 0 {
 12396  		return invalidParams
 12397  	}
 12398  	return nil
 12399  }
 12400  
 12401  // SetAllowCopyImage sets the AllowCopyImage field's value.
 12402  func (s *UpdateWorkspaceImagePermissionInput) SetAllowCopyImage(v bool) *UpdateWorkspaceImagePermissionInput {
 12403  	s.AllowCopyImage = &v
 12404  	return s
 12405  }
 12406  
 12407  // SetImageId sets the ImageId field's value.
 12408  func (s *UpdateWorkspaceImagePermissionInput) SetImageId(v string) *UpdateWorkspaceImagePermissionInput {
 12409  	s.ImageId = &v
 12410  	return s
 12411  }
 12412  
 12413  // SetSharedAccountId sets the SharedAccountId field's value.
 12414  func (s *UpdateWorkspaceImagePermissionInput) SetSharedAccountId(v string) *UpdateWorkspaceImagePermissionInput {
 12415  	s.SharedAccountId = &v
 12416  	return s
 12417  }
 12418  
 12419  type UpdateWorkspaceImagePermissionOutput struct {
 12420  	_ struct{} `type:"structure"`
 12421  }
 12422  
 12423  // String returns the string representation.
 12424  //
 12425  // API parameter values that are decorated as "sensitive" in the API will not
 12426  // be included in the string output. The member name will be present, but the
 12427  // value will be replaced with "sensitive".
 12428  func (s UpdateWorkspaceImagePermissionOutput) String() string {
 12429  	return awsutil.Prettify(s)
 12430  }
 12431  
 12432  // GoString returns the string representation.
 12433  //
 12434  // API parameter values that are decorated as "sensitive" in the API will not
 12435  // be included in the string output. The member name will be present, but the
 12436  // value will be replaced with "sensitive".
 12437  func (s UpdateWorkspaceImagePermissionOutput) GoString() string {
 12438  	return s.String()
 12439  }
 12440  
 12441  // Describes the user volume for a WorkSpace bundle.
 12442  type UserStorage struct {
 12443  	_ struct{} `type:"structure"`
 12444  
 12445  	// The size of the user volume.
 12446  	Capacity *string `min:"1" type:"string"`
 12447  }
 12448  
 12449  // String returns the string representation.
 12450  //
 12451  // API parameter values that are decorated as "sensitive" in the API will not
 12452  // be included in the string output. The member name will be present, but the
 12453  // value will be replaced with "sensitive".
 12454  func (s UserStorage) String() string {
 12455  	return awsutil.Prettify(s)
 12456  }
 12457  
 12458  // GoString returns the string representation.
 12459  //
 12460  // API parameter values that are decorated as "sensitive" in the API will not
 12461  // be included in the string output. The member name will be present, but the
 12462  // value will be replaced with "sensitive".
 12463  func (s UserStorage) GoString() string {
 12464  	return s.String()
 12465  }
 12466  
 12467  // Validate inspects the fields of the type to determine if they are valid.
 12468  func (s *UserStorage) Validate() error {
 12469  	invalidParams := request.ErrInvalidParams{Context: "UserStorage"}
 12470  	if s.Capacity != nil && len(*s.Capacity) < 1 {
 12471  		invalidParams.Add(request.NewErrParamMinLen("Capacity", 1))
 12472  	}
 12473  
 12474  	if invalidParams.Len() > 0 {
 12475  		return invalidParams
 12476  	}
 12477  	return nil
 12478  }
 12479  
 12480  // SetCapacity sets the Capacity field's value.
 12481  func (s *UserStorage) SetCapacity(v string) *UserStorage {
 12482  	s.Capacity = &v
 12483  	return s
 12484  }
 12485  
 12486  // Describes a WorkSpace.
 12487  type Workspace struct {
 12488  	_ struct{} `type:"structure"`
 12489  
 12490  	// The identifier of the bundle used to create the WorkSpace.
 12491  	BundleId *string `type:"string"`
 12492  
 12493  	// The name of the WorkSpace, as seen by the operating system. The format of
 12494  	// this name varies. For more information, see Launch a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/launch-workspaces-tutorials.html).
 12495  	ComputerName *string `type:"string"`
 12496  
 12497  	// The identifier of the Directory Service directory for the WorkSpace.
 12498  	DirectoryId *string `min:"10" type:"string"`
 12499  
 12500  	// The error code that is returned if the WorkSpace cannot be created.
 12501  	ErrorCode *string `type:"string"`
 12502  
 12503  	// The text of the error message that is returned if the WorkSpace cannot be
 12504  	// created.
 12505  	ErrorMessage *string `type:"string"`
 12506  
 12507  	// The IP address of the WorkSpace.
 12508  	IpAddress *string `type:"string"`
 12509  
 12510  	// The modification states of the WorkSpace.
 12511  	ModificationStates []*ModificationState `type:"list"`
 12512  
 12513  	// Indicates whether the data stored on the root volume is encrypted.
 12514  	RootVolumeEncryptionEnabled *bool `type:"boolean"`
 12515  
 12516  	// The operational state of the WorkSpace.
 12517  	//
 12518  	// After a WorkSpace is terminated, the TERMINATED state is returned only briefly
 12519  	// before the WorkSpace directory metadata is cleaned up, so this state is rarely
 12520  	// returned. To confirm that a WorkSpace is terminated, check for the WorkSpace
 12521  	// ID by using DescribeWorkSpaces (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaces.html).
 12522  	// If the WorkSpace ID isn't returned, then the WorkSpace has been successfully
 12523  	// terminated.
 12524  	State *string `type:"string" enum:"WorkspaceState"`
 12525  
 12526  	// The identifier of the subnet for the WorkSpace.
 12527  	SubnetId *string `min:"15" type:"string"`
 12528  
 12529  	// The user for the WorkSpace.
 12530  	UserName *string `min:"1" type:"string"`
 12531  
 12532  	// Indicates whether the data stored on the user volume is encrypted.
 12533  	UserVolumeEncryptionEnabled *bool `type:"boolean"`
 12534  
 12535  	// The symmetric KMS key used to encrypt data stored on your WorkSpace. Amazon
 12536  	// WorkSpaces does not support asymmetric KMS keys.
 12537  	VolumeEncryptionKey *string `type:"string"`
 12538  
 12539  	// The identifier of the WorkSpace.
 12540  	WorkspaceId *string `type:"string"`
 12541  
 12542  	// The properties of the WorkSpace.
 12543  	WorkspaceProperties *WorkspaceProperties `type:"structure"`
 12544  }
 12545  
 12546  // String returns the string representation.
 12547  //
 12548  // API parameter values that are decorated as "sensitive" in the API will not
 12549  // be included in the string output. The member name will be present, but the
 12550  // value will be replaced with "sensitive".
 12551  func (s Workspace) String() string {
 12552  	return awsutil.Prettify(s)
 12553  }
 12554  
 12555  // GoString returns the string representation.
 12556  //
 12557  // API parameter values that are decorated as "sensitive" in the API will not
 12558  // be included in the string output. The member name will be present, but the
 12559  // value will be replaced with "sensitive".
 12560  func (s Workspace) GoString() string {
 12561  	return s.String()
 12562  }
 12563  
 12564  // SetBundleId sets the BundleId field's value.
 12565  func (s *Workspace) SetBundleId(v string) *Workspace {
 12566  	s.BundleId = &v
 12567  	return s
 12568  }
 12569  
 12570  // SetComputerName sets the ComputerName field's value.
 12571  func (s *Workspace) SetComputerName(v string) *Workspace {
 12572  	s.ComputerName = &v
 12573  	return s
 12574  }
 12575  
 12576  // SetDirectoryId sets the DirectoryId field's value.
 12577  func (s *Workspace) SetDirectoryId(v string) *Workspace {
 12578  	s.DirectoryId = &v
 12579  	return s
 12580  }
 12581  
 12582  // SetErrorCode sets the ErrorCode field's value.
 12583  func (s *Workspace) SetErrorCode(v string) *Workspace {
 12584  	s.ErrorCode = &v
 12585  	return s
 12586  }
 12587  
 12588  // SetErrorMessage sets the ErrorMessage field's value.
 12589  func (s *Workspace) SetErrorMessage(v string) *Workspace {
 12590  	s.ErrorMessage = &v
 12591  	return s
 12592  }
 12593  
 12594  // SetIpAddress sets the IpAddress field's value.
 12595  func (s *Workspace) SetIpAddress(v string) *Workspace {
 12596  	s.IpAddress = &v
 12597  	return s
 12598  }
 12599  
 12600  // SetModificationStates sets the ModificationStates field's value.
 12601  func (s *Workspace) SetModificationStates(v []*ModificationState) *Workspace {
 12602  	s.ModificationStates = v
 12603  	return s
 12604  }
 12605  
 12606  // SetRootVolumeEncryptionEnabled sets the RootVolumeEncryptionEnabled field's value.
 12607  func (s *Workspace) SetRootVolumeEncryptionEnabled(v bool) *Workspace {
 12608  	s.RootVolumeEncryptionEnabled = &v
 12609  	return s
 12610  }
 12611  
 12612  // SetState sets the State field's value.
 12613  func (s *Workspace) SetState(v string) *Workspace {
 12614  	s.State = &v
 12615  	return s
 12616  }
 12617  
 12618  // SetSubnetId sets the SubnetId field's value.
 12619  func (s *Workspace) SetSubnetId(v string) *Workspace {
 12620  	s.SubnetId = &v
 12621  	return s
 12622  }
 12623  
 12624  // SetUserName sets the UserName field's value.
 12625  func (s *Workspace) SetUserName(v string) *Workspace {
 12626  	s.UserName = &v
 12627  	return s
 12628  }
 12629  
 12630  // SetUserVolumeEncryptionEnabled sets the UserVolumeEncryptionEnabled field's value.
 12631  func (s *Workspace) SetUserVolumeEncryptionEnabled(v bool) *Workspace {
 12632  	s.UserVolumeEncryptionEnabled = &v
 12633  	return s
 12634  }
 12635  
 12636  // SetVolumeEncryptionKey sets the VolumeEncryptionKey field's value.
 12637  func (s *Workspace) SetVolumeEncryptionKey(v string) *Workspace {
 12638  	s.VolumeEncryptionKey = &v
 12639  	return s
 12640  }
 12641  
 12642  // SetWorkspaceId sets the WorkspaceId field's value.
 12643  func (s *Workspace) SetWorkspaceId(v string) *Workspace {
 12644  	s.WorkspaceId = &v
 12645  	return s
 12646  }
 12647  
 12648  // SetWorkspaceProperties sets the WorkspaceProperties field's value.
 12649  func (s *Workspace) SetWorkspaceProperties(v *WorkspaceProperties) *Workspace {
 12650  	s.WorkspaceProperties = v
 12651  	return s
 12652  }
 12653  
 12654  // The device types and operating systems that can be used to access a WorkSpace.
 12655  // For more information, see Amazon WorkSpaces Client Network Requirements (https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-network-requirements.html).
 12656  type WorkspaceAccessProperties struct {
 12657  	_ struct{} `type:"structure"`
 12658  
 12659  	// Indicates whether users can use Android and Android-compatible Chrome OS
 12660  	// devices to access their WorkSpaces.
 12661  	DeviceTypeAndroid *string `type:"string" enum:"AccessPropertyValue"`
 12662  
 12663  	// Indicates whether users can use Chromebooks to access their WorkSpaces.
 12664  	DeviceTypeChromeOs *string `type:"string" enum:"AccessPropertyValue"`
 12665  
 12666  	// Indicates whether users can use iOS devices to access their WorkSpaces.
 12667  	DeviceTypeIos *string `type:"string" enum:"AccessPropertyValue"`
 12668  
 12669  	// Indicates whether users can use Linux clients to access their WorkSpaces.
 12670  	DeviceTypeLinux *string `type:"string" enum:"AccessPropertyValue"`
 12671  
 12672  	// Indicates whether users can use macOS clients to access their WorkSpaces.
 12673  	DeviceTypeOsx *string `type:"string" enum:"AccessPropertyValue"`
 12674  
 12675  	// Indicates whether users can access their WorkSpaces through a web browser.
 12676  	DeviceTypeWeb *string `type:"string" enum:"AccessPropertyValue"`
 12677  
 12678  	// Indicates whether users can use Windows clients to access their WorkSpaces.
 12679  	DeviceTypeWindows *string `type:"string" enum:"AccessPropertyValue"`
 12680  
 12681  	// Indicates whether users can use zero client devices to access their WorkSpaces.
 12682  	DeviceTypeZeroClient *string `type:"string" enum:"AccessPropertyValue"`
 12683  }
 12684  
 12685  // String returns the string representation.
 12686  //
 12687  // API parameter values that are decorated as "sensitive" in the API will not
 12688  // be included in the string output. The member name will be present, but the
 12689  // value will be replaced with "sensitive".
 12690  func (s WorkspaceAccessProperties) String() string {
 12691  	return awsutil.Prettify(s)
 12692  }
 12693  
 12694  // GoString returns the string representation.
 12695  //
 12696  // API parameter values that are decorated as "sensitive" in the API will not
 12697  // be included in the string output. The member name will be present, but the
 12698  // value will be replaced with "sensitive".
 12699  func (s WorkspaceAccessProperties) GoString() string {
 12700  	return s.String()
 12701  }
 12702  
 12703  // SetDeviceTypeAndroid sets the DeviceTypeAndroid field's value.
 12704  func (s *WorkspaceAccessProperties) SetDeviceTypeAndroid(v string) *WorkspaceAccessProperties {
 12705  	s.DeviceTypeAndroid = &v
 12706  	return s
 12707  }
 12708  
 12709  // SetDeviceTypeChromeOs sets the DeviceTypeChromeOs field's value.
 12710  func (s *WorkspaceAccessProperties) SetDeviceTypeChromeOs(v string) *WorkspaceAccessProperties {
 12711  	s.DeviceTypeChromeOs = &v
 12712  	return s
 12713  }
 12714  
 12715  // SetDeviceTypeIos sets the DeviceTypeIos field's value.
 12716  func (s *WorkspaceAccessProperties) SetDeviceTypeIos(v string) *WorkspaceAccessProperties {
 12717  	s.DeviceTypeIos = &v
 12718  	return s
 12719  }
 12720  
 12721  // SetDeviceTypeLinux sets the DeviceTypeLinux field's value.
 12722  func (s *WorkspaceAccessProperties) SetDeviceTypeLinux(v string) *WorkspaceAccessProperties {
 12723  	s.DeviceTypeLinux = &v
 12724  	return s
 12725  }
 12726  
 12727  // SetDeviceTypeOsx sets the DeviceTypeOsx field's value.
 12728  func (s *WorkspaceAccessProperties) SetDeviceTypeOsx(v string) *WorkspaceAccessProperties {
 12729  	s.DeviceTypeOsx = &v
 12730  	return s
 12731  }
 12732  
 12733  // SetDeviceTypeWeb sets the DeviceTypeWeb field's value.
 12734  func (s *WorkspaceAccessProperties) SetDeviceTypeWeb(v string) *WorkspaceAccessProperties {
 12735  	s.DeviceTypeWeb = &v
 12736  	return s
 12737  }
 12738  
 12739  // SetDeviceTypeWindows sets the DeviceTypeWindows field's value.
 12740  func (s *WorkspaceAccessProperties) SetDeviceTypeWindows(v string) *WorkspaceAccessProperties {
 12741  	s.DeviceTypeWindows = &v
 12742  	return s
 12743  }
 12744  
 12745  // SetDeviceTypeZeroClient sets the DeviceTypeZeroClient field's value.
 12746  func (s *WorkspaceAccessProperties) SetDeviceTypeZeroClient(v string) *WorkspaceAccessProperties {
 12747  	s.DeviceTypeZeroClient = &v
 12748  	return s
 12749  }
 12750  
 12751  // Describes a WorkSpace bundle.
 12752  type WorkspaceBundle struct {
 12753  	_ struct{} `type:"structure"`
 12754  
 12755  	// The identifier of the bundle.
 12756  	BundleId *string `type:"string"`
 12757  
 12758  	// The compute type of the bundle. For more information, see Amazon WorkSpaces
 12759  	// Bundles (http://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles).
 12760  	ComputeType *ComputeType `type:"structure"`
 12761  
 12762  	// The time when the bundle was created.
 12763  	CreationTime *time.Time `type:"timestamp"`
 12764  
 12765  	// The description of the bundle.
 12766  	Description *string `type:"string"`
 12767  
 12768  	// The identifier of the image that was used to create the bundle.
 12769  	ImageId *string `type:"string"`
 12770  
 12771  	// The last time that the bundle was updated.
 12772  	LastUpdatedTime *time.Time `type:"timestamp"`
 12773  
 12774  	// The name of the bundle.
 12775  	Name *string `min:"1" type:"string"`
 12776  
 12777  	// The owner of the bundle. This is the account identifier of the owner, or
 12778  	// AMAZON if the bundle is provided by Amazon Web Services.
 12779  	Owner *string `type:"string"`
 12780  
 12781  	// The size of the root volume.
 12782  	RootStorage *RootStorage `type:"structure"`
 12783  
 12784  	// The size of the user volume.
 12785  	UserStorage *UserStorage `type:"structure"`
 12786  }
 12787  
 12788  // String returns the string representation.
 12789  //
 12790  // API parameter values that are decorated as "sensitive" in the API will not
 12791  // be included in the string output. The member name will be present, but the
 12792  // value will be replaced with "sensitive".
 12793  func (s WorkspaceBundle) String() string {
 12794  	return awsutil.Prettify(s)
 12795  }
 12796  
 12797  // GoString returns the string representation.
 12798  //
 12799  // API parameter values that are decorated as "sensitive" in the API will not
 12800  // be included in the string output. The member name will be present, but the
 12801  // value will be replaced with "sensitive".
 12802  func (s WorkspaceBundle) GoString() string {
 12803  	return s.String()
 12804  }
 12805  
 12806  // SetBundleId sets the BundleId field's value.
 12807  func (s *WorkspaceBundle) SetBundleId(v string) *WorkspaceBundle {
 12808  	s.BundleId = &v
 12809  	return s
 12810  }
 12811  
 12812  // SetComputeType sets the ComputeType field's value.
 12813  func (s *WorkspaceBundle) SetComputeType(v *ComputeType) *WorkspaceBundle {
 12814  	s.ComputeType = v
 12815  	return s
 12816  }
 12817  
 12818  // SetCreationTime sets the CreationTime field's value.
 12819  func (s *WorkspaceBundle) SetCreationTime(v time.Time) *WorkspaceBundle {
 12820  	s.CreationTime = &v
 12821  	return s
 12822  }
 12823  
 12824  // SetDescription sets the Description field's value.
 12825  func (s *WorkspaceBundle) SetDescription(v string) *WorkspaceBundle {
 12826  	s.Description = &v
 12827  	return s
 12828  }
 12829  
 12830  // SetImageId sets the ImageId field's value.
 12831  func (s *WorkspaceBundle) SetImageId(v string) *WorkspaceBundle {
 12832  	s.ImageId = &v
 12833  	return s
 12834  }
 12835  
 12836  // SetLastUpdatedTime sets the LastUpdatedTime field's value.
 12837  func (s *WorkspaceBundle) SetLastUpdatedTime(v time.Time) *WorkspaceBundle {
 12838  	s.LastUpdatedTime = &v
 12839  	return s
 12840  }
 12841  
 12842  // SetName sets the Name field's value.
 12843  func (s *WorkspaceBundle) SetName(v string) *WorkspaceBundle {
 12844  	s.Name = &v
 12845  	return s
 12846  }
 12847  
 12848  // SetOwner sets the Owner field's value.
 12849  func (s *WorkspaceBundle) SetOwner(v string) *WorkspaceBundle {
 12850  	s.Owner = &v
 12851  	return s
 12852  }
 12853  
 12854  // SetRootStorage sets the RootStorage field's value.
 12855  func (s *WorkspaceBundle) SetRootStorage(v *RootStorage) *WorkspaceBundle {
 12856  	s.RootStorage = v
 12857  	return s
 12858  }
 12859  
 12860  // SetUserStorage sets the UserStorage field's value.
 12861  func (s *WorkspaceBundle) SetUserStorage(v *UserStorage) *WorkspaceBundle {
 12862  	s.UserStorage = v
 12863  	return s
 12864  }
 12865  
 12866  // Describes the connection status of a WorkSpace.
 12867  type WorkspaceConnectionStatus struct {
 12868  	_ struct{} `type:"structure"`
 12869  
 12870  	// The connection state of the WorkSpace. The connection state is unknown if
 12871  	// the WorkSpace is stopped.
 12872  	ConnectionState *string `type:"string" enum:"ConnectionState"`
 12873  
 12874  	// The timestamp of the connection status check.
 12875  	ConnectionStateCheckTimestamp *time.Time `type:"timestamp"`
 12876  
 12877  	// The timestamp of the last known user connection.
 12878  	LastKnownUserConnectionTimestamp *time.Time `type:"timestamp"`
 12879  
 12880  	// The identifier of the WorkSpace.
 12881  	WorkspaceId *string `type:"string"`
 12882  }
 12883  
 12884  // String returns the string representation.
 12885  //
 12886  // API parameter values that are decorated as "sensitive" in the API will not
 12887  // be included in the string output. The member name will be present, but the
 12888  // value will be replaced with "sensitive".
 12889  func (s WorkspaceConnectionStatus) String() string {
 12890  	return awsutil.Prettify(s)
 12891  }
 12892  
 12893  // GoString returns the string representation.
 12894  //
 12895  // API parameter values that are decorated as "sensitive" in the API will not
 12896  // be included in the string output. The member name will be present, but the
 12897  // value will be replaced with "sensitive".
 12898  func (s WorkspaceConnectionStatus) GoString() string {
 12899  	return s.String()
 12900  }
 12901  
 12902  // SetConnectionState sets the ConnectionState field's value.
 12903  func (s *WorkspaceConnectionStatus) SetConnectionState(v string) *WorkspaceConnectionStatus {
 12904  	s.ConnectionState = &v
 12905  	return s
 12906  }
 12907  
 12908  // SetConnectionStateCheckTimestamp sets the ConnectionStateCheckTimestamp field's value.
 12909  func (s *WorkspaceConnectionStatus) SetConnectionStateCheckTimestamp(v time.Time) *WorkspaceConnectionStatus {
 12910  	s.ConnectionStateCheckTimestamp = &v
 12911  	return s
 12912  }
 12913  
 12914  // SetLastKnownUserConnectionTimestamp sets the LastKnownUserConnectionTimestamp field's value.
 12915  func (s *WorkspaceConnectionStatus) SetLastKnownUserConnectionTimestamp(v time.Time) *WorkspaceConnectionStatus {
 12916  	s.LastKnownUserConnectionTimestamp = &v
 12917  	return s
 12918  }
 12919  
 12920  // SetWorkspaceId sets the WorkspaceId field's value.
 12921  func (s *WorkspaceConnectionStatus) SetWorkspaceId(v string) *WorkspaceConnectionStatus {
 12922  	s.WorkspaceId = &v
 12923  	return s
 12924  }
 12925  
 12926  // Describes the default properties that are used for creating WorkSpaces. For
 12927  // more information, see Update Directory Details for Your WorkSpaces (https://docs.aws.amazon.com/workspaces/latest/adminguide/update-directory-details.html).
 12928  type WorkspaceCreationProperties struct {
 12929  	_ struct{} `type:"structure"`
 12930  
 12931  	// The identifier of your custom security group.
 12932  	CustomSecurityGroupId *string `min:"11" type:"string"`
 12933  
 12934  	// The default organizational unit (OU) for your WorkSpaces directories. This
 12935  	// string must be the full Lightweight Directory Access Protocol (LDAP) distinguished
 12936  	// name for the target domain and OU. It must be in the form "OU=value,DC=value,DC=value",
 12937  	// where value is any string of characters, and the number of domain components
 12938  	// (DCs) is two or more. For example, OU=WorkSpaces_machines,DC=machines,DC=example,DC=com.
 12939  	//
 12940  	//    * To avoid errors, certain characters in the distinguished name must be
 12941  	//    escaped. For more information, see Distinguished Names (https://docs.microsoft.com/previous-versions/windows/desktop/ldap/distinguished-names)
 12942  	//    in the Microsoft documentation.
 12943  	//
 12944  	//    * The API doesn't validate whether the OU exists.
 12945  	DefaultOu *string `type:"string"`
 12946  
 12947  	// Indicates whether internet access is enabled for your WorkSpaces.
 12948  	EnableInternetAccess *bool `type:"boolean"`
 12949  
 12950  	// Indicates whether maintenance mode is enabled for your WorkSpaces. For more
 12951  	// information, see WorkSpace Maintenance (https://docs.aws.amazon.com/workspaces/latest/adminguide/workspace-maintenance.html).
 12952  	EnableMaintenanceMode *bool `type:"boolean"`
 12953  
 12954  	// Indicates whether Amazon WorkDocs is enabled for your WorkSpaces.
 12955  	//
 12956  	// If WorkDocs is already enabled for a WorkSpaces directory and you disable
 12957  	// it, new WorkSpaces launched in the directory will not have WorkDocs enabled.
 12958  	// However, WorkDocs remains enabled for any existing WorkSpaces, unless you
 12959  	// either disable users' access to WorkDocs or you delete the WorkDocs site.
 12960  	// To disable users' access to WorkDocs, see Disabling Users (https://docs.aws.amazon.com/workdocs/latest/adminguide/inactive-user.html)
 12961  	// in the Amazon WorkDocs Administration Guide. To delete a WorkDocs site, see
 12962  	// Deleting a Site (https://docs.aws.amazon.com/workdocs/latest/adminguide/manage-sites.html)
 12963  	// in the Amazon WorkDocs Administration Guide.
 12964  	//
 12965  	// If you enable WorkDocs on a directory that already has existing WorkSpaces,
 12966  	// the existing WorkSpaces and any new WorkSpaces that are launched in the directory
 12967  	// will have WorkDocs enabled.
 12968  	EnableWorkDocs *bool `type:"boolean"`
 12969  
 12970  	// Indicates whether users are local administrators of their WorkSpaces.
 12971  	UserEnabledAsLocalAdministrator *bool `type:"boolean"`
 12972  }
 12973  
 12974  // String returns the string representation.
 12975  //
 12976  // API parameter values that are decorated as "sensitive" in the API will not
 12977  // be included in the string output. The member name will be present, but the
 12978  // value will be replaced with "sensitive".
 12979  func (s WorkspaceCreationProperties) String() string {
 12980  	return awsutil.Prettify(s)
 12981  }
 12982  
 12983  // GoString returns the string representation.
 12984  //
 12985  // API parameter values that are decorated as "sensitive" in the API will not
 12986  // be included in the string output. The member name will be present, but the
 12987  // value will be replaced with "sensitive".
 12988  func (s WorkspaceCreationProperties) GoString() string {
 12989  	return s.String()
 12990  }
 12991  
 12992  // Validate inspects the fields of the type to determine if they are valid.
 12993  func (s *WorkspaceCreationProperties) Validate() error {
 12994  	invalidParams := request.ErrInvalidParams{Context: "WorkspaceCreationProperties"}
 12995  	if s.CustomSecurityGroupId != nil && len(*s.CustomSecurityGroupId) < 11 {
 12996  		invalidParams.Add(request.NewErrParamMinLen("CustomSecurityGroupId", 11))
 12997  	}
 12998  
 12999  	if invalidParams.Len() > 0 {
 13000  		return invalidParams
 13001  	}
 13002  	return nil
 13003  }
 13004  
 13005  // SetCustomSecurityGroupId sets the CustomSecurityGroupId field's value.
 13006  func (s *WorkspaceCreationProperties) SetCustomSecurityGroupId(v string) *WorkspaceCreationProperties {
 13007  	s.CustomSecurityGroupId = &v
 13008  	return s
 13009  }
 13010  
 13011  // SetDefaultOu sets the DefaultOu field's value.
 13012  func (s *WorkspaceCreationProperties) SetDefaultOu(v string) *WorkspaceCreationProperties {
 13013  	s.DefaultOu = &v
 13014  	return s
 13015  }
 13016  
 13017  // SetEnableInternetAccess sets the EnableInternetAccess field's value.
 13018  func (s *WorkspaceCreationProperties) SetEnableInternetAccess(v bool) *WorkspaceCreationProperties {
 13019  	s.EnableInternetAccess = &v
 13020  	return s
 13021  }
 13022  
 13023  // SetEnableMaintenanceMode sets the EnableMaintenanceMode field's value.
 13024  func (s *WorkspaceCreationProperties) SetEnableMaintenanceMode(v bool) *WorkspaceCreationProperties {
 13025  	s.EnableMaintenanceMode = &v
 13026  	return s
 13027  }
 13028  
 13029  // SetEnableWorkDocs sets the EnableWorkDocs field's value.
 13030  func (s *WorkspaceCreationProperties) SetEnableWorkDocs(v bool) *WorkspaceCreationProperties {
 13031  	s.EnableWorkDocs = &v
 13032  	return s
 13033  }
 13034  
 13035  // SetUserEnabledAsLocalAdministrator sets the UserEnabledAsLocalAdministrator field's value.
 13036  func (s *WorkspaceCreationProperties) SetUserEnabledAsLocalAdministrator(v bool) *WorkspaceCreationProperties {
 13037  	s.UserEnabledAsLocalAdministrator = &v
 13038  	return s
 13039  }
 13040  
 13041  // Describes a directory that is used with Amazon WorkSpaces.
 13042  type WorkspaceDirectory struct {
 13043  	_ struct{} `type:"structure"`
 13044  
 13045  	// The directory alias.
 13046  	Alias *string `type:"string"`
 13047  
 13048  	// The user name for the service account.
 13049  	CustomerUserName *string `min:"1" type:"string"`
 13050  
 13051  	// The directory identifier.
 13052  	DirectoryId *string `min:"10" type:"string"`
 13053  
 13054  	// The name of the directory.
 13055  	DirectoryName *string `type:"string"`
 13056  
 13057  	// The directory type.
 13058  	DirectoryType *string `type:"string" enum:"WorkspaceDirectoryType"`
 13059  
 13060  	// The IP addresses of the DNS servers for the directory.
 13061  	DnsIpAddresses []*string `type:"list"`
 13062  
 13063  	// The identifier of the IAM role. This is the role that allows Amazon WorkSpaces
 13064  	// to make calls to other services, such as Amazon EC2, on your behalf.
 13065  	IamRoleId *string `type:"string"`
 13066  
 13067  	// The identifiers of the IP access control groups associated with the directory.
 13068  	IpGroupIds []*string `locationName:"ipGroupIds" type:"list"`
 13069  
 13070  	// The registration code for the directory. This is the code that users enter
 13071  	// in their Amazon WorkSpaces client application to connect to the directory.
 13072  	RegistrationCode *string `min:"1" type:"string"`
 13073  
 13074  	// The default self-service permissions for WorkSpaces in the directory.
 13075  	SelfservicePermissions *SelfservicePermissions `type:"structure"`
 13076  
 13077  	// The state of the directory's registration with Amazon WorkSpaces. After a
 13078  	// directory is deregistered, the DEREGISTERED state is returned very briefly
 13079  	// before the directory metadata is cleaned up, so this state is rarely returned.
 13080  	// To confirm that a directory is deregistered, check for the directory ID by
 13081  	// using DescribeWorkspaceDirectories (https://docs.aws.amazon.com/workspaces/latest/api/API_DescribeWorkspaceDirectories.html).
 13082  	// If the directory ID isn't returned, then the directory has been successfully
 13083  	// deregistered.
 13084  	State *string `type:"string" enum:"WorkspaceDirectoryState"`
 13085  
 13086  	// The identifiers of the subnets used with the directory.
 13087  	SubnetIds []*string `type:"list"`
 13088  
 13089  	// Specifies whether the directory is dedicated or shared. To use Bring Your
 13090  	// Own License (BYOL), this value must be set to DEDICATED. For more information,
 13091  	// see Bring Your Own Windows Desktop Images (https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html).
 13092  	Tenancy *string `type:"string" enum:"Tenancy"`
 13093  
 13094  	// The devices and operating systems that users can use to access WorkSpaces.
 13095  	WorkspaceAccessProperties *WorkspaceAccessProperties `type:"structure"`
 13096  
 13097  	// The default creation properties for all WorkSpaces in the directory.
 13098  	WorkspaceCreationProperties *DefaultWorkspaceCreationProperties `type:"structure"`
 13099  
 13100  	// The identifier of the security group that is assigned to new WorkSpaces.
 13101  	WorkspaceSecurityGroupId *string `min:"11" type:"string"`
 13102  }
 13103  
 13104  // String returns the string representation.
 13105  //
 13106  // API parameter values that are decorated as "sensitive" in the API will not
 13107  // be included in the string output. The member name will be present, but the
 13108  // value will be replaced with "sensitive".
 13109  func (s WorkspaceDirectory) String() string {
 13110  	return awsutil.Prettify(s)
 13111  }
 13112  
 13113  // GoString returns the string representation.
 13114  //
 13115  // API parameter values that are decorated as "sensitive" in the API will not
 13116  // be included in the string output. The member name will be present, but the
 13117  // value will be replaced with "sensitive".
 13118  func (s WorkspaceDirectory) GoString() string {
 13119  	return s.String()
 13120  }
 13121  
 13122  // SetAlias sets the Alias field's value.
 13123  func (s *WorkspaceDirectory) SetAlias(v string) *WorkspaceDirectory {
 13124  	s.Alias = &v
 13125  	return s
 13126  }
 13127  
 13128  // SetCustomerUserName sets the CustomerUserName field's value.
 13129  func (s *WorkspaceDirectory) SetCustomerUserName(v string) *WorkspaceDirectory {
 13130  	s.CustomerUserName = &v
 13131  	return s
 13132  }
 13133  
 13134  // SetDirectoryId sets the DirectoryId field's value.
 13135  func (s *WorkspaceDirectory) SetDirectoryId(v string) *WorkspaceDirectory {
 13136  	s.DirectoryId = &v
 13137  	return s
 13138  }
 13139  
 13140  // SetDirectoryName sets the DirectoryName field's value.
 13141  func (s *WorkspaceDirectory) SetDirectoryName(v string) *WorkspaceDirectory {
 13142  	s.DirectoryName = &v
 13143  	return s
 13144  }
 13145  
 13146  // SetDirectoryType sets the DirectoryType field's value.
 13147  func (s *WorkspaceDirectory) SetDirectoryType(v string) *WorkspaceDirectory {
 13148  	s.DirectoryType = &v
 13149  	return s
 13150  }
 13151  
 13152  // SetDnsIpAddresses sets the DnsIpAddresses field's value.
 13153  func (s *WorkspaceDirectory) SetDnsIpAddresses(v []*string) *WorkspaceDirectory {
 13154  	s.DnsIpAddresses = v
 13155  	return s
 13156  }
 13157  
 13158  // SetIamRoleId sets the IamRoleId field's value.
 13159  func (s *WorkspaceDirectory) SetIamRoleId(v string) *WorkspaceDirectory {
 13160  	s.IamRoleId = &v
 13161  	return s
 13162  }
 13163  
 13164  // SetIpGroupIds sets the IpGroupIds field's value.
 13165  func (s *WorkspaceDirectory) SetIpGroupIds(v []*string) *WorkspaceDirectory {
 13166  	s.IpGroupIds = v
 13167  	return s
 13168  }
 13169  
 13170  // SetRegistrationCode sets the RegistrationCode field's value.
 13171  func (s *WorkspaceDirectory) SetRegistrationCode(v string) *WorkspaceDirectory {
 13172  	s.RegistrationCode = &v
 13173  	return s
 13174  }
 13175  
 13176  // SetSelfservicePermissions sets the SelfservicePermissions field's value.
 13177  func (s *WorkspaceDirectory) SetSelfservicePermissions(v *SelfservicePermissions) *WorkspaceDirectory {
 13178  	s.SelfservicePermissions = v
 13179  	return s
 13180  }
 13181  
 13182  // SetState sets the State field's value.
 13183  func (s *WorkspaceDirectory) SetState(v string) *WorkspaceDirectory {
 13184  	s.State = &v
 13185  	return s
 13186  }
 13187  
 13188  // SetSubnetIds sets the SubnetIds field's value.
 13189  func (s *WorkspaceDirectory) SetSubnetIds(v []*string) *WorkspaceDirectory {
 13190  	s.SubnetIds = v
 13191  	return s
 13192  }
 13193  
 13194  // SetTenancy sets the Tenancy field's value.
 13195  func (s *WorkspaceDirectory) SetTenancy(v string) *WorkspaceDirectory {
 13196  	s.Tenancy = &v
 13197  	return s
 13198  }
 13199  
 13200  // SetWorkspaceAccessProperties sets the WorkspaceAccessProperties field's value.
 13201  func (s *WorkspaceDirectory) SetWorkspaceAccessProperties(v *WorkspaceAccessProperties) *WorkspaceDirectory {
 13202  	s.WorkspaceAccessProperties = v
 13203  	return s
 13204  }
 13205  
 13206  // SetWorkspaceCreationProperties sets the WorkspaceCreationProperties field's value.
 13207  func (s *WorkspaceDirectory) SetWorkspaceCreationProperties(v *DefaultWorkspaceCreationProperties) *WorkspaceDirectory {
 13208  	s.WorkspaceCreationProperties = v
 13209  	return s
 13210  }
 13211  
 13212  // SetWorkspaceSecurityGroupId sets the WorkspaceSecurityGroupId field's value.
 13213  func (s *WorkspaceDirectory) SetWorkspaceSecurityGroupId(v string) *WorkspaceDirectory {
 13214  	s.WorkspaceSecurityGroupId = &v
 13215  	return s
 13216  }
 13217  
 13218  // Describes a WorkSpace image.
 13219  type WorkspaceImage struct {
 13220  	_ struct{} `type:"structure"`
 13221  
 13222  	// The date when the image was created. If the image has been shared, the Amazon
 13223  	// Web Services account that the image has been shared with sees the original
 13224  	// creation date of the image.
 13225  	Created *time.Time `type:"timestamp"`
 13226  
 13227  	// The description of the image.
 13228  	Description *string `min:"1" type:"string"`
 13229  
 13230  	// The error code that is returned for the image.
 13231  	ErrorCode *string `type:"string"`
 13232  
 13233  	// The text of the error message that is returned for the image.
 13234  	ErrorMessage *string `type:"string"`
 13235  
 13236  	// The identifier of the image.
 13237  	ImageId *string `type:"string"`
 13238  
 13239  	// The name of the image.
 13240  	Name *string `min:"1" type:"string"`
 13241  
 13242  	// The operating system that the image is running.
 13243  	OperatingSystem *OperatingSystem `type:"structure"`
 13244  
 13245  	// The identifier of the Amazon Web Services account that owns the image.
 13246  	OwnerAccountId *string `type:"string"`
 13247  
 13248  	// Specifies whether the image is running on dedicated hardware. When Bring
 13249  	// Your Own License (BYOL) is enabled, this value is set to DEDICATED. For more
 13250  	// information, see Bring Your Own Windows Desktop Images (https://docs.aws.amazon.com/workspaces/latest/adminguide/byol-windows-images.html).
 13251  	RequiredTenancy *string `type:"string" enum:"WorkspaceImageRequiredTenancy"`
 13252  
 13253  	// The status of the image.
 13254  	State *string `type:"string" enum:"WorkspaceImageState"`
 13255  
 13256  	// The updates (if any) that are available for the specified image.
 13257  	Updates *UpdateResult `type:"structure"`
 13258  }
 13259  
 13260  // String returns the string representation.
 13261  //
 13262  // API parameter values that are decorated as "sensitive" in the API will not
 13263  // be included in the string output. The member name will be present, but the
 13264  // value will be replaced with "sensitive".
 13265  func (s WorkspaceImage) String() string {
 13266  	return awsutil.Prettify(s)
 13267  }
 13268  
 13269  // GoString returns the string representation.
 13270  //
 13271  // API parameter values that are decorated as "sensitive" in the API will not
 13272  // be included in the string output. The member name will be present, but the
 13273  // value will be replaced with "sensitive".
 13274  func (s WorkspaceImage) GoString() string {
 13275  	return s.String()
 13276  }
 13277  
 13278  // SetCreated sets the Created field's value.
 13279  func (s *WorkspaceImage) SetCreated(v time.Time) *WorkspaceImage {
 13280  	s.Created = &v
 13281  	return s
 13282  }
 13283  
 13284  // SetDescription sets the Description field's value.
 13285  func (s *WorkspaceImage) SetDescription(v string) *WorkspaceImage {
 13286  	s.Description = &v
 13287  	return s
 13288  }
 13289  
 13290  // SetErrorCode sets the ErrorCode field's value.
 13291  func (s *WorkspaceImage) SetErrorCode(v string) *WorkspaceImage {
 13292  	s.ErrorCode = &v
 13293  	return s
 13294  }
 13295  
 13296  // SetErrorMessage sets the ErrorMessage field's value.
 13297  func (s *WorkspaceImage) SetErrorMessage(v string) *WorkspaceImage {
 13298  	s.ErrorMessage = &v
 13299  	return s
 13300  }
 13301  
 13302  // SetImageId sets the ImageId field's value.
 13303  func (s *WorkspaceImage) SetImageId(v string) *WorkspaceImage {
 13304  	s.ImageId = &v
 13305  	return s
 13306  }
 13307  
 13308  // SetName sets the Name field's value.
 13309  func (s *WorkspaceImage) SetName(v string) *WorkspaceImage {
 13310  	s.Name = &v
 13311  	return s
 13312  }
 13313  
 13314  // SetOperatingSystem sets the OperatingSystem field's value.
 13315  func (s *WorkspaceImage) SetOperatingSystem(v *OperatingSystem) *WorkspaceImage {
 13316  	s.OperatingSystem = v
 13317  	return s
 13318  }
 13319  
 13320  // SetOwnerAccountId sets the OwnerAccountId field's value.
 13321  func (s *WorkspaceImage) SetOwnerAccountId(v string) *WorkspaceImage {
 13322  	s.OwnerAccountId = &v
 13323  	return s
 13324  }
 13325  
 13326  // SetRequiredTenancy sets the RequiredTenancy field's value.
 13327  func (s *WorkspaceImage) SetRequiredTenancy(v string) *WorkspaceImage {
 13328  	s.RequiredTenancy = &v
 13329  	return s
 13330  }
 13331  
 13332  // SetState sets the State field's value.
 13333  func (s *WorkspaceImage) SetState(v string) *WorkspaceImage {
 13334  	s.State = &v
 13335  	return s
 13336  }
 13337  
 13338  // SetUpdates sets the Updates field's value.
 13339  func (s *WorkspaceImage) SetUpdates(v *UpdateResult) *WorkspaceImage {
 13340  	s.Updates = v
 13341  	return s
 13342  }
 13343  
 13344  // Describes a WorkSpace.
 13345  type WorkspaceProperties struct {
 13346  	_ struct{} `type:"structure"`
 13347  
 13348  	// The compute type. For more information, see Amazon WorkSpaces Bundles (http://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles).
 13349  	ComputeTypeName *string `type:"string" enum:"Compute"`
 13350  
 13351  	// The size of the root volume. For important information about how to modify
 13352  	// the size of the root and user volumes, see Modify a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html).
 13353  	RootVolumeSizeGib *int64 `type:"integer"`
 13354  
 13355  	// The running mode. For more information, see Manage the WorkSpace Running
 13356  	// Mode (https://docs.aws.amazon.com/workspaces/latest/adminguide/running-mode.html).
 13357  	RunningMode *string `type:"string" enum:"RunningMode"`
 13358  
 13359  	// The time after a user logs off when WorkSpaces are automatically stopped.
 13360  	// Configured in 60-minute intervals.
 13361  	RunningModeAutoStopTimeoutInMinutes *int64 `type:"integer"`
 13362  
 13363  	// The size of the user storage. For important information about how to modify
 13364  	// the size of the root and user volumes, see Modify a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html).
 13365  	UserVolumeSizeGib *int64 `type:"integer"`
 13366  }
 13367  
 13368  // String returns the string representation.
 13369  //
 13370  // API parameter values that are decorated as "sensitive" in the API will not
 13371  // be included in the string output. The member name will be present, but the
 13372  // value will be replaced with "sensitive".
 13373  func (s WorkspaceProperties) String() string {
 13374  	return awsutil.Prettify(s)
 13375  }
 13376  
 13377  // GoString returns the string representation.
 13378  //
 13379  // API parameter values that are decorated as "sensitive" in the API will not
 13380  // be included in the string output. The member name will be present, but the
 13381  // value will be replaced with "sensitive".
 13382  func (s WorkspaceProperties) GoString() string {
 13383  	return s.String()
 13384  }
 13385  
 13386  // SetComputeTypeName sets the ComputeTypeName field's value.
 13387  func (s *WorkspaceProperties) SetComputeTypeName(v string) *WorkspaceProperties {
 13388  	s.ComputeTypeName = &v
 13389  	return s
 13390  }
 13391  
 13392  // SetRootVolumeSizeGib sets the RootVolumeSizeGib field's value.
 13393  func (s *WorkspaceProperties) SetRootVolumeSizeGib(v int64) *WorkspaceProperties {
 13394  	s.RootVolumeSizeGib = &v
 13395  	return s
 13396  }
 13397  
 13398  // SetRunningMode sets the RunningMode field's value.
 13399  func (s *WorkspaceProperties) SetRunningMode(v string) *WorkspaceProperties {
 13400  	s.RunningMode = &v
 13401  	return s
 13402  }
 13403  
 13404  // SetRunningModeAutoStopTimeoutInMinutes sets the RunningModeAutoStopTimeoutInMinutes field's value.
 13405  func (s *WorkspaceProperties) SetRunningModeAutoStopTimeoutInMinutes(v int64) *WorkspaceProperties {
 13406  	s.RunningModeAutoStopTimeoutInMinutes = &v
 13407  	return s
 13408  }
 13409  
 13410  // SetUserVolumeSizeGib sets the UserVolumeSizeGib field's value.
 13411  func (s *WorkspaceProperties) SetUserVolumeSizeGib(v int64) *WorkspaceProperties {
 13412  	s.UserVolumeSizeGib = &v
 13413  	return s
 13414  }
 13415  
 13416  // Describes the information used to create a WorkSpace.
 13417  type WorkspaceRequest struct {
 13418  	_ struct{} `type:"structure"`
 13419  
 13420  	// The identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles
 13421  	// to list the available bundles.
 13422  	//
 13423  	// BundleId is a required field
 13424  	BundleId *string `type:"string" required:"true"`
 13425  
 13426  	// The identifier of the Directory Service directory for the WorkSpace. You
 13427  	// can use DescribeWorkspaceDirectories to list the available directories.
 13428  	//
 13429  	// DirectoryId is a required field
 13430  	DirectoryId *string `min:"10" type:"string" required:"true"`
 13431  
 13432  	// Indicates whether the data stored on the root volume is encrypted.
 13433  	RootVolumeEncryptionEnabled *bool `type:"boolean"`
 13434  
 13435  	// The tags for the WorkSpace.
 13436  	Tags []*Tag `type:"list"`
 13437  
 13438  	// The user name of the user for the WorkSpace. This user name must exist in
 13439  	// the Directory Service directory for the WorkSpace.
 13440  	//
 13441  	// UserName is a required field
 13442  	UserName *string `min:"1" type:"string" required:"true"`
 13443  
 13444  	// Indicates whether the data stored on the user volume is encrypted.
 13445  	UserVolumeEncryptionEnabled *bool `type:"boolean"`
 13446  
 13447  	// The symmetric KMS key used to encrypt data stored on your WorkSpace. Amazon
 13448  	// WorkSpaces does not support asymmetric KMS keys.
 13449  	VolumeEncryptionKey *string `type:"string"`
 13450  
 13451  	// The WorkSpace properties.
 13452  	WorkspaceProperties *WorkspaceProperties `type:"structure"`
 13453  }
 13454  
 13455  // String returns the string representation.
 13456  //
 13457  // API parameter values that are decorated as "sensitive" in the API will not
 13458  // be included in the string output. The member name will be present, but the
 13459  // value will be replaced with "sensitive".
 13460  func (s WorkspaceRequest) String() string {
 13461  	return awsutil.Prettify(s)
 13462  }
 13463  
 13464  // GoString returns the string representation.
 13465  //
 13466  // API parameter values that are decorated as "sensitive" in the API will not
 13467  // be included in the string output. The member name will be present, but the
 13468  // value will be replaced with "sensitive".
 13469  func (s WorkspaceRequest) GoString() string {
 13470  	return s.String()
 13471  }
 13472  
 13473  // Validate inspects the fields of the type to determine if they are valid.
 13474  func (s *WorkspaceRequest) Validate() error {
 13475  	invalidParams := request.ErrInvalidParams{Context: "WorkspaceRequest"}
 13476  	if s.BundleId == nil {
 13477  		invalidParams.Add(request.NewErrParamRequired("BundleId"))
 13478  	}
 13479  	if s.DirectoryId == nil {
 13480  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 13481  	}
 13482  	if s.DirectoryId != nil && len(*s.DirectoryId) < 10 {
 13483  		invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 10))
 13484  	}
 13485  	if s.UserName == nil {
 13486  		invalidParams.Add(request.NewErrParamRequired("UserName"))
 13487  	}
 13488  	if s.UserName != nil && len(*s.UserName) < 1 {
 13489  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
 13490  	}
 13491  	if s.Tags != nil {
 13492  		for i, v := range s.Tags {
 13493  			if v == nil {
 13494  				continue
 13495  			}
 13496  			if err := v.Validate(); err != nil {
 13497  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 13498  			}
 13499  		}
 13500  	}
 13501  
 13502  	if invalidParams.Len() > 0 {
 13503  		return invalidParams
 13504  	}
 13505  	return nil
 13506  }
 13507  
 13508  // SetBundleId sets the BundleId field's value.
 13509  func (s *WorkspaceRequest) SetBundleId(v string) *WorkspaceRequest {
 13510  	s.BundleId = &v
 13511  	return s
 13512  }
 13513  
 13514  // SetDirectoryId sets the DirectoryId field's value.
 13515  func (s *WorkspaceRequest) SetDirectoryId(v string) *WorkspaceRequest {
 13516  	s.DirectoryId = &v
 13517  	return s
 13518  }
 13519  
 13520  // SetRootVolumeEncryptionEnabled sets the RootVolumeEncryptionEnabled field's value.
 13521  func (s *WorkspaceRequest) SetRootVolumeEncryptionEnabled(v bool) *WorkspaceRequest {
 13522  	s.RootVolumeEncryptionEnabled = &v
 13523  	return s
 13524  }
 13525  
 13526  // SetTags sets the Tags field's value.
 13527  func (s *WorkspaceRequest) SetTags(v []*Tag) *WorkspaceRequest {
 13528  	s.Tags = v
 13529  	return s
 13530  }
 13531  
 13532  // SetUserName sets the UserName field's value.
 13533  func (s *WorkspaceRequest) SetUserName(v string) *WorkspaceRequest {
 13534  	s.UserName = &v
 13535  	return s
 13536  }
 13537  
 13538  // SetUserVolumeEncryptionEnabled sets the UserVolumeEncryptionEnabled field's value.
 13539  func (s *WorkspaceRequest) SetUserVolumeEncryptionEnabled(v bool) *WorkspaceRequest {
 13540  	s.UserVolumeEncryptionEnabled = &v
 13541  	return s
 13542  }
 13543  
 13544  // SetVolumeEncryptionKey sets the VolumeEncryptionKey field's value.
 13545  func (s *WorkspaceRequest) SetVolumeEncryptionKey(v string) *WorkspaceRequest {
 13546  	s.VolumeEncryptionKey = &v
 13547  	return s
 13548  }
 13549  
 13550  // SetWorkspaceProperties sets the WorkspaceProperties field's value.
 13551  func (s *WorkspaceRequest) SetWorkspaceProperties(v *WorkspaceProperties) *WorkspaceRequest {
 13552  	s.WorkspaceProperties = v
 13553  	return s
 13554  }
 13555  
 13556  // The workspaces_DefaultRole role could not be found. If this is the first
 13557  // time you are registering a directory, you will need to create the workspaces_DefaultRole
 13558  // role before you can register a directory. For more information, see Creating
 13559  // the workspaces_DefaultRole Role (https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-access-control.html#create-default-role).
 13560  type WorkspacesDefaultRoleNotFoundException struct {
 13561  	_            struct{}                  `type:"structure"`
 13562  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13563  
 13564  	Message_ *string `locationName:"message" type:"string"`
 13565  }
 13566  
 13567  // String returns the string representation.
 13568  //
 13569  // API parameter values that are decorated as "sensitive" in the API will not
 13570  // be included in the string output. The member name will be present, but the
 13571  // value will be replaced with "sensitive".
 13572  func (s WorkspacesDefaultRoleNotFoundException) String() string {
 13573  	return awsutil.Prettify(s)
 13574  }
 13575  
 13576  // GoString returns the string representation.
 13577  //
 13578  // API parameter values that are decorated as "sensitive" in the API will not
 13579  // be included in the string output. The member name will be present, but the
 13580  // value will be replaced with "sensitive".
 13581  func (s WorkspacesDefaultRoleNotFoundException) GoString() string {
 13582  	return s.String()
 13583  }
 13584  
 13585  func newErrorWorkspacesDefaultRoleNotFoundException(v protocol.ResponseMetadata) error {
 13586  	return &WorkspacesDefaultRoleNotFoundException{
 13587  		RespMetadata: v,
 13588  	}
 13589  }
 13590  
 13591  // Code returns the exception type name.
 13592  func (s *WorkspacesDefaultRoleNotFoundException) Code() string {
 13593  	return "WorkspacesDefaultRoleNotFoundException"
 13594  }
 13595  
 13596  // Message returns the exception's message.
 13597  func (s *WorkspacesDefaultRoleNotFoundException) Message() string {
 13598  	if s.Message_ != nil {
 13599  		return *s.Message_
 13600  	}
 13601  	return ""
 13602  }
 13603  
 13604  // OrigErr always returns nil, satisfies awserr.Error interface.
 13605  func (s *WorkspacesDefaultRoleNotFoundException) OrigErr() error {
 13606  	return nil
 13607  }
 13608  
 13609  func (s *WorkspacesDefaultRoleNotFoundException) Error() string {
 13610  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13611  }
 13612  
 13613  // Status code returns the HTTP status code for the request's response error.
 13614  func (s *WorkspacesDefaultRoleNotFoundException) StatusCode() int {
 13615  	return s.RespMetadata.StatusCode
 13616  }
 13617  
 13618  // RequestID returns the service's response RequestID for request.
 13619  func (s *WorkspacesDefaultRoleNotFoundException) RequestID() string {
 13620  	return s.RespMetadata.RequestID
 13621  }
 13622  
 13623  const (
 13624  	// AccessPropertyValueAllow is a AccessPropertyValue enum value
 13625  	AccessPropertyValueAllow = "ALLOW"
 13626  
 13627  	// AccessPropertyValueDeny is a AccessPropertyValue enum value
 13628  	AccessPropertyValueDeny = "DENY"
 13629  )
 13630  
 13631  // AccessPropertyValue_Values returns all elements of the AccessPropertyValue enum
 13632  func AccessPropertyValue_Values() []string {
 13633  	return []string{
 13634  		AccessPropertyValueAllow,
 13635  		AccessPropertyValueDeny,
 13636  	}
 13637  }
 13638  
 13639  const (
 13640  	// ApplicationMicrosoftOffice2016 is a Application enum value
 13641  	ApplicationMicrosoftOffice2016 = "Microsoft_Office_2016"
 13642  
 13643  	// ApplicationMicrosoftOffice2019 is a Application enum value
 13644  	ApplicationMicrosoftOffice2019 = "Microsoft_Office_2019"
 13645  )
 13646  
 13647  // Application_Values returns all elements of the Application enum
 13648  func Application_Values() []string {
 13649  	return []string{
 13650  		ApplicationMicrosoftOffice2016,
 13651  		ApplicationMicrosoftOffice2019,
 13652  	}
 13653  }
 13654  
 13655  const (
 13656  	// AssociationStatusNotAssociated is a AssociationStatus enum value
 13657  	AssociationStatusNotAssociated = "NOT_ASSOCIATED"
 13658  
 13659  	// AssociationStatusAssociatedWithOwnerAccount is a AssociationStatus enum value
 13660  	AssociationStatusAssociatedWithOwnerAccount = "ASSOCIATED_WITH_OWNER_ACCOUNT"
 13661  
 13662  	// AssociationStatusAssociatedWithSharedAccount is a AssociationStatus enum value
 13663  	AssociationStatusAssociatedWithSharedAccount = "ASSOCIATED_WITH_SHARED_ACCOUNT"
 13664  
 13665  	// AssociationStatusPendingAssociation is a AssociationStatus enum value
 13666  	AssociationStatusPendingAssociation = "PENDING_ASSOCIATION"
 13667  
 13668  	// AssociationStatusPendingDisassociation is a AssociationStatus enum value
 13669  	AssociationStatusPendingDisassociation = "PENDING_DISASSOCIATION"
 13670  )
 13671  
 13672  // AssociationStatus_Values returns all elements of the AssociationStatus enum
 13673  func AssociationStatus_Values() []string {
 13674  	return []string{
 13675  		AssociationStatusNotAssociated,
 13676  		AssociationStatusAssociatedWithOwnerAccount,
 13677  		AssociationStatusAssociatedWithSharedAccount,
 13678  		AssociationStatusPendingAssociation,
 13679  		AssociationStatusPendingDisassociation,
 13680  	}
 13681  }
 13682  
 13683  const (
 13684  	// ComputeValue is a Compute enum value
 13685  	ComputeValue = "VALUE"
 13686  
 13687  	// ComputeStandard is a Compute enum value
 13688  	ComputeStandard = "STANDARD"
 13689  
 13690  	// ComputePerformance is a Compute enum value
 13691  	ComputePerformance = "PERFORMANCE"
 13692  
 13693  	// ComputePower is a Compute enum value
 13694  	ComputePower = "POWER"
 13695  
 13696  	// ComputeGraphics is a Compute enum value
 13697  	ComputeGraphics = "GRAPHICS"
 13698  
 13699  	// ComputePowerpro is a Compute enum value
 13700  	ComputePowerpro = "POWERPRO"
 13701  
 13702  	// ComputeGraphicspro is a Compute enum value
 13703  	ComputeGraphicspro = "GRAPHICSPRO"
 13704  )
 13705  
 13706  // Compute_Values returns all elements of the Compute enum
 13707  func Compute_Values() []string {
 13708  	return []string{
 13709  		ComputeValue,
 13710  		ComputeStandard,
 13711  		ComputePerformance,
 13712  		ComputePower,
 13713  		ComputeGraphics,
 13714  		ComputePowerpro,
 13715  		ComputeGraphicspro,
 13716  	}
 13717  }
 13718  
 13719  const (
 13720  	// ConnectionAliasStateCreating is a ConnectionAliasState enum value
 13721  	ConnectionAliasStateCreating = "CREATING"
 13722  
 13723  	// ConnectionAliasStateCreated is a ConnectionAliasState enum value
 13724  	ConnectionAliasStateCreated = "CREATED"
 13725  
 13726  	// ConnectionAliasStateDeleting is a ConnectionAliasState enum value
 13727  	ConnectionAliasStateDeleting = "DELETING"
 13728  )
 13729  
 13730  // ConnectionAliasState_Values returns all elements of the ConnectionAliasState enum
 13731  func ConnectionAliasState_Values() []string {
 13732  	return []string{
 13733  		ConnectionAliasStateCreating,
 13734  		ConnectionAliasStateCreated,
 13735  		ConnectionAliasStateDeleting,
 13736  	}
 13737  }
 13738  
 13739  const (
 13740  	// ConnectionStateConnected is a ConnectionState enum value
 13741  	ConnectionStateConnected = "CONNECTED"
 13742  
 13743  	// ConnectionStateDisconnected is a ConnectionState enum value
 13744  	ConnectionStateDisconnected = "DISCONNECTED"
 13745  
 13746  	// ConnectionStateUnknown is a ConnectionState enum value
 13747  	ConnectionStateUnknown = "UNKNOWN"
 13748  )
 13749  
 13750  // ConnectionState_Values returns all elements of the ConnectionState enum
 13751  func ConnectionState_Values() []string {
 13752  	return []string{
 13753  		ConnectionStateConnected,
 13754  		ConnectionStateDisconnected,
 13755  		ConnectionStateUnknown,
 13756  	}
 13757  }
 13758  
 13759  const (
 13760  	// DedicatedTenancyModificationStateEnumPending is a DedicatedTenancyModificationStateEnum enum value
 13761  	DedicatedTenancyModificationStateEnumPending = "PENDING"
 13762  
 13763  	// DedicatedTenancyModificationStateEnumCompleted is a DedicatedTenancyModificationStateEnum enum value
 13764  	DedicatedTenancyModificationStateEnumCompleted = "COMPLETED"
 13765  
 13766  	// DedicatedTenancyModificationStateEnumFailed is a DedicatedTenancyModificationStateEnum enum value
 13767  	DedicatedTenancyModificationStateEnumFailed = "FAILED"
 13768  )
 13769  
 13770  // DedicatedTenancyModificationStateEnum_Values returns all elements of the DedicatedTenancyModificationStateEnum enum
 13771  func DedicatedTenancyModificationStateEnum_Values() []string {
 13772  	return []string{
 13773  		DedicatedTenancyModificationStateEnumPending,
 13774  		DedicatedTenancyModificationStateEnumCompleted,
 13775  		DedicatedTenancyModificationStateEnumFailed,
 13776  	}
 13777  }
 13778  
 13779  const (
 13780  	// DedicatedTenancySupportEnumEnabled is a DedicatedTenancySupportEnum enum value
 13781  	DedicatedTenancySupportEnumEnabled = "ENABLED"
 13782  )
 13783  
 13784  // DedicatedTenancySupportEnum_Values returns all elements of the DedicatedTenancySupportEnum enum
 13785  func DedicatedTenancySupportEnum_Values() []string {
 13786  	return []string{
 13787  		DedicatedTenancySupportEnumEnabled,
 13788  	}
 13789  }
 13790  
 13791  const (
 13792  	// DedicatedTenancySupportResultEnumEnabled is a DedicatedTenancySupportResultEnum enum value
 13793  	DedicatedTenancySupportResultEnumEnabled = "ENABLED"
 13794  
 13795  	// DedicatedTenancySupportResultEnumDisabled is a DedicatedTenancySupportResultEnum enum value
 13796  	DedicatedTenancySupportResultEnumDisabled = "DISABLED"
 13797  )
 13798  
 13799  // DedicatedTenancySupportResultEnum_Values returns all elements of the DedicatedTenancySupportResultEnum enum
 13800  func DedicatedTenancySupportResultEnum_Values() []string {
 13801  	return []string{
 13802  		DedicatedTenancySupportResultEnumEnabled,
 13803  		DedicatedTenancySupportResultEnumDisabled,
 13804  	}
 13805  }
 13806  
 13807  const (
 13808  	// ImageTypeOwned is a ImageType enum value
 13809  	ImageTypeOwned = "OWNED"
 13810  
 13811  	// ImageTypeShared is a ImageType enum value
 13812  	ImageTypeShared = "SHARED"
 13813  )
 13814  
 13815  // ImageType_Values returns all elements of the ImageType enum
 13816  func ImageType_Values() []string {
 13817  	return []string{
 13818  		ImageTypeOwned,
 13819  		ImageTypeShared,
 13820  	}
 13821  }
 13822  
 13823  const (
 13824  	// ModificationResourceEnumRootVolume is a ModificationResourceEnum enum value
 13825  	ModificationResourceEnumRootVolume = "ROOT_VOLUME"
 13826  
 13827  	// ModificationResourceEnumUserVolume is a ModificationResourceEnum enum value
 13828  	ModificationResourceEnumUserVolume = "USER_VOLUME"
 13829  
 13830  	// ModificationResourceEnumComputeType is a ModificationResourceEnum enum value
 13831  	ModificationResourceEnumComputeType = "COMPUTE_TYPE"
 13832  )
 13833  
 13834  // ModificationResourceEnum_Values returns all elements of the ModificationResourceEnum enum
 13835  func ModificationResourceEnum_Values() []string {
 13836  	return []string{
 13837  		ModificationResourceEnumRootVolume,
 13838  		ModificationResourceEnumUserVolume,
 13839  		ModificationResourceEnumComputeType,
 13840  	}
 13841  }
 13842  
 13843  const (
 13844  	// ModificationStateEnumUpdateInitiated is a ModificationStateEnum enum value
 13845  	ModificationStateEnumUpdateInitiated = "UPDATE_INITIATED"
 13846  
 13847  	// ModificationStateEnumUpdateInProgress is a ModificationStateEnum enum value
 13848  	ModificationStateEnumUpdateInProgress = "UPDATE_IN_PROGRESS"
 13849  )
 13850  
 13851  // ModificationStateEnum_Values returns all elements of the ModificationStateEnum enum
 13852  func ModificationStateEnum_Values() []string {
 13853  	return []string{
 13854  		ModificationStateEnumUpdateInitiated,
 13855  		ModificationStateEnumUpdateInProgress,
 13856  	}
 13857  }
 13858  
 13859  const (
 13860  	// OperatingSystemTypeWindows is a OperatingSystemType enum value
 13861  	OperatingSystemTypeWindows = "WINDOWS"
 13862  
 13863  	// OperatingSystemTypeLinux is a OperatingSystemType enum value
 13864  	OperatingSystemTypeLinux = "LINUX"
 13865  )
 13866  
 13867  // OperatingSystemType_Values returns all elements of the OperatingSystemType enum
 13868  func OperatingSystemType_Values() []string {
 13869  	return []string{
 13870  		OperatingSystemTypeWindows,
 13871  		OperatingSystemTypeLinux,
 13872  	}
 13873  }
 13874  
 13875  const (
 13876  	// ReconnectEnumEnabled is a ReconnectEnum enum value
 13877  	ReconnectEnumEnabled = "ENABLED"
 13878  
 13879  	// ReconnectEnumDisabled is a ReconnectEnum enum value
 13880  	ReconnectEnumDisabled = "DISABLED"
 13881  )
 13882  
 13883  // ReconnectEnum_Values returns all elements of the ReconnectEnum enum
 13884  func ReconnectEnum_Values() []string {
 13885  	return []string{
 13886  		ReconnectEnumEnabled,
 13887  		ReconnectEnumDisabled,
 13888  	}
 13889  }
 13890  
 13891  const (
 13892  	// RunningModeAutoStop is a RunningMode enum value
 13893  	RunningModeAutoStop = "AUTO_STOP"
 13894  
 13895  	// RunningModeAlwaysOn is a RunningMode enum value
 13896  	RunningModeAlwaysOn = "ALWAYS_ON"
 13897  )
 13898  
 13899  // RunningMode_Values returns all elements of the RunningMode enum
 13900  func RunningMode_Values() []string {
 13901  	return []string{
 13902  		RunningModeAutoStop,
 13903  		RunningModeAlwaysOn,
 13904  	}
 13905  }
 13906  
 13907  const (
 13908  	// TargetWorkspaceStateAvailable is a TargetWorkspaceState enum value
 13909  	TargetWorkspaceStateAvailable = "AVAILABLE"
 13910  
 13911  	// TargetWorkspaceStateAdminMaintenance is a TargetWorkspaceState enum value
 13912  	TargetWorkspaceStateAdminMaintenance = "ADMIN_MAINTENANCE"
 13913  )
 13914  
 13915  // TargetWorkspaceState_Values returns all elements of the TargetWorkspaceState enum
 13916  func TargetWorkspaceState_Values() []string {
 13917  	return []string{
 13918  		TargetWorkspaceStateAvailable,
 13919  		TargetWorkspaceStateAdminMaintenance,
 13920  	}
 13921  }
 13922  
 13923  const (
 13924  	// TenancyDedicated is a Tenancy enum value
 13925  	TenancyDedicated = "DEDICATED"
 13926  
 13927  	// TenancyShared is a Tenancy enum value
 13928  	TenancyShared = "SHARED"
 13929  )
 13930  
 13931  // Tenancy_Values returns all elements of the Tenancy enum
 13932  func Tenancy_Values() []string {
 13933  	return []string{
 13934  		TenancyDedicated,
 13935  		TenancyShared,
 13936  	}
 13937  }
 13938  
 13939  const (
 13940  	// WorkspaceDirectoryStateRegistering is a WorkspaceDirectoryState enum value
 13941  	WorkspaceDirectoryStateRegistering = "REGISTERING"
 13942  
 13943  	// WorkspaceDirectoryStateRegistered is a WorkspaceDirectoryState enum value
 13944  	WorkspaceDirectoryStateRegistered = "REGISTERED"
 13945  
 13946  	// WorkspaceDirectoryStateDeregistering is a WorkspaceDirectoryState enum value
 13947  	WorkspaceDirectoryStateDeregistering = "DEREGISTERING"
 13948  
 13949  	// WorkspaceDirectoryStateDeregistered is a WorkspaceDirectoryState enum value
 13950  	WorkspaceDirectoryStateDeregistered = "DEREGISTERED"
 13951  
 13952  	// WorkspaceDirectoryStateError is a WorkspaceDirectoryState enum value
 13953  	WorkspaceDirectoryStateError = "ERROR"
 13954  )
 13955  
 13956  // WorkspaceDirectoryState_Values returns all elements of the WorkspaceDirectoryState enum
 13957  func WorkspaceDirectoryState_Values() []string {
 13958  	return []string{
 13959  		WorkspaceDirectoryStateRegistering,
 13960  		WorkspaceDirectoryStateRegistered,
 13961  		WorkspaceDirectoryStateDeregistering,
 13962  		WorkspaceDirectoryStateDeregistered,
 13963  		WorkspaceDirectoryStateError,
 13964  	}
 13965  }
 13966  
 13967  const (
 13968  	// WorkspaceDirectoryTypeSimpleAd is a WorkspaceDirectoryType enum value
 13969  	WorkspaceDirectoryTypeSimpleAd = "SIMPLE_AD"
 13970  
 13971  	// WorkspaceDirectoryTypeAdConnector is a WorkspaceDirectoryType enum value
 13972  	WorkspaceDirectoryTypeAdConnector = "AD_CONNECTOR"
 13973  )
 13974  
 13975  // WorkspaceDirectoryType_Values returns all elements of the WorkspaceDirectoryType enum
 13976  func WorkspaceDirectoryType_Values() []string {
 13977  	return []string{
 13978  		WorkspaceDirectoryTypeSimpleAd,
 13979  		WorkspaceDirectoryTypeAdConnector,
 13980  	}
 13981  }
 13982  
 13983  const (
 13984  	// WorkspaceImageIngestionProcessByolRegular is a WorkspaceImageIngestionProcess enum value
 13985  	WorkspaceImageIngestionProcessByolRegular = "BYOL_REGULAR"
 13986  
 13987  	// WorkspaceImageIngestionProcessByolGraphics is a WorkspaceImageIngestionProcess enum value
 13988  	WorkspaceImageIngestionProcessByolGraphics = "BYOL_GRAPHICS"
 13989  
 13990  	// WorkspaceImageIngestionProcessByolGraphicspro is a WorkspaceImageIngestionProcess enum value
 13991  	WorkspaceImageIngestionProcessByolGraphicspro = "BYOL_GRAPHICSPRO"
 13992  
 13993  	// WorkspaceImageIngestionProcessByolRegularWsp is a WorkspaceImageIngestionProcess enum value
 13994  	WorkspaceImageIngestionProcessByolRegularWsp = "BYOL_REGULAR_WSP"
 13995  )
 13996  
 13997  // WorkspaceImageIngestionProcess_Values returns all elements of the WorkspaceImageIngestionProcess enum
 13998  func WorkspaceImageIngestionProcess_Values() []string {
 13999  	return []string{
 14000  		WorkspaceImageIngestionProcessByolRegular,
 14001  		WorkspaceImageIngestionProcessByolGraphics,
 14002  		WorkspaceImageIngestionProcessByolGraphicspro,
 14003  		WorkspaceImageIngestionProcessByolRegularWsp,
 14004  	}
 14005  }
 14006  
 14007  const (
 14008  	// WorkspaceImageRequiredTenancyDefault is a WorkspaceImageRequiredTenancy enum value
 14009  	WorkspaceImageRequiredTenancyDefault = "DEFAULT"
 14010  
 14011  	// WorkspaceImageRequiredTenancyDedicated is a WorkspaceImageRequiredTenancy enum value
 14012  	WorkspaceImageRequiredTenancyDedicated = "DEDICATED"
 14013  )
 14014  
 14015  // WorkspaceImageRequiredTenancy_Values returns all elements of the WorkspaceImageRequiredTenancy enum
 14016  func WorkspaceImageRequiredTenancy_Values() []string {
 14017  	return []string{
 14018  		WorkspaceImageRequiredTenancyDefault,
 14019  		WorkspaceImageRequiredTenancyDedicated,
 14020  	}
 14021  }
 14022  
 14023  const (
 14024  	// WorkspaceImageStateAvailable is a WorkspaceImageState enum value
 14025  	WorkspaceImageStateAvailable = "AVAILABLE"
 14026  
 14027  	// WorkspaceImageStatePending is a WorkspaceImageState enum value
 14028  	WorkspaceImageStatePending = "PENDING"
 14029  
 14030  	// WorkspaceImageStateError is a WorkspaceImageState enum value
 14031  	WorkspaceImageStateError = "ERROR"
 14032  )
 14033  
 14034  // WorkspaceImageState_Values returns all elements of the WorkspaceImageState enum
 14035  func WorkspaceImageState_Values() []string {
 14036  	return []string{
 14037  		WorkspaceImageStateAvailable,
 14038  		WorkspaceImageStatePending,
 14039  		WorkspaceImageStateError,
 14040  	}
 14041  }
 14042  
 14043  const (
 14044  	// WorkspaceStatePending is a WorkspaceState enum value
 14045  	WorkspaceStatePending = "PENDING"
 14046  
 14047  	// WorkspaceStateAvailable is a WorkspaceState enum value
 14048  	WorkspaceStateAvailable = "AVAILABLE"
 14049  
 14050  	// WorkspaceStateImpaired is a WorkspaceState enum value
 14051  	WorkspaceStateImpaired = "IMPAIRED"
 14052  
 14053  	// WorkspaceStateUnhealthy is a WorkspaceState enum value
 14054  	WorkspaceStateUnhealthy = "UNHEALTHY"
 14055  
 14056  	// WorkspaceStateRebooting is a WorkspaceState enum value
 14057  	WorkspaceStateRebooting = "REBOOTING"
 14058  
 14059  	// WorkspaceStateStarting is a WorkspaceState enum value
 14060  	WorkspaceStateStarting = "STARTING"
 14061  
 14062  	// WorkspaceStateRebuilding is a WorkspaceState enum value
 14063  	WorkspaceStateRebuilding = "REBUILDING"
 14064  
 14065  	// WorkspaceStateRestoring is a WorkspaceState enum value
 14066  	WorkspaceStateRestoring = "RESTORING"
 14067  
 14068  	// WorkspaceStateMaintenance is a WorkspaceState enum value
 14069  	WorkspaceStateMaintenance = "MAINTENANCE"
 14070  
 14071  	// WorkspaceStateAdminMaintenance is a WorkspaceState enum value
 14072  	WorkspaceStateAdminMaintenance = "ADMIN_MAINTENANCE"
 14073  
 14074  	// WorkspaceStateTerminating is a WorkspaceState enum value
 14075  	WorkspaceStateTerminating = "TERMINATING"
 14076  
 14077  	// WorkspaceStateTerminated is a WorkspaceState enum value
 14078  	WorkspaceStateTerminated = "TERMINATED"
 14079  
 14080  	// WorkspaceStateSuspended is a WorkspaceState enum value
 14081  	WorkspaceStateSuspended = "SUSPENDED"
 14082  
 14083  	// WorkspaceStateUpdating is a WorkspaceState enum value
 14084  	WorkspaceStateUpdating = "UPDATING"
 14085  
 14086  	// WorkspaceStateStopping is a WorkspaceState enum value
 14087  	WorkspaceStateStopping = "STOPPING"
 14088  
 14089  	// WorkspaceStateStopped is a WorkspaceState enum value
 14090  	WorkspaceStateStopped = "STOPPED"
 14091  
 14092  	// WorkspaceStateError is a WorkspaceState enum value
 14093  	WorkspaceStateError = "ERROR"
 14094  )
 14095  
 14096  // WorkspaceState_Values returns all elements of the WorkspaceState enum
 14097  func WorkspaceState_Values() []string {
 14098  	return []string{
 14099  		WorkspaceStatePending,
 14100  		WorkspaceStateAvailable,
 14101  		WorkspaceStateImpaired,
 14102  		WorkspaceStateUnhealthy,
 14103  		WorkspaceStateRebooting,
 14104  		WorkspaceStateStarting,
 14105  		WorkspaceStateRebuilding,
 14106  		WorkspaceStateRestoring,
 14107  		WorkspaceStateMaintenance,
 14108  		WorkspaceStateAdminMaintenance,
 14109  		WorkspaceStateTerminating,
 14110  		WorkspaceStateTerminated,
 14111  		WorkspaceStateSuspended,
 14112  		WorkspaceStateUpdating,
 14113  		WorkspaceStateStopping,
 14114  		WorkspaceStateStopped,
 14115  		WorkspaceStateError,
 14116  	}
 14117  }