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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package ssoadmin
     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 opAttachManagedPolicyToPermissionSet = "AttachManagedPolicyToPermissionSet"
    17  
    18  // AttachManagedPolicyToPermissionSetRequest generates a "aws/request.Request" representing the
    19  // client's request for the AttachManagedPolicyToPermissionSet 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 AttachManagedPolicyToPermissionSet for more information on using the AttachManagedPolicyToPermissionSet
    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 AttachManagedPolicyToPermissionSetRequest method.
    34  //    req, resp := client.AttachManagedPolicyToPermissionSetRequest(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/sso-admin-2020-07-20/AttachManagedPolicyToPermissionSet
    42  func (c *SSOAdmin) AttachManagedPolicyToPermissionSetRequest(input *AttachManagedPolicyToPermissionSetInput) (req *request.Request, output *AttachManagedPolicyToPermissionSetOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAttachManagedPolicyToPermissionSet,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AttachManagedPolicyToPermissionSetInput{}
    51  	}
    52  
    53  	output = &AttachManagedPolicyToPermissionSetOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AttachManagedPolicyToPermissionSet API operation for AWS Single Sign-On Admin.
    60  //
    61  // Attaches an IAM managed policy ARN to a permission set.
    62  //
    63  // If the permission set is already referenced by one or more account assignments,
    64  // you will need to call ProvisionPermissionSet after this operation. Calling
    65  // ProvisionPermissionSet applies the corresponding IAM policy updates to all
    66  // assigned accounts.
    67  //
    68  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    69  // with awserr.Error's Code and Message methods to get detailed information about
    70  // the error.
    71  //
    72  // See the AWS API reference guide for AWS Single Sign-On Admin's
    73  // API operation AttachManagedPolicyToPermissionSet for usage and error information.
    74  //
    75  // Returned Error Types:
    76  //   * ResourceNotFoundException
    77  //   Indicates that a requested resource is not found.
    78  //
    79  //   * InternalServerException
    80  //   The request processing has failed because of an unknown error, exception,
    81  //   or failure with an internal server.
    82  //
    83  //   * ServiceQuotaExceededException
    84  //   Indicates that the principal has crossed the permitted number of resources
    85  //   that can be created.
    86  //
    87  //   * ThrottlingException
    88  //   Indicates that the principal has crossed the throttling limits of the API
    89  //   operations.
    90  //
    91  //   * ValidationException
    92  //   The request failed because it contains a syntax error.
    93  //
    94  //   * AccessDeniedException
    95  //   You do not have sufficient access to perform this action.
    96  //
    97  //   * ConflictException
    98  //   Occurs when a conflict with a previous successful write is detected. This
    99  //   generally occurs when the previous write did not have time to propagate to
   100  //   the host serving the current request. A retry (with appropriate backoff logic)
   101  //   is the recommended response to this exception.
   102  //
   103  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/AttachManagedPolicyToPermissionSet
   104  func (c *SSOAdmin) AttachManagedPolicyToPermissionSet(input *AttachManagedPolicyToPermissionSetInput) (*AttachManagedPolicyToPermissionSetOutput, error) {
   105  	req, out := c.AttachManagedPolicyToPermissionSetRequest(input)
   106  	return out, req.Send()
   107  }
   108  
   109  // AttachManagedPolicyToPermissionSetWithContext is the same as AttachManagedPolicyToPermissionSet with the addition of
   110  // the ability to pass a context and additional request options.
   111  //
   112  // See AttachManagedPolicyToPermissionSet for details on how to use this API operation.
   113  //
   114  // The context must be non-nil and will be used for request cancellation. If
   115  // the context is nil a panic will occur. In the future the SDK may create
   116  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   117  // for more information on using Contexts.
   118  func (c *SSOAdmin) AttachManagedPolicyToPermissionSetWithContext(ctx aws.Context, input *AttachManagedPolicyToPermissionSetInput, opts ...request.Option) (*AttachManagedPolicyToPermissionSetOutput, error) {
   119  	req, out := c.AttachManagedPolicyToPermissionSetRequest(input)
   120  	req.SetContext(ctx)
   121  	req.ApplyOptions(opts...)
   122  	return out, req.Send()
   123  }
   124  
   125  const opCreateAccountAssignment = "CreateAccountAssignment"
   126  
   127  // CreateAccountAssignmentRequest generates a "aws/request.Request" representing the
   128  // client's request for the CreateAccountAssignment operation. The "output" return
   129  // value will be populated with the request's response once the request completes
   130  // successfully.
   131  //
   132  // Use "Send" method on the returned Request to send the API call to the service.
   133  // the "output" return value is not valid until after Send returns without error.
   134  //
   135  // See CreateAccountAssignment for more information on using the CreateAccountAssignment
   136  // API call, and error handling.
   137  //
   138  // This method is useful when you want to inject custom logic or configuration
   139  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   140  //
   141  //
   142  //    // Example sending a request using the CreateAccountAssignmentRequest method.
   143  //    req, resp := client.CreateAccountAssignmentRequest(params)
   144  //
   145  //    err := req.Send()
   146  //    if err == nil { // resp is now filled
   147  //        fmt.Println(resp)
   148  //    }
   149  //
   150  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreateAccountAssignment
   151  func (c *SSOAdmin) CreateAccountAssignmentRequest(input *CreateAccountAssignmentInput) (req *request.Request, output *CreateAccountAssignmentOutput) {
   152  	op := &request.Operation{
   153  		Name:       opCreateAccountAssignment,
   154  		HTTPMethod: "POST",
   155  		HTTPPath:   "/",
   156  	}
   157  
   158  	if input == nil {
   159  		input = &CreateAccountAssignmentInput{}
   160  	}
   161  
   162  	output = &CreateAccountAssignmentOutput{}
   163  	req = c.newRequest(op, input, output)
   164  	return
   165  }
   166  
   167  // CreateAccountAssignment API operation for AWS Single Sign-On Admin.
   168  //
   169  // Assigns access to a principal for a specified Amazon Web Services account
   170  // using a specified permission set.
   171  //
   172  // The term principal here refers to a user or group that is defined in Amazon
   173  // Web Services SSO.
   174  //
   175  // As part of a successful CreateAccountAssignment call, the specified permission
   176  // set will automatically be provisioned to the account in the form of an IAM
   177  // policy. That policy is attached to the SSO-created IAM role. If the permission
   178  // set is subsequently updated, the corresponding IAM policies attached to roles
   179  // in your accounts will not be updated automatically. In this case, you must
   180  // call ProvisionPermissionSet to make these updates.
   181  //
   182  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   183  // with awserr.Error's Code and Message methods to get detailed information about
   184  // the error.
   185  //
   186  // See the AWS API reference guide for AWS Single Sign-On Admin's
   187  // API operation CreateAccountAssignment for usage and error information.
   188  //
   189  // Returned Error Types:
   190  //   * ResourceNotFoundException
   191  //   Indicates that a requested resource is not found.
   192  //
   193  //   * InternalServerException
   194  //   The request processing has failed because of an unknown error, exception,
   195  //   or failure with an internal server.
   196  //
   197  //   * ServiceQuotaExceededException
   198  //   Indicates that the principal has crossed the permitted number of resources
   199  //   that can be created.
   200  //
   201  //   * ThrottlingException
   202  //   Indicates that the principal has crossed the throttling limits of the API
   203  //   operations.
   204  //
   205  //   * ValidationException
   206  //   The request failed because it contains a syntax error.
   207  //
   208  //   * AccessDeniedException
   209  //   You do not have sufficient access to perform this action.
   210  //
   211  //   * ConflictException
   212  //   Occurs when a conflict with a previous successful write is detected. This
   213  //   generally occurs when the previous write did not have time to propagate to
   214  //   the host serving the current request. A retry (with appropriate backoff logic)
   215  //   is the recommended response to this exception.
   216  //
   217  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreateAccountAssignment
   218  func (c *SSOAdmin) CreateAccountAssignment(input *CreateAccountAssignmentInput) (*CreateAccountAssignmentOutput, error) {
   219  	req, out := c.CreateAccountAssignmentRequest(input)
   220  	return out, req.Send()
   221  }
   222  
   223  // CreateAccountAssignmentWithContext is the same as CreateAccountAssignment with the addition of
   224  // the ability to pass a context and additional request options.
   225  //
   226  // See CreateAccountAssignment for details on how to use this API operation.
   227  //
   228  // The context must be non-nil and will be used for request cancellation. If
   229  // the context is nil a panic will occur. In the future the SDK may create
   230  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   231  // for more information on using Contexts.
   232  func (c *SSOAdmin) CreateAccountAssignmentWithContext(ctx aws.Context, input *CreateAccountAssignmentInput, opts ...request.Option) (*CreateAccountAssignmentOutput, error) {
   233  	req, out := c.CreateAccountAssignmentRequest(input)
   234  	req.SetContext(ctx)
   235  	req.ApplyOptions(opts...)
   236  	return out, req.Send()
   237  }
   238  
   239  const opCreateInstanceAccessControlAttributeConfiguration = "CreateInstanceAccessControlAttributeConfiguration"
   240  
   241  // CreateInstanceAccessControlAttributeConfigurationRequest generates a "aws/request.Request" representing the
   242  // client's request for the CreateInstanceAccessControlAttributeConfiguration operation. The "output" return
   243  // value will be populated with the request's response once the request completes
   244  // successfully.
   245  //
   246  // Use "Send" method on the returned Request to send the API call to the service.
   247  // the "output" return value is not valid until after Send returns without error.
   248  //
   249  // See CreateInstanceAccessControlAttributeConfiguration for more information on using the CreateInstanceAccessControlAttributeConfiguration
   250  // API call, and error handling.
   251  //
   252  // This method is useful when you want to inject custom logic or configuration
   253  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   254  //
   255  //
   256  //    // Example sending a request using the CreateInstanceAccessControlAttributeConfigurationRequest method.
   257  //    req, resp := client.CreateInstanceAccessControlAttributeConfigurationRequest(params)
   258  //
   259  //    err := req.Send()
   260  //    if err == nil { // resp is now filled
   261  //        fmt.Println(resp)
   262  //    }
   263  //
   264  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreateInstanceAccessControlAttributeConfiguration
   265  func (c *SSOAdmin) CreateInstanceAccessControlAttributeConfigurationRequest(input *CreateInstanceAccessControlAttributeConfigurationInput) (req *request.Request, output *CreateInstanceAccessControlAttributeConfigurationOutput) {
   266  	op := &request.Operation{
   267  		Name:       opCreateInstanceAccessControlAttributeConfiguration,
   268  		HTTPMethod: "POST",
   269  		HTTPPath:   "/",
   270  	}
   271  
   272  	if input == nil {
   273  		input = &CreateInstanceAccessControlAttributeConfigurationInput{}
   274  	}
   275  
   276  	output = &CreateInstanceAccessControlAttributeConfigurationOutput{}
   277  	req = c.newRequest(op, input, output)
   278  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   279  	return
   280  }
   281  
   282  // CreateInstanceAccessControlAttributeConfiguration API operation for AWS Single Sign-On Admin.
   283  //
   284  // Enables the attributes-based access control (ABAC) feature for the specified
   285  // Amazon Web Services SSO instance. You can also specify new attributes to
   286  // add to your ABAC configuration during the enabling process. For more information
   287  // about ABAC, see Attribute-Based Access Control (/singlesignon/latest/userguide/abac.html)
   288  // in the Amazon Web Services SSO User Guide.
   289  //
   290  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   291  // with awserr.Error's Code and Message methods to get detailed information about
   292  // the error.
   293  //
   294  // See the AWS API reference guide for AWS Single Sign-On Admin's
   295  // API operation CreateInstanceAccessControlAttributeConfiguration for usage and error information.
   296  //
   297  // Returned Error Types:
   298  //   * InternalServerException
   299  //   The request processing has failed because of an unknown error, exception,
   300  //   or failure with an internal server.
   301  //
   302  //   * AccessDeniedException
   303  //   You do not have sufficient access to perform this action.
   304  //
   305  //   * ThrottlingException
   306  //   Indicates that the principal has crossed the throttling limits of the API
   307  //   operations.
   308  //
   309  //   * ValidationException
   310  //   The request failed because it contains a syntax error.
   311  //
   312  //   * ResourceNotFoundException
   313  //   Indicates that a requested resource is not found.
   314  //
   315  //   * ConflictException
   316  //   Occurs when a conflict with a previous successful write is detected. This
   317  //   generally occurs when the previous write did not have time to propagate to
   318  //   the host serving the current request. A retry (with appropriate backoff logic)
   319  //   is the recommended response to this exception.
   320  //
   321  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreateInstanceAccessControlAttributeConfiguration
   322  func (c *SSOAdmin) CreateInstanceAccessControlAttributeConfiguration(input *CreateInstanceAccessControlAttributeConfigurationInput) (*CreateInstanceAccessControlAttributeConfigurationOutput, error) {
   323  	req, out := c.CreateInstanceAccessControlAttributeConfigurationRequest(input)
   324  	return out, req.Send()
   325  }
   326  
   327  // CreateInstanceAccessControlAttributeConfigurationWithContext is the same as CreateInstanceAccessControlAttributeConfiguration with the addition of
   328  // the ability to pass a context and additional request options.
   329  //
   330  // See CreateInstanceAccessControlAttributeConfiguration for details on how to use this API operation.
   331  //
   332  // The context must be non-nil and will be used for request cancellation. If
   333  // the context is nil a panic will occur. In the future the SDK may create
   334  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   335  // for more information on using Contexts.
   336  func (c *SSOAdmin) CreateInstanceAccessControlAttributeConfigurationWithContext(ctx aws.Context, input *CreateInstanceAccessControlAttributeConfigurationInput, opts ...request.Option) (*CreateInstanceAccessControlAttributeConfigurationOutput, error) {
   337  	req, out := c.CreateInstanceAccessControlAttributeConfigurationRequest(input)
   338  	req.SetContext(ctx)
   339  	req.ApplyOptions(opts...)
   340  	return out, req.Send()
   341  }
   342  
   343  const opCreatePermissionSet = "CreatePermissionSet"
   344  
   345  // CreatePermissionSetRequest generates a "aws/request.Request" representing the
   346  // client's request for the CreatePermissionSet operation. The "output" return
   347  // value will be populated with the request's response once the request completes
   348  // successfully.
   349  //
   350  // Use "Send" method on the returned Request to send the API call to the service.
   351  // the "output" return value is not valid until after Send returns without error.
   352  //
   353  // See CreatePermissionSet for more information on using the CreatePermissionSet
   354  // API call, and error handling.
   355  //
   356  // This method is useful when you want to inject custom logic or configuration
   357  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   358  //
   359  //
   360  //    // Example sending a request using the CreatePermissionSetRequest method.
   361  //    req, resp := client.CreatePermissionSetRequest(params)
   362  //
   363  //    err := req.Send()
   364  //    if err == nil { // resp is now filled
   365  //        fmt.Println(resp)
   366  //    }
   367  //
   368  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreatePermissionSet
   369  func (c *SSOAdmin) CreatePermissionSetRequest(input *CreatePermissionSetInput) (req *request.Request, output *CreatePermissionSetOutput) {
   370  	op := &request.Operation{
   371  		Name:       opCreatePermissionSet,
   372  		HTTPMethod: "POST",
   373  		HTTPPath:   "/",
   374  	}
   375  
   376  	if input == nil {
   377  		input = &CreatePermissionSetInput{}
   378  	}
   379  
   380  	output = &CreatePermissionSetOutput{}
   381  	req = c.newRequest(op, input, output)
   382  	return
   383  }
   384  
   385  // CreatePermissionSet API operation for AWS Single Sign-On Admin.
   386  //
   387  // Creates a permission set within a specified SSO instance.
   388  //
   389  // To grant users and groups access to Amazon Web Services account resources,
   390  // use CreateAccountAssignment .
   391  //
   392  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   393  // with awserr.Error's Code and Message methods to get detailed information about
   394  // the error.
   395  //
   396  // See the AWS API reference guide for AWS Single Sign-On Admin's
   397  // API operation CreatePermissionSet for usage and error information.
   398  //
   399  // Returned Error Types:
   400  //   * ResourceNotFoundException
   401  //   Indicates that a requested resource is not found.
   402  //
   403  //   * InternalServerException
   404  //   The request processing has failed because of an unknown error, exception,
   405  //   or failure with an internal server.
   406  //
   407  //   * ServiceQuotaExceededException
   408  //   Indicates that the principal has crossed the permitted number of resources
   409  //   that can be created.
   410  //
   411  //   * ThrottlingException
   412  //   Indicates that the principal has crossed the throttling limits of the API
   413  //   operations.
   414  //
   415  //   * ValidationException
   416  //   The request failed because it contains a syntax error.
   417  //
   418  //   * AccessDeniedException
   419  //   You do not have sufficient access to perform this action.
   420  //
   421  //   * ConflictException
   422  //   Occurs when a conflict with a previous successful write is detected. This
   423  //   generally occurs when the previous write did not have time to propagate to
   424  //   the host serving the current request. A retry (with appropriate backoff logic)
   425  //   is the recommended response to this exception.
   426  //
   427  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/CreatePermissionSet
   428  func (c *SSOAdmin) CreatePermissionSet(input *CreatePermissionSetInput) (*CreatePermissionSetOutput, error) {
   429  	req, out := c.CreatePermissionSetRequest(input)
   430  	return out, req.Send()
   431  }
   432  
   433  // CreatePermissionSetWithContext is the same as CreatePermissionSet with the addition of
   434  // the ability to pass a context and additional request options.
   435  //
   436  // See CreatePermissionSet for details on how to use this API operation.
   437  //
   438  // The context must be non-nil and will be used for request cancellation. If
   439  // the context is nil a panic will occur. In the future the SDK may create
   440  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   441  // for more information on using Contexts.
   442  func (c *SSOAdmin) CreatePermissionSetWithContext(ctx aws.Context, input *CreatePermissionSetInput, opts ...request.Option) (*CreatePermissionSetOutput, error) {
   443  	req, out := c.CreatePermissionSetRequest(input)
   444  	req.SetContext(ctx)
   445  	req.ApplyOptions(opts...)
   446  	return out, req.Send()
   447  }
   448  
   449  const opDeleteAccountAssignment = "DeleteAccountAssignment"
   450  
   451  // DeleteAccountAssignmentRequest generates a "aws/request.Request" representing the
   452  // client's request for the DeleteAccountAssignment operation. The "output" return
   453  // value will be populated with the request's response once the request completes
   454  // successfully.
   455  //
   456  // Use "Send" method on the returned Request to send the API call to the service.
   457  // the "output" return value is not valid until after Send returns without error.
   458  //
   459  // See DeleteAccountAssignment for more information on using the DeleteAccountAssignment
   460  // API call, and error handling.
   461  //
   462  // This method is useful when you want to inject custom logic or configuration
   463  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   464  //
   465  //
   466  //    // Example sending a request using the DeleteAccountAssignmentRequest method.
   467  //    req, resp := client.DeleteAccountAssignmentRequest(params)
   468  //
   469  //    err := req.Send()
   470  //    if err == nil { // resp is now filled
   471  //        fmt.Println(resp)
   472  //    }
   473  //
   474  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteAccountAssignment
   475  func (c *SSOAdmin) DeleteAccountAssignmentRequest(input *DeleteAccountAssignmentInput) (req *request.Request, output *DeleteAccountAssignmentOutput) {
   476  	op := &request.Operation{
   477  		Name:       opDeleteAccountAssignment,
   478  		HTTPMethod: "POST",
   479  		HTTPPath:   "/",
   480  	}
   481  
   482  	if input == nil {
   483  		input = &DeleteAccountAssignmentInput{}
   484  	}
   485  
   486  	output = &DeleteAccountAssignmentOutput{}
   487  	req = c.newRequest(op, input, output)
   488  	return
   489  }
   490  
   491  // DeleteAccountAssignment API operation for AWS Single Sign-On Admin.
   492  //
   493  // Deletes a principal's access from a specified Amazon Web Services account
   494  // using a specified permission set.
   495  //
   496  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   497  // with awserr.Error's Code and Message methods to get detailed information about
   498  // the error.
   499  //
   500  // See the AWS API reference guide for AWS Single Sign-On Admin's
   501  // API operation DeleteAccountAssignment for usage and error information.
   502  //
   503  // Returned Error Types:
   504  //   * ResourceNotFoundException
   505  //   Indicates that a requested resource is not found.
   506  //
   507  //   * InternalServerException
   508  //   The request processing has failed because of an unknown error, exception,
   509  //   or failure with an internal server.
   510  //
   511  //   * ThrottlingException
   512  //   Indicates that the principal has crossed the throttling limits of the API
   513  //   operations.
   514  //
   515  //   * ValidationException
   516  //   The request failed because it contains a syntax error.
   517  //
   518  //   * AccessDeniedException
   519  //   You do not have sufficient access to perform this action.
   520  //
   521  //   * ConflictException
   522  //   Occurs when a conflict with a previous successful write is detected. This
   523  //   generally occurs when the previous write did not have time to propagate to
   524  //   the host serving the current request. A retry (with appropriate backoff logic)
   525  //   is the recommended response to this exception.
   526  //
   527  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteAccountAssignment
   528  func (c *SSOAdmin) DeleteAccountAssignment(input *DeleteAccountAssignmentInput) (*DeleteAccountAssignmentOutput, error) {
   529  	req, out := c.DeleteAccountAssignmentRequest(input)
   530  	return out, req.Send()
   531  }
   532  
   533  // DeleteAccountAssignmentWithContext is the same as DeleteAccountAssignment with the addition of
   534  // the ability to pass a context and additional request options.
   535  //
   536  // See DeleteAccountAssignment for details on how to use this API operation.
   537  //
   538  // The context must be non-nil and will be used for request cancellation. If
   539  // the context is nil a panic will occur. In the future the SDK may create
   540  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   541  // for more information on using Contexts.
   542  func (c *SSOAdmin) DeleteAccountAssignmentWithContext(ctx aws.Context, input *DeleteAccountAssignmentInput, opts ...request.Option) (*DeleteAccountAssignmentOutput, error) {
   543  	req, out := c.DeleteAccountAssignmentRequest(input)
   544  	req.SetContext(ctx)
   545  	req.ApplyOptions(opts...)
   546  	return out, req.Send()
   547  }
   548  
   549  const opDeleteInlinePolicyFromPermissionSet = "DeleteInlinePolicyFromPermissionSet"
   550  
   551  // DeleteInlinePolicyFromPermissionSetRequest generates a "aws/request.Request" representing the
   552  // client's request for the DeleteInlinePolicyFromPermissionSet operation. The "output" return
   553  // value will be populated with the request's response once the request completes
   554  // successfully.
   555  //
   556  // Use "Send" method on the returned Request to send the API call to the service.
   557  // the "output" return value is not valid until after Send returns without error.
   558  //
   559  // See DeleteInlinePolicyFromPermissionSet for more information on using the DeleteInlinePolicyFromPermissionSet
   560  // API call, and error handling.
   561  //
   562  // This method is useful when you want to inject custom logic or configuration
   563  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   564  //
   565  //
   566  //    // Example sending a request using the DeleteInlinePolicyFromPermissionSetRequest method.
   567  //    req, resp := client.DeleteInlinePolicyFromPermissionSetRequest(params)
   568  //
   569  //    err := req.Send()
   570  //    if err == nil { // resp is now filled
   571  //        fmt.Println(resp)
   572  //    }
   573  //
   574  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteInlinePolicyFromPermissionSet
   575  func (c *SSOAdmin) DeleteInlinePolicyFromPermissionSetRequest(input *DeleteInlinePolicyFromPermissionSetInput) (req *request.Request, output *DeleteInlinePolicyFromPermissionSetOutput) {
   576  	op := &request.Operation{
   577  		Name:       opDeleteInlinePolicyFromPermissionSet,
   578  		HTTPMethod: "POST",
   579  		HTTPPath:   "/",
   580  	}
   581  
   582  	if input == nil {
   583  		input = &DeleteInlinePolicyFromPermissionSetInput{}
   584  	}
   585  
   586  	output = &DeleteInlinePolicyFromPermissionSetOutput{}
   587  	req = c.newRequest(op, input, output)
   588  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   589  	return
   590  }
   591  
   592  // DeleteInlinePolicyFromPermissionSet API operation for AWS Single Sign-On Admin.
   593  //
   594  // Deletes the inline policy from a specified permission set.
   595  //
   596  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   597  // with awserr.Error's Code and Message methods to get detailed information about
   598  // the error.
   599  //
   600  // See the AWS API reference guide for AWS Single Sign-On Admin's
   601  // API operation DeleteInlinePolicyFromPermissionSet for usage and error information.
   602  //
   603  // Returned Error Types:
   604  //   * ResourceNotFoundException
   605  //   Indicates that a requested resource is not found.
   606  //
   607  //   * InternalServerException
   608  //   The request processing has failed because of an unknown error, exception,
   609  //   or failure with an internal server.
   610  //
   611  //   * ThrottlingException
   612  //   Indicates that the principal has crossed the throttling limits of the API
   613  //   operations.
   614  //
   615  //   * ValidationException
   616  //   The request failed because it contains a syntax error.
   617  //
   618  //   * AccessDeniedException
   619  //   You do not have sufficient access to perform this action.
   620  //
   621  //   * ConflictException
   622  //   Occurs when a conflict with a previous successful write is detected. This
   623  //   generally occurs when the previous write did not have time to propagate to
   624  //   the host serving the current request. A retry (with appropriate backoff logic)
   625  //   is the recommended response to this exception.
   626  //
   627  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteInlinePolicyFromPermissionSet
   628  func (c *SSOAdmin) DeleteInlinePolicyFromPermissionSet(input *DeleteInlinePolicyFromPermissionSetInput) (*DeleteInlinePolicyFromPermissionSetOutput, error) {
   629  	req, out := c.DeleteInlinePolicyFromPermissionSetRequest(input)
   630  	return out, req.Send()
   631  }
   632  
   633  // DeleteInlinePolicyFromPermissionSetWithContext is the same as DeleteInlinePolicyFromPermissionSet with the addition of
   634  // the ability to pass a context and additional request options.
   635  //
   636  // See DeleteInlinePolicyFromPermissionSet for details on how to use this API operation.
   637  //
   638  // The context must be non-nil and will be used for request cancellation. If
   639  // the context is nil a panic will occur. In the future the SDK may create
   640  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   641  // for more information on using Contexts.
   642  func (c *SSOAdmin) DeleteInlinePolicyFromPermissionSetWithContext(ctx aws.Context, input *DeleteInlinePolicyFromPermissionSetInput, opts ...request.Option) (*DeleteInlinePolicyFromPermissionSetOutput, error) {
   643  	req, out := c.DeleteInlinePolicyFromPermissionSetRequest(input)
   644  	req.SetContext(ctx)
   645  	req.ApplyOptions(opts...)
   646  	return out, req.Send()
   647  }
   648  
   649  const opDeleteInstanceAccessControlAttributeConfiguration = "DeleteInstanceAccessControlAttributeConfiguration"
   650  
   651  // DeleteInstanceAccessControlAttributeConfigurationRequest generates a "aws/request.Request" representing the
   652  // client's request for the DeleteInstanceAccessControlAttributeConfiguration operation. The "output" return
   653  // value will be populated with the request's response once the request completes
   654  // successfully.
   655  //
   656  // Use "Send" method on the returned Request to send the API call to the service.
   657  // the "output" return value is not valid until after Send returns without error.
   658  //
   659  // See DeleteInstanceAccessControlAttributeConfiguration for more information on using the DeleteInstanceAccessControlAttributeConfiguration
   660  // API call, and error handling.
   661  //
   662  // This method is useful when you want to inject custom logic or configuration
   663  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   664  //
   665  //
   666  //    // Example sending a request using the DeleteInstanceAccessControlAttributeConfigurationRequest method.
   667  //    req, resp := client.DeleteInstanceAccessControlAttributeConfigurationRequest(params)
   668  //
   669  //    err := req.Send()
   670  //    if err == nil { // resp is now filled
   671  //        fmt.Println(resp)
   672  //    }
   673  //
   674  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteInstanceAccessControlAttributeConfiguration
   675  func (c *SSOAdmin) DeleteInstanceAccessControlAttributeConfigurationRequest(input *DeleteInstanceAccessControlAttributeConfigurationInput) (req *request.Request, output *DeleteInstanceAccessControlAttributeConfigurationOutput) {
   676  	op := &request.Operation{
   677  		Name:       opDeleteInstanceAccessControlAttributeConfiguration,
   678  		HTTPMethod: "POST",
   679  		HTTPPath:   "/",
   680  	}
   681  
   682  	if input == nil {
   683  		input = &DeleteInstanceAccessControlAttributeConfigurationInput{}
   684  	}
   685  
   686  	output = &DeleteInstanceAccessControlAttributeConfigurationOutput{}
   687  	req = c.newRequest(op, input, output)
   688  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   689  	return
   690  }
   691  
   692  // DeleteInstanceAccessControlAttributeConfiguration API operation for AWS Single Sign-On Admin.
   693  //
   694  // Disables the attributes-based access control (ABAC) feature for the specified
   695  // Amazon Web Services SSO instance and deletes all of the attribute mappings
   696  // that have been configured. Once deleted, any attributes that are received
   697  // from an identity source and any custom attributes you have previously configured
   698  // will not be passed. For more information about ABAC, see Attribute-Based
   699  // Access Control (/singlesignon/latest/userguide/abac.html) in the Amazon Web
   700  // Services SSO User Guide.
   701  //
   702  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   703  // with awserr.Error's Code and Message methods to get detailed information about
   704  // the error.
   705  //
   706  // See the AWS API reference guide for AWS Single Sign-On Admin's
   707  // API operation DeleteInstanceAccessControlAttributeConfiguration for usage and error information.
   708  //
   709  // Returned Error Types:
   710  //   * InternalServerException
   711  //   The request processing has failed because of an unknown error, exception,
   712  //   or failure with an internal server.
   713  //
   714  //   * AccessDeniedException
   715  //   You do not have sufficient access to perform this action.
   716  //
   717  //   * ThrottlingException
   718  //   Indicates that the principal has crossed the throttling limits of the API
   719  //   operations.
   720  //
   721  //   * ValidationException
   722  //   The request failed because it contains a syntax error.
   723  //
   724  //   * ResourceNotFoundException
   725  //   Indicates that a requested resource is not found.
   726  //
   727  //   * ConflictException
   728  //   Occurs when a conflict with a previous successful write is detected. This
   729  //   generally occurs when the previous write did not have time to propagate to
   730  //   the host serving the current request. A retry (with appropriate backoff logic)
   731  //   is the recommended response to this exception.
   732  //
   733  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeleteInstanceAccessControlAttributeConfiguration
   734  func (c *SSOAdmin) DeleteInstanceAccessControlAttributeConfiguration(input *DeleteInstanceAccessControlAttributeConfigurationInput) (*DeleteInstanceAccessControlAttributeConfigurationOutput, error) {
   735  	req, out := c.DeleteInstanceAccessControlAttributeConfigurationRequest(input)
   736  	return out, req.Send()
   737  }
   738  
   739  // DeleteInstanceAccessControlAttributeConfigurationWithContext is the same as DeleteInstanceAccessControlAttributeConfiguration with the addition of
   740  // the ability to pass a context and additional request options.
   741  //
   742  // See DeleteInstanceAccessControlAttributeConfiguration for details on how to use this API operation.
   743  //
   744  // The context must be non-nil and will be used for request cancellation. If
   745  // the context is nil a panic will occur. In the future the SDK may create
   746  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   747  // for more information on using Contexts.
   748  func (c *SSOAdmin) DeleteInstanceAccessControlAttributeConfigurationWithContext(ctx aws.Context, input *DeleteInstanceAccessControlAttributeConfigurationInput, opts ...request.Option) (*DeleteInstanceAccessControlAttributeConfigurationOutput, error) {
   749  	req, out := c.DeleteInstanceAccessControlAttributeConfigurationRequest(input)
   750  	req.SetContext(ctx)
   751  	req.ApplyOptions(opts...)
   752  	return out, req.Send()
   753  }
   754  
   755  const opDeletePermissionSet = "DeletePermissionSet"
   756  
   757  // DeletePermissionSetRequest generates a "aws/request.Request" representing the
   758  // client's request for the DeletePermissionSet operation. The "output" return
   759  // value will be populated with the request's response once the request completes
   760  // successfully.
   761  //
   762  // Use "Send" method on the returned Request to send the API call to the service.
   763  // the "output" return value is not valid until after Send returns without error.
   764  //
   765  // See DeletePermissionSet for more information on using the DeletePermissionSet
   766  // API call, and error handling.
   767  //
   768  // This method is useful when you want to inject custom logic or configuration
   769  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   770  //
   771  //
   772  //    // Example sending a request using the DeletePermissionSetRequest method.
   773  //    req, resp := client.DeletePermissionSetRequest(params)
   774  //
   775  //    err := req.Send()
   776  //    if err == nil { // resp is now filled
   777  //        fmt.Println(resp)
   778  //    }
   779  //
   780  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeletePermissionSet
   781  func (c *SSOAdmin) DeletePermissionSetRequest(input *DeletePermissionSetInput) (req *request.Request, output *DeletePermissionSetOutput) {
   782  	op := &request.Operation{
   783  		Name:       opDeletePermissionSet,
   784  		HTTPMethod: "POST",
   785  		HTTPPath:   "/",
   786  	}
   787  
   788  	if input == nil {
   789  		input = &DeletePermissionSetInput{}
   790  	}
   791  
   792  	output = &DeletePermissionSetOutput{}
   793  	req = c.newRequest(op, input, output)
   794  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   795  	return
   796  }
   797  
   798  // DeletePermissionSet API operation for AWS Single Sign-On Admin.
   799  //
   800  // Deletes the specified permission set.
   801  //
   802  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   803  // with awserr.Error's Code and Message methods to get detailed information about
   804  // the error.
   805  //
   806  // See the AWS API reference guide for AWS Single Sign-On Admin's
   807  // API operation DeletePermissionSet for usage and error information.
   808  //
   809  // Returned Error Types:
   810  //   * ResourceNotFoundException
   811  //   Indicates that a requested resource is not found.
   812  //
   813  //   * InternalServerException
   814  //   The request processing has failed because of an unknown error, exception,
   815  //   or failure with an internal server.
   816  //
   817  //   * ThrottlingException
   818  //   Indicates that the principal has crossed the throttling limits of the API
   819  //   operations.
   820  //
   821  //   * ValidationException
   822  //   The request failed because it contains a syntax error.
   823  //
   824  //   * AccessDeniedException
   825  //   You do not have sufficient access to perform this action.
   826  //
   827  //   * ConflictException
   828  //   Occurs when a conflict with a previous successful write is detected. This
   829  //   generally occurs when the previous write did not have time to propagate to
   830  //   the host serving the current request. A retry (with appropriate backoff logic)
   831  //   is the recommended response to this exception.
   832  //
   833  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DeletePermissionSet
   834  func (c *SSOAdmin) DeletePermissionSet(input *DeletePermissionSetInput) (*DeletePermissionSetOutput, error) {
   835  	req, out := c.DeletePermissionSetRequest(input)
   836  	return out, req.Send()
   837  }
   838  
   839  // DeletePermissionSetWithContext is the same as DeletePermissionSet with the addition of
   840  // the ability to pass a context and additional request options.
   841  //
   842  // See DeletePermissionSet for details on how to use this API operation.
   843  //
   844  // The context must be non-nil and will be used for request cancellation. If
   845  // the context is nil a panic will occur. In the future the SDK may create
   846  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   847  // for more information on using Contexts.
   848  func (c *SSOAdmin) DeletePermissionSetWithContext(ctx aws.Context, input *DeletePermissionSetInput, opts ...request.Option) (*DeletePermissionSetOutput, error) {
   849  	req, out := c.DeletePermissionSetRequest(input)
   850  	req.SetContext(ctx)
   851  	req.ApplyOptions(opts...)
   852  	return out, req.Send()
   853  }
   854  
   855  const opDescribeAccountAssignmentCreationStatus = "DescribeAccountAssignmentCreationStatus"
   856  
   857  // DescribeAccountAssignmentCreationStatusRequest generates a "aws/request.Request" representing the
   858  // client's request for the DescribeAccountAssignmentCreationStatus operation. The "output" return
   859  // value will be populated with the request's response once the request completes
   860  // successfully.
   861  //
   862  // Use "Send" method on the returned Request to send the API call to the service.
   863  // the "output" return value is not valid until after Send returns without error.
   864  //
   865  // See DescribeAccountAssignmentCreationStatus for more information on using the DescribeAccountAssignmentCreationStatus
   866  // API call, and error handling.
   867  //
   868  // This method is useful when you want to inject custom logic or configuration
   869  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   870  //
   871  //
   872  //    // Example sending a request using the DescribeAccountAssignmentCreationStatusRequest method.
   873  //    req, resp := client.DescribeAccountAssignmentCreationStatusRequest(params)
   874  //
   875  //    err := req.Send()
   876  //    if err == nil { // resp is now filled
   877  //        fmt.Println(resp)
   878  //    }
   879  //
   880  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeAccountAssignmentCreationStatus
   881  func (c *SSOAdmin) DescribeAccountAssignmentCreationStatusRequest(input *DescribeAccountAssignmentCreationStatusInput) (req *request.Request, output *DescribeAccountAssignmentCreationStatusOutput) {
   882  	op := &request.Operation{
   883  		Name:       opDescribeAccountAssignmentCreationStatus,
   884  		HTTPMethod: "POST",
   885  		HTTPPath:   "/",
   886  	}
   887  
   888  	if input == nil {
   889  		input = &DescribeAccountAssignmentCreationStatusInput{}
   890  	}
   891  
   892  	output = &DescribeAccountAssignmentCreationStatusOutput{}
   893  	req = c.newRequest(op, input, output)
   894  	return
   895  }
   896  
   897  // DescribeAccountAssignmentCreationStatus API operation for AWS Single Sign-On Admin.
   898  //
   899  // Describes the status of the assignment creation request.
   900  //
   901  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   902  // with awserr.Error's Code and Message methods to get detailed information about
   903  // the error.
   904  //
   905  // See the AWS API reference guide for AWS Single Sign-On Admin's
   906  // API operation DescribeAccountAssignmentCreationStatus for usage and error information.
   907  //
   908  // Returned Error Types:
   909  //   * ResourceNotFoundException
   910  //   Indicates that a requested resource is not found.
   911  //
   912  //   * InternalServerException
   913  //   The request processing has failed because of an unknown error, exception,
   914  //   or failure with an internal server.
   915  //
   916  //   * ThrottlingException
   917  //   Indicates that the principal has crossed the throttling limits of the API
   918  //   operations.
   919  //
   920  //   * ValidationException
   921  //   The request failed because it contains a syntax error.
   922  //
   923  //   * AccessDeniedException
   924  //   You do not have sufficient access to perform this action.
   925  //
   926  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeAccountAssignmentCreationStatus
   927  func (c *SSOAdmin) DescribeAccountAssignmentCreationStatus(input *DescribeAccountAssignmentCreationStatusInput) (*DescribeAccountAssignmentCreationStatusOutput, error) {
   928  	req, out := c.DescribeAccountAssignmentCreationStatusRequest(input)
   929  	return out, req.Send()
   930  }
   931  
   932  // DescribeAccountAssignmentCreationStatusWithContext is the same as DescribeAccountAssignmentCreationStatus with the addition of
   933  // the ability to pass a context and additional request options.
   934  //
   935  // See DescribeAccountAssignmentCreationStatus for details on how to use this API operation.
   936  //
   937  // The context must be non-nil and will be used for request cancellation. If
   938  // the context is nil a panic will occur. In the future the SDK may create
   939  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   940  // for more information on using Contexts.
   941  func (c *SSOAdmin) DescribeAccountAssignmentCreationStatusWithContext(ctx aws.Context, input *DescribeAccountAssignmentCreationStatusInput, opts ...request.Option) (*DescribeAccountAssignmentCreationStatusOutput, error) {
   942  	req, out := c.DescribeAccountAssignmentCreationStatusRequest(input)
   943  	req.SetContext(ctx)
   944  	req.ApplyOptions(opts...)
   945  	return out, req.Send()
   946  }
   947  
   948  const opDescribeAccountAssignmentDeletionStatus = "DescribeAccountAssignmentDeletionStatus"
   949  
   950  // DescribeAccountAssignmentDeletionStatusRequest generates a "aws/request.Request" representing the
   951  // client's request for the DescribeAccountAssignmentDeletionStatus operation. The "output" return
   952  // value will be populated with the request's response once the request completes
   953  // successfully.
   954  //
   955  // Use "Send" method on the returned Request to send the API call to the service.
   956  // the "output" return value is not valid until after Send returns without error.
   957  //
   958  // See DescribeAccountAssignmentDeletionStatus for more information on using the DescribeAccountAssignmentDeletionStatus
   959  // API call, and error handling.
   960  //
   961  // This method is useful when you want to inject custom logic or configuration
   962  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   963  //
   964  //
   965  //    // Example sending a request using the DescribeAccountAssignmentDeletionStatusRequest method.
   966  //    req, resp := client.DescribeAccountAssignmentDeletionStatusRequest(params)
   967  //
   968  //    err := req.Send()
   969  //    if err == nil { // resp is now filled
   970  //        fmt.Println(resp)
   971  //    }
   972  //
   973  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeAccountAssignmentDeletionStatus
   974  func (c *SSOAdmin) DescribeAccountAssignmentDeletionStatusRequest(input *DescribeAccountAssignmentDeletionStatusInput) (req *request.Request, output *DescribeAccountAssignmentDeletionStatusOutput) {
   975  	op := &request.Operation{
   976  		Name:       opDescribeAccountAssignmentDeletionStatus,
   977  		HTTPMethod: "POST",
   978  		HTTPPath:   "/",
   979  	}
   980  
   981  	if input == nil {
   982  		input = &DescribeAccountAssignmentDeletionStatusInput{}
   983  	}
   984  
   985  	output = &DescribeAccountAssignmentDeletionStatusOutput{}
   986  	req = c.newRequest(op, input, output)
   987  	return
   988  }
   989  
   990  // DescribeAccountAssignmentDeletionStatus API operation for AWS Single Sign-On Admin.
   991  //
   992  // Describes the status of the assignment deletion request.
   993  //
   994  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   995  // with awserr.Error's Code and Message methods to get detailed information about
   996  // the error.
   997  //
   998  // See the AWS API reference guide for AWS Single Sign-On Admin's
   999  // API operation DescribeAccountAssignmentDeletionStatus for usage and error information.
  1000  //
  1001  // Returned Error Types:
  1002  //   * ResourceNotFoundException
  1003  //   Indicates that a requested resource is not found.
  1004  //
  1005  //   * InternalServerException
  1006  //   The request processing has failed because of an unknown error, exception,
  1007  //   or failure with an internal server.
  1008  //
  1009  //   * ThrottlingException
  1010  //   Indicates that the principal has crossed the throttling limits of the API
  1011  //   operations.
  1012  //
  1013  //   * ValidationException
  1014  //   The request failed because it contains a syntax error.
  1015  //
  1016  //   * AccessDeniedException
  1017  //   You do not have sufficient access to perform this action.
  1018  //
  1019  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeAccountAssignmentDeletionStatus
  1020  func (c *SSOAdmin) DescribeAccountAssignmentDeletionStatus(input *DescribeAccountAssignmentDeletionStatusInput) (*DescribeAccountAssignmentDeletionStatusOutput, error) {
  1021  	req, out := c.DescribeAccountAssignmentDeletionStatusRequest(input)
  1022  	return out, req.Send()
  1023  }
  1024  
  1025  // DescribeAccountAssignmentDeletionStatusWithContext is the same as DescribeAccountAssignmentDeletionStatus with the addition of
  1026  // the ability to pass a context and additional request options.
  1027  //
  1028  // See DescribeAccountAssignmentDeletionStatus for details on how to use this API operation.
  1029  //
  1030  // The context must be non-nil and will be used for request cancellation. If
  1031  // the context is nil a panic will occur. In the future the SDK may create
  1032  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1033  // for more information on using Contexts.
  1034  func (c *SSOAdmin) DescribeAccountAssignmentDeletionStatusWithContext(ctx aws.Context, input *DescribeAccountAssignmentDeletionStatusInput, opts ...request.Option) (*DescribeAccountAssignmentDeletionStatusOutput, error) {
  1035  	req, out := c.DescribeAccountAssignmentDeletionStatusRequest(input)
  1036  	req.SetContext(ctx)
  1037  	req.ApplyOptions(opts...)
  1038  	return out, req.Send()
  1039  }
  1040  
  1041  const opDescribeInstanceAccessControlAttributeConfiguration = "DescribeInstanceAccessControlAttributeConfiguration"
  1042  
  1043  // DescribeInstanceAccessControlAttributeConfigurationRequest generates a "aws/request.Request" representing the
  1044  // client's request for the DescribeInstanceAccessControlAttributeConfiguration operation. The "output" return
  1045  // value will be populated with the request's response once the request completes
  1046  // successfully.
  1047  //
  1048  // Use "Send" method on the returned Request to send the API call to the service.
  1049  // the "output" return value is not valid until after Send returns without error.
  1050  //
  1051  // See DescribeInstanceAccessControlAttributeConfiguration for more information on using the DescribeInstanceAccessControlAttributeConfiguration
  1052  // API call, and error handling.
  1053  //
  1054  // This method is useful when you want to inject custom logic or configuration
  1055  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1056  //
  1057  //
  1058  //    // Example sending a request using the DescribeInstanceAccessControlAttributeConfigurationRequest method.
  1059  //    req, resp := client.DescribeInstanceAccessControlAttributeConfigurationRequest(params)
  1060  //
  1061  //    err := req.Send()
  1062  //    if err == nil { // resp is now filled
  1063  //        fmt.Println(resp)
  1064  //    }
  1065  //
  1066  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeInstanceAccessControlAttributeConfiguration
  1067  func (c *SSOAdmin) DescribeInstanceAccessControlAttributeConfigurationRequest(input *DescribeInstanceAccessControlAttributeConfigurationInput) (req *request.Request, output *DescribeInstanceAccessControlAttributeConfigurationOutput) {
  1068  	op := &request.Operation{
  1069  		Name:       opDescribeInstanceAccessControlAttributeConfiguration,
  1070  		HTTPMethod: "POST",
  1071  		HTTPPath:   "/",
  1072  	}
  1073  
  1074  	if input == nil {
  1075  		input = &DescribeInstanceAccessControlAttributeConfigurationInput{}
  1076  	}
  1077  
  1078  	output = &DescribeInstanceAccessControlAttributeConfigurationOutput{}
  1079  	req = c.newRequest(op, input, output)
  1080  	return
  1081  }
  1082  
  1083  // DescribeInstanceAccessControlAttributeConfiguration API operation for AWS Single Sign-On Admin.
  1084  //
  1085  // Returns the list of Amazon Web Services SSO identity store attributes that
  1086  // have been configured to work with attributes-based access control (ABAC)
  1087  // for the specified Amazon Web Services SSO instance. This will not return
  1088  // attributes configured and sent by an external identity provider. For more
  1089  // information about ABAC, see Attribute-Based Access Control (/singlesignon/latest/userguide/abac.html)
  1090  // in the Amazon Web Services SSO User Guide.
  1091  //
  1092  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1093  // with awserr.Error's Code and Message methods to get detailed information about
  1094  // the error.
  1095  //
  1096  // See the AWS API reference guide for AWS Single Sign-On Admin's
  1097  // API operation DescribeInstanceAccessControlAttributeConfiguration for usage and error information.
  1098  //
  1099  // Returned Error Types:
  1100  //   * ResourceNotFoundException
  1101  //   Indicates that a requested resource is not found.
  1102  //
  1103  //   * InternalServerException
  1104  //   The request processing has failed because of an unknown error, exception,
  1105  //   or failure with an internal server.
  1106  //
  1107  //   * AccessDeniedException
  1108  //   You do not have sufficient access to perform this action.
  1109  //
  1110  //   * ThrottlingException
  1111  //   Indicates that the principal has crossed the throttling limits of the API
  1112  //   operations.
  1113  //
  1114  //   * ValidationException
  1115  //   The request failed because it contains a syntax error.
  1116  //
  1117  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribeInstanceAccessControlAttributeConfiguration
  1118  func (c *SSOAdmin) DescribeInstanceAccessControlAttributeConfiguration(input *DescribeInstanceAccessControlAttributeConfigurationInput) (*DescribeInstanceAccessControlAttributeConfigurationOutput, error) {
  1119  	req, out := c.DescribeInstanceAccessControlAttributeConfigurationRequest(input)
  1120  	return out, req.Send()
  1121  }
  1122  
  1123  // DescribeInstanceAccessControlAttributeConfigurationWithContext is the same as DescribeInstanceAccessControlAttributeConfiguration with the addition of
  1124  // the ability to pass a context and additional request options.
  1125  //
  1126  // See DescribeInstanceAccessControlAttributeConfiguration for details on how to use this API operation.
  1127  //
  1128  // The context must be non-nil and will be used for request cancellation. If
  1129  // the context is nil a panic will occur. In the future the SDK may create
  1130  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1131  // for more information on using Contexts.
  1132  func (c *SSOAdmin) DescribeInstanceAccessControlAttributeConfigurationWithContext(ctx aws.Context, input *DescribeInstanceAccessControlAttributeConfigurationInput, opts ...request.Option) (*DescribeInstanceAccessControlAttributeConfigurationOutput, error) {
  1133  	req, out := c.DescribeInstanceAccessControlAttributeConfigurationRequest(input)
  1134  	req.SetContext(ctx)
  1135  	req.ApplyOptions(opts...)
  1136  	return out, req.Send()
  1137  }
  1138  
  1139  const opDescribePermissionSet = "DescribePermissionSet"
  1140  
  1141  // DescribePermissionSetRequest generates a "aws/request.Request" representing the
  1142  // client's request for the DescribePermissionSet operation. The "output" return
  1143  // value will be populated with the request's response once the request completes
  1144  // successfully.
  1145  //
  1146  // Use "Send" method on the returned Request to send the API call to the service.
  1147  // the "output" return value is not valid until after Send returns without error.
  1148  //
  1149  // See DescribePermissionSet for more information on using the DescribePermissionSet
  1150  // API call, and error handling.
  1151  //
  1152  // This method is useful when you want to inject custom logic or configuration
  1153  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1154  //
  1155  //
  1156  //    // Example sending a request using the DescribePermissionSetRequest method.
  1157  //    req, resp := client.DescribePermissionSetRequest(params)
  1158  //
  1159  //    err := req.Send()
  1160  //    if err == nil { // resp is now filled
  1161  //        fmt.Println(resp)
  1162  //    }
  1163  //
  1164  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribePermissionSet
  1165  func (c *SSOAdmin) DescribePermissionSetRequest(input *DescribePermissionSetInput) (req *request.Request, output *DescribePermissionSetOutput) {
  1166  	op := &request.Operation{
  1167  		Name:       opDescribePermissionSet,
  1168  		HTTPMethod: "POST",
  1169  		HTTPPath:   "/",
  1170  	}
  1171  
  1172  	if input == nil {
  1173  		input = &DescribePermissionSetInput{}
  1174  	}
  1175  
  1176  	output = &DescribePermissionSetOutput{}
  1177  	req = c.newRequest(op, input, output)
  1178  	return
  1179  }
  1180  
  1181  // DescribePermissionSet API operation for AWS Single Sign-On Admin.
  1182  //
  1183  // Gets the details of the permission set.
  1184  //
  1185  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1186  // with awserr.Error's Code and Message methods to get detailed information about
  1187  // the error.
  1188  //
  1189  // See the AWS API reference guide for AWS Single Sign-On Admin's
  1190  // API operation DescribePermissionSet for usage and error information.
  1191  //
  1192  // Returned Error Types:
  1193  //   * ResourceNotFoundException
  1194  //   Indicates that a requested resource is not found.
  1195  //
  1196  //   * InternalServerException
  1197  //   The request processing has failed because of an unknown error, exception,
  1198  //   or failure with an internal server.
  1199  //
  1200  //   * ThrottlingException
  1201  //   Indicates that the principal has crossed the throttling limits of the API
  1202  //   operations.
  1203  //
  1204  //   * ValidationException
  1205  //   The request failed because it contains a syntax error.
  1206  //
  1207  //   * AccessDeniedException
  1208  //   You do not have sufficient access to perform this action.
  1209  //
  1210  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribePermissionSet
  1211  func (c *SSOAdmin) DescribePermissionSet(input *DescribePermissionSetInput) (*DescribePermissionSetOutput, error) {
  1212  	req, out := c.DescribePermissionSetRequest(input)
  1213  	return out, req.Send()
  1214  }
  1215  
  1216  // DescribePermissionSetWithContext is the same as DescribePermissionSet with the addition of
  1217  // the ability to pass a context and additional request options.
  1218  //
  1219  // See DescribePermissionSet for details on how to use this API operation.
  1220  //
  1221  // The context must be non-nil and will be used for request cancellation. If
  1222  // the context is nil a panic will occur. In the future the SDK may create
  1223  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1224  // for more information on using Contexts.
  1225  func (c *SSOAdmin) DescribePermissionSetWithContext(ctx aws.Context, input *DescribePermissionSetInput, opts ...request.Option) (*DescribePermissionSetOutput, error) {
  1226  	req, out := c.DescribePermissionSetRequest(input)
  1227  	req.SetContext(ctx)
  1228  	req.ApplyOptions(opts...)
  1229  	return out, req.Send()
  1230  }
  1231  
  1232  const opDescribePermissionSetProvisioningStatus = "DescribePermissionSetProvisioningStatus"
  1233  
  1234  // DescribePermissionSetProvisioningStatusRequest generates a "aws/request.Request" representing the
  1235  // client's request for the DescribePermissionSetProvisioningStatus operation. The "output" return
  1236  // value will be populated with the request's response once the request completes
  1237  // successfully.
  1238  //
  1239  // Use "Send" method on the returned Request to send the API call to the service.
  1240  // the "output" return value is not valid until after Send returns without error.
  1241  //
  1242  // See DescribePermissionSetProvisioningStatus for more information on using the DescribePermissionSetProvisioningStatus
  1243  // API call, and error handling.
  1244  //
  1245  // This method is useful when you want to inject custom logic or configuration
  1246  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1247  //
  1248  //
  1249  //    // Example sending a request using the DescribePermissionSetProvisioningStatusRequest method.
  1250  //    req, resp := client.DescribePermissionSetProvisioningStatusRequest(params)
  1251  //
  1252  //    err := req.Send()
  1253  //    if err == nil { // resp is now filled
  1254  //        fmt.Println(resp)
  1255  //    }
  1256  //
  1257  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribePermissionSetProvisioningStatus
  1258  func (c *SSOAdmin) DescribePermissionSetProvisioningStatusRequest(input *DescribePermissionSetProvisioningStatusInput) (req *request.Request, output *DescribePermissionSetProvisioningStatusOutput) {
  1259  	op := &request.Operation{
  1260  		Name:       opDescribePermissionSetProvisioningStatus,
  1261  		HTTPMethod: "POST",
  1262  		HTTPPath:   "/",
  1263  	}
  1264  
  1265  	if input == nil {
  1266  		input = &DescribePermissionSetProvisioningStatusInput{}
  1267  	}
  1268  
  1269  	output = &DescribePermissionSetProvisioningStatusOutput{}
  1270  	req = c.newRequest(op, input, output)
  1271  	return
  1272  }
  1273  
  1274  // DescribePermissionSetProvisioningStatus API operation for AWS Single Sign-On Admin.
  1275  //
  1276  // Describes the status for the given permission set provisioning request.
  1277  //
  1278  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1279  // with awserr.Error's Code and Message methods to get detailed information about
  1280  // the error.
  1281  //
  1282  // See the AWS API reference guide for AWS Single Sign-On Admin's
  1283  // API operation DescribePermissionSetProvisioningStatus for usage and error information.
  1284  //
  1285  // Returned Error Types:
  1286  //   * ResourceNotFoundException
  1287  //   Indicates that a requested resource is not found.
  1288  //
  1289  //   * InternalServerException
  1290  //   The request processing has failed because of an unknown error, exception,
  1291  //   or failure with an internal server.
  1292  //
  1293  //   * ThrottlingException
  1294  //   Indicates that the principal has crossed the throttling limits of the API
  1295  //   operations.
  1296  //
  1297  //   * ValidationException
  1298  //   The request failed because it contains a syntax error.
  1299  //
  1300  //   * AccessDeniedException
  1301  //   You do not have sufficient access to perform this action.
  1302  //
  1303  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DescribePermissionSetProvisioningStatus
  1304  func (c *SSOAdmin) DescribePermissionSetProvisioningStatus(input *DescribePermissionSetProvisioningStatusInput) (*DescribePermissionSetProvisioningStatusOutput, error) {
  1305  	req, out := c.DescribePermissionSetProvisioningStatusRequest(input)
  1306  	return out, req.Send()
  1307  }
  1308  
  1309  // DescribePermissionSetProvisioningStatusWithContext is the same as DescribePermissionSetProvisioningStatus with the addition of
  1310  // the ability to pass a context and additional request options.
  1311  //
  1312  // See DescribePermissionSetProvisioningStatus for details on how to use this API operation.
  1313  //
  1314  // The context must be non-nil and will be used for request cancellation. If
  1315  // the context is nil a panic will occur. In the future the SDK may create
  1316  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1317  // for more information on using Contexts.
  1318  func (c *SSOAdmin) DescribePermissionSetProvisioningStatusWithContext(ctx aws.Context, input *DescribePermissionSetProvisioningStatusInput, opts ...request.Option) (*DescribePermissionSetProvisioningStatusOutput, error) {
  1319  	req, out := c.DescribePermissionSetProvisioningStatusRequest(input)
  1320  	req.SetContext(ctx)
  1321  	req.ApplyOptions(opts...)
  1322  	return out, req.Send()
  1323  }
  1324  
  1325  const opDetachManagedPolicyFromPermissionSet = "DetachManagedPolicyFromPermissionSet"
  1326  
  1327  // DetachManagedPolicyFromPermissionSetRequest generates a "aws/request.Request" representing the
  1328  // client's request for the DetachManagedPolicyFromPermissionSet operation. The "output" return
  1329  // value will be populated with the request's response once the request completes
  1330  // successfully.
  1331  //
  1332  // Use "Send" method on the returned Request to send the API call to the service.
  1333  // the "output" return value is not valid until after Send returns without error.
  1334  //
  1335  // See DetachManagedPolicyFromPermissionSet for more information on using the DetachManagedPolicyFromPermissionSet
  1336  // API call, and error handling.
  1337  //
  1338  // This method is useful when you want to inject custom logic or configuration
  1339  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1340  //
  1341  //
  1342  //    // Example sending a request using the DetachManagedPolicyFromPermissionSetRequest method.
  1343  //    req, resp := client.DetachManagedPolicyFromPermissionSetRequest(params)
  1344  //
  1345  //    err := req.Send()
  1346  //    if err == nil { // resp is now filled
  1347  //        fmt.Println(resp)
  1348  //    }
  1349  //
  1350  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DetachManagedPolicyFromPermissionSet
  1351  func (c *SSOAdmin) DetachManagedPolicyFromPermissionSetRequest(input *DetachManagedPolicyFromPermissionSetInput) (req *request.Request, output *DetachManagedPolicyFromPermissionSetOutput) {
  1352  	op := &request.Operation{
  1353  		Name:       opDetachManagedPolicyFromPermissionSet,
  1354  		HTTPMethod: "POST",
  1355  		HTTPPath:   "/",
  1356  	}
  1357  
  1358  	if input == nil {
  1359  		input = &DetachManagedPolicyFromPermissionSetInput{}
  1360  	}
  1361  
  1362  	output = &DetachManagedPolicyFromPermissionSetOutput{}
  1363  	req = c.newRequest(op, input, output)
  1364  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1365  	return
  1366  }
  1367  
  1368  // DetachManagedPolicyFromPermissionSet API operation for AWS Single Sign-On Admin.
  1369  //
  1370  // Detaches the attached IAM managed policy ARN from the specified permission
  1371  // set.
  1372  //
  1373  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1374  // with awserr.Error's Code and Message methods to get detailed information about
  1375  // the error.
  1376  //
  1377  // See the AWS API reference guide for AWS Single Sign-On Admin's
  1378  // API operation DetachManagedPolicyFromPermissionSet for usage and error information.
  1379  //
  1380  // Returned Error Types:
  1381  //   * ResourceNotFoundException
  1382  //   Indicates that a requested resource is not found.
  1383  //
  1384  //   * InternalServerException
  1385  //   The request processing has failed because of an unknown error, exception,
  1386  //   or failure with an internal server.
  1387  //
  1388  //   * ThrottlingException
  1389  //   Indicates that the principal has crossed the throttling limits of the API
  1390  //   operations.
  1391  //
  1392  //   * ValidationException
  1393  //   The request failed because it contains a syntax error.
  1394  //
  1395  //   * AccessDeniedException
  1396  //   You do not have sufficient access to perform this action.
  1397  //
  1398  //   * ConflictException
  1399  //   Occurs when a conflict with a previous successful write is detected. This
  1400  //   generally occurs when the previous write did not have time to propagate to
  1401  //   the host serving the current request. A retry (with appropriate backoff logic)
  1402  //   is the recommended response to this exception.
  1403  //
  1404  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/DetachManagedPolicyFromPermissionSet
  1405  func (c *SSOAdmin) DetachManagedPolicyFromPermissionSet(input *DetachManagedPolicyFromPermissionSetInput) (*DetachManagedPolicyFromPermissionSetOutput, error) {
  1406  	req, out := c.DetachManagedPolicyFromPermissionSetRequest(input)
  1407  	return out, req.Send()
  1408  }
  1409  
  1410  // DetachManagedPolicyFromPermissionSetWithContext is the same as DetachManagedPolicyFromPermissionSet with the addition of
  1411  // the ability to pass a context and additional request options.
  1412  //
  1413  // See DetachManagedPolicyFromPermissionSet for details on how to use this API operation.
  1414  //
  1415  // The context must be non-nil and will be used for request cancellation. If
  1416  // the context is nil a panic will occur. In the future the SDK may create
  1417  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1418  // for more information on using Contexts.
  1419  func (c *SSOAdmin) DetachManagedPolicyFromPermissionSetWithContext(ctx aws.Context, input *DetachManagedPolicyFromPermissionSetInput, opts ...request.Option) (*DetachManagedPolicyFromPermissionSetOutput, error) {
  1420  	req, out := c.DetachManagedPolicyFromPermissionSetRequest(input)
  1421  	req.SetContext(ctx)
  1422  	req.ApplyOptions(opts...)
  1423  	return out, req.Send()
  1424  }
  1425  
  1426  const opGetInlinePolicyForPermissionSet = "GetInlinePolicyForPermissionSet"
  1427  
  1428  // GetInlinePolicyForPermissionSetRequest generates a "aws/request.Request" representing the
  1429  // client's request for the GetInlinePolicyForPermissionSet operation. The "output" return
  1430  // value will be populated with the request's response once the request completes
  1431  // successfully.
  1432  //
  1433  // Use "Send" method on the returned Request to send the API call to the service.
  1434  // the "output" return value is not valid until after Send returns without error.
  1435  //
  1436  // See GetInlinePolicyForPermissionSet for more information on using the GetInlinePolicyForPermissionSet
  1437  // API call, and error handling.
  1438  //
  1439  // This method is useful when you want to inject custom logic or configuration
  1440  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1441  //
  1442  //
  1443  //    // Example sending a request using the GetInlinePolicyForPermissionSetRequest method.
  1444  //    req, resp := client.GetInlinePolicyForPermissionSetRequest(params)
  1445  //
  1446  //    err := req.Send()
  1447  //    if err == nil { // resp is now filled
  1448  //        fmt.Println(resp)
  1449  //    }
  1450  //
  1451  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/GetInlinePolicyForPermissionSet
  1452  func (c *SSOAdmin) GetInlinePolicyForPermissionSetRequest(input *GetInlinePolicyForPermissionSetInput) (req *request.Request, output *GetInlinePolicyForPermissionSetOutput) {
  1453  	op := &request.Operation{
  1454  		Name:       opGetInlinePolicyForPermissionSet,
  1455  		HTTPMethod: "POST",
  1456  		HTTPPath:   "/",
  1457  	}
  1458  
  1459  	if input == nil {
  1460  		input = &GetInlinePolicyForPermissionSetInput{}
  1461  	}
  1462  
  1463  	output = &GetInlinePolicyForPermissionSetOutput{}
  1464  	req = c.newRequest(op, input, output)
  1465  	return
  1466  }
  1467  
  1468  // GetInlinePolicyForPermissionSet API operation for AWS Single Sign-On Admin.
  1469  //
  1470  // Obtains the inline policy assigned to the permission set.
  1471  //
  1472  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1473  // with awserr.Error's Code and Message methods to get detailed information about
  1474  // the error.
  1475  //
  1476  // See the AWS API reference guide for AWS Single Sign-On Admin's
  1477  // API operation GetInlinePolicyForPermissionSet for usage and error information.
  1478  //
  1479  // Returned Error Types:
  1480  //   * ResourceNotFoundException
  1481  //   Indicates that a requested resource is not found.
  1482  //
  1483  //   * InternalServerException
  1484  //   The request processing has failed because of an unknown error, exception,
  1485  //   or failure with an internal server.
  1486  //
  1487  //   * ThrottlingException
  1488  //   Indicates that the principal has crossed the throttling limits of the API
  1489  //   operations.
  1490  //
  1491  //   * ValidationException
  1492  //   The request failed because it contains a syntax error.
  1493  //
  1494  //   * AccessDeniedException
  1495  //   You do not have sufficient access to perform this action.
  1496  //
  1497  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/GetInlinePolicyForPermissionSet
  1498  func (c *SSOAdmin) GetInlinePolicyForPermissionSet(input *GetInlinePolicyForPermissionSetInput) (*GetInlinePolicyForPermissionSetOutput, error) {
  1499  	req, out := c.GetInlinePolicyForPermissionSetRequest(input)
  1500  	return out, req.Send()
  1501  }
  1502  
  1503  // GetInlinePolicyForPermissionSetWithContext is the same as GetInlinePolicyForPermissionSet with the addition of
  1504  // the ability to pass a context and additional request options.
  1505  //
  1506  // See GetInlinePolicyForPermissionSet for details on how to use this API operation.
  1507  //
  1508  // The context must be non-nil and will be used for request cancellation. If
  1509  // the context is nil a panic will occur. In the future the SDK may create
  1510  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1511  // for more information on using Contexts.
  1512  func (c *SSOAdmin) GetInlinePolicyForPermissionSetWithContext(ctx aws.Context, input *GetInlinePolicyForPermissionSetInput, opts ...request.Option) (*GetInlinePolicyForPermissionSetOutput, error) {
  1513  	req, out := c.GetInlinePolicyForPermissionSetRequest(input)
  1514  	req.SetContext(ctx)
  1515  	req.ApplyOptions(opts...)
  1516  	return out, req.Send()
  1517  }
  1518  
  1519  const opListAccountAssignmentCreationStatus = "ListAccountAssignmentCreationStatus"
  1520  
  1521  // ListAccountAssignmentCreationStatusRequest generates a "aws/request.Request" representing the
  1522  // client's request for the ListAccountAssignmentCreationStatus operation. The "output" return
  1523  // value will be populated with the request's response once the request completes
  1524  // successfully.
  1525  //
  1526  // Use "Send" method on the returned Request to send the API call to the service.
  1527  // the "output" return value is not valid until after Send returns without error.
  1528  //
  1529  // See ListAccountAssignmentCreationStatus for more information on using the ListAccountAssignmentCreationStatus
  1530  // API call, and error handling.
  1531  //
  1532  // This method is useful when you want to inject custom logic or configuration
  1533  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1534  //
  1535  //
  1536  //    // Example sending a request using the ListAccountAssignmentCreationStatusRequest method.
  1537  //    req, resp := client.ListAccountAssignmentCreationStatusRequest(params)
  1538  //
  1539  //    err := req.Send()
  1540  //    if err == nil { // resp is now filled
  1541  //        fmt.Println(resp)
  1542  //    }
  1543  //
  1544  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignmentCreationStatus
  1545  func (c *SSOAdmin) ListAccountAssignmentCreationStatusRequest(input *ListAccountAssignmentCreationStatusInput) (req *request.Request, output *ListAccountAssignmentCreationStatusOutput) {
  1546  	op := &request.Operation{
  1547  		Name:       opListAccountAssignmentCreationStatus,
  1548  		HTTPMethod: "POST",
  1549  		HTTPPath:   "/",
  1550  		Paginator: &request.Paginator{
  1551  			InputTokens:     []string{"NextToken"},
  1552  			OutputTokens:    []string{"NextToken"},
  1553  			LimitToken:      "MaxResults",
  1554  			TruncationToken: "",
  1555  		},
  1556  	}
  1557  
  1558  	if input == nil {
  1559  		input = &ListAccountAssignmentCreationStatusInput{}
  1560  	}
  1561  
  1562  	output = &ListAccountAssignmentCreationStatusOutput{}
  1563  	req = c.newRequest(op, input, output)
  1564  	return
  1565  }
  1566  
  1567  // ListAccountAssignmentCreationStatus API operation for AWS Single Sign-On Admin.
  1568  //
  1569  // Lists the status of the Amazon Web Services account assignment creation requests
  1570  // for a specified SSO instance.
  1571  //
  1572  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1573  // with awserr.Error's Code and Message methods to get detailed information about
  1574  // the error.
  1575  //
  1576  // See the AWS API reference guide for AWS Single Sign-On Admin's
  1577  // API operation ListAccountAssignmentCreationStatus for usage and error information.
  1578  //
  1579  // Returned Error Types:
  1580  //   * ResourceNotFoundException
  1581  //   Indicates that a requested resource is not found.
  1582  //
  1583  //   * InternalServerException
  1584  //   The request processing has failed because of an unknown error, exception,
  1585  //   or failure with an internal server.
  1586  //
  1587  //   * ThrottlingException
  1588  //   Indicates that the principal has crossed the throttling limits of the API
  1589  //   operations.
  1590  //
  1591  //   * ValidationException
  1592  //   The request failed because it contains a syntax error.
  1593  //
  1594  //   * AccessDeniedException
  1595  //   You do not have sufficient access to perform this action.
  1596  //
  1597  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignmentCreationStatus
  1598  func (c *SSOAdmin) ListAccountAssignmentCreationStatus(input *ListAccountAssignmentCreationStatusInput) (*ListAccountAssignmentCreationStatusOutput, error) {
  1599  	req, out := c.ListAccountAssignmentCreationStatusRequest(input)
  1600  	return out, req.Send()
  1601  }
  1602  
  1603  // ListAccountAssignmentCreationStatusWithContext is the same as ListAccountAssignmentCreationStatus with the addition of
  1604  // the ability to pass a context and additional request options.
  1605  //
  1606  // See ListAccountAssignmentCreationStatus for details on how to use this API operation.
  1607  //
  1608  // The context must be non-nil and will be used for request cancellation. If
  1609  // the context is nil a panic will occur. In the future the SDK may create
  1610  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1611  // for more information on using Contexts.
  1612  func (c *SSOAdmin) ListAccountAssignmentCreationStatusWithContext(ctx aws.Context, input *ListAccountAssignmentCreationStatusInput, opts ...request.Option) (*ListAccountAssignmentCreationStatusOutput, error) {
  1613  	req, out := c.ListAccountAssignmentCreationStatusRequest(input)
  1614  	req.SetContext(ctx)
  1615  	req.ApplyOptions(opts...)
  1616  	return out, req.Send()
  1617  }
  1618  
  1619  // ListAccountAssignmentCreationStatusPages iterates over the pages of a ListAccountAssignmentCreationStatus operation,
  1620  // calling the "fn" function with the response data for each page. To stop
  1621  // iterating, return false from the fn function.
  1622  //
  1623  // See ListAccountAssignmentCreationStatus method for more information on how to use this operation.
  1624  //
  1625  // Note: This operation can generate multiple requests to a service.
  1626  //
  1627  //    // Example iterating over at most 3 pages of a ListAccountAssignmentCreationStatus operation.
  1628  //    pageNum := 0
  1629  //    err := client.ListAccountAssignmentCreationStatusPages(params,
  1630  //        func(page *ssoadmin.ListAccountAssignmentCreationStatusOutput, lastPage bool) bool {
  1631  //            pageNum++
  1632  //            fmt.Println(page)
  1633  //            return pageNum <= 3
  1634  //        })
  1635  //
  1636  func (c *SSOAdmin) ListAccountAssignmentCreationStatusPages(input *ListAccountAssignmentCreationStatusInput, fn func(*ListAccountAssignmentCreationStatusOutput, bool) bool) error {
  1637  	return c.ListAccountAssignmentCreationStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  1638  }
  1639  
  1640  // ListAccountAssignmentCreationStatusPagesWithContext same as ListAccountAssignmentCreationStatusPages except
  1641  // it takes a Context and allows setting request options on the pages.
  1642  //
  1643  // The context must be non-nil and will be used for request cancellation. If
  1644  // the context is nil a panic will occur. In the future the SDK may create
  1645  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1646  // for more information on using Contexts.
  1647  func (c *SSOAdmin) ListAccountAssignmentCreationStatusPagesWithContext(ctx aws.Context, input *ListAccountAssignmentCreationStatusInput, fn func(*ListAccountAssignmentCreationStatusOutput, bool) bool, opts ...request.Option) error {
  1648  	p := request.Pagination{
  1649  		NewRequest: func() (*request.Request, error) {
  1650  			var inCpy *ListAccountAssignmentCreationStatusInput
  1651  			if input != nil {
  1652  				tmp := *input
  1653  				inCpy = &tmp
  1654  			}
  1655  			req, _ := c.ListAccountAssignmentCreationStatusRequest(inCpy)
  1656  			req.SetContext(ctx)
  1657  			req.ApplyOptions(opts...)
  1658  			return req, nil
  1659  		},
  1660  	}
  1661  
  1662  	for p.Next() {
  1663  		if !fn(p.Page().(*ListAccountAssignmentCreationStatusOutput), !p.HasNextPage()) {
  1664  			break
  1665  		}
  1666  	}
  1667  
  1668  	return p.Err()
  1669  }
  1670  
  1671  const opListAccountAssignmentDeletionStatus = "ListAccountAssignmentDeletionStatus"
  1672  
  1673  // ListAccountAssignmentDeletionStatusRequest generates a "aws/request.Request" representing the
  1674  // client's request for the ListAccountAssignmentDeletionStatus operation. The "output" return
  1675  // value will be populated with the request's response once the request completes
  1676  // successfully.
  1677  //
  1678  // Use "Send" method on the returned Request to send the API call to the service.
  1679  // the "output" return value is not valid until after Send returns without error.
  1680  //
  1681  // See ListAccountAssignmentDeletionStatus for more information on using the ListAccountAssignmentDeletionStatus
  1682  // API call, and error handling.
  1683  //
  1684  // This method is useful when you want to inject custom logic or configuration
  1685  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1686  //
  1687  //
  1688  //    // Example sending a request using the ListAccountAssignmentDeletionStatusRequest method.
  1689  //    req, resp := client.ListAccountAssignmentDeletionStatusRequest(params)
  1690  //
  1691  //    err := req.Send()
  1692  //    if err == nil { // resp is now filled
  1693  //        fmt.Println(resp)
  1694  //    }
  1695  //
  1696  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignmentDeletionStatus
  1697  func (c *SSOAdmin) ListAccountAssignmentDeletionStatusRequest(input *ListAccountAssignmentDeletionStatusInput) (req *request.Request, output *ListAccountAssignmentDeletionStatusOutput) {
  1698  	op := &request.Operation{
  1699  		Name:       opListAccountAssignmentDeletionStatus,
  1700  		HTTPMethod: "POST",
  1701  		HTTPPath:   "/",
  1702  		Paginator: &request.Paginator{
  1703  			InputTokens:     []string{"NextToken"},
  1704  			OutputTokens:    []string{"NextToken"},
  1705  			LimitToken:      "MaxResults",
  1706  			TruncationToken: "",
  1707  		},
  1708  	}
  1709  
  1710  	if input == nil {
  1711  		input = &ListAccountAssignmentDeletionStatusInput{}
  1712  	}
  1713  
  1714  	output = &ListAccountAssignmentDeletionStatusOutput{}
  1715  	req = c.newRequest(op, input, output)
  1716  	return
  1717  }
  1718  
  1719  // ListAccountAssignmentDeletionStatus API operation for AWS Single Sign-On Admin.
  1720  //
  1721  // Lists the status of the Amazon Web Services account assignment deletion requests
  1722  // for a specified SSO instance.
  1723  //
  1724  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1725  // with awserr.Error's Code and Message methods to get detailed information about
  1726  // the error.
  1727  //
  1728  // See the AWS API reference guide for AWS Single Sign-On Admin's
  1729  // API operation ListAccountAssignmentDeletionStatus for usage and error information.
  1730  //
  1731  // Returned Error Types:
  1732  //   * ResourceNotFoundException
  1733  //   Indicates that a requested resource is not found.
  1734  //
  1735  //   * InternalServerException
  1736  //   The request processing has failed because of an unknown error, exception,
  1737  //   or failure with an internal server.
  1738  //
  1739  //   * ThrottlingException
  1740  //   Indicates that the principal has crossed the throttling limits of the API
  1741  //   operations.
  1742  //
  1743  //   * ValidationException
  1744  //   The request failed because it contains a syntax error.
  1745  //
  1746  //   * AccessDeniedException
  1747  //   You do not have sufficient access to perform this action.
  1748  //
  1749  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignmentDeletionStatus
  1750  func (c *SSOAdmin) ListAccountAssignmentDeletionStatus(input *ListAccountAssignmentDeletionStatusInput) (*ListAccountAssignmentDeletionStatusOutput, error) {
  1751  	req, out := c.ListAccountAssignmentDeletionStatusRequest(input)
  1752  	return out, req.Send()
  1753  }
  1754  
  1755  // ListAccountAssignmentDeletionStatusWithContext is the same as ListAccountAssignmentDeletionStatus with the addition of
  1756  // the ability to pass a context and additional request options.
  1757  //
  1758  // See ListAccountAssignmentDeletionStatus for details on how to use this API operation.
  1759  //
  1760  // The context must be non-nil and will be used for request cancellation. If
  1761  // the context is nil a panic will occur. In the future the SDK may create
  1762  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1763  // for more information on using Contexts.
  1764  func (c *SSOAdmin) ListAccountAssignmentDeletionStatusWithContext(ctx aws.Context, input *ListAccountAssignmentDeletionStatusInput, opts ...request.Option) (*ListAccountAssignmentDeletionStatusOutput, error) {
  1765  	req, out := c.ListAccountAssignmentDeletionStatusRequest(input)
  1766  	req.SetContext(ctx)
  1767  	req.ApplyOptions(opts...)
  1768  	return out, req.Send()
  1769  }
  1770  
  1771  // ListAccountAssignmentDeletionStatusPages iterates over the pages of a ListAccountAssignmentDeletionStatus operation,
  1772  // calling the "fn" function with the response data for each page. To stop
  1773  // iterating, return false from the fn function.
  1774  //
  1775  // See ListAccountAssignmentDeletionStatus method for more information on how to use this operation.
  1776  //
  1777  // Note: This operation can generate multiple requests to a service.
  1778  //
  1779  //    // Example iterating over at most 3 pages of a ListAccountAssignmentDeletionStatus operation.
  1780  //    pageNum := 0
  1781  //    err := client.ListAccountAssignmentDeletionStatusPages(params,
  1782  //        func(page *ssoadmin.ListAccountAssignmentDeletionStatusOutput, lastPage bool) bool {
  1783  //            pageNum++
  1784  //            fmt.Println(page)
  1785  //            return pageNum <= 3
  1786  //        })
  1787  //
  1788  func (c *SSOAdmin) ListAccountAssignmentDeletionStatusPages(input *ListAccountAssignmentDeletionStatusInput, fn func(*ListAccountAssignmentDeletionStatusOutput, bool) bool) error {
  1789  	return c.ListAccountAssignmentDeletionStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  1790  }
  1791  
  1792  // ListAccountAssignmentDeletionStatusPagesWithContext same as ListAccountAssignmentDeletionStatusPages except
  1793  // it takes a Context and allows setting request options on the pages.
  1794  //
  1795  // The context must be non-nil and will be used for request cancellation. If
  1796  // the context is nil a panic will occur. In the future the SDK may create
  1797  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1798  // for more information on using Contexts.
  1799  func (c *SSOAdmin) ListAccountAssignmentDeletionStatusPagesWithContext(ctx aws.Context, input *ListAccountAssignmentDeletionStatusInput, fn func(*ListAccountAssignmentDeletionStatusOutput, bool) bool, opts ...request.Option) error {
  1800  	p := request.Pagination{
  1801  		NewRequest: func() (*request.Request, error) {
  1802  			var inCpy *ListAccountAssignmentDeletionStatusInput
  1803  			if input != nil {
  1804  				tmp := *input
  1805  				inCpy = &tmp
  1806  			}
  1807  			req, _ := c.ListAccountAssignmentDeletionStatusRequest(inCpy)
  1808  			req.SetContext(ctx)
  1809  			req.ApplyOptions(opts...)
  1810  			return req, nil
  1811  		},
  1812  	}
  1813  
  1814  	for p.Next() {
  1815  		if !fn(p.Page().(*ListAccountAssignmentDeletionStatusOutput), !p.HasNextPage()) {
  1816  			break
  1817  		}
  1818  	}
  1819  
  1820  	return p.Err()
  1821  }
  1822  
  1823  const opListAccountAssignments = "ListAccountAssignments"
  1824  
  1825  // ListAccountAssignmentsRequest generates a "aws/request.Request" representing the
  1826  // client's request for the ListAccountAssignments operation. The "output" return
  1827  // value will be populated with the request's response once the request completes
  1828  // successfully.
  1829  //
  1830  // Use "Send" method on the returned Request to send the API call to the service.
  1831  // the "output" return value is not valid until after Send returns without error.
  1832  //
  1833  // See ListAccountAssignments for more information on using the ListAccountAssignments
  1834  // API call, and error handling.
  1835  //
  1836  // This method is useful when you want to inject custom logic or configuration
  1837  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1838  //
  1839  //
  1840  //    // Example sending a request using the ListAccountAssignmentsRequest method.
  1841  //    req, resp := client.ListAccountAssignmentsRequest(params)
  1842  //
  1843  //    err := req.Send()
  1844  //    if err == nil { // resp is now filled
  1845  //        fmt.Println(resp)
  1846  //    }
  1847  //
  1848  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignments
  1849  func (c *SSOAdmin) ListAccountAssignmentsRequest(input *ListAccountAssignmentsInput) (req *request.Request, output *ListAccountAssignmentsOutput) {
  1850  	op := &request.Operation{
  1851  		Name:       opListAccountAssignments,
  1852  		HTTPMethod: "POST",
  1853  		HTTPPath:   "/",
  1854  		Paginator: &request.Paginator{
  1855  			InputTokens:     []string{"NextToken"},
  1856  			OutputTokens:    []string{"NextToken"},
  1857  			LimitToken:      "MaxResults",
  1858  			TruncationToken: "",
  1859  		},
  1860  	}
  1861  
  1862  	if input == nil {
  1863  		input = &ListAccountAssignmentsInput{}
  1864  	}
  1865  
  1866  	output = &ListAccountAssignmentsOutput{}
  1867  	req = c.newRequest(op, input, output)
  1868  	return
  1869  }
  1870  
  1871  // ListAccountAssignments API operation for AWS Single Sign-On Admin.
  1872  //
  1873  // Lists the assignee of the specified Amazon Web Services account with the
  1874  // specified permission set.
  1875  //
  1876  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1877  // with awserr.Error's Code and Message methods to get detailed information about
  1878  // the error.
  1879  //
  1880  // See the AWS API reference guide for AWS Single Sign-On Admin's
  1881  // API operation ListAccountAssignments for usage and error information.
  1882  //
  1883  // Returned Error Types:
  1884  //   * ResourceNotFoundException
  1885  //   Indicates that a requested resource is not found.
  1886  //
  1887  //   * InternalServerException
  1888  //   The request processing has failed because of an unknown error, exception,
  1889  //   or failure with an internal server.
  1890  //
  1891  //   * ThrottlingException
  1892  //   Indicates that the principal has crossed the throttling limits of the API
  1893  //   operations.
  1894  //
  1895  //   * ValidationException
  1896  //   The request failed because it contains a syntax error.
  1897  //
  1898  //   * AccessDeniedException
  1899  //   You do not have sufficient access to perform this action.
  1900  //
  1901  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountAssignments
  1902  func (c *SSOAdmin) ListAccountAssignments(input *ListAccountAssignmentsInput) (*ListAccountAssignmentsOutput, error) {
  1903  	req, out := c.ListAccountAssignmentsRequest(input)
  1904  	return out, req.Send()
  1905  }
  1906  
  1907  // ListAccountAssignmentsWithContext is the same as ListAccountAssignments with the addition of
  1908  // the ability to pass a context and additional request options.
  1909  //
  1910  // See ListAccountAssignments for details on how to use this API operation.
  1911  //
  1912  // The context must be non-nil and will be used for request cancellation. If
  1913  // the context is nil a panic will occur. In the future the SDK may create
  1914  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1915  // for more information on using Contexts.
  1916  func (c *SSOAdmin) ListAccountAssignmentsWithContext(ctx aws.Context, input *ListAccountAssignmentsInput, opts ...request.Option) (*ListAccountAssignmentsOutput, error) {
  1917  	req, out := c.ListAccountAssignmentsRequest(input)
  1918  	req.SetContext(ctx)
  1919  	req.ApplyOptions(opts...)
  1920  	return out, req.Send()
  1921  }
  1922  
  1923  // ListAccountAssignmentsPages iterates over the pages of a ListAccountAssignments operation,
  1924  // calling the "fn" function with the response data for each page. To stop
  1925  // iterating, return false from the fn function.
  1926  //
  1927  // See ListAccountAssignments method for more information on how to use this operation.
  1928  //
  1929  // Note: This operation can generate multiple requests to a service.
  1930  //
  1931  //    // Example iterating over at most 3 pages of a ListAccountAssignments operation.
  1932  //    pageNum := 0
  1933  //    err := client.ListAccountAssignmentsPages(params,
  1934  //        func(page *ssoadmin.ListAccountAssignmentsOutput, lastPage bool) bool {
  1935  //            pageNum++
  1936  //            fmt.Println(page)
  1937  //            return pageNum <= 3
  1938  //        })
  1939  //
  1940  func (c *SSOAdmin) ListAccountAssignmentsPages(input *ListAccountAssignmentsInput, fn func(*ListAccountAssignmentsOutput, bool) bool) error {
  1941  	return c.ListAccountAssignmentsPagesWithContext(aws.BackgroundContext(), input, fn)
  1942  }
  1943  
  1944  // ListAccountAssignmentsPagesWithContext same as ListAccountAssignmentsPages except
  1945  // it takes a Context and allows setting request options on the pages.
  1946  //
  1947  // The context must be non-nil and will be used for request cancellation. If
  1948  // the context is nil a panic will occur. In the future the SDK may create
  1949  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1950  // for more information on using Contexts.
  1951  func (c *SSOAdmin) ListAccountAssignmentsPagesWithContext(ctx aws.Context, input *ListAccountAssignmentsInput, fn func(*ListAccountAssignmentsOutput, bool) bool, opts ...request.Option) error {
  1952  	p := request.Pagination{
  1953  		NewRequest: func() (*request.Request, error) {
  1954  			var inCpy *ListAccountAssignmentsInput
  1955  			if input != nil {
  1956  				tmp := *input
  1957  				inCpy = &tmp
  1958  			}
  1959  			req, _ := c.ListAccountAssignmentsRequest(inCpy)
  1960  			req.SetContext(ctx)
  1961  			req.ApplyOptions(opts...)
  1962  			return req, nil
  1963  		},
  1964  	}
  1965  
  1966  	for p.Next() {
  1967  		if !fn(p.Page().(*ListAccountAssignmentsOutput), !p.HasNextPage()) {
  1968  			break
  1969  		}
  1970  	}
  1971  
  1972  	return p.Err()
  1973  }
  1974  
  1975  const opListAccountsForProvisionedPermissionSet = "ListAccountsForProvisionedPermissionSet"
  1976  
  1977  // ListAccountsForProvisionedPermissionSetRequest generates a "aws/request.Request" representing the
  1978  // client's request for the ListAccountsForProvisionedPermissionSet operation. The "output" return
  1979  // value will be populated with the request's response once the request completes
  1980  // successfully.
  1981  //
  1982  // Use "Send" method on the returned Request to send the API call to the service.
  1983  // the "output" return value is not valid until after Send returns without error.
  1984  //
  1985  // See ListAccountsForProvisionedPermissionSet for more information on using the ListAccountsForProvisionedPermissionSet
  1986  // API call, and error handling.
  1987  //
  1988  // This method is useful when you want to inject custom logic or configuration
  1989  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1990  //
  1991  //
  1992  //    // Example sending a request using the ListAccountsForProvisionedPermissionSetRequest method.
  1993  //    req, resp := client.ListAccountsForProvisionedPermissionSetRequest(params)
  1994  //
  1995  //    err := req.Send()
  1996  //    if err == nil { // resp is now filled
  1997  //        fmt.Println(resp)
  1998  //    }
  1999  //
  2000  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountsForProvisionedPermissionSet
  2001  func (c *SSOAdmin) ListAccountsForProvisionedPermissionSetRequest(input *ListAccountsForProvisionedPermissionSetInput) (req *request.Request, output *ListAccountsForProvisionedPermissionSetOutput) {
  2002  	op := &request.Operation{
  2003  		Name:       opListAccountsForProvisionedPermissionSet,
  2004  		HTTPMethod: "POST",
  2005  		HTTPPath:   "/",
  2006  		Paginator: &request.Paginator{
  2007  			InputTokens:     []string{"NextToken"},
  2008  			OutputTokens:    []string{"NextToken"},
  2009  			LimitToken:      "MaxResults",
  2010  			TruncationToken: "",
  2011  		},
  2012  	}
  2013  
  2014  	if input == nil {
  2015  		input = &ListAccountsForProvisionedPermissionSetInput{}
  2016  	}
  2017  
  2018  	output = &ListAccountsForProvisionedPermissionSetOutput{}
  2019  	req = c.newRequest(op, input, output)
  2020  	return
  2021  }
  2022  
  2023  // ListAccountsForProvisionedPermissionSet API operation for AWS Single Sign-On Admin.
  2024  //
  2025  // Lists all the Amazon Web Services accounts where the specified permission
  2026  // set is provisioned.
  2027  //
  2028  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2029  // with awserr.Error's Code and Message methods to get detailed information about
  2030  // the error.
  2031  //
  2032  // See the AWS API reference guide for AWS Single Sign-On Admin's
  2033  // API operation ListAccountsForProvisionedPermissionSet for usage and error information.
  2034  //
  2035  // Returned Error Types:
  2036  //   * ResourceNotFoundException
  2037  //   Indicates that a requested resource is not found.
  2038  //
  2039  //   * InternalServerException
  2040  //   The request processing has failed because of an unknown error, exception,
  2041  //   or failure with an internal server.
  2042  //
  2043  //   * ThrottlingException
  2044  //   Indicates that the principal has crossed the throttling limits of the API
  2045  //   operations.
  2046  //
  2047  //   * ValidationException
  2048  //   The request failed because it contains a syntax error.
  2049  //
  2050  //   * AccessDeniedException
  2051  //   You do not have sufficient access to perform this action.
  2052  //
  2053  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListAccountsForProvisionedPermissionSet
  2054  func (c *SSOAdmin) ListAccountsForProvisionedPermissionSet(input *ListAccountsForProvisionedPermissionSetInput) (*ListAccountsForProvisionedPermissionSetOutput, error) {
  2055  	req, out := c.ListAccountsForProvisionedPermissionSetRequest(input)
  2056  	return out, req.Send()
  2057  }
  2058  
  2059  // ListAccountsForProvisionedPermissionSetWithContext is the same as ListAccountsForProvisionedPermissionSet with the addition of
  2060  // the ability to pass a context and additional request options.
  2061  //
  2062  // See ListAccountsForProvisionedPermissionSet for details on how to use this API operation.
  2063  //
  2064  // The context must be non-nil and will be used for request cancellation. If
  2065  // the context is nil a panic will occur. In the future the SDK may create
  2066  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2067  // for more information on using Contexts.
  2068  func (c *SSOAdmin) ListAccountsForProvisionedPermissionSetWithContext(ctx aws.Context, input *ListAccountsForProvisionedPermissionSetInput, opts ...request.Option) (*ListAccountsForProvisionedPermissionSetOutput, error) {
  2069  	req, out := c.ListAccountsForProvisionedPermissionSetRequest(input)
  2070  	req.SetContext(ctx)
  2071  	req.ApplyOptions(opts...)
  2072  	return out, req.Send()
  2073  }
  2074  
  2075  // ListAccountsForProvisionedPermissionSetPages iterates over the pages of a ListAccountsForProvisionedPermissionSet operation,
  2076  // calling the "fn" function with the response data for each page. To stop
  2077  // iterating, return false from the fn function.
  2078  //
  2079  // See ListAccountsForProvisionedPermissionSet method for more information on how to use this operation.
  2080  //
  2081  // Note: This operation can generate multiple requests to a service.
  2082  //
  2083  //    // Example iterating over at most 3 pages of a ListAccountsForProvisionedPermissionSet operation.
  2084  //    pageNum := 0
  2085  //    err := client.ListAccountsForProvisionedPermissionSetPages(params,
  2086  //        func(page *ssoadmin.ListAccountsForProvisionedPermissionSetOutput, lastPage bool) bool {
  2087  //            pageNum++
  2088  //            fmt.Println(page)
  2089  //            return pageNum <= 3
  2090  //        })
  2091  //
  2092  func (c *SSOAdmin) ListAccountsForProvisionedPermissionSetPages(input *ListAccountsForProvisionedPermissionSetInput, fn func(*ListAccountsForProvisionedPermissionSetOutput, bool) bool) error {
  2093  	return c.ListAccountsForProvisionedPermissionSetPagesWithContext(aws.BackgroundContext(), input, fn)
  2094  }
  2095  
  2096  // ListAccountsForProvisionedPermissionSetPagesWithContext same as ListAccountsForProvisionedPermissionSetPages except
  2097  // it takes a Context and allows setting request options on the pages.
  2098  //
  2099  // The context must be non-nil and will be used for request cancellation. If
  2100  // the context is nil a panic will occur. In the future the SDK may create
  2101  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2102  // for more information on using Contexts.
  2103  func (c *SSOAdmin) ListAccountsForProvisionedPermissionSetPagesWithContext(ctx aws.Context, input *ListAccountsForProvisionedPermissionSetInput, fn func(*ListAccountsForProvisionedPermissionSetOutput, bool) bool, opts ...request.Option) error {
  2104  	p := request.Pagination{
  2105  		NewRequest: func() (*request.Request, error) {
  2106  			var inCpy *ListAccountsForProvisionedPermissionSetInput
  2107  			if input != nil {
  2108  				tmp := *input
  2109  				inCpy = &tmp
  2110  			}
  2111  			req, _ := c.ListAccountsForProvisionedPermissionSetRequest(inCpy)
  2112  			req.SetContext(ctx)
  2113  			req.ApplyOptions(opts...)
  2114  			return req, nil
  2115  		},
  2116  	}
  2117  
  2118  	for p.Next() {
  2119  		if !fn(p.Page().(*ListAccountsForProvisionedPermissionSetOutput), !p.HasNextPage()) {
  2120  			break
  2121  		}
  2122  	}
  2123  
  2124  	return p.Err()
  2125  }
  2126  
  2127  const opListInstances = "ListInstances"
  2128  
  2129  // ListInstancesRequest generates a "aws/request.Request" representing the
  2130  // client's request for the ListInstances operation. The "output" return
  2131  // value will be populated with the request's response once the request completes
  2132  // successfully.
  2133  //
  2134  // Use "Send" method on the returned Request to send the API call to the service.
  2135  // the "output" return value is not valid until after Send returns without error.
  2136  //
  2137  // See ListInstances for more information on using the ListInstances
  2138  // API call, and error handling.
  2139  //
  2140  // This method is useful when you want to inject custom logic or configuration
  2141  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2142  //
  2143  //
  2144  //    // Example sending a request using the ListInstancesRequest method.
  2145  //    req, resp := client.ListInstancesRequest(params)
  2146  //
  2147  //    err := req.Send()
  2148  //    if err == nil { // resp is now filled
  2149  //        fmt.Println(resp)
  2150  //    }
  2151  //
  2152  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListInstances
  2153  func (c *SSOAdmin) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) {
  2154  	op := &request.Operation{
  2155  		Name:       opListInstances,
  2156  		HTTPMethod: "POST",
  2157  		HTTPPath:   "/",
  2158  		Paginator: &request.Paginator{
  2159  			InputTokens:     []string{"NextToken"},
  2160  			OutputTokens:    []string{"NextToken"},
  2161  			LimitToken:      "MaxResults",
  2162  			TruncationToken: "",
  2163  		},
  2164  	}
  2165  
  2166  	if input == nil {
  2167  		input = &ListInstancesInput{}
  2168  	}
  2169  
  2170  	output = &ListInstancesOutput{}
  2171  	req = c.newRequest(op, input, output)
  2172  	return
  2173  }
  2174  
  2175  // ListInstances API operation for AWS Single Sign-On Admin.
  2176  //
  2177  // Lists the SSO instances that the caller has access to.
  2178  //
  2179  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2180  // with awserr.Error's Code and Message methods to get detailed information about
  2181  // the error.
  2182  //
  2183  // See the AWS API reference guide for AWS Single Sign-On Admin's
  2184  // API operation ListInstances for usage and error information.
  2185  //
  2186  // Returned Error Types:
  2187  //   * InternalServerException
  2188  //   The request processing has failed because of an unknown error, exception,
  2189  //   or failure with an internal server.
  2190  //
  2191  //   * ThrottlingException
  2192  //   Indicates that the principal has crossed the throttling limits of the API
  2193  //   operations.
  2194  //
  2195  //   * AccessDeniedException
  2196  //   You do not have sufficient access to perform this action.
  2197  //
  2198  //   * ValidationException
  2199  //   The request failed because it contains a syntax error.
  2200  //
  2201  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListInstances
  2202  func (c *SSOAdmin) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) {
  2203  	req, out := c.ListInstancesRequest(input)
  2204  	return out, req.Send()
  2205  }
  2206  
  2207  // ListInstancesWithContext is the same as ListInstances with the addition of
  2208  // the ability to pass a context and additional request options.
  2209  //
  2210  // See ListInstances for details on how to use this API operation.
  2211  //
  2212  // The context must be non-nil and will be used for request cancellation. If
  2213  // the context is nil a panic will occur. In the future the SDK may create
  2214  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2215  // for more information on using Contexts.
  2216  func (c *SSOAdmin) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) {
  2217  	req, out := c.ListInstancesRequest(input)
  2218  	req.SetContext(ctx)
  2219  	req.ApplyOptions(opts...)
  2220  	return out, req.Send()
  2221  }
  2222  
  2223  // ListInstancesPages iterates over the pages of a ListInstances operation,
  2224  // calling the "fn" function with the response data for each page. To stop
  2225  // iterating, return false from the fn function.
  2226  //
  2227  // See ListInstances method for more information on how to use this operation.
  2228  //
  2229  // Note: This operation can generate multiple requests to a service.
  2230  //
  2231  //    // Example iterating over at most 3 pages of a ListInstances operation.
  2232  //    pageNum := 0
  2233  //    err := client.ListInstancesPages(params,
  2234  //        func(page *ssoadmin.ListInstancesOutput, lastPage bool) bool {
  2235  //            pageNum++
  2236  //            fmt.Println(page)
  2237  //            return pageNum <= 3
  2238  //        })
  2239  //
  2240  func (c *SSOAdmin) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error {
  2241  	return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  2242  }
  2243  
  2244  // ListInstancesPagesWithContext same as ListInstancesPages except
  2245  // it takes a Context and allows setting request options on the pages.
  2246  //
  2247  // The context must be non-nil and will be used for request cancellation. If
  2248  // the context is nil a panic will occur. In the future the SDK may create
  2249  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2250  // for more information on using Contexts.
  2251  func (c *SSOAdmin) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error {
  2252  	p := request.Pagination{
  2253  		NewRequest: func() (*request.Request, error) {
  2254  			var inCpy *ListInstancesInput
  2255  			if input != nil {
  2256  				tmp := *input
  2257  				inCpy = &tmp
  2258  			}
  2259  			req, _ := c.ListInstancesRequest(inCpy)
  2260  			req.SetContext(ctx)
  2261  			req.ApplyOptions(opts...)
  2262  			return req, nil
  2263  		},
  2264  	}
  2265  
  2266  	for p.Next() {
  2267  		if !fn(p.Page().(*ListInstancesOutput), !p.HasNextPage()) {
  2268  			break
  2269  		}
  2270  	}
  2271  
  2272  	return p.Err()
  2273  }
  2274  
  2275  const opListManagedPoliciesInPermissionSet = "ListManagedPoliciesInPermissionSet"
  2276  
  2277  // ListManagedPoliciesInPermissionSetRequest generates a "aws/request.Request" representing the
  2278  // client's request for the ListManagedPoliciesInPermissionSet operation. The "output" return
  2279  // value will be populated with the request's response once the request completes
  2280  // successfully.
  2281  //
  2282  // Use "Send" method on the returned Request to send the API call to the service.
  2283  // the "output" return value is not valid until after Send returns without error.
  2284  //
  2285  // See ListManagedPoliciesInPermissionSet for more information on using the ListManagedPoliciesInPermissionSet
  2286  // API call, and error handling.
  2287  //
  2288  // This method is useful when you want to inject custom logic or configuration
  2289  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2290  //
  2291  //
  2292  //    // Example sending a request using the ListManagedPoliciesInPermissionSetRequest method.
  2293  //    req, resp := client.ListManagedPoliciesInPermissionSetRequest(params)
  2294  //
  2295  //    err := req.Send()
  2296  //    if err == nil { // resp is now filled
  2297  //        fmt.Println(resp)
  2298  //    }
  2299  //
  2300  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListManagedPoliciesInPermissionSet
  2301  func (c *SSOAdmin) ListManagedPoliciesInPermissionSetRequest(input *ListManagedPoliciesInPermissionSetInput) (req *request.Request, output *ListManagedPoliciesInPermissionSetOutput) {
  2302  	op := &request.Operation{
  2303  		Name:       opListManagedPoliciesInPermissionSet,
  2304  		HTTPMethod: "POST",
  2305  		HTTPPath:   "/",
  2306  		Paginator: &request.Paginator{
  2307  			InputTokens:     []string{"NextToken"},
  2308  			OutputTokens:    []string{"NextToken"},
  2309  			LimitToken:      "MaxResults",
  2310  			TruncationToken: "",
  2311  		},
  2312  	}
  2313  
  2314  	if input == nil {
  2315  		input = &ListManagedPoliciesInPermissionSetInput{}
  2316  	}
  2317  
  2318  	output = &ListManagedPoliciesInPermissionSetOutput{}
  2319  	req = c.newRequest(op, input, output)
  2320  	return
  2321  }
  2322  
  2323  // ListManagedPoliciesInPermissionSet API operation for AWS Single Sign-On Admin.
  2324  //
  2325  // Lists the IAM managed policy that is attached to a specified permission set.
  2326  //
  2327  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2328  // with awserr.Error's Code and Message methods to get detailed information about
  2329  // the error.
  2330  //
  2331  // See the AWS API reference guide for AWS Single Sign-On Admin's
  2332  // API operation ListManagedPoliciesInPermissionSet for usage and error information.
  2333  //
  2334  // Returned Error Types:
  2335  //   * ResourceNotFoundException
  2336  //   Indicates that a requested resource is not found.
  2337  //
  2338  //   * InternalServerException
  2339  //   The request processing has failed because of an unknown error, exception,
  2340  //   or failure with an internal server.
  2341  //
  2342  //   * ThrottlingException
  2343  //   Indicates that the principal has crossed the throttling limits of the API
  2344  //   operations.
  2345  //
  2346  //   * ValidationException
  2347  //   The request failed because it contains a syntax error.
  2348  //
  2349  //   * AccessDeniedException
  2350  //   You do not have sufficient access to perform this action.
  2351  //
  2352  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListManagedPoliciesInPermissionSet
  2353  func (c *SSOAdmin) ListManagedPoliciesInPermissionSet(input *ListManagedPoliciesInPermissionSetInput) (*ListManagedPoliciesInPermissionSetOutput, error) {
  2354  	req, out := c.ListManagedPoliciesInPermissionSetRequest(input)
  2355  	return out, req.Send()
  2356  }
  2357  
  2358  // ListManagedPoliciesInPermissionSetWithContext is the same as ListManagedPoliciesInPermissionSet with the addition of
  2359  // the ability to pass a context and additional request options.
  2360  //
  2361  // See ListManagedPoliciesInPermissionSet for details on how to use this API operation.
  2362  //
  2363  // The context must be non-nil and will be used for request cancellation. If
  2364  // the context is nil a panic will occur. In the future the SDK may create
  2365  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2366  // for more information on using Contexts.
  2367  func (c *SSOAdmin) ListManagedPoliciesInPermissionSetWithContext(ctx aws.Context, input *ListManagedPoliciesInPermissionSetInput, opts ...request.Option) (*ListManagedPoliciesInPermissionSetOutput, error) {
  2368  	req, out := c.ListManagedPoliciesInPermissionSetRequest(input)
  2369  	req.SetContext(ctx)
  2370  	req.ApplyOptions(opts...)
  2371  	return out, req.Send()
  2372  }
  2373  
  2374  // ListManagedPoliciesInPermissionSetPages iterates over the pages of a ListManagedPoliciesInPermissionSet operation,
  2375  // calling the "fn" function with the response data for each page. To stop
  2376  // iterating, return false from the fn function.
  2377  //
  2378  // See ListManagedPoliciesInPermissionSet method for more information on how to use this operation.
  2379  //
  2380  // Note: This operation can generate multiple requests to a service.
  2381  //
  2382  //    // Example iterating over at most 3 pages of a ListManagedPoliciesInPermissionSet operation.
  2383  //    pageNum := 0
  2384  //    err := client.ListManagedPoliciesInPermissionSetPages(params,
  2385  //        func(page *ssoadmin.ListManagedPoliciesInPermissionSetOutput, lastPage bool) bool {
  2386  //            pageNum++
  2387  //            fmt.Println(page)
  2388  //            return pageNum <= 3
  2389  //        })
  2390  //
  2391  func (c *SSOAdmin) ListManagedPoliciesInPermissionSetPages(input *ListManagedPoliciesInPermissionSetInput, fn func(*ListManagedPoliciesInPermissionSetOutput, bool) bool) error {
  2392  	return c.ListManagedPoliciesInPermissionSetPagesWithContext(aws.BackgroundContext(), input, fn)
  2393  }
  2394  
  2395  // ListManagedPoliciesInPermissionSetPagesWithContext same as ListManagedPoliciesInPermissionSetPages except
  2396  // it takes a Context and allows setting request options on the pages.
  2397  //
  2398  // The context must be non-nil and will be used for request cancellation. If
  2399  // the context is nil a panic will occur. In the future the SDK may create
  2400  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2401  // for more information on using Contexts.
  2402  func (c *SSOAdmin) ListManagedPoliciesInPermissionSetPagesWithContext(ctx aws.Context, input *ListManagedPoliciesInPermissionSetInput, fn func(*ListManagedPoliciesInPermissionSetOutput, bool) bool, opts ...request.Option) error {
  2403  	p := request.Pagination{
  2404  		NewRequest: func() (*request.Request, error) {
  2405  			var inCpy *ListManagedPoliciesInPermissionSetInput
  2406  			if input != nil {
  2407  				tmp := *input
  2408  				inCpy = &tmp
  2409  			}
  2410  			req, _ := c.ListManagedPoliciesInPermissionSetRequest(inCpy)
  2411  			req.SetContext(ctx)
  2412  			req.ApplyOptions(opts...)
  2413  			return req, nil
  2414  		},
  2415  	}
  2416  
  2417  	for p.Next() {
  2418  		if !fn(p.Page().(*ListManagedPoliciesInPermissionSetOutput), !p.HasNextPage()) {
  2419  			break
  2420  		}
  2421  	}
  2422  
  2423  	return p.Err()
  2424  }
  2425  
  2426  const opListPermissionSetProvisioningStatus = "ListPermissionSetProvisioningStatus"
  2427  
  2428  // ListPermissionSetProvisioningStatusRequest generates a "aws/request.Request" representing the
  2429  // client's request for the ListPermissionSetProvisioningStatus operation. The "output" return
  2430  // value will be populated with the request's response once the request completes
  2431  // successfully.
  2432  //
  2433  // Use "Send" method on the returned Request to send the API call to the service.
  2434  // the "output" return value is not valid until after Send returns without error.
  2435  //
  2436  // See ListPermissionSetProvisioningStatus for more information on using the ListPermissionSetProvisioningStatus
  2437  // API call, and error handling.
  2438  //
  2439  // This method is useful when you want to inject custom logic or configuration
  2440  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2441  //
  2442  //
  2443  //    // Example sending a request using the ListPermissionSetProvisioningStatusRequest method.
  2444  //    req, resp := client.ListPermissionSetProvisioningStatusRequest(params)
  2445  //
  2446  //    err := req.Send()
  2447  //    if err == nil { // resp is now filled
  2448  //        fmt.Println(resp)
  2449  //    }
  2450  //
  2451  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSetProvisioningStatus
  2452  func (c *SSOAdmin) ListPermissionSetProvisioningStatusRequest(input *ListPermissionSetProvisioningStatusInput) (req *request.Request, output *ListPermissionSetProvisioningStatusOutput) {
  2453  	op := &request.Operation{
  2454  		Name:       opListPermissionSetProvisioningStatus,
  2455  		HTTPMethod: "POST",
  2456  		HTTPPath:   "/",
  2457  		Paginator: &request.Paginator{
  2458  			InputTokens:     []string{"NextToken"},
  2459  			OutputTokens:    []string{"NextToken"},
  2460  			LimitToken:      "MaxResults",
  2461  			TruncationToken: "",
  2462  		},
  2463  	}
  2464  
  2465  	if input == nil {
  2466  		input = &ListPermissionSetProvisioningStatusInput{}
  2467  	}
  2468  
  2469  	output = &ListPermissionSetProvisioningStatusOutput{}
  2470  	req = c.newRequest(op, input, output)
  2471  	return
  2472  }
  2473  
  2474  // ListPermissionSetProvisioningStatus API operation for AWS Single Sign-On Admin.
  2475  //
  2476  // Lists the status of the permission set provisioning requests for a specified
  2477  // SSO instance.
  2478  //
  2479  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2480  // with awserr.Error's Code and Message methods to get detailed information about
  2481  // the error.
  2482  //
  2483  // See the AWS API reference guide for AWS Single Sign-On Admin's
  2484  // API operation ListPermissionSetProvisioningStatus for usage and error information.
  2485  //
  2486  // Returned Error Types:
  2487  //   * ResourceNotFoundException
  2488  //   Indicates that a requested resource is not found.
  2489  //
  2490  //   * InternalServerException
  2491  //   The request processing has failed because of an unknown error, exception,
  2492  //   or failure with an internal server.
  2493  //
  2494  //   * ThrottlingException
  2495  //   Indicates that the principal has crossed the throttling limits of the API
  2496  //   operations.
  2497  //
  2498  //   * ValidationException
  2499  //   The request failed because it contains a syntax error.
  2500  //
  2501  //   * AccessDeniedException
  2502  //   You do not have sufficient access to perform this action.
  2503  //
  2504  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSetProvisioningStatus
  2505  func (c *SSOAdmin) ListPermissionSetProvisioningStatus(input *ListPermissionSetProvisioningStatusInput) (*ListPermissionSetProvisioningStatusOutput, error) {
  2506  	req, out := c.ListPermissionSetProvisioningStatusRequest(input)
  2507  	return out, req.Send()
  2508  }
  2509  
  2510  // ListPermissionSetProvisioningStatusWithContext is the same as ListPermissionSetProvisioningStatus with the addition of
  2511  // the ability to pass a context and additional request options.
  2512  //
  2513  // See ListPermissionSetProvisioningStatus for details on how to use this API operation.
  2514  //
  2515  // The context must be non-nil and will be used for request cancellation. If
  2516  // the context is nil a panic will occur. In the future the SDK may create
  2517  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2518  // for more information on using Contexts.
  2519  func (c *SSOAdmin) ListPermissionSetProvisioningStatusWithContext(ctx aws.Context, input *ListPermissionSetProvisioningStatusInput, opts ...request.Option) (*ListPermissionSetProvisioningStatusOutput, error) {
  2520  	req, out := c.ListPermissionSetProvisioningStatusRequest(input)
  2521  	req.SetContext(ctx)
  2522  	req.ApplyOptions(opts...)
  2523  	return out, req.Send()
  2524  }
  2525  
  2526  // ListPermissionSetProvisioningStatusPages iterates over the pages of a ListPermissionSetProvisioningStatus operation,
  2527  // calling the "fn" function with the response data for each page. To stop
  2528  // iterating, return false from the fn function.
  2529  //
  2530  // See ListPermissionSetProvisioningStatus method for more information on how to use this operation.
  2531  //
  2532  // Note: This operation can generate multiple requests to a service.
  2533  //
  2534  //    // Example iterating over at most 3 pages of a ListPermissionSetProvisioningStatus operation.
  2535  //    pageNum := 0
  2536  //    err := client.ListPermissionSetProvisioningStatusPages(params,
  2537  //        func(page *ssoadmin.ListPermissionSetProvisioningStatusOutput, lastPage bool) bool {
  2538  //            pageNum++
  2539  //            fmt.Println(page)
  2540  //            return pageNum <= 3
  2541  //        })
  2542  //
  2543  func (c *SSOAdmin) ListPermissionSetProvisioningStatusPages(input *ListPermissionSetProvisioningStatusInput, fn func(*ListPermissionSetProvisioningStatusOutput, bool) bool) error {
  2544  	return c.ListPermissionSetProvisioningStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  2545  }
  2546  
  2547  // ListPermissionSetProvisioningStatusPagesWithContext same as ListPermissionSetProvisioningStatusPages except
  2548  // it takes a Context and allows setting request options on the pages.
  2549  //
  2550  // The context must be non-nil and will be used for request cancellation. If
  2551  // the context is nil a panic will occur. In the future the SDK may create
  2552  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2553  // for more information on using Contexts.
  2554  func (c *SSOAdmin) ListPermissionSetProvisioningStatusPagesWithContext(ctx aws.Context, input *ListPermissionSetProvisioningStatusInput, fn func(*ListPermissionSetProvisioningStatusOutput, bool) bool, opts ...request.Option) error {
  2555  	p := request.Pagination{
  2556  		NewRequest: func() (*request.Request, error) {
  2557  			var inCpy *ListPermissionSetProvisioningStatusInput
  2558  			if input != nil {
  2559  				tmp := *input
  2560  				inCpy = &tmp
  2561  			}
  2562  			req, _ := c.ListPermissionSetProvisioningStatusRequest(inCpy)
  2563  			req.SetContext(ctx)
  2564  			req.ApplyOptions(opts...)
  2565  			return req, nil
  2566  		},
  2567  	}
  2568  
  2569  	for p.Next() {
  2570  		if !fn(p.Page().(*ListPermissionSetProvisioningStatusOutput), !p.HasNextPage()) {
  2571  			break
  2572  		}
  2573  	}
  2574  
  2575  	return p.Err()
  2576  }
  2577  
  2578  const opListPermissionSets = "ListPermissionSets"
  2579  
  2580  // ListPermissionSetsRequest generates a "aws/request.Request" representing the
  2581  // client's request for the ListPermissionSets operation. The "output" return
  2582  // value will be populated with the request's response once the request completes
  2583  // successfully.
  2584  //
  2585  // Use "Send" method on the returned Request to send the API call to the service.
  2586  // the "output" return value is not valid until after Send returns without error.
  2587  //
  2588  // See ListPermissionSets for more information on using the ListPermissionSets
  2589  // API call, and error handling.
  2590  //
  2591  // This method is useful when you want to inject custom logic or configuration
  2592  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2593  //
  2594  //
  2595  //    // Example sending a request using the ListPermissionSetsRequest method.
  2596  //    req, resp := client.ListPermissionSetsRequest(params)
  2597  //
  2598  //    err := req.Send()
  2599  //    if err == nil { // resp is now filled
  2600  //        fmt.Println(resp)
  2601  //    }
  2602  //
  2603  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSets
  2604  func (c *SSOAdmin) ListPermissionSetsRequest(input *ListPermissionSetsInput) (req *request.Request, output *ListPermissionSetsOutput) {
  2605  	op := &request.Operation{
  2606  		Name:       opListPermissionSets,
  2607  		HTTPMethod: "POST",
  2608  		HTTPPath:   "/",
  2609  		Paginator: &request.Paginator{
  2610  			InputTokens:     []string{"NextToken"},
  2611  			OutputTokens:    []string{"NextToken"},
  2612  			LimitToken:      "MaxResults",
  2613  			TruncationToken: "",
  2614  		},
  2615  	}
  2616  
  2617  	if input == nil {
  2618  		input = &ListPermissionSetsInput{}
  2619  	}
  2620  
  2621  	output = &ListPermissionSetsOutput{}
  2622  	req = c.newRequest(op, input, output)
  2623  	return
  2624  }
  2625  
  2626  // ListPermissionSets API operation for AWS Single Sign-On Admin.
  2627  //
  2628  // Lists the PermissionSets in an SSO instance.
  2629  //
  2630  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2631  // with awserr.Error's Code and Message methods to get detailed information about
  2632  // the error.
  2633  //
  2634  // See the AWS API reference guide for AWS Single Sign-On Admin's
  2635  // API operation ListPermissionSets for usage and error information.
  2636  //
  2637  // Returned Error Types:
  2638  //   * ResourceNotFoundException
  2639  //   Indicates that a requested resource is not found.
  2640  //
  2641  //   * InternalServerException
  2642  //   The request processing has failed because of an unknown error, exception,
  2643  //   or failure with an internal server.
  2644  //
  2645  //   * ThrottlingException
  2646  //   Indicates that the principal has crossed the throttling limits of the API
  2647  //   operations.
  2648  //
  2649  //   * ValidationException
  2650  //   The request failed because it contains a syntax error.
  2651  //
  2652  //   * AccessDeniedException
  2653  //   You do not have sufficient access to perform this action.
  2654  //
  2655  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSets
  2656  func (c *SSOAdmin) ListPermissionSets(input *ListPermissionSetsInput) (*ListPermissionSetsOutput, error) {
  2657  	req, out := c.ListPermissionSetsRequest(input)
  2658  	return out, req.Send()
  2659  }
  2660  
  2661  // ListPermissionSetsWithContext is the same as ListPermissionSets with the addition of
  2662  // the ability to pass a context and additional request options.
  2663  //
  2664  // See ListPermissionSets for details on how to use this API operation.
  2665  //
  2666  // The context must be non-nil and will be used for request cancellation. If
  2667  // the context is nil a panic will occur. In the future the SDK may create
  2668  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2669  // for more information on using Contexts.
  2670  func (c *SSOAdmin) ListPermissionSetsWithContext(ctx aws.Context, input *ListPermissionSetsInput, opts ...request.Option) (*ListPermissionSetsOutput, error) {
  2671  	req, out := c.ListPermissionSetsRequest(input)
  2672  	req.SetContext(ctx)
  2673  	req.ApplyOptions(opts...)
  2674  	return out, req.Send()
  2675  }
  2676  
  2677  // ListPermissionSetsPages iterates over the pages of a ListPermissionSets operation,
  2678  // calling the "fn" function with the response data for each page. To stop
  2679  // iterating, return false from the fn function.
  2680  //
  2681  // See ListPermissionSets method for more information on how to use this operation.
  2682  //
  2683  // Note: This operation can generate multiple requests to a service.
  2684  //
  2685  //    // Example iterating over at most 3 pages of a ListPermissionSets operation.
  2686  //    pageNum := 0
  2687  //    err := client.ListPermissionSetsPages(params,
  2688  //        func(page *ssoadmin.ListPermissionSetsOutput, lastPage bool) bool {
  2689  //            pageNum++
  2690  //            fmt.Println(page)
  2691  //            return pageNum <= 3
  2692  //        })
  2693  //
  2694  func (c *SSOAdmin) ListPermissionSetsPages(input *ListPermissionSetsInput, fn func(*ListPermissionSetsOutput, bool) bool) error {
  2695  	return c.ListPermissionSetsPagesWithContext(aws.BackgroundContext(), input, fn)
  2696  }
  2697  
  2698  // ListPermissionSetsPagesWithContext same as ListPermissionSetsPages except
  2699  // it takes a Context and allows setting request options on the pages.
  2700  //
  2701  // The context must be non-nil and will be used for request cancellation. If
  2702  // the context is nil a panic will occur. In the future the SDK may create
  2703  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2704  // for more information on using Contexts.
  2705  func (c *SSOAdmin) ListPermissionSetsPagesWithContext(ctx aws.Context, input *ListPermissionSetsInput, fn func(*ListPermissionSetsOutput, bool) bool, opts ...request.Option) error {
  2706  	p := request.Pagination{
  2707  		NewRequest: func() (*request.Request, error) {
  2708  			var inCpy *ListPermissionSetsInput
  2709  			if input != nil {
  2710  				tmp := *input
  2711  				inCpy = &tmp
  2712  			}
  2713  			req, _ := c.ListPermissionSetsRequest(inCpy)
  2714  			req.SetContext(ctx)
  2715  			req.ApplyOptions(opts...)
  2716  			return req, nil
  2717  		},
  2718  	}
  2719  
  2720  	for p.Next() {
  2721  		if !fn(p.Page().(*ListPermissionSetsOutput), !p.HasNextPage()) {
  2722  			break
  2723  		}
  2724  	}
  2725  
  2726  	return p.Err()
  2727  }
  2728  
  2729  const opListPermissionSetsProvisionedToAccount = "ListPermissionSetsProvisionedToAccount"
  2730  
  2731  // ListPermissionSetsProvisionedToAccountRequest generates a "aws/request.Request" representing the
  2732  // client's request for the ListPermissionSetsProvisionedToAccount operation. The "output" return
  2733  // value will be populated with the request's response once the request completes
  2734  // successfully.
  2735  //
  2736  // Use "Send" method on the returned Request to send the API call to the service.
  2737  // the "output" return value is not valid until after Send returns without error.
  2738  //
  2739  // See ListPermissionSetsProvisionedToAccount for more information on using the ListPermissionSetsProvisionedToAccount
  2740  // API call, and error handling.
  2741  //
  2742  // This method is useful when you want to inject custom logic or configuration
  2743  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2744  //
  2745  //
  2746  //    // Example sending a request using the ListPermissionSetsProvisionedToAccountRequest method.
  2747  //    req, resp := client.ListPermissionSetsProvisionedToAccountRequest(params)
  2748  //
  2749  //    err := req.Send()
  2750  //    if err == nil { // resp is now filled
  2751  //        fmt.Println(resp)
  2752  //    }
  2753  //
  2754  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSetsProvisionedToAccount
  2755  func (c *SSOAdmin) ListPermissionSetsProvisionedToAccountRequest(input *ListPermissionSetsProvisionedToAccountInput) (req *request.Request, output *ListPermissionSetsProvisionedToAccountOutput) {
  2756  	op := &request.Operation{
  2757  		Name:       opListPermissionSetsProvisionedToAccount,
  2758  		HTTPMethod: "POST",
  2759  		HTTPPath:   "/",
  2760  		Paginator: &request.Paginator{
  2761  			InputTokens:     []string{"NextToken"},
  2762  			OutputTokens:    []string{"NextToken"},
  2763  			LimitToken:      "MaxResults",
  2764  			TruncationToken: "",
  2765  		},
  2766  	}
  2767  
  2768  	if input == nil {
  2769  		input = &ListPermissionSetsProvisionedToAccountInput{}
  2770  	}
  2771  
  2772  	output = &ListPermissionSetsProvisionedToAccountOutput{}
  2773  	req = c.newRequest(op, input, output)
  2774  	return
  2775  }
  2776  
  2777  // ListPermissionSetsProvisionedToAccount API operation for AWS Single Sign-On Admin.
  2778  //
  2779  // Lists all the permission sets that are provisioned to a specified Amazon
  2780  // Web Services account.
  2781  //
  2782  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2783  // with awserr.Error's Code and Message methods to get detailed information about
  2784  // the error.
  2785  //
  2786  // See the AWS API reference guide for AWS Single Sign-On Admin's
  2787  // API operation ListPermissionSetsProvisionedToAccount for usage and error information.
  2788  //
  2789  // Returned Error Types:
  2790  //   * ResourceNotFoundException
  2791  //   Indicates that a requested resource is not found.
  2792  //
  2793  //   * InternalServerException
  2794  //   The request processing has failed because of an unknown error, exception,
  2795  //   or failure with an internal server.
  2796  //
  2797  //   * ThrottlingException
  2798  //   Indicates that the principal has crossed the throttling limits of the API
  2799  //   operations.
  2800  //
  2801  //   * ValidationException
  2802  //   The request failed because it contains a syntax error.
  2803  //
  2804  //   * AccessDeniedException
  2805  //   You do not have sufficient access to perform this action.
  2806  //
  2807  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListPermissionSetsProvisionedToAccount
  2808  func (c *SSOAdmin) ListPermissionSetsProvisionedToAccount(input *ListPermissionSetsProvisionedToAccountInput) (*ListPermissionSetsProvisionedToAccountOutput, error) {
  2809  	req, out := c.ListPermissionSetsProvisionedToAccountRequest(input)
  2810  	return out, req.Send()
  2811  }
  2812  
  2813  // ListPermissionSetsProvisionedToAccountWithContext is the same as ListPermissionSetsProvisionedToAccount with the addition of
  2814  // the ability to pass a context and additional request options.
  2815  //
  2816  // See ListPermissionSetsProvisionedToAccount for details on how to use this API operation.
  2817  //
  2818  // The context must be non-nil and will be used for request cancellation. If
  2819  // the context is nil a panic will occur. In the future the SDK may create
  2820  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2821  // for more information on using Contexts.
  2822  func (c *SSOAdmin) ListPermissionSetsProvisionedToAccountWithContext(ctx aws.Context, input *ListPermissionSetsProvisionedToAccountInput, opts ...request.Option) (*ListPermissionSetsProvisionedToAccountOutput, error) {
  2823  	req, out := c.ListPermissionSetsProvisionedToAccountRequest(input)
  2824  	req.SetContext(ctx)
  2825  	req.ApplyOptions(opts...)
  2826  	return out, req.Send()
  2827  }
  2828  
  2829  // ListPermissionSetsProvisionedToAccountPages iterates over the pages of a ListPermissionSetsProvisionedToAccount operation,
  2830  // calling the "fn" function with the response data for each page. To stop
  2831  // iterating, return false from the fn function.
  2832  //
  2833  // See ListPermissionSetsProvisionedToAccount method for more information on how to use this operation.
  2834  //
  2835  // Note: This operation can generate multiple requests to a service.
  2836  //
  2837  //    // Example iterating over at most 3 pages of a ListPermissionSetsProvisionedToAccount operation.
  2838  //    pageNum := 0
  2839  //    err := client.ListPermissionSetsProvisionedToAccountPages(params,
  2840  //        func(page *ssoadmin.ListPermissionSetsProvisionedToAccountOutput, lastPage bool) bool {
  2841  //            pageNum++
  2842  //            fmt.Println(page)
  2843  //            return pageNum <= 3
  2844  //        })
  2845  //
  2846  func (c *SSOAdmin) ListPermissionSetsProvisionedToAccountPages(input *ListPermissionSetsProvisionedToAccountInput, fn func(*ListPermissionSetsProvisionedToAccountOutput, bool) bool) error {
  2847  	return c.ListPermissionSetsProvisionedToAccountPagesWithContext(aws.BackgroundContext(), input, fn)
  2848  }
  2849  
  2850  // ListPermissionSetsProvisionedToAccountPagesWithContext same as ListPermissionSetsProvisionedToAccountPages except
  2851  // it takes a Context and allows setting request options on the pages.
  2852  //
  2853  // The context must be non-nil and will be used for request cancellation. If
  2854  // the context is nil a panic will occur. In the future the SDK may create
  2855  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2856  // for more information on using Contexts.
  2857  func (c *SSOAdmin) ListPermissionSetsProvisionedToAccountPagesWithContext(ctx aws.Context, input *ListPermissionSetsProvisionedToAccountInput, fn func(*ListPermissionSetsProvisionedToAccountOutput, bool) bool, opts ...request.Option) error {
  2858  	p := request.Pagination{
  2859  		NewRequest: func() (*request.Request, error) {
  2860  			var inCpy *ListPermissionSetsProvisionedToAccountInput
  2861  			if input != nil {
  2862  				tmp := *input
  2863  				inCpy = &tmp
  2864  			}
  2865  			req, _ := c.ListPermissionSetsProvisionedToAccountRequest(inCpy)
  2866  			req.SetContext(ctx)
  2867  			req.ApplyOptions(opts...)
  2868  			return req, nil
  2869  		},
  2870  	}
  2871  
  2872  	for p.Next() {
  2873  		if !fn(p.Page().(*ListPermissionSetsProvisionedToAccountOutput), !p.HasNextPage()) {
  2874  			break
  2875  		}
  2876  	}
  2877  
  2878  	return p.Err()
  2879  }
  2880  
  2881  const opListTagsForResource = "ListTagsForResource"
  2882  
  2883  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2884  // client's request for the ListTagsForResource operation. The "output" return
  2885  // value will be populated with the request's response once the request completes
  2886  // successfully.
  2887  //
  2888  // Use "Send" method on the returned Request to send the API call to the service.
  2889  // the "output" return value is not valid until after Send returns without error.
  2890  //
  2891  // See ListTagsForResource for more information on using the ListTagsForResource
  2892  // API call, and error handling.
  2893  //
  2894  // This method is useful when you want to inject custom logic or configuration
  2895  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2896  //
  2897  //
  2898  //    // Example sending a request using the ListTagsForResourceRequest method.
  2899  //    req, resp := client.ListTagsForResourceRequest(params)
  2900  //
  2901  //    err := req.Send()
  2902  //    if err == nil { // resp is now filled
  2903  //        fmt.Println(resp)
  2904  //    }
  2905  //
  2906  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListTagsForResource
  2907  func (c *SSOAdmin) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2908  	op := &request.Operation{
  2909  		Name:       opListTagsForResource,
  2910  		HTTPMethod: "POST",
  2911  		HTTPPath:   "/",
  2912  		Paginator: &request.Paginator{
  2913  			InputTokens:     []string{"NextToken"},
  2914  			OutputTokens:    []string{"NextToken"},
  2915  			LimitToken:      "",
  2916  			TruncationToken: "",
  2917  		},
  2918  	}
  2919  
  2920  	if input == nil {
  2921  		input = &ListTagsForResourceInput{}
  2922  	}
  2923  
  2924  	output = &ListTagsForResourceOutput{}
  2925  	req = c.newRequest(op, input, output)
  2926  	return
  2927  }
  2928  
  2929  // ListTagsForResource API operation for AWS Single Sign-On Admin.
  2930  //
  2931  // Lists the tags that are attached to a specified resource.
  2932  //
  2933  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2934  // with awserr.Error's Code and Message methods to get detailed information about
  2935  // the error.
  2936  //
  2937  // See the AWS API reference guide for AWS Single Sign-On Admin's
  2938  // API operation ListTagsForResource for usage and error information.
  2939  //
  2940  // Returned Error Types:
  2941  //   * ResourceNotFoundException
  2942  //   Indicates that a requested resource is not found.
  2943  //
  2944  //   * InternalServerException
  2945  //   The request processing has failed because of an unknown error, exception,
  2946  //   or failure with an internal server.
  2947  //
  2948  //   * ThrottlingException
  2949  //   Indicates that the principal has crossed the throttling limits of the API
  2950  //   operations.
  2951  //
  2952  //   * ValidationException
  2953  //   The request failed because it contains a syntax error.
  2954  //
  2955  //   * AccessDeniedException
  2956  //   You do not have sufficient access to perform this action.
  2957  //
  2958  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ListTagsForResource
  2959  func (c *SSOAdmin) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2960  	req, out := c.ListTagsForResourceRequest(input)
  2961  	return out, req.Send()
  2962  }
  2963  
  2964  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2965  // the ability to pass a context and additional request options.
  2966  //
  2967  // See ListTagsForResource for details on how to use this API operation.
  2968  //
  2969  // The context must be non-nil and will be used for request cancellation. If
  2970  // the context is nil a panic will occur. In the future the SDK may create
  2971  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2972  // for more information on using Contexts.
  2973  func (c *SSOAdmin) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2974  	req, out := c.ListTagsForResourceRequest(input)
  2975  	req.SetContext(ctx)
  2976  	req.ApplyOptions(opts...)
  2977  	return out, req.Send()
  2978  }
  2979  
  2980  // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
  2981  // calling the "fn" function with the response data for each page. To stop
  2982  // iterating, return false from the fn function.
  2983  //
  2984  // See ListTagsForResource method for more information on how to use this operation.
  2985  //
  2986  // Note: This operation can generate multiple requests to a service.
  2987  //
  2988  //    // Example iterating over at most 3 pages of a ListTagsForResource operation.
  2989  //    pageNum := 0
  2990  //    err := client.ListTagsForResourcePages(params,
  2991  //        func(page *ssoadmin.ListTagsForResourceOutput, lastPage bool) bool {
  2992  //            pageNum++
  2993  //            fmt.Println(page)
  2994  //            return pageNum <= 3
  2995  //        })
  2996  //
  2997  func (c *SSOAdmin) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
  2998  	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  2999  }
  3000  
  3001  // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
  3002  // it takes a Context and allows setting request options on the pages.
  3003  //
  3004  // The context must be non-nil and will be used for request cancellation. If
  3005  // the context is nil a panic will occur. In the future the SDK may create
  3006  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3007  // for more information on using Contexts.
  3008  func (c *SSOAdmin) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
  3009  	p := request.Pagination{
  3010  		NewRequest: func() (*request.Request, error) {
  3011  			var inCpy *ListTagsForResourceInput
  3012  			if input != nil {
  3013  				tmp := *input
  3014  				inCpy = &tmp
  3015  			}
  3016  			req, _ := c.ListTagsForResourceRequest(inCpy)
  3017  			req.SetContext(ctx)
  3018  			req.ApplyOptions(opts...)
  3019  			return req, nil
  3020  		},
  3021  	}
  3022  
  3023  	for p.Next() {
  3024  		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
  3025  			break
  3026  		}
  3027  	}
  3028  
  3029  	return p.Err()
  3030  }
  3031  
  3032  const opProvisionPermissionSet = "ProvisionPermissionSet"
  3033  
  3034  // ProvisionPermissionSetRequest generates a "aws/request.Request" representing the
  3035  // client's request for the ProvisionPermissionSet operation. The "output" return
  3036  // value will be populated with the request's response once the request completes
  3037  // successfully.
  3038  //
  3039  // Use "Send" method on the returned Request to send the API call to the service.
  3040  // the "output" return value is not valid until after Send returns without error.
  3041  //
  3042  // See ProvisionPermissionSet for more information on using the ProvisionPermissionSet
  3043  // API call, and error handling.
  3044  //
  3045  // This method is useful when you want to inject custom logic or configuration
  3046  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3047  //
  3048  //
  3049  //    // Example sending a request using the ProvisionPermissionSetRequest method.
  3050  //    req, resp := client.ProvisionPermissionSetRequest(params)
  3051  //
  3052  //    err := req.Send()
  3053  //    if err == nil { // resp is now filled
  3054  //        fmt.Println(resp)
  3055  //    }
  3056  //
  3057  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ProvisionPermissionSet
  3058  func (c *SSOAdmin) ProvisionPermissionSetRequest(input *ProvisionPermissionSetInput) (req *request.Request, output *ProvisionPermissionSetOutput) {
  3059  	op := &request.Operation{
  3060  		Name:       opProvisionPermissionSet,
  3061  		HTTPMethod: "POST",
  3062  		HTTPPath:   "/",
  3063  	}
  3064  
  3065  	if input == nil {
  3066  		input = &ProvisionPermissionSetInput{}
  3067  	}
  3068  
  3069  	output = &ProvisionPermissionSetOutput{}
  3070  	req = c.newRequest(op, input, output)
  3071  	return
  3072  }
  3073  
  3074  // ProvisionPermissionSet API operation for AWS Single Sign-On Admin.
  3075  //
  3076  // The process by which a specified permission set is provisioned to the specified
  3077  // target.
  3078  //
  3079  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3080  // with awserr.Error's Code and Message methods to get detailed information about
  3081  // the error.
  3082  //
  3083  // See the AWS API reference guide for AWS Single Sign-On Admin's
  3084  // API operation ProvisionPermissionSet for usage and error information.
  3085  //
  3086  // Returned Error Types:
  3087  //   * ResourceNotFoundException
  3088  //   Indicates that a requested resource is not found.
  3089  //
  3090  //   * InternalServerException
  3091  //   The request processing has failed because of an unknown error, exception,
  3092  //   or failure with an internal server.
  3093  //
  3094  //   * ThrottlingException
  3095  //   Indicates that the principal has crossed the throttling limits of the API
  3096  //   operations.
  3097  //
  3098  //   * ValidationException
  3099  //   The request failed because it contains a syntax error.
  3100  //
  3101  //   * AccessDeniedException
  3102  //   You do not have sufficient access to perform this action.
  3103  //
  3104  //   * ConflictException
  3105  //   Occurs when a conflict with a previous successful write is detected. This
  3106  //   generally occurs when the previous write did not have time to propagate to
  3107  //   the host serving the current request. A retry (with appropriate backoff logic)
  3108  //   is the recommended response to this exception.
  3109  //
  3110  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/ProvisionPermissionSet
  3111  func (c *SSOAdmin) ProvisionPermissionSet(input *ProvisionPermissionSetInput) (*ProvisionPermissionSetOutput, error) {
  3112  	req, out := c.ProvisionPermissionSetRequest(input)
  3113  	return out, req.Send()
  3114  }
  3115  
  3116  // ProvisionPermissionSetWithContext is the same as ProvisionPermissionSet with the addition of
  3117  // the ability to pass a context and additional request options.
  3118  //
  3119  // See ProvisionPermissionSet for details on how to use this API operation.
  3120  //
  3121  // The context must be non-nil and will be used for request cancellation. If
  3122  // the context is nil a panic will occur. In the future the SDK may create
  3123  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3124  // for more information on using Contexts.
  3125  func (c *SSOAdmin) ProvisionPermissionSetWithContext(ctx aws.Context, input *ProvisionPermissionSetInput, opts ...request.Option) (*ProvisionPermissionSetOutput, error) {
  3126  	req, out := c.ProvisionPermissionSetRequest(input)
  3127  	req.SetContext(ctx)
  3128  	req.ApplyOptions(opts...)
  3129  	return out, req.Send()
  3130  }
  3131  
  3132  const opPutInlinePolicyToPermissionSet = "PutInlinePolicyToPermissionSet"
  3133  
  3134  // PutInlinePolicyToPermissionSetRequest generates a "aws/request.Request" representing the
  3135  // client's request for the PutInlinePolicyToPermissionSet operation. The "output" return
  3136  // value will be populated with the request's response once the request completes
  3137  // successfully.
  3138  //
  3139  // Use "Send" method on the returned Request to send the API call to the service.
  3140  // the "output" return value is not valid until after Send returns without error.
  3141  //
  3142  // See PutInlinePolicyToPermissionSet for more information on using the PutInlinePolicyToPermissionSet
  3143  // API call, and error handling.
  3144  //
  3145  // This method is useful when you want to inject custom logic or configuration
  3146  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3147  //
  3148  //
  3149  //    // Example sending a request using the PutInlinePolicyToPermissionSetRequest method.
  3150  //    req, resp := client.PutInlinePolicyToPermissionSetRequest(params)
  3151  //
  3152  //    err := req.Send()
  3153  //    if err == nil { // resp is now filled
  3154  //        fmt.Println(resp)
  3155  //    }
  3156  //
  3157  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/PutInlinePolicyToPermissionSet
  3158  func (c *SSOAdmin) PutInlinePolicyToPermissionSetRequest(input *PutInlinePolicyToPermissionSetInput) (req *request.Request, output *PutInlinePolicyToPermissionSetOutput) {
  3159  	op := &request.Operation{
  3160  		Name:       opPutInlinePolicyToPermissionSet,
  3161  		HTTPMethod: "POST",
  3162  		HTTPPath:   "/",
  3163  	}
  3164  
  3165  	if input == nil {
  3166  		input = &PutInlinePolicyToPermissionSetInput{}
  3167  	}
  3168  
  3169  	output = &PutInlinePolicyToPermissionSetOutput{}
  3170  	req = c.newRequest(op, input, output)
  3171  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3172  	return
  3173  }
  3174  
  3175  // PutInlinePolicyToPermissionSet API operation for AWS Single Sign-On Admin.
  3176  //
  3177  // Attaches an IAM inline policy to a permission set.
  3178  //
  3179  // If the permission set is already referenced by one or more account assignments,
  3180  // you will need to call ProvisionPermissionSet after this action to apply the
  3181  // corresponding IAM policy updates to all assigned accounts.
  3182  //
  3183  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3184  // with awserr.Error's Code and Message methods to get detailed information about
  3185  // the error.
  3186  //
  3187  // See the AWS API reference guide for AWS Single Sign-On Admin's
  3188  // API operation PutInlinePolicyToPermissionSet for usage and error information.
  3189  //
  3190  // Returned Error Types:
  3191  //   * ResourceNotFoundException
  3192  //   Indicates that a requested resource is not found.
  3193  //
  3194  //   * InternalServerException
  3195  //   The request processing has failed because of an unknown error, exception,
  3196  //   or failure with an internal server.
  3197  //
  3198  //   * ServiceQuotaExceededException
  3199  //   Indicates that the principal has crossed the permitted number of resources
  3200  //   that can be created.
  3201  //
  3202  //   * ThrottlingException
  3203  //   Indicates that the principal has crossed the throttling limits of the API
  3204  //   operations.
  3205  //
  3206  //   * ValidationException
  3207  //   The request failed because it contains a syntax error.
  3208  //
  3209  //   * AccessDeniedException
  3210  //   You do not have sufficient access to perform this action.
  3211  //
  3212  //   * ConflictException
  3213  //   Occurs when a conflict with a previous successful write is detected. This
  3214  //   generally occurs when the previous write did not have time to propagate to
  3215  //   the host serving the current request. A retry (with appropriate backoff logic)
  3216  //   is the recommended response to this exception.
  3217  //
  3218  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/PutInlinePolicyToPermissionSet
  3219  func (c *SSOAdmin) PutInlinePolicyToPermissionSet(input *PutInlinePolicyToPermissionSetInput) (*PutInlinePolicyToPermissionSetOutput, error) {
  3220  	req, out := c.PutInlinePolicyToPermissionSetRequest(input)
  3221  	return out, req.Send()
  3222  }
  3223  
  3224  // PutInlinePolicyToPermissionSetWithContext is the same as PutInlinePolicyToPermissionSet with the addition of
  3225  // the ability to pass a context and additional request options.
  3226  //
  3227  // See PutInlinePolicyToPermissionSet for details on how to use this API operation.
  3228  //
  3229  // The context must be non-nil and will be used for request cancellation. If
  3230  // the context is nil a panic will occur. In the future the SDK may create
  3231  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3232  // for more information on using Contexts.
  3233  func (c *SSOAdmin) PutInlinePolicyToPermissionSetWithContext(ctx aws.Context, input *PutInlinePolicyToPermissionSetInput, opts ...request.Option) (*PutInlinePolicyToPermissionSetOutput, error) {
  3234  	req, out := c.PutInlinePolicyToPermissionSetRequest(input)
  3235  	req.SetContext(ctx)
  3236  	req.ApplyOptions(opts...)
  3237  	return out, req.Send()
  3238  }
  3239  
  3240  const opTagResource = "TagResource"
  3241  
  3242  // TagResourceRequest generates a "aws/request.Request" representing the
  3243  // client's request for the TagResource operation. The "output" return
  3244  // value will be populated with the request's response once the request completes
  3245  // successfully.
  3246  //
  3247  // Use "Send" method on the returned Request to send the API call to the service.
  3248  // the "output" return value is not valid until after Send returns without error.
  3249  //
  3250  // See TagResource for more information on using the TagResource
  3251  // API call, and error handling.
  3252  //
  3253  // This method is useful when you want to inject custom logic or configuration
  3254  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3255  //
  3256  //
  3257  //    // Example sending a request using the TagResourceRequest method.
  3258  //    req, resp := client.TagResourceRequest(params)
  3259  //
  3260  //    err := req.Send()
  3261  //    if err == nil { // resp is now filled
  3262  //        fmt.Println(resp)
  3263  //    }
  3264  //
  3265  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/TagResource
  3266  func (c *SSOAdmin) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  3267  	op := &request.Operation{
  3268  		Name:       opTagResource,
  3269  		HTTPMethod: "POST",
  3270  		HTTPPath:   "/",
  3271  	}
  3272  
  3273  	if input == nil {
  3274  		input = &TagResourceInput{}
  3275  	}
  3276  
  3277  	output = &TagResourceOutput{}
  3278  	req = c.newRequest(op, input, output)
  3279  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3280  	return
  3281  }
  3282  
  3283  // TagResource API operation for AWS Single Sign-On Admin.
  3284  //
  3285  // Associates a set of tags with a specified resource.
  3286  //
  3287  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3288  // with awserr.Error's Code and Message methods to get detailed information about
  3289  // the error.
  3290  //
  3291  // See the AWS API reference guide for AWS Single Sign-On Admin's
  3292  // API operation TagResource for usage and error information.
  3293  //
  3294  // Returned Error Types:
  3295  //   * ResourceNotFoundException
  3296  //   Indicates that a requested resource is not found.
  3297  //
  3298  //   * InternalServerException
  3299  //   The request processing has failed because of an unknown error, exception,
  3300  //   or failure with an internal server.
  3301  //
  3302  //   * ServiceQuotaExceededException
  3303  //   Indicates that the principal has crossed the permitted number of resources
  3304  //   that can be created.
  3305  //
  3306  //   * ThrottlingException
  3307  //   Indicates that the principal has crossed the throttling limits of the API
  3308  //   operations.
  3309  //
  3310  //   * ValidationException
  3311  //   The request failed because it contains a syntax error.
  3312  //
  3313  //   * AccessDeniedException
  3314  //   You do not have sufficient access to perform this action.
  3315  //
  3316  //   * ConflictException
  3317  //   Occurs when a conflict with a previous successful write is detected. This
  3318  //   generally occurs when the previous write did not have time to propagate to
  3319  //   the host serving the current request. A retry (with appropriate backoff logic)
  3320  //   is the recommended response to this exception.
  3321  //
  3322  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/TagResource
  3323  func (c *SSOAdmin) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  3324  	req, out := c.TagResourceRequest(input)
  3325  	return out, req.Send()
  3326  }
  3327  
  3328  // TagResourceWithContext is the same as TagResource with the addition of
  3329  // the ability to pass a context and additional request options.
  3330  //
  3331  // See TagResource for details on how to use this API operation.
  3332  //
  3333  // The context must be non-nil and will be used for request cancellation. If
  3334  // the context is nil a panic will occur. In the future the SDK may create
  3335  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3336  // for more information on using Contexts.
  3337  func (c *SSOAdmin) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  3338  	req, out := c.TagResourceRequest(input)
  3339  	req.SetContext(ctx)
  3340  	req.ApplyOptions(opts...)
  3341  	return out, req.Send()
  3342  }
  3343  
  3344  const opUntagResource = "UntagResource"
  3345  
  3346  // UntagResourceRequest generates a "aws/request.Request" representing the
  3347  // client's request for the UntagResource operation. The "output" return
  3348  // value will be populated with the request's response once the request completes
  3349  // successfully.
  3350  //
  3351  // Use "Send" method on the returned Request to send the API call to the service.
  3352  // the "output" return value is not valid until after Send returns without error.
  3353  //
  3354  // See UntagResource for more information on using the UntagResource
  3355  // API call, and error handling.
  3356  //
  3357  // This method is useful when you want to inject custom logic or configuration
  3358  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3359  //
  3360  //
  3361  //    // Example sending a request using the UntagResourceRequest method.
  3362  //    req, resp := client.UntagResourceRequest(params)
  3363  //
  3364  //    err := req.Send()
  3365  //    if err == nil { // resp is now filled
  3366  //        fmt.Println(resp)
  3367  //    }
  3368  //
  3369  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UntagResource
  3370  func (c *SSOAdmin) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  3371  	op := &request.Operation{
  3372  		Name:       opUntagResource,
  3373  		HTTPMethod: "POST",
  3374  		HTTPPath:   "/",
  3375  	}
  3376  
  3377  	if input == nil {
  3378  		input = &UntagResourceInput{}
  3379  	}
  3380  
  3381  	output = &UntagResourceOutput{}
  3382  	req = c.newRequest(op, input, output)
  3383  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3384  	return
  3385  }
  3386  
  3387  // UntagResource API operation for AWS Single Sign-On Admin.
  3388  //
  3389  // Disassociates a set of tags from a specified resource.
  3390  //
  3391  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3392  // with awserr.Error's Code and Message methods to get detailed information about
  3393  // the error.
  3394  //
  3395  // See the AWS API reference guide for AWS Single Sign-On Admin's
  3396  // API operation UntagResource for usage and error information.
  3397  //
  3398  // Returned Error Types:
  3399  //   * ResourceNotFoundException
  3400  //   Indicates that a requested resource is not found.
  3401  //
  3402  //   * InternalServerException
  3403  //   The request processing has failed because of an unknown error, exception,
  3404  //   or failure with an internal server.
  3405  //
  3406  //   * ThrottlingException
  3407  //   Indicates that the principal has crossed the throttling limits of the API
  3408  //   operations.
  3409  //
  3410  //   * ValidationException
  3411  //   The request failed because it contains a syntax error.
  3412  //
  3413  //   * AccessDeniedException
  3414  //   You do not have sufficient access to perform this action.
  3415  //
  3416  //   * ConflictException
  3417  //   Occurs when a conflict with a previous successful write is detected. This
  3418  //   generally occurs when the previous write did not have time to propagate to
  3419  //   the host serving the current request. A retry (with appropriate backoff logic)
  3420  //   is the recommended response to this exception.
  3421  //
  3422  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UntagResource
  3423  func (c *SSOAdmin) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3424  	req, out := c.UntagResourceRequest(input)
  3425  	return out, req.Send()
  3426  }
  3427  
  3428  // UntagResourceWithContext is the same as UntagResource with the addition of
  3429  // the ability to pass a context and additional request options.
  3430  //
  3431  // See UntagResource for details on how to use this API operation.
  3432  //
  3433  // The context must be non-nil and will be used for request cancellation. If
  3434  // the context is nil a panic will occur. In the future the SDK may create
  3435  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3436  // for more information on using Contexts.
  3437  func (c *SSOAdmin) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3438  	req, out := c.UntagResourceRequest(input)
  3439  	req.SetContext(ctx)
  3440  	req.ApplyOptions(opts...)
  3441  	return out, req.Send()
  3442  }
  3443  
  3444  const opUpdateInstanceAccessControlAttributeConfiguration = "UpdateInstanceAccessControlAttributeConfiguration"
  3445  
  3446  // UpdateInstanceAccessControlAttributeConfigurationRequest generates a "aws/request.Request" representing the
  3447  // client's request for the UpdateInstanceAccessControlAttributeConfiguration operation. The "output" return
  3448  // value will be populated with the request's response once the request completes
  3449  // successfully.
  3450  //
  3451  // Use "Send" method on the returned Request to send the API call to the service.
  3452  // the "output" return value is not valid until after Send returns without error.
  3453  //
  3454  // See UpdateInstanceAccessControlAttributeConfiguration for more information on using the UpdateInstanceAccessControlAttributeConfiguration
  3455  // API call, and error handling.
  3456  //
  3457  // This method is useful when you want to inject custom logic or configuration
  3458  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3459  //
  3460  //
  3461  //    // Example sending a request using the UpdateInstanceAccessControlAttributeConfigurationRequest method.
  3462  //    req, resp := client.UpdateInstanceAccessControlAttributeConfigurationRequest(params)
  3463  //
  3464  //    err := req.Send()
  3465  //    if err == nil { // resp is now filled
  3466  //        fmt.Println(resp)
  3467  //    }
  3468  //
  3469  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UpdateInstanceAccessControlAttributeConfiguration
  3470  func (c *SSOAdmin) UpdateInstanceAccessControlAttributeConfigurationRequest(input *UpdateInstanceAccessControlAttributeConfigurationInput) (req *request.Request, output *UpdateInstanceAccessControlAttributeConfigurationOutput) {
  3471  	op := &request.Operation{
  3472  		Name:       opUpdateInstanceAccessControlAttributeConfiguration,
  3473  		HTTPMethod: "POST",
  3474  		HTTPPath:   "/",
  3475  	}
  3476  
  3477  	if input == nil {
  3478  		input = &UpdateInstanceAccessControlAttributeConfigurationInput{}
  3479  	}
  3480  
  3481  	output = &UpdateInstanceAccessControlAttributeConfigurationOutput{}
  3482  	req = c.newRequest(op, input, output)
  3483  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3484  	return
  3485  }
  3486  
  3487  // UpdateInstanceAccessControlAttributeConfiguration API operation for AWS Single Sign-On Admin.
  3488  //
  3489  // Updates the Amazon Web Services SSO identity store attributes that you can
  3490  // use with the Amazon Web Services SSO instance for attributes-based access
  3491  // control (ABAC). When using an external identity provider as an identity source,
  3492  // you can pass attributes through the SAML assertion as an alternative to configuring
  3493  // attributes from the Amazon Web Services SSO identity store. If a SAML assertion
  3494  // passes any of these attributes, Amazon Web Services SSO replaces the attribute
  3495  // value with the value from the Amazon Web Services SSO identity store. For
  3496  // more information about ABAC, see Attribute-Based Access Control (/singlesignon/latest/userguide/abac.html)
  3497  // in the Amazon Web Services SSO User Guide.
  3498  //
  3499  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3500  // with awserr.Error's Code and Message methods to get detailed information about
  3501  // the error.
  3502  //
  3503  // See the AWS API reference guide for AWS Single Sign-On Admin's
  3504  // API operation UpdateInstanceAccessControlAttributeConfiguration for usage and error information.
  3505  //
  3506  // Returned Error Types:
  3507  //   * InternalServerException
  3508  //   The request processing has failed because of an unknown error, exception,
  3509  //   or failure with an internal server.
  3510  //
  3511  //   * AccessDeniedException
  3512  //   You do not have sufficient access to perform this action.
  3513  //
  3514  //   * ThrottlingException
  3515  //   Indicates that the principal has crossed the throttling limits of the API
  3516  //   operations.
  3517  //
  3518  //   * ValidationException
  3519  //   The request failed because it contains a syntax error.
  3520  //
  3521  //   * ResourceNotFoundException
  3522  //   Indicates that a requested resource is not found.
  3523  //
  3524  //   * ConflictException
  3525  //   Occurs when a conflict with a previous successful write is detected. This
  3526  //   generally occurs when the previous write did not have time to propagate to
  3527  //   the host serving the current request. A retry (with appropriate backoff logic)
  3528  //   is the recommended response to this exception.
  3529  //
  3530  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UpdateInstanceAccessControlAttributeConfiguration
  3531  func (c *SSOAdmin) UpdateInstanceAccessControlAttributeConfiguration(input *UpdateInstanceAccessControlAttributeConfigurationInput) (*UpdateInstanceAccessControlAttributeConfigurationOutput, error) {
  3532  	req, out := c.UpdateInstanceAccessControlAttributeConfigurationRequest(input)
  3533  	return out, req.Send()
  3534  }
  3535  
  3536  // UpdateInstanceAccessControlAttributeConfigurationWithContext is the same as UpdateInstanceAccessControlAttributeConfiguration with the addition of
  3537  // the ability to pass a context and additional request options.
  3538  //
  3539  // See UpdateInstanceAccessControlAttributeConfiguration for details on how to use this API operation.
  3540  //
  3541  // The context must be non-nil and will be used for request cancellation. If
  3542  // the context is nil a panic will occur. In the future the SDK may create
  3543  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3544  // for more information on using Contexts.
  3545  func (c *SSOAdmin) UpdateInstanceAccessControlAttributeConfigurationWithContext(ctx aws.Context, input *UpdateInstanceAccessControlAttributeConfigurationInput, opts ...request.Option) (*UpdateInstanceAccessControlAttributeConfigurationOutput, error) {
  3546  	req, out := c.UpdateInstanceAccessControlAttributeConfigurationRequest(input)
  3547  	req.SetContext(ctx)
  3548  	req.ApplyOptions(opts...)
  3549  	return out, req.Send()
  3550  }
  3551  
  3552  const opUpdatePermissionSet = "UpdatePermissionSet"
  3553  
  3554  // UpdatePermissionSetRequest generates a "aws/request.Request" representing the
  3555  // client's request for the UpdatePermissionSet operation. The "output" return
  3556  // value will be populated with the request's response once the request completes
  3557  // successfully.
  3558  //
  3559  // Use "Send" method on the returned Request to send the API call to the service.
  3560  // the "output" return value is not valid until after Send returns without error.
  3561  //
  3562  // See UpdatePermissionSet for more information on using the UpdatePermissionSet
  3563  // API call, and error handling.
  3564  //
  3565  // This method is useful when you want to inject custom logic or configuration
  3566  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3567  //
  3568  //
  3569  //    // Example sending a request using the UpdatePermissionSetRequest method.
  3570  //    req, resp := client.UpdatePermissionSetRequest(params)
  3571  //
  3572  //    err := req.Send()
  3573  //    if err == nil { // resp is now filled
  3574  //        fmt.Println(resp)
  3575  //    }
  3576  //
  3577  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UpdatePermissionSet
  3578  func (c *SSOAdmin) UpdatePermissionSetRequest(input *UpdatePermissionSetInput) (req *request.Request, output *UpdatePermissionSetOutput) {
  3579  	op := &request.Operation{
  3580  		Name:       opUpdatePermissionSet,
  3581  		HTTPMethod: "POST",
  3582  		HTTPPath:   "/",
  3583  	}
  3584  
  3585  	if input == nil {
  3586  		input = &UpdatePermissionSetInput{}
  3587  	}
  3588  
  3589  	output = &UpdatePermissionSetOutput{}
  3590  	req = c.newRequest(op, input, output)
  3591  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3592  	return
  3593  }
  3594  
  3595  // UpdatePermissionSet API operation for AWS Single Sign-On Admin.
  3596  //
  3597  // Updates an existing permission set.
  3598  //
  3599  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3600  // with awserr.Error's Code and Message methods to get detailed information about
  3601  // the error.
  3602  //
  3603  // See the AWS API reference guide for AWS Single Sign-On Admin's
  3604  // API operation UpdatePermissionSet for usage and error information.
  3605  //
  3606  // Returned Error Types:
  3607  //   * ResourceNotFoundException
  3608  //   Indicates that a requested resource is not found.
  3609  //
  3610  //   * InternalServerException
  3611  //   The request processing has failed because of an unknown error, exception,
  3612  //   or failure with an internal server.
  3613  //
  3614  //   * ThrottlingException
  3615  //   Indicates that the principal has crossed the throttling limits of the API
  3616  //   operations.
  3617  //
  3618  //   * ValidationException
  3619  //   The request failed because it contains a syntax error.
  3620  //
  3621  //   * AccessDeniedException
  3622  //   You do not have sufficient access to perform this action.
  3623  //
  3624  //   * ConflictException
  3625  //   Occurs when a conflict with a previous successful write is detected. This
  3626  //   generally occurs when the previous write did not have time to propagate to
  3627  //   the host serving the current request. A retry (with appropriate backoff logic)
  3628  //   is the recommended response to this exception.
  3629  //
  3630  // See also, https://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/UpdatePermissionSet
  3631  func (c *SSOAdmin) UpdatePermissionSet(input *UpdatePermissionSetInput) (*UpdatePermissionSetOutput, error) {
  3632  	req, out := c.UpdatePermissionSetRequest(input)
  3633  	return out, req.Send()
  3634  }
  3635  
  3636  // UpdatePermissionSetWithContext is the same as UpdatePermissionSet with the addition of
  3637  // the ability to pass a context and additional request options.
  3638  //
  3639  // See UpdatePermissionSet for details on how to use this API operation.
  3640  //
  3641  // The context must be non-nil and will be used for request cancellation. If
  3642  // the context is nil a panic will occur. In the future the SDK may create
  3643  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3644  // for more information on using Contexts.
  3645  func (c *SSOAdmin) UpdatePermissionSetWithContext(ctx aws.Context, input *UpdatePermissionSetInput, opts ...request.Option) (*UpdatePermissionSetOutput, error) {
  3646  	req, out := c.UpdatePermissionSetRequest(input)
  3647  	req.SetContext(ctx)
  3648  	req.ApplyOptions(opts...)
  3649  	return out, req.Send()
  3650  }
  3651  
  3652  // These are Amazon Web Services SSO identity store attributes that you can
  3653  // configure for use in attributes-based access control (ABAC). You can create
  3654  // permissions policies that determine who can access your Amazon Web Services
  3655  // resources based upon the configured attribute values. When you enable ABAC
  3656  // and specify AccessControlAttributes, Amazon Web Services SSO passes the attribute
  3657  // values of the authenticated user into IAM for use in policy evaluation.
  3658  type AccessControlAttribute struct {
  3659  	_ struct{} `type:"structure"`
  3660  
  3661  	// The name of the attribute associated with your identities in your identity
  3662  	// source. This is used to map a specified attribute in your identity source
  3663  	// with an attribute in Amazon Web Services SSO.
  3664  	//
  3665  	// Key is a required field
  3666  	Key *string `min:"1" type:"string" required:"true"`
  3667  
  3668  	// The value used for mapping a specified attribute to an identity source.
  3669  	//
  3670  	// Value is a required field
  3671  	Value *AccessControlAttributeValue `type:"structure" required:"true"`
  3672  }
  3673  
  3674  // String returns the string representation.
  3675  //
  3676  // API parameter values that are decorated as "sensitive" in the API will not
  3677  // be included in the string output. The member name will be present, but the
  3678  // value will be replaced with "sensitive".
  3679  func (s AccessControlAttribute) String() string {
  3680  	return awsutil.Prettify(s)
  3681  }
  3682  
  3683  // GoString returns the string representation.
  3684  //
  3685  // API parameter values that are decorated as "sensitive" in the API will not
  3686  // be included in the string output. The member name will be present, but the
  3687  // value will be replaced with "sensitive".
  3688  func (s AccessControlAttribute) GoString() string {
  3689  	return s.String()
  3690  }
  3691  
  3692  // Validate inspects the fields of the type to determine if they are valid.
  3693  func (s *AccessControlAttribute) Validate() error {
  3694  	invalidParams := request.ErrInvalidParams{Context: "AccessControlAttribute"}
  3695  	if s.Key == nil {
  3696  		invalidParams.Add(request.NewErrParamRequired("Key"))
  3697  	}
  3698  	if s.Key != nil && len(*s.Key) < 1 {
  3699  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  3700  	}
  3701  	if s.Value == nil {
  3702  		invalidParams.Add(request.NewErrParamRequired("Value"))
  3703  	}
  3704  	if s.Value != nil {
  3705  		if err := s.Value.Validate(); err != nil {
  3706  			invalidParams.AddNested("Value", err.(request.ErrInvalidParams))
  3707  		}
  3708  	}
  3709  
  3710  	if invalidParams.Len() > 0 {
  3711  		return invalidParams
  3712  	}
  3713  	return nil
  3714  }
  3715  
  3716  // SetKey sets the Key field's value.
  3717  func (s *AccessControlAttribute) SetKey(v string) *AccessControlAttribute {
  3718  	s.Key = &v
  3719  	return s
  3720  }
  3721  
  3722  // SetValue sets the Value field's value.
  3723  func (s *AccessControlAttribute) SetValue(v *AccessControlAttributeValue) *AccessControlAttribute {
  3724  	s.Value = v
  3725  	return s
  3726  }
  3727  
  3728  // The value used for mapping a specified attribute to an identity source.
  3729  type AccessControlAttributeValue struct {
  3730  	_ struct{} `type:"structure"`
  3731  
  3732  	// The identity source to use when mapping a specified attribute to Amazon Web
  3733  	// Services SSO.
  3734  	//
  3735  	// Source is a required field
  3736  	Source []*string `min:"1" type:"list" required:"true"`
  3737  }
  3738  
  3739  // String returns the string representation.
  3740  //
  3741  // API parameter values that are decorated as "sensitive" in the API will not
  3742  // be included in the string output. The member name will be present, but the
  3743  // value will be replaced with "sensitive".
  3744  func (s AccessControlAttributeValue) String() string {
  3745  	return awsutil.Prettify(s)
  3746  }
  3747  
  3748  // GoString returns the string representation.
  3749  //
  3750  // API parameter values that are decorated as "sensitive" in the API will not
  3751  // be included in the string output. The member name will be present, but the
  3752  // value will be replaced with "sensitive".
  3753  func (s AccessControlAttributeValue) GoString() string {
  3754  	return s.String()
  3755  }
  3756  
  3757  // Validate inspects the fields of the type to determine if they are valid.
  3758  func (s *AccessControlAttributeValue) Validate() error {
  3759  	invalidParams := request.ErrInvalidParams{Context: "AccessControlAttributeValue"}
  3760  	if s.Source == nil {
  3761  		invalidParams.Add(request.NewErrParamRequired("Source"))
  3762  	}
  3763  	if s.Source != nil && len(s.Source) < 1 {
  3764  		invalidParams.Add(request.NewErrParamMinLen("Source", 1))
  3765  	}
  3766  
  3767  	if invalidParams.Len() > 0 {
  3768  		return invalidParams
  3769  	}
  3770  	return nil
  3771  }
  3772  
  3773  // SetSource sets the Source field's value.
  3774  func (s *AccessControlAttributeValue) SetSource(v []*string) *AccessControlAttributeValue {
  3775  	s.Source = v
  3776  	return s
  3777  }
  3778  
  3779  // You do not have sufficient access to perform this action.
  3780  type AccessDeniedException struct {
  3781  	_            struct{}                  `type:"structure"`
  3782  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3783  
  3784  	Message_ *string `locationName:"Message" type:"string"`
  3785  }
  3786  
  3787  // String returns the string representation.
  3788  //
  3789  // API parameter values that are decorated as "sensitive" in the API will not
  3790  // be included in the string output. The member name will be present, but the
  3791  // value will be replaced with "sensitive".
  3792  func (s AccessDeniedException) String() string {
  3793  	return awsutil.Prettify(s)
  3794  }
  3795  
  3796  // GoString returns the string representation.
  3797  //
  3798  // API parameter values that are decorated as "sensitive" in the API will not
  3799  // be included in the string output. The member name will be present, but the
  3800  // value will be replaced with "sensitive".
  3801  func (s AccessDeniedException) GoString() string {
  3802  	return s.String()
  3803  }
  3804  
  3805  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  3806  	return &AccessDeniedException{
  3807  		RespMetadata: v,
  3808  	}
  3809  }
  3810  
  3811  // Code returns the exception type name.
  3812  func (s *AccessDeniedException) Code() string {
  3813  	return "AccessDeniedException"
  3814  }
  3815  
  3816  // Message returns the exception's message.
  3817  func (s *AccessDeniedException) Message() string {
  3818  	if s.Message_ != nil {
  3819  		return *s.Message_
  3820  	}
  3821  	return ""
  3822  }
  3823  
  3824  // OrigErr always returns nil, satisfies awserr.Error interface.
  3825  func (s *AccessDeniedException) OrigErr() error {
  3826  	return nil
  3827  }
  3828  
  3829  func (s *AccessDeniedException) Error() string {
  3830  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3831  }
  3832  
  3833  // Status code returns the HTTP status code for the request's response error.
  3834  func (s *AccessDeniedException) StatusCode() int {
  3835  	return s.RespMetadata.StatusCode
  3836  }
  3837  
  3838  // RequestID returns the service's response RequestID for request.
  3839  func (s *AccessDeniedException) RequestID() string {
  3840  	return s.RespMetadata.RequestID
  3841  }
  3842  
  3843  // The assignment that indicates a principal's limited access to a specified
  3844  // Amazon Web Services account with a specified permission set.
  3845  //
  3846  // The term principal here refers to a user or group that is defined in Amazon
  3847  // Web Services SSO.
  3848  type AccountAssignment struct {
  3849  	_ struct{} `type:"structure"`
  3850  
  3851  	// The identifier of the Amazon Web Services account.
  3852  	AccountId *string `type:"string"`
  3853  
  3854  	// The ARN of the permission set. For more information about ARNs, see Amazon
  3855  	// Resource Names (ARNs) and Amazon Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  3856  	// in the Amazon Web Services General Reference.
  3857  	PermissionSetArn *string `min:"10" type:"string"`
  3858  
  3859  	// An identifier for an object in Amazon Web Services SSO, such as a user or
  3860  	// group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6).
  3861  	// For more information about PrincipalIds in Amazon Web Services SSO, see the
  3862  	// Amazon Web Services SSO Identity Store API Reference (/singlesignon/latest/IdentityStoreAPIReference/welcome.html).
  3863  	PrincipalId *string `min:"1" type:"string"`
  3864  
  3865  	// The entity type for which the assignment will be created.
  3866  	PrincipalType *string `type:"string" enum:"PrincipalType"`
  3867  }
  3868  
  3869  // String returns the string representation.
  3870  //
  3871  // API parameter values that are decorated as "sensitive" in the API will not
  3872  // be included in the string output. The member name will be present, but the
  3873  // value will be replaced with "sensitive".
  3874  func (s AccountAssignment) String() string {
  3875  	return awsutil.Prettify(s)
  3876  }
  3877  
  3878  // GoString returns the string representation.
  3879  //
  3880  // API parameter values that are decorated as "sensitive" in the API will not
  3881  // be included in the string output. The member name will be present, but the
  3882  // value will be replaced with "sensitive".
  3883  func (s AccountAssignment) GoString() string {
  3884  	return s.String()
  3885  }
  3886  
  3887  // SetAccountId sets the AccountId field's value.
  3888  func (s *AccountAssignment) SetAccountId(v string) *AccountAssignment {
  3889  	s.AccountId = &v
  3890  	return s
  3891  }
  3892  
  3893  // SetPermissionSetArn sets the PermissionSetArn field's value.
  3894  func (s *AccountAssignment) SetPermissionSetArn(v string) *AccountAssignment {
  3895  	s.PermissionSetArn = &v
  3896  	return s
  3897  }
  3898  
  3899  // SetPrincipalId sets the PrincipalId field's value.
  3900  func (s *AccountAssignment) SetPrincipalId(v string) *AccountAssignment {
  3901  	s.PrincipalId = &v
  3902  	return s
  3903  }
  3904  
  3905  // SetPrincipalType sets the PrincipalType field's value.
  3906  func (s *AccountAssignment) SetPrincipalType(v string) *AccountAssignment {
  3907  	s.PrincipalType = &v
  3908  	return s
  3909  }
  3910  
  3911  // The status of the creation or deletion operation of an assignment that a
  3912  // principal needs to access an account.
  3913  type AccountAssignmentOperationStatus struct {
  3914  	_ struct{} `type:"structure"`
  3915  
  3916  	// The date that the permission set was created.
  3917  	CreatedDate *time.Time `type:"timestamp"`
  3918  
  3919  	// The message that contains an error or exception in case of an operation failure.
  3920  	FailureReason *string `type:"string"`
  3921  
  3922  	// The ARN of the permission set. For more information about ARNs, see Amazon
  3923  	// Resource Names (ARNs) and Amazon Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  3924  	// in the Amazon Web Services General Reference.
  3925  	PermissionSetArn *string `min:"10" type:"string"`
  3926  
  3927  	// An identifier for an object in Amazon Web Services SSO, such as a user or
  3928  	// group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6).
  3929  	// For more information about PrincipalIds in Amazon Web Services SSO, see the
  3930  	// Amazon Web Services SSO Identity Store API Reference (/singlesignon/latest/IdentityStoreAPIReference/welcome.html).
  3931  	PrincipalId *string `min:"1" type:"string"`
  3932  
  3933  	// The entity type for which the assignment will be created.
  3934  	PrincipalType *string `type:"string" enum:"PrincipalType"`
  3935  
  3936  	// The identifier for tracking the request operation that is generated by the
  3937  	// universally unique identifier (UUID) workflow.
  3938  	RequestId *string `type:"string"`
  3939  
  3940  	// The status of the permission set provisioning process.
  3941  	Status *string `type:"string" enum:"StatusValues"`
  3942  
  3943  	// TargetID is an Amazon Web Services account identifier, typically a 10-12
  3944  	// digit string (For example, 123456789012).
  3945  	TargetId *string `type:"string"`
  3946  
  3947  	// The entity type for which the assignment will be created.
  3948  	TargetType *string `type:"string" enum:"TargetType"`
  3949  }
  3950  
  3951  // String returns the string representation.
  3952  //
  3953  // API parameter values that are decorated as "sensitive" in the API will not
  3954  // be included in the string output. The member name will be present, but the
  3955  // value will be replaced with "sensitive".
  3956  func (s AccountAssignmentOperationStatus) String() string {
  3957  	return awsutil.Prettify(s)
  3958  }
  3959  
  3960  // GoString returns the string representation.
  3961  //
  3962  // API parameter values that are decorated as "sensitive" in the API will not
  3963  // be included in the string output. The member name will be present, but the
  3964  // value will be replaced with "sensitive".
  3965  func (s AccountAssignmentOperationStatus) GoString() string {
  3966  	return s.String()
  3967  }
  3968  
  3969  // SetCreatedDate sets the CreatedDate field's value.
  3970  func (s *AccountAssignmentOperationStatus) SetCreatedDate(v time.Time) *AccountAssignmentOperationStatus {
  3971  	s.CreatedDate = &v
  3972  	return s
  3973  }
  3974  
  3975  // SetFailureReason sets the FailureReason field's value.
  3976  func (s *AccountAssignmentOperationStatus) SetFailureReason(v string) *AccountAssignmentOperationStatus {
  3977  	s.FailureReason = &v
  3978  	return s
  3979  }
  3980  
  3981  // SetPermissionSetArn sets the PermissionSetArn field's value.
  3982  func (s *AccountAssignmentOperationStatus) SetPermissionSetArn(v string) *AccountAssignmentOperationStatus {
  3983  	s.PermissionSetArn = &v
  3984  	return s
  3985  }
  3986  
  3987  // SetPrincipalId sets the PrincipalId field's value.
  3988  func (s *AccountAssignmentOperationStatus) SetPrincipalId(v string) *AccountAssignmentOperationStatus {
  3989  	s.PrincipalId = &v
  3990  	return s
  3991  }
  3992  
  3993  // SetPrincipalType sets the PrincipalType field's value.
  3994  func (s *AccountAssignmentOperationStatus) SetPrincipalType(v string) *AccountAssignmentOperationStatus {
  3995  	s.PrincipalType = &v
  3996  	return s
  3997  }
  3998  
  3999  // SetRequestId sets the RequestId field's value.
  4000  func (s *AccountAssignmentOperationStatus) SetRequestId(v string) *AccountAssignmentOperationStatus {
  4001  	s.RequestId = &v
  4002  	return s
  4003  }
  4004  
  4005  // SetStatus sets the Status field's value.
  4006  func (s *AccountAssignmentOperationStatus) SetStatus(v string) *AccountAssignmentOperationStatus {
  4007  	s.Status = &v
  4008  	return s
  4009  }
  4010  
  4011  // SetTargetId sets the TargetId field's value.
  4012  func (s *AccountAssignmentOperationStatus) SetTargetId(v string) *AccountAssignmentOperationStatus {
  4013  	s.TargetId = &v
  4014  	return s
  4015  }
  4016  
  4017  // SetTargetType sets the TargetType field's value.
  4018  func (s *AccountAssignmentOperationStatus) SetTargetType(v string) *AccountAssignmentOperationStatus {
  4019  	s.TargetType = &v
  4020  	return s
  4021  }
  4022  
  4023  // Provides information about the AccountAssignment creation request.
  4024  type AccountAssignmentOperationStatusMetadata struct {
  4025  	_ struct{} `type:"structure"`
  4026  
  4027  	// The date that the permission set was created.
  4028  	CreatedDate *time.Time `type:"timestamp"`
  4029  
  4030  	// The identifier for tracking the request operation that is generated by the
  4031  	// universally unique identifier (UUID) workflow.
  4032  	RequestId *string `type:"string"`
  4033  
  4034  	// The status of the permission set provisioning process.
  4035  	Status *string `type:"string" enum:"StatusValues"`
  4036  }
  4037  
  4038  // String returns the string representation.
  4039  //
  4040  // API parameter values that are decorated as "sensitive" in the API will not
  4041  // be included in the string output. The member name will be present, but the
  4042  // value will be replaced with "sensitive".
  4043  func (s AccountAssignmentOperationStatusMetadata) String() string {
  4044  	return awsutil.Prettify(s)
  4045  }
  4046  
  4047  // GoString returns the string representation.
  4048  //
  4049  // API parameter values that are decorated as "sensitive" in the API will not
  4050  // be included in the string output. The member name will be present, but the
  4051  // value will be replaced with "sensitive".
  4052  func (s AccountAssignmentOperationStatusMetadata) GoString() string {
  4053  	return s.String()
  4054  }
  4055  
  4056  // SetCreatedDate sets the CreatedDate field's value.
  4057  func (s *AccountAssignmentOperationStatusMetadata) SetCreatedDate(v time.Time) *AccountAssignmentOperationStatusMetadata {
  4058  	s.CreatedDate = &v
  4059  	return s
  4060  }
  4061  
  4062  // SetRequestId sets the RequestId field's value.
  4063  func (s *AccountAssignmentOperationStatusMetadata) SetRequestId(v string) *AccountAssignmentOperationStatusMetadata {
  4064  	s.RequestId = &v
  4065  	return s
  4066  }
  4067  
  4068  // SetStatus sets the Status field's value.
  4069  func (s *AccountAssignmentOperationStatusMetadata) SetStatus(v string) *AccountAssignmentOperationStatusMetadata {
  4070  	s.Status = &v
  4071  	return s
  4072  }
  4073  
  4074  type AttachManagedPolicyToPermissionSetInput struct {
  4075  	_ struct{} `type:"structure"`
  4076  
  4077  	// The ARN of the SSO instance under which the operation will be executed. For
  4078  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  4079  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  4080  	// in the Amazon Web Services General Reference.
  4081  	//
  4082  	// InstanceArn is a required field
  4083  	InstanceArn *string `min:"10" type:"string" required:"true"`
  4084  
  4085  	// The IAM managed policy ARN to be attached to a permission set.
  4086  	//
  4087  	// ManagedPolicyArn is a required field
  4088  	ManagedPolicyArn *string `min:"20" type:"string" required:"true"`
  4089  
  4090  	// The ARN of the PermissionSet that the managed policy should be attached to.
  4091  	//
  4092  	// PermissionSetArn is a required field
  4093  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  4094  }
  4095  
  4096  // String returns the string representation.
  4097  //
  4098  // API parameter values that are decorated as "sensitive" in the API will not
  4099  // be included in the string output. The member name will be present, but the
  4100  // value will be replaced with "sensitive".
  4101  func (s AttachManagedPolicyToPermissionSetInput) String() string {
  4102  	return awsutil.Prettify(s)
  4103  }
  4104  
  4105  // GoString returns the string representation.
  4106  //
  4107  // API parameter values that are decorated as "sensitive" in the API will not
  4108  // be included in the string output. The member name will be present, but the
  4109  // value will be replaced with "sensitive".
  4110  func (s AttachManagedPolicyToPermissionSetInput) GoString() string {
  4111  	return s.String()
  4112  }
  4113  
  4114  // Validate inspects the fields of the type to determine if they are valid.
  4115  func (s *AttachManagedPolicyToPermissionSetInput) Validate() error {
  4116  	invalidParams := request.ErrInvalidParams{Context: "AttachManagedPolicyToPermissionSetInput"}
  4117  	if s.InstanceArn == nil {
  4118  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  4119  	}
  4120  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  4121  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  4122  	}
  4123  	if s.ManagedPolicyArn == nil {
  4124  		invalidParams.Add(request.NewErrParamRequired("ManagedPolicyArn"))
  4125  	}
  4126  	if s.ManagedPolicyArn != nil && len(*s.ManagedPolicyArn) < 20 {
  4127  		invalidParams.Add(request.NewErrParamMinLen("ManagedPolicyArn", 20))
  4128  	}
  4129  	if s.PermissionSetArn == nil {
  4130  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  4131  	}
  4132  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  4133  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  4134  	}
  4135  
  4136  	if invalidParams.Len() > 0 {
  4137  		return invalidParams
  4138  	}
  4139  	return nil
  4140  }
  4141  
  4142  // SetInstanceArn sets the InstanceArn field's value.
  4143  func (s *AttachManagedPolicyToPermissionSetInput) SetInstanceArn(v string) *AttachManagedPolicyToPermissionSetInput {
  4144  	s.InstanceArn = &v
  4145  	return s
  4146  }
  4147  
  4148  // SetManagedPolicyArn sets the ManagedPolicyArn field's value.
  4149  func (s *AttachManagedPolicyToPermissionSetInput) SetManagedPolicyArn(v string) *AttachManagedPolicyToPermissionSetInput {
  4150  	s.ManagedPolicyArn = &v
  4151  	return s
  4152  }
  4153  
  4154  // SetPermissionSetArn sets the PermissionSetArn field's value.
  4155  func (s *AttachManagedPolicyToPermissionSetInput) SetPermissionSetArn(v string) *AttachManagedPolicyToPermissionSetInput {
  4156  	s.PermissionSetArn = &v
  4157  	return s
  4158  }
  4159  
  4160  type AttachManagedPolicyToPermissionSetOutput struct {
  4161  	_ struct{} `type:"structure"`
  4162  }
  4163  
  4164  // String returns the string representation.
  4165  //
  4166  // API parameter values that are decorated as "sensitive" in the API will not
  4167  // be included in the string output. The member name will be present, but the
  4168  // value will be replaced with "sensitive".
  4169  func (s AttachManagedPolicyToPermissionSetOutput) String() string {
  4170  	return awsutil.Prettify(s)
  4171  }
  4172  
  4173  // GoString returns the string representation.
  4174  //
  4175  // API parameter values that are decorated as "sensitive" in the API will not
  4176  // be included in the string output. The member name will be present, but the
  4177  // value will be replaced with "sensitive".
  4178  func (s AttachManagedPolicyToPermissionSetOutput) GoString() string {
  4179  	return s.String()
  4180  }
  4181  
  4182  // A structure that stores the details of the IAM managed policy.
  4183  type AttachedManagedPolicy struct {
  4184  	_ struct{} `type:"structure"`
  4185  
  4186  	// The ARN of the IAM managed policy. For more information about ARNs, see Amazon
  4187  	// Resource Names (ARNs) and Amazon Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  4188  	// in the Amazon Web Services General Reference.
  4189  	Arn *string `min:"20" type:"string"`
  4190  
  4191  	// The name of the IAM managed policy.
  4192  	Name *string `min:"1" type:"string"`
  4193  }
  4194  
  4195  // String returns the string representation.
  4196  //
  4197  // API parameter values that are decorated as "sensitive" in the API will not
  4198  // be included in the string output. The member name will be present, but the
  4199  // value will be replaced with "sensitive".
  4200  func (s AttachedManagedPolicy) String() string {
  4201  	return awsutil.Prettify(s)
  4202  }
  4203  
  4204  // GoString returns the string representation.
  4205  //
  4206  // API parameter values that are decorated as "sensitive" in the API will not
  4207  // be included in the string output. The member name will be present, but the
  4208  // value will be replaced with "sensitive".
  4209  func (s AttachedManagedPolicy) GoString() string {
  4210  	return s.String()
  4211  }
  4212  
  4213  // SetArn sets the Arn field's value.
  4214  func (s *AttachedManagedPolicy) SetArn(v string) *AttachedManagedPolicy {
  4215  	s.Arn = &v
  4216  	return s
  4217  }
  4218  
  4219  // SetName sets the Name field's value.
  4220  func (s *AttachedManagedPolicy) SetName(v string) *AttachedManagedPolicy {
  4221  	s.Name = &v
  4222  	return s
  4223  }
  4224  
  4225  // Occurs when a conflict with a previous successful write is detected. This
  4226  // generally occurs when the previous write did not have time to propagate to
  4227  // the host serving the current request. A retry (with appropriate backoff logic)
  4228  // is the recommended response to this exception.
  4229  type ConflictException struct {
  4230  	_            struct{}                  `type:"structure"`
  4231  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4232  
  4233  	Message_ *string `locationName:"Message" type:"string"`
  4234  }
  4235  
  4236  // String returns the string representation.
  4237  //
  4238  // API parameter values that are decorated as "sensitive" in the API will not
  4239  // be included in the string output. The member name will be present, but the
  4240  // value will be replaced with "sensitive".
  4241  func (s ConflictException) String() string {
  4242  	return awsutil.Prettify(s)
  4243  }
  4244  
  4245  // GoString returns the string representation.
  4246  //
  4247  // API parameter values that are decorated as "sensitive" in the API will not
  4248  // be included in the string output. The member name will be present, but the
  4249  // value will be replaced with "sensitive".
  4250  func (s ConflictException) GoString() string {
  4251  	return s.String()
  4252  }
  4253  
  4254  func newErrorConflictException(v protocol.ResponseMetadata) error {
  4255  	return &ConflictException{
  4256  		RespMetadata: v,
  4257  	}
  4258  }
  4259  
  4260  // Code returns the exception type name.
  4261  func (s *ConflictException) Code() string {
  4262  	return "ConflictException"
  4263  }
  4264  
  4265  // Message returns the exception's message.
  4266  func (s *ConflictException) Message() string {
  4267  	if s.Message_ != nil {
  4268  		return *s.Message_
  4269  	}
  4270  	return ""
  4271  }
  4272  
  4273  // OrigErr always returns nil, satisfies awserr.Error interface.
  4274  func (s *ConflictException) OrigErr() error {
  4275  	return nil
  4276  }
  4277  
  4278  func (s *ConflictException) Error() string {
  4279  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4280  }
  4281  
  4282  // Status code returns the HTTP status code for the request's response error.
  4283  func (s *ConflictException) StatusCode() int {
  4284  	return s.RespMetadata.StatusCode
  4285  }
  4286  
  4287  // RequestID returns the service's response RequestID for request.
  4288  func (s *ConflictException) RequestID() string {
  4289  	return s.RespMetadata.RequestID
  4290  }
  4291  
  4292  type CreateAccountAssignmentInput struct {
  4293  	_ struct{} `type:"structure"`
  4294  
  4295  	// The ARN of the SSO instance under which the operation will be executed. For
  4296  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  4297  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  4298  	// in the Amazon Web Services General Reference.
  4299  	//
  4300  	// InstanceArn is a required field
  4301  	InstanceArn *string `min:"10" type:"string" required:"true"`
  4302  
  4303  	// The ARN of the permission set that the admin wants to grant the principal
  4304  	// access to.
  4305  	//
  4306  	// PermissionSetArn is a required field
  4307  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  4308  
  4309  	// An identifier for an object in Amazon Web Services SSO, such as a user or
  4310  	// group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6).
  4311  	// For more information about PrincipalIds in Amazon Web Services SSO, see the
  4312  	// Amazon Web Services SSO Identity Store API Reference (/singlesignon/latest/IdentityStoreAPIReference/welcome.html).
  4313  	//
  4314  	// PrincipalId is a required field
  4315  	PrincipalId *string `min:"1" type:"string" required:"true"`
  4316  
  4317  	// The entity type for which the assignment will be created.
  4318  	//
  4319  	// PrincipalType is a required field
  4320  	PrincipalType *string `type:"string" required:"true" enum:"PrincipalType"`
  4321  
  4322  	// TargetID is an Amazon Web Services account identifier, typically a 10-12
  4323  	// digit string (For example, 123456789012).
  4324  	//
  4325  	// TargetId is a required field
  4326  	TargetId *string `type:"string" required:"true"`
  4327  
  4328  	// The entity type for which the assignment will be created.
  4329  	//
  4330  	// TargetType is a required field
  4331  	TargetType *string `type:"string" required:"true" enum:"TargetType"`
  4332  }
  4333  
  4334  // String returns the string representation.
  4335  //
  4336  // API parameter values that are decorated as "sensitive" in the API will not
  4337  // be included in the string output. The member name will be present, but the
  4338  // value will be replaced with "sensitive".
  4339  func (s CreateAccountAssignmentInput) String() string {
  4340  	return awsutil.Prettify(s)
  4341  }
  4342  
  4343  // GoString returns the string representation.
  4344  //
  4345  // API parameter values that are decorated as "sensitive" in the API will not
  4346  // be included in the string output. The member name will be present, but the
  4347  // value will be replaced with "sensitive".
  4348  func (s CreateAccountAssignmentInput) GoString() string {
  4349  	return s.String()
  4350  }
  4351  
  4352  // Validate inspects the fields of the type to determine if they are valid.
  4353  func (s *CreateAccountAssignmentInput) Validate() error {
  4354  	invalidParams := request.ErrInvalidParams{Context: "CreateAccountAssignmentInput"}
  4355  	if s.InstanceArn == nil {
  4356  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  4357  	}
  4358  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  4359  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  4360  	}
  4361  	if s.PermissionSetArn == nil {
  4362  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  4363  	}
  4364  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  4365  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  4366  	}
  4367  	if s.PrincipalId == nil {
  4368  		invalidParams.Add(request.NewErrParamRequired("PrincipalId"))
  4369  	}
  4370  	if s.PrincipalId != nil && len(*s.PrincipalId) < 1 {
  4371  		invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1))
  4372  	}
  4373  	if s.PrincipalType == nil {
  4374  		invalidParams.Add(request.NewErrParamRequired("PrincipalType"))
  4375  	}
  4376  	if s.TargetId == nil {
  4377  		invalidParams.Add(request.NewErrParamRequired("TargetId"))
  4378  	}
  4379  	if s.TargetType == nil {
  4380  		invalidParams.Add(request.NewErrParamRequired("TargetType"))
  4381  	}
  4382  
  4383  	if invalidParams.Len() > 0 {
  4384  		return invalidParams
  4385  	}
  4386  	return nil
  4387  }
  4388  
  4389  // SetInstanceArn sets the InstanceArn field's value.
  4390  func (s *CreateAccountAssignmentInput) SetInstanceArn(v string) *CreateAccountAssignmentInput {
  4391  	s.InstanceArn = &v
  4392  	return s
  4393  }
  4394  
  4395  // SetPermissionSetArn sets the PermissionSetArn field's value.
  4396  func (s *CreateAccountAssignmentInput) SetPermissionSetArn(v string) *CreateAccountAssignmentInput {
  4397  	s.PermissionSetArn = &v
  4398  	return s
  4399  }
  4400  
  4401  // SetPrincipalId sets the PrincipalId field's value.
  4402  func (s *CreateAccountAssignmentInput) SetPrincipalId(v string) *CreateAccountAssignmentInput {
  4403  	s.PrincipalId = &v
  4404  	return s
  4405  }
  4406  
  4407  // SetPrincipalType sets the PrincipalType field's value.
  4408  func (s *CreateAccountAssignmentInput) SetPrincipalType(v string) *CreateAccountAssignmentInput {
  4409  	s.PrincipalType = &v
  4410  	return s
  4411  }
  4412  
  4413  // SetTargetId sets the TargetId field's value.
  4414  func (s *CreateAccountAssignmentInput) SetTargetId(v string) *CreateAccountAssignmentInput {
  4415  	s.TargetId = &v
  4416  	return s
  4417  }
  4418  
  4419  // SetTargetType sets the TargetType field's value.
  4420  func (s *CreateAccountAssignmentInput) SetTargetType(v string) *CreateAccountAssignmentInput {
  4421  	s.TargetType = &v
  4422  	return s
  4423  }
  4424  
  4425  type CreateAccountAssignmentOutput struct {
  4426  	_ struct{} `type:"structure"`
  4427  
  4428  	// The status object for the account assignment creation operation.
  4429  	AccountAssignmentCreationStatus *AccountAssignmentOperationStatus `type:"structure"`
  4430  }
  4431  
  4432  // String returns the string representation.
  4433  //
  4434  // API parameter values that are decorated as "sensitive" in the API will not
  4435  // be included in the string output. The member name will be present, but the
  4436  // value will be replaced with "sensitive".
  4437  func (s CreateAccountAssignmentOutput) String() string {
  4438  	return awsutil.Prettify(s)
  4439  }
  4440  
  4441  // GoString returns the string representation.
  4442  //
  4443  // API parameter values that are decorated as "sensitive" in the API will not
  4444  // be included in the string output. The member name will be present, but the
  4445  // value will be replaced with "sensitive".
  4446  func (s CreateAccountAssignmentOutput) GoString() string {
  4447  	return s.String()
  4448  }
  4449  
  4450  // SetAccountAssignmentCreationStatus sets the AccountAssignmentCreationStatus field's value.
  4451  func (s *CreateAccountAssignmentOutput) SetAccountAssignmentCreationStatus(v *AccountAssignmentOperationStatus) *CreateAccountAssignmentOutput {
  4452  	s.AccountAssignmentCreationStatus = v
  4453  	return s
  4454  }
  4455  
  4456  type CreateInstanceAccessControlAttributeConfigurationInput struct {
  4457  	_ struct{} `type:"structure"`
  4458  
  4459  	// Specifies the Amazon Web Services SSO identity store attributes to add to
  4460  	// your ABAC configuration. When using an external identity provider as an identity
  4461  	// source, you can pass attributes through the SAML assertion. Doing so provides
  4462  	// an alternative to configuring attributes from the Amazon Web Services SSO
  4463  	// identity store. If a SAML assertion passes any of these attributes, Amazon
  4464  	// Web Services SSO will replace the attribute value with the value from the
  4465  	// Amazon Web Services SSO identity store.
  4466  	//
  4467  	// InstanceAccessControlAttributeConfiguration is a required field
  4468  	InstanceAccessControlAttributeConfiguration *InstanceAccessControlAttributeConfiguration `type:"structure" required:"true"`
  4469  
  4470  	// The ARN of the SSO instance under which the operation will be executed.
  4471  	//
  4472  	// InstanceArn is a required field
  4473  	InstanceArn *string `min:"10" type:"string" required:"true"`
  4474  }
  4475  
  4476  // String returns the string representation.
  4477  //
  4478  // API parameter values that are decorated as "sensitive" in the API will not
  4479  // be included in the string output. The member name will be present, but the
  4480  // value will be replaced with "sensitive".
  4481  func (s CreateInstanceAccessControlAttributeConfigurationInput) String() string {
  4482  	return awsutil.Prettify(s)
  4483  }
  4484  
  4485  // GoString returns the string representation.
  4486  //
  4487  // API parameter values that are decorated as "sensitive" in the API will not
  4488  // be included in the string output. The member name will be present, but the
  4489  // value will be replaced with "sensitive".
  4490  func (s CreateInstanceAccessControlAttributeConfigurationInput) GoString() string {
  4491  	return s.String()
  4492  }
  4493  
  4494  // Validate inspects the fields of the type to determine if they are valid.
  4495  func (s *CreateInstanceAccessControlAttributeConfigurationInput) Validate() error {
  4496  	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceAccessControlAttributeConfigurationInput"}
  4497  	if s.InstanceAccessControlAttributeConfiguration == nil {
  4498  		invalidParams.Add(request.NewErrParamRequired("InstanceAccessControlAttributeConfiguration"))
  4499  	}
  4500  	if s.InstanceArn == nil {
  4501  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  4502  	}
  4503  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  4504  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  4505  	}
  4506  	if s.InstanceAccessControlAttributeConfiguration != nil {
  4507  		if err := s.InstanceAccessControlAttributeConfiguration.Validate(); err != nil {
  4508  			invalidParams.AddNested("InstanceAccessControlAttributeConfiguration", err.(request.ErrInvalidParams))
  4509  		}
  4510  	}
  4511  
  4512  	if invalidParams.Len() > 0 {
  4513  		return invalidParams
  4514  	}
  4515  	return nil
  4516  }
  4517  
  4518  // SetInstanceAccessControlAttributeConfiguration sets the InstanceAccessControlAttributeConfiguration field's value.
  4519  func (s *CreateInstanceAccessControlAttributeConfigurationInput) SetInstanceAccessControlAttributeConfiguration(v *InstanceAccessControlAttributeConfiguration) *CreateInstanceAccessControlAttributeConfigurationInput {
  4520  	s.InstanceAccessControlAttributeConfiguration = v
  4521  	return s
  4522  }
  4523  
  4524  // SetInstanceArn sets the InstanceArn field's value.
  4525  func (s *CreateInstanceAccessControlAttributeConfigurationInput) SetInstanceArn(v string) *CreateInstanceAccessControlAttributeConfigurationInput {
  4526  	s.InstanceArn = &v
  4527  	return s
  4528  }
  4529  
  4530  type CreateInstanceAccessControlAttributeConfigurationOutput struct {
  4531  	_ struct{} `type:"structure"`
  4532  }
  4533  
  4534  // String returns the string representation.
  4535  //
  4536  // API parameter values that are decorated as "sensitive" in the API will not
  4537  // be included in the string output. The member name will be present, but the
  4538  // value will be replaced with "sensitive".
  4539  func (s CreateInstanceAccessControlAttributeConfigurationOutput) String() string {
  4540  	return awsutil.Prettify(s)
  4541  }
  4542  
  4543  // GoString returns the string representation.
  4544  //
  4545  // API parameter values that are decorated as "sensitive" in the API will not
  4546  // be included in the string output. The member name will be present, but the
  4547  // value will be replaced with "sensitive".
  4548  func (s CreateInstanceAccessControlAttributeConfigurationOutput) GoString() string {
  4549  	return s.String()
  4550  }
  4551  
  4552  type CreatePermissionSetInput struct {
  4553  	_ struct{} `type:"structure"`
  4554  
  4555  	// The description of the PermissionSet.
  4556  	Description *string `min:"1" type:"string"`
  4557  
  4558  	// The ARN of the SSO instance under which the operation will be executed. For
  4559  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  4560  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  4561  	// in the Amazon Web Services General Reference.
  4562  	//
  4563  	// InstanceArn is a required field
  4564  	InstanceArn *string `min:"10" type:"string" required:"true"`
  4565  
  4566  	// The name of the PermissionSet.
  4567  	//
  4568  	// Name is a required field
  4569  	Name *string `min:"1" type:"string" required:"true"`
  4570  
  4571  	// Used to redirect users within the application during the federation authentication
  4572  	// process.
  4573  	RelayState *string `min:"1" type:"string"`
  4574  
  4575  	// The length of time that the application user sessions are valid in the ISO-8601
  4576  	// standard.
  4577  	SessionDuration *string `min:"1" type:"string"`
  4578  
  4579  	// The tags to attach to the new PermissionSet.
  4580  	Tags []*Tag `type:"list"`
  4581  }
  4582  
  4583  // String returns the string representation.
  4584  //
  4585  // API parameter values that are decorated as "sensitive" in the API will not
  4586  // be included in the string output. The member name will be present, but the
  4587  // value will be replaced with "sensitive".
  4588  func (s CreatePermissionSetInput) String() string {
  4589  	return awsutil.Prettify(s)
  4590  }
  4591  
  4592  // GoString returns the string representation.
  4593  //
  4594  // API parameter values that are decorated as "sensitive" in the API will not
  4595  // be included in the string output. The member name will be present, but the
  4596  // value will be replaced with "sensitive".
  4597  func (s CreatePermissionSetInput) GoString() string {
  4598  	return s.String()
  4599  }
  4600  
  4601  // Validate inspects the fields of the type to determine if they are valid.
  4602  func (s *CreatePermissionSetInput) Validate() error {
  4603  	invalidParams := request.ErrInvalidParams{Context: "CreatePermissionSetInput"}
  4604  	if s.Description != nil && len(*s.Description) < 1 {
  4605  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  4606  	}
  4607  	if s.InstanceArn == nil {
  4608  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  4609  	}
  4610  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  4611  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  4612  	}
  4613  	if s.Name == nil {
  4614  		invalidParams.Add(request.NewErrParamRequired("Name"))
  4615  	}
  4616  	if s.Name != nil && len(*s.Name) < 1 {
  4617  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  4618  	}
  4619  	if s.RelayState != nil && len(*s.RelayState) < 1 {
  4620  		invalidParams.Add(request.NewErrParamMinLen("RelayState", 1))
  4621  	}
  4622  	if s.SessionDuration != nil && len(*s.SessionDuration) < 1 {
  4623  		invalidParams.Add(request.NewErrParamMinLen("SessionDuration", 1))
  4624  	}
  4625  	if s.Tags != nil {
  4626  		for i, v := range s.Tags {
  4627  			if v == nil {
  4628  				continue
  4629  			}
  4630  			if err := v.Validate(); err != nil {
  4631  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4632  			}
  4633  		}
  4634  	}
  4635  
  4636  	if invalidParams.Len() > 0 {
  4637  		return invalidParams
  4638  	}
  4639  	return nil
  4640  }
  4641  
  4642  // SetDescription sets the Description field's value.
  4643  func (s *CreatePermissionSetInput) SetDescription(v string) *CreatePermissionSetInput {
  4644  	s.Description = &v
  4645  	return s
  4646  }
  4647  
  4648  // SetInstanceArn sets the InstanceArn field's value.
  4649  func (s *CreatePermissionSetInput) SetInstanceArn(v string) *CreatePermissionSetInput {
  4650  	s.InstanceArn = &v
  4651  	return s
  4652  }
  4653  
  4654  // SetName sets the Name field's value.
  4655  func (s *CreatePermissionSetInput) SetName(v string) *CreatePermissionSetInput {
  4656  	s.Name = &v
  4657  	return s
  4658  }
  4659  
  4660  // SetRelayState sets the RelayState field's value.
  4661  func (s *CreatePermissionSetInput) SetRelayState(v string) *CreatePermissionSetInput {
  4662  	s.RelayState = &v
  4663  	return s
  4664  }
  4665  
  4666  // SetSessionDuration sets the SessionDuration field's value.
  4667  func (s *CreatePermissionSetInput) SetSessionDuration(v string) *CreatePermissionSetInput {
  4668  	s.SessionDuration = &v
  4669  	return s
  4670  }
  4671  
  4672  // SetTags sets the Tags field's value.
  4673  func (s *CreatePermissionSetInput) SetTags(v []*Tag) *CreatePermissionSetInput {
  4674  	s.Tags = v
  4675  	return s
  4676  }
  4677  
  4678  type CreatePermissionSetOutput struct {
  4679  	_ struct{} `type:"structure"`
  4680  
  4681  	// Defines the level of access on an Amazon Web Services account.
  4682  	PermissionSet *PermissionSet `type:"structure"`
  4683  }
  4684  
  4685  // String returns the string representation.
  4686  //
  4687  // API parameter values that are decorated as "sensitive" in the API will not
  4688  // be included in the string output. The member name will be present, but the
  4689  // value will be replaced with "sensitive".
  4690  func (s CreatePermissionSetOutput) String() string {
  4691  	return awsutil.Prettify(s)
  4692  }
  4693  
  4694  // GoString returns the string representation.
  4695  //
  4696  // API parameter values that are decorated as "sensitive" in the API will not
  4697  // be included in the string output. The member name will be present, but the
  4698  // value will be replaced with "sensitive".
  4699  func (s CreatePermissionSetOutput) GoString() string {
  4700  	return s.String()
  4701  }
  4702  
  4703  // SetPermissionSet sets the PermissionSet field's value.
  4704  func (s *CreatePermissionSetOutput) SetPermissionSet(v *PermissionSet) *CreatePermissionSetOutput {
  4705  	s.PermissionSet = v
  4706  	return s
  4707  }
  4708  
  4709  type DeleteAccountAssignmentInput struct {
  4710  	_ struct{} `type:"structure"`
  4711  
  4712  	// The ARN of the SSO instance under which the operation will be executed. For
  4713  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  4714  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  4715  	// in the Amazon Web Services General Reference.
  4716  	//
  4717  	// InstanceArn is a required field
  4718  	InstanceArn *string `min:"10" type:"string" required:"true"`
  4719  
  4720  	// The ARN of the permission set that will be used to remove access.
  4721  	//
  4722  	// PermissionSetArn is a required field
  4723  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  4724  
  4725  	// An identifier for an object in Amazon Web Services SSO, such as a user or
  4726  	// group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6).
  4727  	// For more information about PrincipalIds in Amazon Web Services SSO, see the
  4728  	// Amazon Web Services SSO Identity Store API Reference (/singlesignon/latest/IdentityStoreAPIReference/welcome.html).
  4729  	//
  4730  	// PrincipalId is a required field
  4731  	PrincipalId *string `min:"1" type:"string" required:"true"`
  4732  
  4733  	// The entity type for which the assignment will be deleted.
  4734  	//
  4735  	// PrincipalType is a required field
  4736  	PrincipalType *string `type:"string" required:"true" enum:"PrincipalType"`
  4737  
  4738  	// TargetID is an Amazon Web Services account identifier, typically a 10-12
  4739  	// digit string (For example, 123456789012).
  4740  	//
  4741  	// TargetId is a required field
  4742  	TargetId *string `type:"string" required:"true"`
  4743  
  4744  	// The entity type for which the assignment will be deleted.
  4745  	//
  4746  	// TargetType is a required field
  4747  	TargetType *string `type:"string" required:"true" enum:"TargetType"`
  4748  }
  4749  
  4750  // String returns the string representation.
  4751  //
  4752  // API parameter values that are decorated as "sensitive" in the API will not
  4753  // be included in the string output. The member name will be present, but the
  4754  // value will be replaced with "sensitive".
  4755  func (s DeleteAccountAssignmentInput) String() string {
  4756  	return awsutil.Prettify(s)
  4757  }
  4758  
  4759  // GoString returns the string representation.
  4760  //
  4761  // API parameter values that are decorated as "sensitive" in the API will not
  4762  // be included in the string output. The member name will be present, but the
  4763  // value will be replaced with "sensitive".
  4764  func (s DeleteAccountAssignmentInput) GoString() string {
  4765  	return s.String()
  4766  }
  4767  
  4768  // Validate inspects the fields of the type to determine if they are valid.
  4769  func (s *DeleteAccountAssignmentInput) Validate() error {
  4770  	invalidParams := request.ErrInvalidParams{Context: "DeleteAccountAssignmentInput"}
  4771  	if s.InstanceArn == nil {
  4772  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  4773  	}
  4774  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  4775  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  4776  	}
  4777  	if s.PermissionSetArn == nil {
  4778  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  4779  	}
  4780  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  4781  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  4782  	}
  4783  	if s.PrincipalId == nil {
  4784  		invalidParams.Add(request.NewErrParamRequired("PrincipalId"))
  4785  	}
  4786  	if s.PrincipalId != nil && len(*s.PrincipalId) < 1 {
  4787  		invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1))
  4788  	}
  4789  	if s.PrincipalType == nil {
  4790  		invalidParams.Add(request.NewErrParamRequired("PrincipalType"))
  4791  	}
  4792  	if s.TargetId == nil {
  4793  		invalidParams.Add(request.NewErrParamRequired("TargetId"))
  4794  	}
  4795  	if s.TargetType == nil {
  4796  		invalidParams.Add(request.NewErrParamRequired("TargetType"))
  4797  	}
  4798  
  4799  	if invalidParams.Len() > 0 {
  4800  		return invalidParams
  4801  	}
  4802  	return nil
  4803  }
  4804  
  4805  // SetInstanceArn sets the InstanceArn field's value.
  4806  func (s *DeleteAccountAssignmentInput) SetInstanceArn(v string) *DeleteAccountAssignmentInput {
  4807  	s.InstanceArn = &v
  4808  	return s
  4809  }
  4810  
  4811  // SetPermissionSetArn sets the PermissionSetArn field's value.
  4812  func (s *DeleteAccountAssignmentInput) SetPermissionSetArn(v string) *DeleteAccountAssignmentInput {
  4813  	s.PermissionSetArn = &v
  4814  	return s
  4815  }
  4816  
  4817  // SetPrincipalId sets the PrincipalId field's value.
  4818  func (s *DeleteAccountAssignmentInput) SetPrincipalId(v string) *DeleteAccountAssignmentInput {
  4819  	s.PrincipalId = &v
  4820  	return s
  4821  }
  4822  
  4823  // SetPrincipalType sets the PrincipalType field's value.
  4824  func (s *DeleteAccountAssignmentInput) SetPrincipalType(v string) *DeleteAccountAssignmentInput {
  4825  	s.PrincipalType = &v
  4826  	return s
  4827  }
  4828  
  4829  // SetTargetId sets the TargetId field's value.
  4830  func (s *DeleteAccountAssignmentInput) SetTargetId(v string) *DeleteAccountAssignmentInput {
  4831  	s.TargetId = &v
  4832  	return s
  4833  }
  4834  
  4835  // SetTargetType sets the TargetType field's value.
  4836  func (s *DeleteAccountAssignmentInput) SetTargetType(v string) *DeleteAccountAssignmentInput {
  4837  	s.TargetType = &v
  4838  	return s
  4839  }
  4840  
  4841  type DeleteAccountAssignmentOutput struct {
  4842  	_ struct{} `type:"structure"`
  4843  
  4844  	// The status object for the account assignment deletion operation.
  4845  	AccountAssignmentDeletionStatus *AccountAssignmentOperationStatus `type:"structure"`
  4846  }
  4847  
  4848  // String returns the string representation.
  4849  //
  4850  // API parameter values that are decorated as "sensitive" in the API will not
  4851  // be included in the string output. The member name will be present, but the
  4852  // value will be replaced with "sensitive".
  4853  func (s DeleteAccountAssignmentOutput) String() string {
  4854  	return awsutil.Prettify(s)
  4855  }
  4856  
  4857  // GoString returns the string representation.
  4858  //
  4859  // API parameter values that are decorated as "sensitive" in the API will not
  4860  // be included in the string output. The member name will be present, but the
  4861  // value will be replaced with "sensitive".
  4862  func (s DeleteAccountAssignmentOutput) GoString() string {
  4863  	return s.String()
  4864  }
  4865  
  4866  // SetAccountAssignmentDeletionStatus sets the AccountAssignmentDeletionStatus field's value.
  4867  func (s *DeleteAccountAssignmentOutput) SetAccountAssignmentDeletionStatus(v *AccountAssignmentOperationStatus) *DeleteAccountAssignmentOutput {
  4868  	s.AccountAssignmentDeletionStatus = v
  4869  	return s
  4870  }
  4871  
  4872  type DeleteInlinePolicyFromPermissionSetInput struct {
  4873  	_ struct{} `type:"structure"`
  4874  
  4875  	// The ARN of the SSO instance under which the operation will be executed. For
  4876  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  4877  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  4878  	// in the Amazon Web Services General Reference.
  4879  	//
  4880  	// InstanceArn is a required field
  4881  	InstanceArn *string `min:"10" type:"string" required:"true"`
  4882  
  4883  	// The ARN of the permission set that will be used to remove access.
  4884  	//
  4885  	// PermissionSetArn is a required field
  4886  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  4887  }
  4888  
  4889  // String returns the string representation.
  4890  //
  4891  // API parameter values that are decorated as "sensitive" in the API will not
  4892  // be included in the string output. The member name will be present, but the
  4893  // value will be replaced with "sensitive".
  4894  func (s DeleteInlinePolicyFromPermissionSetInput) String() string {
  4895  	return awsutil.Prettify(s)
  4896  }
  4897  
  4898  // GoString returns the string representation.
  4899  //
  4900  // API parameter values that are decorated as "sensitive" in the API will not
  4901  // be included in the string output. The member name will be present, but the
  4902  // value will be replaced with "sensitive".
  4903  func (s DeleteInlinePolicyFromPermissionSetInput) GoString() string {
  4904  	return s.String()
  4905  }
  4906  
  4907  // Validate inspects the fields of the type to determine if they are valid.
  4908  func (s *DeleteInlinePolicyFromPermissionSetInput) Validate() error {
  4909  	invalidParams := request.ErrInvalidParams{Context: "DeleteInlinePolicyFromPermissionSetInput"}
  4910  	if s.InstanceArn == nil {
  4911  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  4912  	}
  4913  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  4914  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  4915  	}
  4916  	if s.PermissionSetArn == nil {
  4917  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  4918  	}
  4919  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  4920  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  4921  	}
  4922  
  4923  	if invalidParams.Len() > 0 {
  4924  		return invalidParams
  4925  	}
  4926  	return nil
  4927  }
  4928  
  4929  // SetInstanceArn sets the InstanceArn field's value.
  4930  func (s *DeleteInlinePolicyFromPermissionSetInput) SetInstanceArn(v string) *DeleteInlinePolicyFromPermissionSetInput {
  4931  	s.InstanceArn = &v
  4932  	return s
  4933  }
  4934  
  4935  // SetPermissionSetArn sets the PermissionSetArn field's value.
  4936  func (s *DeleteInlinePolicyFromPermissionSetInput) SetPermissionSetArn(v string) *DeleteInlinePolicyFromPermissionSetInput {
  4937  	s.PermissionSetArn = &v
  4938  	return s
  4939  }
  4940  
  4941  type DeleteInlinePolicyFromPermissionSetOutput struct {
  4942  	_ struct{} `type:"structure"`
  4943  }
  4944  
  4945  // String returns the string representation.
  4946  //
  4947  // API parameter values that are decorated as "sensitive" in the API will not
  4948  // be included in the string output. The member name will be present, but the
  4949  // value will be replaced with "sensitive".
  4950  func (s DeleteInlinePolicyFromPermissionSetOutput) String() string {
  4951  	return awsutil.Prettify(s)
  4952  }
  4953  
  4954  // GoString returns the string representation.
  4955  //
  4956  // API parameter values that are decorated as "sensitive" in the API will not
  4957  // be included in the string output. The member name will be present, but the
  4958  // value will be replaced with "sensitive".
  4959  func (s DeleteInlinePolicyFromPermissionSetOutput) GoString() string {
  4960  	return s.String()
  4961  }
  4962  
  4963  type DeleteInstanceAccessControlAttributeConfigurationInput struct {
  4964  	_ struct{} `type:"structure"`
  4965  
  4966  	// The ARN of the SSO instance under which the operation will be executed.
  4967  	//
  4968  	// InstanceArn is a required field
  4969  	InstanceArn *string `min:"10" type:"string" required:"true"`
  4970  }
  4971  
  4972  // String returns the string representation.
  4973  //
  4974  // API parameter values that are decorated as "sensitive" in the API will not
  4975  // be included in the string output. The member name will be present, but the
  4976  // value will be replaced with "sensitive".
  4977  func (s DeleteInstanceAccessControlAttributeConfigurationInput) String() string {
  4978  	return awsutil.Prettify(s)
  4979  }
  4980  
  4981  // GoString returns the string representation.
  4982  //
  4983  // API parameter values that are decorated as "sensitive" in the API will not
  4984  // be included in the string output. The member name will be present, but the
  4985  // value will be replaced with "sensitive".
  4986  func (s DeleteInstanceAccessControlAttributeConfigurationInput) GoString() string {
  4987  	return s.String()
  4988  }
  4989  
  4990  // Validate inspects the fields of the type to determine if they are valid.
  4991  func (s *DeleteInstanceAccessControlAttributeConfigurationInput) Validate() error {
  4992  	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceAccessControlAttributeConfigurationInput"}
  4993  	if s.InstanceArn == nil {
  4994  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  4995  	}
  4996  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  4997  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  4998  	}
  4999  
  5000  	if invalidParams.Len() > 0 {
  5001  		return invalidParams
  5002  	}
  5003  	return nil
  5004  }
  5005  
  5006  // SetInstanceArn sets the InstanceArn field's value.
  5007  func (s *DeleteInstanceAccessControlAttributeConfigurationInput) SetInstanceArn(v string) *DeleteInstanceAccessControlAttributeConfigurationInput {
  5008  	s.InstanceArn = &v
  5009  	return s
  5010  }
  5011  
  5012  type DeleteInstanceAccessControlAttributeConfigurationOutput struct {
  5013  	_ struct{} `type:"structure"`
  5014  }
  5015  
  5016  // String returns the string representation.
  5017  //
  5018  // API parameter values that are decorated as "sensitive" in the API will not
  5019  // be included in the string output. The member name will be present, but the
  5020  // value will be replaced with "sensitive".
  5021  func (s DeleteInstanceAccessControlAttributeConfigurationOutput) String() string {
  5022  	return awsutil.Prettify(s)
  5023  }
  5024  
  5025  // GoString returns the string representation.
  5026  //
  5027  // API parameter values that are decorated as "sensitive" in the API will not
  5028  // be included in the string output. The member name will be present, but the
  5029  // value will be replaced with "sensitive".
  5030  func (s DeleteInstanceAccessControlAttributeConfigurationOutput) GoString() string {
  5031  	return s.String()
  5032  }
  5033  
  5034  type DeletePermissionSetInput struct {
  5035  	_ struct{} `type:"structure"`
  5036  
  5037  	// The ARN of the SSO instance under which the operation will be executed. For
  5038  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  5039  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  5040  	// in the Amazon Web Services General Reference.
  5041  	//
  5042  	// InstanceArn is a required field
  5043  	InstanceArn *string `min:"10" type:"string" required:"true"`
  5044  
  5045  	// The ARN of the permission set that should be deleted.
  5046  	//
  5047  	// PermissionSetArn is a required field
  5048  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  5049  }
  5050  
  5051  // String returns the string representation.
  5052  //
  5053  // API parameter values that are decorated as "sensitive" in the API will not
  5054  // be included in the string output. The member name will be present, but the
  5055  // value will be replaced with "sensitive".
  5056  func (s DeletePermissionSetInput) String() string {
  5057  	return awsutil.Prettify(s)
  5058  }
  5059  
  5060  // GoString returns the string representation.
  5061  //
  5062  // API parameter values that are decorated as "sensitive" in the API will not
  5063  // be included in the string output. The member name will be present, but the
  5064  // value will be replaced with "sensitive".
  5065  func (s DeletePermissionSetInput) GoString() string {
  5066  	return s.String()
  5067  }
  5068  
  5069  // Validate inspects the fields of the type to determine if they are valid.
  5070  func (s *DeletePermissionSetInput) Validate() error {
  5071  	invalidParams := request.ErrInvalidParams{Context: "DeletePermissionSetInput"}
  5072  	if s.InstanceArn == nil {
  5073  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  5074  	}
  5075  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  5076  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  5077  	}
  5078  	if s.PermissionSetArn == nil {
  5079  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  5080  	}
  5081  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  5082  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  5083  	}
  5084  
  5085  	if invalidParams.Len() > 0 {
  5086  		return invalidParams
  5087  	}
  5088  	return nil
  5089  }
  5090  
  5091  // SetInstanceArn sets the InstanceArn field's value.
  5092  func (s *DeletePermissionSetInput) SetInstanceArn(v string) *DeletePermissionSetInput {
  5093  	s.InstanceArn = &v
  5094  	return s
  5095  }
  5096  
  5097  // SetPermissionSetArn sets the PermissionSetArn field's value.
  5098  func (s *DeletePermissionSetInput) SetPermissionSetArn(v string) *DeletePermissionSetInput {
  5099  	s.PermissionSetArn = &v
  5100  	return s
  5101  }
  5102  
  5103  type DeletePermissionSetOutput struct {
  5104  	_ struct{} `type:"structure"`
  5105  }
  5106  
  5107  // String returns the string representation.
  5108  //
  5109  // API parameter values that are decorated as "sensitive" in the API will not
  5110  // be included in the string output. The member name will be present, but the
  5111  // value will be replaced with "sensitive".
  5112  func (s DeletePermissionSetOutput) String() string {
  5113  	return awsutil.Prettify(s)
  5114  }
  5115  
  5116  // GoString returns the string representation.
  5117  //
  5118  // API parameter values that are decorated as "sensitive" in the API will not
  5119  // be included in the string output. The member name will be present, but the
  5120  // value will be replaced with "sensitive".
  5121  func (s DeletePermissionSetOutput) GoString() string {
  5122  	return s.String()
  5123  }
  5124  
  5125  type DescribeAccountAssignmentCreationStatusInput struct {
  5126  	_ struct{} `type:"structure"`
  5127  
  5128  	// The identifier that is used to track the request operation progress.
  5129  	//
  5130  	// AccountAssignmentCreationRequestId is a required field
  5131  	AccountAssignmentCreationRequestId *string `type:"string" required:"true"`
  5132  
  5133  	// The ARN of the SSO instance under which the operation will be executed. For
  5134  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  5135  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  5136  	// in the Amazon Web Services General Reference.
  5137  	//
  5138  	// InstanceArn is a required field
  5139  	InstanceArn *string `min:"10" type:"string" required:"true"`
  5140  }
  5141  
  5142  // String returns the string representation.
  5143  //
  5144  // API parameter values that are decorated as "sensitive" in the API will not
  5145  // be included in the string output. The member name will be present, but the
  5146  // value will be replaced with "sensitive".
  5147  func (s DescribeAccountAssignmentCreationStatusInput) String() string {
  5148  	return awsutil.Prettify(s)
  5149  }
  5150  
  5151  // GoString returns the string representation.
  5152  //
  5153  // API parameter values that are decorated as "sensitive" in the API will not
  5154  // be included in the string output. The member name will be present, but the
  5155  // value will be replaced with "sensitive".
  5156  func (s DescribeAccountAssignmentCreationStatusInput) GoString() string {
  5157  	return s.String()
  5158  }
  5159  
  5160  // Validate inspects the fields of the type to determine if they are valid.
  5161  func (s *DescribeAccountAssignmentCreationStatusInput) Validate() error {
  5162  	invalidParams := request.ErrInvalidParams{Context: "DescribeAccountAssignmentCreationStatusInput"}
  5163  	if s.AccountAssignmentCreationRequestId == nil {
  5164  		invalidParams.Add(request.NewErrParamRequired("AccountAssignmentCreationRequestId"))
  5165  	}
  5166  	if s.InstanceArn == nil {
  5167  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  5168  	}
  5169  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  5170  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  5171  	}
  5172  
  5173  	if invalidParams.Len() > 0 {
  5174  		return invalidParams
  5175  	}
  5176  	return nil
  5177  }
  5178  
  5179  // SetAccountAssignmentCreationRequestId sets the AccountAssignmentCreationRequestId field's value.
  5180  func (s *DescribeAccountAssignmentCreationStatusInput) SetAccountAssignmentCreationRequestId(v string) *DescribeAccountAssignmentCreationStatusInput {
  5181  	s.AccountAssignmentCreationRequestId = &v
  5182  	return s
  5183  }
  5184  
  5185  // SetInstanceArn sets the InstanceArn field's value.
  5186  func (s *DescribeAccountAssignmentCreationStatusInput) SetInstanceArn(v string) *DescribeAccountAssignmentCreationStatusInput {
  5187  	s.InstanceArn = &v
  5188  	return s
  5189  }
  5190  
  5191  type DescribeAccountAssignmentCreationStatusOutput struct {
  5192  	_ struct{} `type:"structure"`
  5193  
  5194  	// The status object for the account assignment creation operation.
  5195  	AccountAssignmentCreationStatus *AccountAssignmentOperationStatus `type:"structure"`
  5196  }
  5197  
  5198  // String returns the string representation.
  5199  //
  5200  // API parameter values that are decorated as "sensitive" in the API will not
  5201  // be included in the string output. The member name will be present, but the
  5202  // value will be replaced with "sensitive".
  5203  func (s DescribeAccountAssignmentCreationStatusOutput) String() string {
  5204  	return awsutil.Prettify(s)
  5205  }
  5206  
  5207  // GoString returns the string representation.
  5208  //
  5209  // API parameter values that are decorated as "sensitive" in the API will not
  5210  // be included in the string output. The member name will be present, but the
  5211  // value will be replaced with "sensitive".
  5212  func (s DescribeAccountAssignmentCreationStatusOutput) GoString() string {
  5213  	return s.String()
  5214  }
  5215  
  5216  // SetAccountAssignmentCreationStatus sets the AccountAssignmentCreationStatus field's value.
  5217  func (s *DescribeAccountAssignmentCreationStatusOutput) SetAccountAssignmentCreationStatus(v *AccountAssignmentOperationStatus) *DescribeAccountAssignmentCreationStatusOutput {
  5218  	s.AccountAssignmentCreationStatus = v
  5219  	return s
  5220  }
  5221  
  5222  type DescribeAccountAssignmentDeletionStatusInput struct {
  5223  	_ struct{} `type:"structure"`
  5224  
  5225  	// The identifier that is used to track the request operation progress.
  5226  	//
  5227  	// AccountAssignmentDeletionRequestId is a required field
  5228  	AccountAssignmentDeletionRequestId *string `type:"string" required:"true"`
  5229  
  5230  	// The ARN of the SSO instance under which the operation will be executed. For
  5231  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  5232  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  5233  	// in the Amazon Web Services General Reference.
  5234  	//
  5235  	// InstanceArn is a required field
  5236  	InstanceArn *string `min:"10" type:"string" required:"true"`
  5237  }
  5238  
  5239  // String returns the string representation.
  5240  //
  5241  // API parameter values that are decorated as "sensitive" in the API will not
  5242  // be included in the string output. The member name will be present, but the
  5243  // value will be replaced with "sensitive".
  5244  func (s DescribeAccountAssignmentDeletionStatusInput) String() string {
  5245  	return awsutil.Prettify(s)
  5246  }
  5247  
  5248  // GoString returns the string representation.
  5249  //
  5250  // API parameter values that are decorated as "sensitive" in the API will not
  5251  // be included in the string output. The member name will be present, but the
  5252  // value will be replaced with "sensitive".
  5253  func (s DescribeAccountAssignmentDeletionStatusInput) GoString() string {
  5254  	return s.String()
  5255  }
  5256  
  5257  // Validate inspects the fields of the type to determine if they are valid.
  5258  func (s *DescribeAccountAssignmentDeletionStatusInput) Validate() error {
  5259  	invalidParams := request.ErrInvalidParams{Context: "DescribeAccountAssignmentDeletionStatusInput"}
  5260  	if s.AccountAssignmentDeletionRequestId == nil {
  5261  		invalidParams.Add(request.NewErrParamRequired("AccountAssignmentDeletionRequestId"))
  5262  	}
  5263  	if s.InstanceArn == nil {
  5264  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  5265  	}
  5266  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  5267  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  5268  	}
  5269  
  5270  	if invalidParams.Len() > 0 {
  5271  		return invalidParams
  5272  	}
  5273  	return nil
  5274  }
  5275  
  5276  // SetAccountAssignmentDeletionRequestId sets the AccountAssignmentDeletionRequestId field's value.
  5277  func (s *DescribeAccountAssignmentDeletionStatusInput) SetAccountAssignmentDeletionRequestId(v string) *DescribeAccountAssignmentDeletionStatusInput {
  5278  	s.AccountAssignmentDeletionRequestId = &v
  5279  	return s
  5280  }
  5281  
  5282  // SetInstanceArn sets the InstanceArn field's value.
  5283  func (s *DescribeAccountAssignmentDeletionStatusInput) SetInstanceArn(v string) *DescribeAccountAssignmentDeletionStatusInput {
  5284  	s.InstanceArn = &v
  5285  	return s
  5286  }
  5287  
  5288  type DescribeAccountAssignmentDeletionStatusOutput struct {
  5289  	_ struct{} `type:"structure"`
  5290  
  5291  	// The status object for the account assignment deletion operation.
  5292  	AccountAssignmentDeletionStatus *AccountAssignmentOperationStatus `type:"structure"`
  5293  }
  5294  
  5295  // String returns the string representation.
  5296  //
  5297  // API parameter values that are decorated as "sensitive" in the API will not
  5298  // be included in the string output. The member name will be present, but the
  5299  // value will be replaced with "sensitive".
  5300  func (s DescribeAccountAssignmentDeletionStatusOutput) String() string {
  5301  	return awsutil.Prettify(s)
  5302  }
  5303  
  5304  // GoString returns the string representation.
  5305  //
  5306  // API parameter values that are decorated as "sensitive" in the API will not
  5307  // be included in the string output. The member name will be present, but the
  5308  // value will be replaced with "sensitive".
  5309  func (s DescribeAccountAssignmentDeletionStatusOutput) GoString() string {
  5310  	return s.String()
  5311  }
  5312  
  5313  // SetAccountAssignmentDeletionStatus sets the AccountAssignmentDeletionStatus field's value.
  5314  func (s *DescribeAccountAssignmentDeletionStatusOutput) SetAccountAssignmentDeletionStatus(v *AccountAssignmentOperationStatus) *DescribeAccountAssignmentDeletionStatusOutput {
  5315  	s.AccountAssignmentDeletionStatus = v
  5316  	return s
  5317  }
  5318  
  5319  type DescribeInstanceAccessControlAttributeConfigurationInput struct {
  5320  	_ struct{} `type:"structure"`
  5321  
  5322  	// The ARN of the SSO instance under which the operation will be executed.
  5323  	//
  5324  	// InstanceArn is a required field
  5325  	InstanceArn *string `min:"10" type:"string" required:"true"`
  5326  }
  5327  
  5328  // String returns the string representation.
  5329  //
  5330  // API parameter values that are decorated as "sensitive" in the API will not
  5331  // be included in the string output. The member name will be present, but the
  5332  // value will be replaced with "sensitive".
  5333  func (s DescribeInstanceAccessControlAttributeConfigurationInput) String() string {
  5334  	return awsutil.Prettify(s)
  5335  }
  5336  
  5337  // GoString returns the string representation.
  5338  //
  5339  // API parameter values that are decorated as "sensitive" in the API will not
  5340  // be included in the string output. The member name will be present, but the
  5341  // value will be replaced with "sensitive".
  5342  func (s DescribeInstanceAccessControlAttributeConfigurationInput) GoString() string {
  5343  	return s.String()
  5344  }
  5345  
  5346  // Validate inspects the fields of the type to determine if they are valid.
  5347  func (s *DescribeInstanceAccessControlAttributeConfigurationInput) Validate() error {
  5348  	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAccessControlAttributeConfigurationInput"}
  5349  	if s.InstanceArn == nil {
  5350  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  5351  	}
  5352  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  5353  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  5354  	}
  5355  
  5356  	if invalidParams.Len() > 0 {
  5357  		return invalidParams
  5358  	}
  5359  	return nil
  5360  }
  5361  
  5362  // SetInstanceArn sets the InstanceArn field's value.
  5363  func (s *DescribeInstanceAccessControlAttributeConfigurationInput) SetInstanceArn(v string) *DescribeInstanceAccessControlAttributeConfigurationInput {
  5364  	s.InstanceArn = &v
  5365  	return s
  5366  }
  5367  
  5368  type DescribeInstanceAccessControlAttributeConfigurationOutput struct {
  5369  	_ struct{} `type:"structure"`
  5370  
  5371  	// Gets the list of Amazon Web Services SSO identity store attributes that have
  5372  	// been added to your ABAC configuration.
  5373  	InstanceAccessControlAttributeConfiguration *InstanceAccessControlAttributeConfiguration `type:"structure"`
  5374  
  5375  	// The status of the attribute configuration process.
  5376  	Status *string `type:"string" enum:"InstanceAccessControlAttributeConfigurationStatus"`
  5377  
  5378  	// Provides more details about the current status of the specified attribute.
  5379  	StatusReason *string `type:"string"`
  5380  }
  5381  
  5382  // String returns the string representation.
  5383  //
  5384  // API parameter values that are decorated as "sensitive" in the API will not
  5385  // be included in the string output. The member name will be present, but the
  5386  // value will be replaced with "sensitive".
  5387  func (s DescribeInstanceAccessControlAttributeConfigurationOutput) String() string {
  5388  	return awsutil.Prettify(s)
  5389  }
  5390  
  5391  // GoString returns the string representation.
  5392  //
  5393  // API parameter values that are decorated as "sensitive" in the API will not
  5394  // be included in the string output. The member name will be present, but the
  5395  // value will be replaced with "sensitive".
  5396  func (s DescribeInstanceAccessControlAttributeConfigurationOutput) GoString() string {
  5397  	return s.String()
  5398  }
  5399  
  5400  // SetInstanceAccessControlAttributeConfiguration sets the InstanceAccessControlAttributeConfiguration field's value.
  5401  func (s *DescribeInstanceAccessControlAttributeConfigurationOutput) SetInstanceAccessControlAttributeConfiguration(v *InstanceAccessControlAttributeConfiguration) *DescribeInstanceAccessControlAttributeConfigurationOutput {
  5402  	s.InstanceAccessControlAttributeConfiguration = v
  5403  	return s
  5404  }
  5405  
  5406  // SetStatus sets the Status field's value.
  5407  func (s *DescribeInstanceAccessControlAttributeConfigurationOutput) SetStatus(v string) *DescribeInstanceAccessControlAttributeConfigurationOutput {
  5408  	s.Status = &v
  5409  	return s
  5410  }
  5411  
  5412  // SetStatusReason sets the StatusReason field's value.
  5413  func (s *DescribeInstanceAccessControlAttributeConfigurationOutput) SetStatusReason(v string) *DescribeInstanceAccessControlAttributeConfigurationOutput {
  5414  	s.StatusReason = &v
  5415  	return s
  5416  }
  5417  
  5418  type DescribePermissionSetInput struct {
  5419  	_ struct{} `type:"structure"`
  5420  
  5421  	// The ARN of the SSO instance under which the operation will be executed. For
  5422  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  5423  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  5424  	// in the Amazon Web Services General Reference.
  5425  	//
  5426  	// InstanceArn is a required field
  5427  	InstanceArn *string `min:"10" type:"string" required:"true"`
  5428  
  5429  	// The ARN of the permission set.
  5430  	//
  5431  	// PermissionSetArn is a required field
  5432  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  5433  }
  5434  
  5435  // String returns the string representation.
  5436  //
  5437  // API parameter values that are decorated as "sensitive" in the API will not
  5438  // be included in the string output. The member name will be present, but the
  5439  // value will be replaced with "sensitive".
  5440  func (s DescribePermissionSetInput) String() string {
  5441  	return awsutil.Prettify(s)
  5442  }
  5443  
  5444  // GoString returns the string representation.
  5445  //
  5446  // API parameter values that are decorated as "sensitive" in the API will not
  5447  // be included in the string output. The member name will be present, but the
  5448  // value will be replaced with "sensitive".
  5449  func (s DescribePermissionSetInput) GoString() string {
  5450  	return s.String()
  5451  }
  5452  
  5453  // Validate inspects the fields of the type to determine if they are valid.
  5454  func (s *DescribePermissionSetInput) Validate() error {
  5455  	invalidParams := request.ErrInvalidParams{Context: "DescribePermissionSetInput"}
  5456  	if s.InstanceArn == nil {
  5457  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  5458  	}
  5459  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  5460  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  5461  	}
  5462  	if s.PermissionSetArn == nil {
  5463  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  5464  	}
  5465  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  5466  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  5467  	}
  5468  
  5469  	if invalidParams.Len() > 0 {
  5470  		return invalidParams
  5471  	}
  5472  	return nil
  5473  }
  5474  
  5475  // SetInstanceArn sets the InstanceArn field's value.
  5476  func (s *DescribePermissionSetInput) SetInstanceArn(v string) *DescribePermissionSetInput {
  5477  	s.InstanceArn = &v
  5478  	return s
  5479  }
  5480  
  5481  // SetPermissionSetArn sets the PermissionSetArn field's value.
  5482  func (s *DescribePermissionSetInput) SetPermissionSetArn(v string) *DescribePermissionSetInput {
  5483  	s.PermissionSetArn = &v
  5484  	return s
  5485  }
  5486  
  5487  type DescribePermissionSetOutput struct {
  5488  	_ struct{} `type:"structure"`
  5489  
  5490  	// Describes the level of access on an Amazon Web Services account.
  5491  	PermissionSet *PermissionSet `type:"structure"`
  5492  }
  5493  
  5494  // String returns the string representation.
  5495  //
  5496  // API parameter values that are decorated as "sensitive" in the API will not
  5497  // be included in the string output. The member name will be present, but the
  5498  // value will be replaced with "sensitive".
  5499  func (s DescribePermissionSetOutput) String() string {
  5500  	return awsutil.Prettify(s)
  5501  }
  5502  
  5503  // GoString returns the string representation.
  5504  //
  5505  // API parameter values that are decorated as "sensitive" in the API will not
  5506  // be included in the string output. The member name will be present, but the
  5507  // value will be replaced with "sensitive".
  5508  func (s DescribePermissionSetOutput) GoString() string {
  5509  	return s.String()
  5510  }
  5511  
  5512  // SetPermissionSet sets the PermissionSet field's value.
  5513  func (s *DescribePermissionSetOutput) SetPermissionSet(v *PermissionSet) *DescribePermissionSetOutput {
  5514  	s.PermissionSet = v
  5515  	return s
  5516  }
  5517  
  5518  type DescribePermissionSetProvisioningStatusInput struct {
  5519  	_ struct{} `type:"structure"`
  5520  
  5521  	// The ARN of the SSO instance under which the operation will be executed. For
  5522  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  5523  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  5524  	// in the Amazon Web Services General Reference.
  5525  	//
  5526  	// InstanceArn is a required field
  5527  	InstanceArn *string `min:"10" type:"string" required:"true"`
  5528  
  5529  	// The identifier that is provided by the ProvisionPermissionSet call to retrieve
  5530  	// the current status of the provisioning workflow.
  5531  	//
  5532  	// ProvisionPermissionSetRequestId is a required field
  5533  	ProvisionPermissionSetRequestId *string `type:"string" required:"true"`
  5534  }
  5535  
  5536  // String returns the string representation.
  5537  //
  5538  // API parameter values that are decorated as "sensitive" in the API will not
  5539  // be included in the string output. The member name will be present, but the
  5540  // value will be replaced with "sensitive".
  5541  func (s DescribePermissionSetProvisioningStatusInput) String() string {
  5542  	return awsutil.Prettify(s)
  5543  }
  5544  
  5545  // GoString returns the string representation.
  5546  //
  5547  // API parameter values that are decorated as "sensitive" in the API will not
  5548  // be included in the string output. The member name will be present, but the
  5549  // value will be replaced with "sensitive".
  5550  func (s DescribePermissionSetProvisioningStatusInput) GoString() string {
  5551  	return s.String()
  5552  }
  5553  
  5554  // Validate inspects the fields of the type to determine if they are valid.
  5555  func (s *DescribePermissionSetProvisioningStatusInput) Validate() error {
  5556  	invalidParams := request.ErrInvalidParams{Context: "DescribePermissionSetProvisioningStatusInput"}
  5557  	if s.InstanceArn == nil {
  5558  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  5559  	}
  5560  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  5561  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  5562  	}
  5563  	if s.ProvisionPermissionSetRequestId == nil {
  5564  		invalidParams.Add(request.NewErrParamRequired("ProvisionPermissionSetRequestId"))
  5565  	}
  5566  
  5567  	if invalidParams.Len() > 0 {
  5568  		return invalidParams
  5569  	}
  5570  	return nil
  5571  }
  5572  
  5573  // SetInstanceArn sets the InstanceArn field's value.
  5574  func (s *DescribePermissionSetProvisioningStatusInput) SetInstanceArn(v string) *DescribePermissionSetProvisioningStatusInput {
  5575  	s.InstanceArn = &v
  5576  	return s
  5577  }
  5578  
  5579  // SetProvisionPermissionSetRequestId sets the ProvisionPermissionSetRequestId field's value.
  5580  func (s *DescribePermissionSetProvisioningStatusInput) SetProvisionPermissionSetRequestId(v string) *DescribePermissionSetProvisioningStatusInput {
  5581  	s.ProvisionPermissionSetRequestId = &v
  5582  	return s
  5583  }
  5584  
  5585  type DescribePermissionSetProvisioningStatusOutput struct {
  5586  	_ struct{} `type:"structure"`
  5587  
  5588  	// The status object for the permission set provisioning operation.
  5589  	PermissionSetProvisioningStatus *PermissionSetProvisioningStatus `type:"structure"`
  5590  }
  5591  
  5592  // String returns the string representation.
  5593  //
  5594  // API parameter values that are decorated as "sensitive" in the API will not
  5595  // be included in the string output. The member name will be present, but the
  5596  // value will be replaced with "sensitive".
  5597  func (s DescribePermissionSetProvisioningStatusOutput) String() string {
  5598  	return awsutil.Prettify(s)
  5599  }
  5600  
  5601  // GoString returns the string representation.
  5602  //
  5603  // API parameter values that are decorated as "sensitive" in the API will not
  5604  // be included in the string output. The member name will be present, but the
  5605  // value will be replaced with "sensitive".
  5606  func (s DescribePermissionSetProvisioningStatusOutput) GoString() string {
  5607  	return s.String()
  5608  }
  5609  
  5610  // SetPermissionSetProvisioningStatus sets the PermissionSetProvisioningStatus field's value.
  5611  func (s *DescribePermissionSetProvisioningStatusOutput) SetPermissionSetProvisioningStatus(v *PermissionSetProvisioningStatus) *DescribePermissionSetProvisioningStatusOutput {
  5612  	s.PermissionSetProvisioningStatus = v
  5613  	return s
  5614  }
  5615  
  5616  type DetachManagedPolicyFromPermissionSetInput struct {
  5617  	_ struct{} `type:"structure"`
  5618  
  5619  	// The ARN of the SSO instance under which the operation will be executed. For
  5620  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  5621  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  5622  	// in the Amazon Web Services General Reference.
  5623  	//
  5624  	// InstanceArn is a required field
  5625  	InstanceArn *string `min:"10" type:"string" required:"true"`
  5626  
  5627  	// The IAM managed policy ARN to be attached to a permission set.
  5628  	//
  5629  	// ManagedPolicyArn is a required field
  5630  	ManagedPolicyArn *string `min:"20" type:"string" required:"true"`
  5631  
  5632  	// The ARN of the PermissionSet from which the policy should be detached.
  5633  	//
  5634  	// PermissionSetArn is a required field
  5635  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  5636  }
  5637  
  5638  // String returns the string representation.
  5639  //
  5640  // API parameter values that are decorated as "sensitive" in the API will not
  5641  // be included in the string output. The member name will be present, but the
  5642  // value will be replaced with "sensitive".
  5643  func (s DetachManagedPolicyFromPermissionSetInput) String() string {
  5644  	return awsutil.Prettify(s)
  5645  }
  5646  
  5647  // GoString returns the string representation.
  5648  //
  5649  // API parameter values that are decorated as "sensitive" in the API will not
  5650  // be included in the string output. The member name will be present, but the
  5651  // value will be replaced with "sensitive".
  5652  func (s DetachManagedPolicyFromPermissionSetInput) GoString() string {
  5653  	return s.String()
  5654  }
  5655  
  5656  // Validate inspects the fields of the type to determine if they are valid.
  5657  func (s *DetachManagedPolicyFromPermissionSetInput) Validate() error {
  5658  	invalidParams := request.ErrInvalidParams{Context: "DetachManagedPolicyFromPermissionSetInput"}
  5659  	if s.InstanceArn == nil {
  5660  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  5661  	}
  5662  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  5663  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  5664  	}
  5665  	if s.ManagedPolicyArn == nil {
  5666  		invalidParams.Add(request.NewErrParamRequired("ManagedPolicyArn"))
  5667  	}
  5668  	if s.ManagedPolicyArn != nil && len(*s.ManagedPolicyArn) < 20 {
  5669  		invalidParams.Add(request.NewErrParamMinLen("ManagedPolicyArn", 20))
  5670  	}
  5671  	if s.PermissionSetArn == nil {
  5672  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  5673  	}
  5674  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  5675  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  5676  	}
  5677  
  5678  	if invalidParams.Len() > 0 {
  5679  		return invalidParams
  5680  	}
  5681  	return nil
  5682  }
  5683  
  5684  // SetInstanceArn sets the InstanceArn field's value.
  5685  func (s *DetachManagedPolicyFromPermissionSetInput) SetInstanceArn(v string) *DetachManagedPolicyFromPermissionSetInput {
  5686  	s.InstanceArn = &v
  5687  	return s
  5688  }
  5689  
  5690  // SetManagedPolicyArn sets the ManagedPolicyArn field's value.
  5691  func (s *DetachManagedPolicyFromPermissionSetInput) SetManagedPolicyArn(v string) *DetachManagedPolicyFromPermissionSetInput {
  5692  	s.ManagedPolicyArn = &v
  5693  	return s
  5694  }
  5695  
  5696  // SetPermissionSetArn sets the PermissionSetArn field's value.
  5697  func (s *DetachManagedPolicyFromPermissionSetInput) SetPermissionSetArn(v string) *DetachManagedPolicyFromPermissionSetInput {
  5698  	s.PermissionSetArn = &v
  5699  	return s
  5700  }
  5701  
  5702  type DetachManagedPolicyFromPermissionSetOutput struct {
  5703  	_ struct{} `type:"structure"`
  5704  }
  5705  
  5706  // String returns the string representation.
  5707  //
  5708  // API parameter values that are decorated as "sensitive" in the API will not
  5709  // be included in the string output. The member name will be present, but the
  5710  // value will be replaced with "sensitive".
  5711  func (s DetachManagedPolicyFromPermissionSetOutput) String() string {
  5712  	return awsutil.Prettify(s)
  5713  }
  5714  
  5715  // GoString returns the string representation.
  5716  //
  5717  // API parameter values that are decorated as "sensitive" in the API will not
  5718  // be included in the string output. The member name will be present, but the
  5719  // value will be replaced with "sensitive".
  5720  func (s DetachManagedPolicyFromPermissionSetOutput) GoString() string {
  5721  	return s.String()
  5722  }
  5723  
  5724  type GetInlinePolicyForPermissionSetInput struct {
  5725  	_ struct{} `type:"structure"`
  5726  
  5727  	// The ARN of the SSO instance under which the operation will be executed. For
  5728  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  5729  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  5730  	// in the Amazon Web Services General Reference.
  5731  	//
  5732  	// InstanceArn is a required field
  5733  	InstanceArn *string `min:"10" type:"string" required:"true"`
  5734  
  5735  	// The ARN of the permission set.
  5736  	//
  5737  	// PermissionSetArn is a required field
  5738  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  5739  }
  5740  
  5741  // String returns the string representation.
  5742  //
  5743  // API parameter values that are decorated as "sensitive" in the API will not
  5744  // be included in the string output. The member name will be present, but the
  5745  // value will be replaced with "sensitive".
  5746  func (s GetInlinePolicyForPermissionSetInput) String() string {
  5747  	return awsutil.Prettify(s)
  5748  }
  5749  
  5750  // GoString returns the string representation.
  5751  //
  5752  // API parameter values that are decorated as "sensitive" in the API will not
  5753  // be included in the string output. The member name will be present, but the
  5754  // value will be replaced with "sensitive".
  5755  func (s GetInlinePolicyForPermissionSetInput) GoString() string {
  5756  	return s.String()
  5757  }
  5758  
  5759  // Validate inspects the fields of the type to determine if they are valid.
  5760  func (s *GetInlinePolicyForPermissionSetInput) Validate() error {
  5761  	invalidParams := request.ErrInvalidParams{Context: "GetInlinePolicyForPermissionSetInput"}
  5762  	if s.InstanceArn == nil {
  5763  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  5764  	}
  5765  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  5766  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  5767  	}
  5768  	if s.PermissionSetArn == nil {
  5769  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  5770  	}
  5771  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  5772  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  5773  	}
  5774  
  5775  	if invalidParams.Len() > 0 {
  5776  		return invalidParams
  5777  	}
  5778  	return nil
  5779  }
  5780  
  5781  // SetInstanceArn sets the InstanceArn field's value.
  5782  func (s *GetInlinePolicyForPermissionSetInput) SetInstanceArn(v string) *GetInlinePolicyForPermissionSetInput {
  5783  	s.InstanceArn = &v
  5784  	return s
  5785  }
  5786  
  5787  // SetPermissionSetArn sets the PermissionSetArn field's value.
  5788  func (s *GetInlinePolicyForPermissionSetInput) SetPermissionSetArn(v string) *GetInlinePolicyForPermissionSetInput {
  5789  	s.PermissionSetArn = &v
  5790  	return s
  5791  }
  5792  
  5793  type GetInlinePolicyForPermissionSetOutput struct {
  5794  	_ struct{} `type:"structure"`
  5795  
  5796  	// The IAM inline policy that is attached to the permission set.
  5797  	//
  5798  	// InlinePolicy is a sensitive parameter and its value will be
  5799  	// replaced with "sensitive" in string returned by GetInlinePolicyForPermissionSetOutput's
  5800  	// String and GoString methods.
  5801  	InlinePolicy *string `min:"1" type:"string" sensitive:"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 GetInlinePolicyForPermissionSetOutput) 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 GetInlinePolicyForPermissionSetOutput) GoString() string {
  5819  	return s.String()
  5820  }
  5821  
  5822  // SetInlinePolicy sets the InlinePolicy field's value.
  5823  func (s *GetInlinePolicyForPermissionSetOutput) SetInlinePolicy(v string) *GetInlinePolicyForPermissionSetOutput {
  5824  	s.InlinePolicy = &v
  5825  	return s
  5826  }
  5827  
  5828  // Specifies the attributes to add to your attribute-based access control (ABAC)
  5829  // configuration.
  5830  type InstanceAccessControlAttributeConfiguration struct {
  5831  	_ struct{} `type:"structure"`
  5832  
  5833  	// Lists the attributes that are configured for ABAC in the specified Amazon
  5834  	// Web Services SSO instance.
  5835  	//
  5836  	// AccessControlAttributes is a required field
  5837  	AccessControlAttributes []*AccessControlAttribute `type:"list" required:"true"`
  5838  }
  5839  
  5840  // String returns the string representation.
  5841  //
  5842  // API parameter values that are decorated as "sensitive" in the API will not
  5843  // be included in the string output. The member name will be present, but the
  5844  // value will be replaced with "sensitive".
  5845  func (s InstanceAccessControlAttributeConfiguration) String() string {
  5846  	return awsutil.Prettify(s)
  5847  }
  5848  
  5849  // GoString returns the string representation.
  5850  //
  5851  // API parameter values that are decorated as "sensitive" in the API will not
  5852  // be included in the string output. The member name will be present, but the
  5853  // value will be replaced with "sensitive".
  5854  func (s InstanceAccessControlAttributeConfiguration) GoString() string {
  5855  	return s.String()
  5856  }
  5857  
  5858  // Validate inspects the fields of the type to determine if they are valid.
  5859  func (s *InstanceAccessControlAttributeConfiguration) Validate() error {
  5860  	invalidParams := request.ErrInvalidParams{Context: "InstanceAccessControlAttributeConfiguration"}
  5861  	if s.AccessControlAttributes == nil {
  5862  		invalidParams.Add(request.NewErrParamRequired("AccessControlAttributes"))
  5863  	}
  5864  	if s.AccessControlAttributes != nil {
  5865  		for i, v := range s.AccessControlAttributes {
  5866  			if v == nil {
  5867  				continue
  5868  			}
  5869  			if err := v.Validate(); err != nil {
  5870  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlAttributes", i), err.(request.ErrInvalidParams))
  5871  			}
  5872  		}
  5873  	}
  5874  
  5875  	if invalidParams.Len() > 0 {
  5876  		return invalidParams
  5877  	}
  5878  	return nil
  5879  }
  5880  
  5881  // SetAccessControlAttributes sets the AccessControlAttributes field's value.
  5882  func (s *InstanceAccessControlAttributeConfiguration) SetAccessControlAttributes(v []*AccessControlAttribute) *InstanceAccessControlAttributeConfiguration {
  5883  	s.AccessControlAttributes = v
  5884  	return s
  5885  }
  5886  
  5887  // Provides information about the SSO instance.
  5888  type InstanceMetadata struct {
  5889  	_ struct{} `type:"structure"`
  5890  
  5891  	// The identifier of the identity store that is connected to the SSO instance.
  5892  	IdentityStoreId *string `min:"1" type:"string"`
  5893  
  5894  	// The ARN of the SSO instance under which the operation will be executed. For
  5895  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  5896  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  5897  	// in the Amazon Web Services General Reference.
  5898  	InstanceArn *string `min:"10" type:"string"`
  5899  }
  5900  
  5901  // String returns the string representation.
  5902  //
  5903  // API parameter values that are decorated as "sensitive" in the API will not
  5904  // be included in the string output. The member name will be present, but the
  5905  // value will be replaced with "sensitive".
  5906  func (s InstanceMetadata) String() string {
  5907  	return awsutil.Prettify(s)
  5908  }
  5909  
  5910  // GoString returns the string representation.
  5911  //
  5912  // API parameter values that are decorated as "sensitive" in the API will not
  5913  // be included in the string output. The member name will be present, but the
  5914  // value will be replaced with "sensitive".
  5915  func (s InstanceMetadata) GoString() string {
  5916  	return s.String()
  5917  }
  5918  
  5919  // SetIdentityStoreId sets the IdentityStoreId field's value.
  5920  func (s *InstanceMetadata) SetIdentityStoreId(v string) *InstanceMetadata {
  5921  	s.IdentityStoreId = &v
  5922  	return s
  5923  }
  5924  
  5925  // SetInstanceArn sets the InstanceArn field's value.
  5926  func (s *InstanceMetadata) SetInstanceArn(v string) *InstanceMetadata {
  5927  	s.InstanceArn = &v
  5928  	return s
  5929  }
  5930  
  5931  // The request processing has failed because of an unknown error, exception,
  5932  // or failure with an internal server.
  5933  type InternalServerException struct {
  5934  	_            struct{}                  `type:"structure"`
  5935  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5936  
  5937  	Message_ *string `locationName:"Message" type:"string"`
  5938  }
  5939  
  5940  // String returns the string representation.
  5941  //
  5942  // API parameter values that are decorated as "sensitive" in the API will not
  5943  // be included in the string output. The member name will be present, but the
  5944  // value will be replaced with "sensitive".
  5945  func (s InternalServerException) String() string {
  5946  	return awsutil.Prettify(s)
  5947  }
  5948  
  5949  // GoString returns the string representation.
  5950  //
  5951  // API parameter values that are decorated as "sensitive" in the API will not
  5952  // be included in the string output. The member name will be present, but the
  5953  // value will be replaced with "sensitive".
  5954  func (s InternalServerException) GoString() string {
  5955  	return s.String()
  5956  }
  5957  
  5958  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  5959  	return &InternalServerException{
  5960  		RespMetadata: v,
  5961  	}
  5962  }
  5963  
  5964  // Code returns the exception type name.
  5965  func (s *InternalServerException) Code() string {
  5966  	return "InternalServerException"
  5967  }
  5968  
  5969  // Message returns the exception's message.
  5970  func (s *InternalServerException) Message() string {
  5971  	if s.Message_ != nil {
  5972  		return *s.Message_
  5973  	}
  5974  	return ""
  5975  }
  5976  
  5977  // OrigErr always returns nil, satisfies awserr.Error interface.
  5978  func (s *InternalServerException) OrigErr() error {
  5979  	return nil
  5980  }
  5981  
  5982  func (s *InternalServerException) Error() string {
  5983  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5984  }
  5985  
  5986  // Status code returns the HTTP status code for the request's response error.
  5987  func (s *InternalServerException) StatusCode() int {
  5988  	return s.RespMetadata.StatusCode
  5989  }
  5990  
  5991  // RequestID returns the service's response RequestID for request.
  5992  func (s *InternalServerException) RequestID() string {
  5993  	return s.RespMetadata.RequestID
  5994  }
  5995  
  5996  type ListAccountAssignmentCreationStatusInput struct {
  5997  	_ struct{} `type:"structure"`
  5998  
  5999  	// Filters results based on the passed attribute value.
  6000  	Filter *OperationStatusFilter `type:"structure"`
  6001  
  6002  	// The ARN of the SSO instance under which the operation will be executed. For
  6003  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  6004  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  6005  	// in the Amazon Web Services General Reference.
  6006  	//
  6007  	// InstanceArn is a required field
  6008  	InstanceArn *string `min:"10" type:"string" required:"true"`
  6009  
  6010  	// The maximum number of results to display for the assignment.
  6011  	MaxResults *int64 `min:"1" type:"integer"`
  6012  
  6013  	// The pagination token for the list API. Initially the value is null. Use the
  6014  	// output of previous API calls to make subsequent calls.
  6015  	NextToken *string `type:"string"`
  6016  }
  6017  
  6018  // String returns the string representation.
  6019  //
  6020  // API parameter values that are decorated as "sensitive" in the API will not
  6021  // be included in the string output. The member name will be present, but the
  6022  // value will be replaced with "sensitive".
  6023  func (s ListAccountAssignmentCreationStatusInput) String() string {
  6024  	return awsutil.Prettify(s)
  6025  }
  6026  
  6027  // GoString returns the string representation.
  6028  //
  6029  // API parameter values that are decorated as "sensitive" in the API will not
  6030  // be included in the string output. The member name will be present, but the
  6031  // value will be replaced with "sensitive".
  6032  func (s ListAccountAssignmentCreationStatusInput) GoString() string {
  6033  	return s.String()
  6034  }
  6035  
  6036  // Validate inspects the fields of the type to determine if they are valid.
  6037  func (s *ListAccountAssignmentCreationStatusInput) Validate() error {
  6038  	invalidParams := request.ErrInvalidParams{Context: "ListAccountAssignmentCreationStatusInput"}
  6039  	if s.InstanceArn == nil {
  6040  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  6041  	}
  6042  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  6043  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  6044  	}
  6045  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6046  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6047  	}
  6048  
  6049  	if invalidParams.Len() > 0 {
  6050  		return invalidParams
  6051  	}
  6052  	return nil
  6053  }
  6054  
  6055  // SetFilter sets the Filter field's value.
  6056  func (s *ListAccountAssignmentCreationStatusInput) SetFilter(v *OperationStatusFilter) *ListAccountAssignmentCreationStatusInput {
  6057  	s.Filter = v
  6058  	return s
  6059  }
  6060  
  6061  // SetInstanceArn sets the InstanceArn field's value.
  6062  func (s *ListAccountAssignmentCreationStatusInput) SetInstanceArn(v string) *ListAccountAssignmentCreationStatusInput {
  6063  	s.InstanceArn = &v
  6064  	return s
  6065  }
  6066  
  6067  // SetMaxResults sets the MaxResults field's value.
  6068  func (s *ListAccountAssignmentCreationStatusInput) SetMaxResults(v int64) *ListAccountAssignmentCreationStatusInput {
  6069  	s.MaxResults = &v
  6070  	return s
  6071  }
  6072  
  6073  // SetNextToken sets the NextToken field's value.
  6074  func (s *ListAccountAssignmentCreationStatusInput) SetNextToken(v string) *ListAccountAssignmentCreationStatusInput {
  6075  	s.NextToken = &v
  6076  	return s
  6077  }
  6078  
  6079  type ListAccountAssignmentCreationStatusOutput struct {
  6080  	_ struct{} `type:"structure"`
  6081  
  6082  	// The status object for the account assignment creation operation.
  6083  	AccountAssignmentsCreationStatus []*AccountAssignmentOperationStatusMetadata `type:"list"`
  6084  
  6085  	// The pagination token for the list API. Initially the value is null. Use the
  6086  	// output of previous API calls to make subsequent calls.
  6087  	NextToken *string `type:"string"`
  6088  }
  6089  
  6090  // String returns the string representation.
  6091  //
  6092  // API parameter values that are decorated as "sensitive" in the API will not
  6093  // be included in the string output. The member name will be present, but the
  6094  // value will be replaced with "sensitive".
  6095  func (s ListAccountAssignmentCreationStatusOutput) String() string {
  6096  	return awsutil.Prettify(s)
  6097  }
  6098  
  6099  // GoString returns the string representation.
  6100  //
  6101  // API parameter values that are decorated as "sensitive" in the API will not
  6102  // be included in the string output. The member name will be present, but the
  6103  // value will be replaced with "sensitive".
  6104  func (s ListAccountAssignmentCreationStatusOutput) GoString() string {
  6105  	return s.String()
  6106  }
  6107  
  6108  // SetAccountAssignmentsCreationStatus sets the AccountAssignmentsCreationStatus field's value.
  6109  func (s *ListAccountAssignmentCreationStatusOutput) SetAccountAssignmentsCreationStatus(v []*AccountAssignmentOperationStatusMetadata) *ListAccountAssignmentCreationStatusOutput {
  6110  	s.AccountAssignmentsCreationStatus = v
  6111  	return s
  6112  }
  6113  
  6114  // SetNextToken sets the NextToken field's value.
  6115  func (s *ListAccountAssignmentCreationStatusOutput) SetNextToken(v string) *ListAccountAssignmentCreationStatusOutput {
  6116  	s.NextToken = &v
  6117  	return s
  6118  }
  6119  
  6120  type ListAccountAssignmentDeletionStatusInput struct {
  6121  	_ struct{} `type:"structure"`
  6122  
  6123  	// Filters results based on the passed attribute value.
  6124  	Filter *OperationStatusFilter `type:"structure"`
  6125  
  6126  	// The ARN of the SSO instance under which the operation will be executed. For
  6127  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  6128  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  6129  	// in the Amazon Web Services General Reference.
  6130  	//
  6131  	// InstanceArn is a required field
  6132  	InstanceArn *string `min:"10" type:"string" required:"true"`
  6133  
  6134  	// The maximum number of results to display for the assignment.
  6135  	MaxResults *int64 `min:"1" type:"integer"`
  6136  
  6137  	// The pagination token for the list API. Initially the value is null. Use the
  6138  	// output of previous API calls to make subsequent calls.
  6139  	NextToken *string `type:"string"`
  6140  }
  6141  
  6142  // String returns the string representation.
  6143  //
  6144  // API parameter values that are decorated as "sensitive" in the API will not
  6145  // be included in the string output. The member name will be present, but the
  6146  // value will be replaced with "sensitive".
  6147  func (s ListAccountAssignmentDeletionStatusInput) String() string {
  6148  	return awsutil.Prettify(s)
  6149  }
  6150  
  6151  // GoString returns the string representation.
  6152  //
  6153  // API parameter values that are decorated as "sensitive" in the API will not
  6154  // be included in the string output. The member name will be present, but the
  6155  // value will be replaced with "sensitive".
  6156  func (s ListAccountAssignmentDeletionStatusInput) GoString() string {
  6157  	return s.String()
  6158  }
  6159  
  6160  // Validate inspects the fields of the type to determine if they are valid.
  6161  func (s *ListAccountAssignmentDeletionStatusInput) Validate() error {
  6162  	invalidParams := request.ErrInvalidParams{Context: "ListAccountAssignmentDeletionStatusInput"}
  6163  	if s.InstanceArn == nil {
  6164  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  6165  	}
  6166  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  6167  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  6168  	}
  6169  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6170  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6171  	}
  6172  
  6173  	if invalidParams.Len() > 0 {
  6174  		return invalidParams
  6175  	}
  6176  	return nil
  6177  }
  6178  
  6179  // SetFilter sets the Filter field's value.
  6180  func (s *ListAccountAssignmentDeletionStatusInput) SetFilter(v *OperationStatusFilter) *ListAccountAssignmentDeletionStatusInput {
  6181  	s.Filter = v
  6182  	return s
  6183  }
  6184  
  6185  // SetInstanceArn sets the InstanceArn field's value.
  6186  func (s *ListAccountAssignmentDeletionStatusInput) SetInstanceArn(v string) *ListAccountAssignmentDeletionStatusInput {
  6187  	s.InstanceArn = &v
  6188  	return s
  6189  }
  6190  
  6191  // SetMaxResults sets the MaxResults field's value.
  6192  func (s *ListAccountAssignmentDeletionStatusInput) SetMaxResults(v int64) *ListAccountAssignmentDeletionStatusInput {
  6193  	s.MaxResults = &v
  6194  	return s
  6195  }
  6196  
  6197  // SetNextToken sets the NextToken field's value.
  6198  func (s *ListAccountAssignmentDeletionStatusInput) SetNextToken(v string) *ListAccountAssignmentDeletionStatusInput {
  6199  	s.NextToken = &v
  6200  	return s
  6201  }
  6202  
  6203  type ListAccountAssignmentDeletionStatusOutput struct {
  6204  	_ struct{} `type:"structure"`
  6205  
  6206  	// The status object for the account assignment deletion operation.
  6207  	AccountAssignmentsDeletionStatus []*AccountAssignmentOperationStatusMetadata `type:"list"`
  6208  
  6209  	// The pagination token for the list API. Initially the value is null. Use the
  6210  	// output of previous API calls to make subsequent calls.
  6211  	NextToken *string `type:"string"`
  6212  }
  6213  
  6214  // String returns the string representation.
  6215  //
  6216  // API parameter values that are decorated as "sensitive" in the API will not
  6217  // be included in the string output. The member name will be present, but the
  6218  // value will be replaced with "sensitive".
  6219  func (s ListAccountAssignmentDeletionStatusOutput) String() string {
  6220  	return awsutil.Prettify(s)
  6221  }
  6222  
  6223  // GoString returns the string representation.
  6224  //
  6225  // API parameter values that are decorated as "sensitive" in the API will not
  6226  // be included in the string output. The member name will be present, but the
  6227  // value will be replaced with "sensitive".
  6228  func (s ListAccountAssignmentDeletionStatusOutput) GoString() string {
  6229  	return s.String()
  6230  }
  6231  
  6232  // SetAccountAssignmentsDeletionStatus sets the AccountAssignmentsDeletionStatus field's value.
  6233  func (s *ListAccountAssignmentDeletionStatusOutput) SetAccountAssignmentsDeletionStatus(v []*AccountAssignmentOperationStatusMetadata) *ListAccountAssignmentDeletionStatusOutput {
  6234  	s.AccountAssignmentsDeletionStatus = v
  6235  	return s
  6236  }
  6237  
  6238  // SetNextToken sets the NextToken field's value.
  6239  func (s *ListAccountAssignmentDeletionStatusOutput) SetNextToken(v string) *ListAccountAssignmentDeletionStatusOutput {
  6240  	s.NextToken = &v
  6241  	return s
  6242  }
  6243  
  6244  type ListAccountAssignmentsInput struct {
  6245  	_ struct{} `type:"structure"`
  6246  
  6247  	// The identifier of the Amazon Web Services account from which to list the
  6248  	// assignments.
  6249  	//
  6250  	// AccountId is a required field
  6251  	AccountId *string `type:"string" required:"true"`
  6252  
  6253  	// The ARN of the SSO instance under which the operation will be executed. For
  6254  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  6255  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  6256  	// in the Amazon Web Services General Reference.
  6257  	//
  6258  	// InstanceArn is a required field
  6259  	InstanceArn *string `min:"10" type:"string" required:"true"`
  6260  
  6261  	// The maximum number of results to display for the assignment.
  6262  	MaxResults *int64 `min:"1" type:"integer"`
  6263  
  6264  	// The pagination token for the list API. Initially the value is null. Use the
  6265  	// output of previous API calls to make subsequent calls.
  6266  	NextToken *string `type:"string"`
  6267  
  6268  	// The ARN of the permission set from which to list assignments.
  6269  	//
  6270  	// PermissionSetArn is a required field
  6271  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  6272  }
  6273  
  6274  // String returns the string representation.
  6275  //
  6276  // API parameter values that are decorated as "sensitive" in the API will not
  6277  // be included in the string output. The member name will be present, but the
  6278  // value will be replaced with "sensitive".
  6279  func (s ListAccountAssignmentsInput) String() string {
  6280  	return awsutil.Prettify(s)
  6281  }
  6282  
  6283  // GoString returns the string representation.
  6284  //
  6285  // API parameter values that are decorated as "sensitive" in the API will not
  6286  // be included in the string output. The member name will be present, but the
  6287  // value will be replaced with "sensitive".
  6288  func (s ListAccountAssignmentsInput) GoString() string {
  6289  	return s.String()
  6290  }
  6291  
  6292  // Validate inspects the fields of the type to determine if they are valid.
  6293  func (s *ListAccountAssignmentsInput) Validate() error {
  6294  	invalidParams := request.ErrInvalidParams{Context: "ListAccountAssignmentsInput"}
  6295  	if s.AccountId == nil {
  6296  		invalidParams.Add(request.NewErrParamRequired("AccountId"))
  6297  	}
  6298  	if s.InstanceArn == nil {
  6299  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  6300  	}
  6301  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  6302  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  6303  	}
  6304  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6305  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6306  	}
  6307  	if s.PermissionSetArn == nil {
  6308  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  6309  	}
  6310  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  6311  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  6312  	}
  6313  
  6314  	if invalidParams.Len() > 0 {
  6315  		return invalidParams
  6316  	}
  6317  	return nil
  6318  }
  6319  
  6320  // SetAccountId sets the AccountId field's value.
  6321  func (s *ListAccountAssignmentsInput) SetAccountId(v string) *ListAccountAssignmentsInput {
  6322  	s.AccountId = &v
  6323  	return s
  6324  }
  6325  
  6326  // SetInstanceArn sets the InstanceArn field's value.
  6327  func (s *ListAccountAssignmentsInput) SetInstanceArn(v string) *ListAccountAssignmentsInput {
  6328  	s.InstanceArn = &v
  6329  	return s
  6330  }
  6331  
  6332  // SetMaxResults sets the MaxResults field's value.
  6333  func (s *ListAccountAssignmentsInput) SetMaxResults(v int64) *ListAccountAssignmentsInput {
  6334  	s.MaxResults = &v
  6335  	return s
  6336  }
  6337  
  6338  // SetNextToken sets the NextToken field's value.
  6339  func (s *ListAccountAssignmentsInput) SetNextToken(v string) *ListAccountAssignmentsInput {
  6340  	s.NextToken = &v
  6341  	return s
  6342  }
  6343  
  6344  // SetPermissionSetArn sets the PermissionSetArn field's value.
  6345  func (s *ListAccountAssignmentsInput) SetPermissionSetArn(v string) *ListAccountAssignmentsInput {
  6346  	s.PermissionSetArn = &v
  6347  	return s
  6348  }
  6349  
  6350  type ListAccountAssignmentsOutput struct {
  6351  	_ struct{} `type:"structure"`
  6352  
  6353  	// The list of assignments that match the input Amazon Web Services account
  6354  	// and permission set.
  6355  	AccountAssignments []*AccountAssignment `type:"list"`
  6356  
  6357  	// The pagination token for the list API. Initially the value is null. Use the
  6358  	// output of previous API calls to make subsequent calls.
  6359  	NextToken *string `type:"string"`
  6360  }
  6361  
  6362  // String returns the string representation.
  6363  //
  6364  // API parameter values that are decorated as "sensitive" in the API will not
  6365  // be included in the string output. The member name will be present, but the
  6366  // value will be replaced with "sensitive".
  6367  func (s ListAccountAssignmentsOutput) String() string {
  6368  	return awsutil.Prettify(s)
  6369  }
  6370  
  6371  // GoString returns the string representation.
  6372  //
  6373  // API parameter values that are decorated as "sensitive" in the API will not
  6374  // be included in the string output. The member name will be present, but the
  6375  // value will be replaced with "sensitive".
  6376  func (s ListAccountAssignmentsOutput) GoString() string {
  6377  	return s.String()
  6378  }
  6379  
  6380  // SetAccountAssignments sets the AccountAssignments field's value.
  6381  func (s *ListAccountAssignmentsOutput) SetAccountAssignments(v []*AccountAssignment) *ListAccountAssignmentsOutput {
  6382  	s.AccountAssignments = v
  6383  	return s
  6384  }
  6385  
  6386  // SetNextToken sets the NextToken field's value.
  6387  func (s *ListAccountAssignmentsOutput) SetNextToken(v string) *ListAccountAssignmentsOutput {
  6388  	s.NextToken = &v
  6389  	return s
  6390  }
  6391  
  6392  type ListAccountsForProvisionedPermissionSetInput struct {
  6393  	_ struct{} `type:"structure"`
  6394  
  6395  	// The ARN of the SSO instance under which the operation will be executed. For
  6396  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  6397  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  6398  	// in the Amazon Web Services General Reference.
  6399  	//
  6400  	// InstanceArn is a required field
  6401  	InstanceArn *string `min:"10" type:"string" required:"true"`
  6402  
  6403  	// The maximum number of results to display for the PermissionSet.
  6404  	MaxResults *int64 `min:"1" type:"integer"`
  6405  
  6406  	// The pagination token for the list API. Initially the value is null. Use the
  6407  	// output of previous API calls to make subsequent calls.
  6408  	NextToken *string `type:"string"`
  6409  
  6410  	// The ARN of the PermissionSet from which the associated Amazon Web Services
  6411  	// accounts will be listed.
  6412  	//
  6413  	// PermissionSetArn is a required field
  6414  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  6415  
  6416  	// The permission set provisioning status for an Amazon Web Services account.
  6417  	ProvisioningStatus *string `type:"string" enum:"ProvisioningStatus"`
  6418  }
  6419  
  6420  // String returns the string representation.
  6421  //
  6422  // API parameter values that are decorated as "sensitive" in the API will not
  6423  // be included in the string output. The member name will be present, but the
  6424  // value will be replaced with "sensitive".
  6425  func (s ListAccountsForProvisionedPermissionSetInput) String() string {
  6426  	return awsutil.Prettify(s)
  6427  }
  6428  
  6429  // GoString returns the string representation.
  6430  //
  6431  // API parameter values that are decorated as "sensitive" in the API will not
  6432  // be included in the string output. The member name will be present, but the
  6433  // value will be replaced with "sensitive".
  6434  func (s ListAccountsForProvisionedPermissionSetInput) GoString() string {
  6435  	return s.String()
  6436  }
  6437  
  6438  // Validate inspects the fields of the type to determine if they are valid.
  6439  func (s *ListAccountsForProvisionedPermissionSetInput) Validate() error {
  6440  	invalidParams := request.ErrInvalidParams{Context: "ListAccountsForProvisionedPermissionSetInput"}
  6441  	if s.InstanceArn == nil {
  6442  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  6443  	}
  6444  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  6445  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  6446  	}
  6447  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6448  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6449  	}
  6450  	if s.PermissionSetArn == nil {
  6451  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  6452  	}
  6453  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  6454  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  6455  	}
  6456  
  6457  	if invalidParams.Len() > 0 {
  6458  		return invalidParams
  6459  	}
  6460  	return nil
  6461  }
  6462  
  6463  // SetInstanceArn sets the InstanceArn field's value.
  6464  func (s *ListAccountsForProvisionedPermissionSetInput) SetInstanceArn(v string) *ListAccountsForProvisionedPermissionSetInput {
  6465  	s.InstanceArn = &v
  6466  	return s
  6467  }
  6468  
  6469  // SetMaxResults sets the MaxResults field's value.
  6470  func (s *ListAccountsForProvisionedPermissionSetInput) SetMaxResults(v int64) *ListAccountsForProvisionedPermissionSetInput {
  6471  	s.MaxResults = &v
  6472  	return s
  6473  }
  6474  
  6475  // SetNextToken sets the NextToken field's value.
  6476  func (s *ListAccountsForProvisionedPermissionSetInput) SetNextToken(v string) *ListAccountsForProvisionedPermissionSetInput {
  6477  	s.NextToken = &v
  6478  	return s
  6479  }
  6480  
  6481  // SetPermissionSetArn sets the PermissionSetArn field's value.
  6482  func (s *ListAccountsForProvisionedPermissionSetInput) SetPermissionSetArn(v string) *ListAccountsForProvisionedPermissionSetInput {
  6483  	s.PermissionSetArn = &v
  6484  	return s
  6485  }
  6486  
  6487  // SetProvisioningStatus sets the ProvisioningStatus field's value.
  6488  func (s *ListAccountsForProvisionedPermissionSetInput) SetProvisioningStatus(v string) *ListAccountsForProvisionedPermissionSetInput {
  6489  	s.ProvisioningStatus = &v
  6490  	return s
  6491  }
  6492  
  6493  type ListAccountsForProvisionedPermissionSetOutput struct {
  6494  	_ struct{} `type:"structure"`
  6495  
  6496  	// The list of Amazon Web Services AccountIds.
  6497  	AccountIds []*string `type:"list"`
  6498  
  6499  	// The pagination token for the list API. Initially the value is null. Use the
  6500  	// output of previous API calls to make subsequent calls.
  6501  	NextToken *string `type:"string"`
  6502  }
  6503  
  6504  // String returns the string representation.
  6505  //
  6506  // API parameter values that are decorated as "sensitive" in the API will not
  6507  // be included in the string output. The member name will be present, but the
  6508  // value will be replaced with "sensitive".
  6509  func (s ListAccountsForProvisionedPermissionSetOutput) String() string {
  6510  	return awsutil.Prettify(s)
  6511  }
  6512  
  6513  // GoString returns the string representation.
  6514  //
  6515  // API parameter values that are decorated as "sensitive" in the API will not
  6516  // be included in the string output. The member name will be present, but the
  6517  // value will be replaced with "sensitive".
  6518  func (s ListAccountsForProvisionedPermissionSetOutput) GoString() string {
  6519  	return s.String()
  6520  }
  6521  
  6522  // SetAccountIds sets the AccountIds field's value.
  6523  func (s *ListAccountsForProvisionedPermissionSetOutput) SetAccountIds(v []*string) *ListAccountsForProvisionedPermissionSetOutput {
  6524  	s.AccountIds = v
  6525  	return s
  6526  }
  6527  
  6528  // SetNextToken sets the NextToken field's value.
  6529  func (s *ListAccountsForProvisionedPermissionSetOutput) SetNextToken(v string) *ListAccountsForProvisionedPermissionSetOutput {
  6530  	s.NextToken = &v
  6531  	return s
  6532  }
  6533  
  6534  type ListInstancesInput struct {
  6535  	_ struct{} `type:"structure"`
  6536  
  6537  	// The maximum number of results to display for the instance.
  6538  	MaxResults *int64 `min:"1" type:"integer"`
  6539  
  6540  	// The pagination token for the list API. Initially the value is null. Use the
  6541  	// output of previous API calls to make subsequent calls.
  6542  	NextToken *string `type:"string"`
  6543  }
  6544  
  6545  // String returns the string representation.
  6546  //
  6547  // API parameter values that are decorated as "sensitive" in the API will not
  6548  // be included in the string output. The member name will be present, but the
  6549  // value will be replaced with "sensitive".
  6550  func (s ListInstancesInput) String() string {
  6551  	return awsutil.Prettify(s)
  6552  }
  6553  
  6554  // GoString returns the string representation.
  6555  //
  6556  // API parameter values that are decorated as "sensitive" in the API will not
  6557  // be included in the string output. The member name will be present, but the
  6558  // value will be replaced with "sensitive".
  6559  func (s ListInstancesInput) GoString() string {
  6560  	return s.String()
  6561  }
  6562  
  6563  // Validate inspects the fields of the type to determine if they are valid.
  6564  func (s *ListInstancesInput) Validate() error {
  6565  	invalidParams := request.ErrInvalidParams{Context: "ListInstancesInput"}
  6566  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6567  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6568  	}
  6569  
  6570  	if invalidParams.Len() > 0 {
  6571  		return invalidParams
  6572  	}
  6573  	return nil
  6574  }
  6575  
  6576  // SetMaxResults sets the MaxResults field's value.
  6577  func (s *ListInstancesInput) SetMaxResults(v int64) *ListInstancesInput {
  6578  	s.MaxResults = &v
  6579  	return s
  6580  }
  6581  
  6582  // SetNextToken sets the NextToken field's value.
  6583  func (s *ListInstancesInput) SetNextToken(v string) *ListInstancesInput {
  6584  	s.NextToken = &v
  6585  	return s
  6586  }
  6587  
  6588  type ListInstancesOutput struct {
  6589  	_ struct{} `type:"structure"`
  6590  
  6591  	// Lists the SSO instances that the caller has access to.
  6592  	Instances []*InstanceMetadata `type:"list"`
  6593  
  6594  	// The pagination token for the list API. Initially the value is null. Use the
  6595  	// output of previous API calls to make subsequent calls.
  6596  	NextToken *string `type:"string"`
  6597  }
  6598  
  6599  // String returns the string representation.
  6600  //
  6601  // API parameter values that are decorated as "sensitive" in the API will not
  6602  // be included in the string output. The member name will be present, but the
  6603  // value will be replaced with "sensitive".
  6604  func (s ListInstancesOutput) String() string {
  6605  	return awsutil.Prettify(s)
  6606  }
  6607  
  6608  // GoString returns the string representation.
  6609  //
  6610  // API parameter values that are decorated as "sensitive" in the API will not
  6611  // be included in the string output. The member name will be present, but the
  6612  // value will be replaced with "sensitive".
  6613  func (s ListInstancesOutput) GoString() string {
  6614  	return s.String()
  6615  }
  6616  
  6617  // SetInstances sets the Instances field's value.
  6618  func (s *ListInstancesOutput) SetInstances(v []*InstanceMetadata) *ListInstancesOutput {
  6619  	s.Instances = v
  6620  	return s
  6621  }
  6622  
  6623  // SetNextToken sets the NextToken field's value.
  6624  func (s *ListInstancesOutput) SetNextToken(v string) *ListInstancesOutput {
  6625  	s.NextToken = &v
  6626  	return s
  6627  }
  6628  
  6629  type ListManagedPoliciesInPermissionSetInput struct {
  6630  	_ struct{} `type:"structure"`
  6631  
  6632  	// The ARN of the SSO instance under which the operation will be executed. For
  6633  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  6634  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  6635  	// in the Amazon Web Services General Reference.
  6636  	//
  6637  	// InstanceArn is a required field
  6638  	InstanceArn *string `min:"10" type:"string" required:"true"`
  6639  
  6640  	// The maximum number of results to display for the PermissionSet.
  6641  	MaxResults *int64 `min:"1" type:"integer"`
  6642  
  6643  	// The pagination token for the list API. Initially the value is null. Use the
  6644  	// output of previous API calls to make subsequent calls.
  6645  	NextToken *string `type:"string"`
  6646  
  6647  	// The ARN of the PermissionSet whose managed policies will be listed.
  6648  	//
  6649  	// PermissionSetArn is a required field
  6650  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  6651  }
  6652  
  6653  // String returns the string representation.
  6654  //
  6655  // API parameter values that are decorated as "sensitive" in the API will not
  6656  // be included in the string output. The member name will be present, but the
  6657  // value will be replaced with "sensitive".
  6658  func (s ListManagedPoliciesInPermissionSetInput) String() string {
  6659  	return awsutil.Prettify(s)
  6660  }
  6661  
  6662  // GoString returns the string representation.
  6663  //
  6664  // API parameter values that are decorated as "sensitive" in the API will not
  6665  // be included in the string output. The member name will be present, but the
  6666  // value will be replaced with "sensitive".
  6667  func (s ListManagedPoliciesInPermissionSetInput) GoString() string {
  6668  	return s.String()
  6669  }
  6670  
  6671  // Validate inspects the fields of the type to determine if they are valid.
  6672  func (s *ListManagedPoliciesInPermissionSetInput) Validate() error {
  6673  	invalidParams := request.ErrInvalidParams{Context: "ListManagedPoliciesInPermissionSetInput"}
  6674  	if s.InstanceArn == nil {
  6675  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  6676  	}
  6677  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  6678  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  6679  	}
  6680  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6681  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6682  	}
  6683  	if s.PermissionSetArn == nil {
  6684  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  6685  	}
  6686  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  6687  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  6688  	}
  6689  
  6690  	if invalidParams.Len() > 0 {
  6691  		return invalidParams
  6692  	}
  6693  	return nil
  6694  }
  6695  
  6696  // SetInstanceArn sets the InstanceArn field's value.
  6697  func (s *ListManagedPoliciesInPermissionSetInput) SetInstanceArn(v string) *ListManagedPoliciesInPermissionSetInput {
  6698  	s.InstanceArn = &v
  6699  	return s
  6700  }
  6701  
  6702  // SetMaxResults sets the MaxResults field's value.
  6703  func (s *ListManagedPoliciesInPermissionSetInput) SetMaxResults(v int64) *ListManagedPoliciesInPermissionSetInput {
  6704  	s.MaxResults = &v
  6705  	return s
  6706  }
  6707  
  6708  // SetNextToken sets the NextToken field's value.
  6709  func (s *ListManagedPoliciesInPermissionSetInput) SetNextToken(v string) *ListManagedPoliciesInPermissionSetInput {
  6710  	s.NextToken = &v
  6711  	return s
  6712  }
  6713  
  6714  // SetPermissionSetArn sets the PermissionSetArn field's value.
  6715  func (s *ListManagedPoliciesInPermissionSetInput) SetPermissionSetArn(v string) *ListManagedPoliciesInPermissionSetInput {
  6716  	s.PermissionSetArn = &v
  6717  	return s
  6718  }
  6719  
  6720  type ListManagedPoliciesInPermissionSetOutput struct {
  6721  	_ struct{} `type:"structure"`
  6722  
  6723  	// The array of the AttachedManagedPolicy data type object.
  6724  	AttachedManagedPolicies []*AttachedManagedPolicy `type:"list"`
  6725  
  6726  	// The pagination token for the list API. Initially the value is null. Use the
  6727  	// output of previous API calls to make subsequent calls.
  6728  	NextToken *string `type:"string"`
  6729  }
  6730  
  6731  // String returns the string representation.
  6732  //
  6733  // API parameter values that are decorated as "sensitive" in the API will not
  6734  // be included in the string output. The member name will be present, but the
  6735  // value will be replaced with "sensitive".
  6736  func (s ListManagedPoliciesInPermissionSetOutput) String() string {
  6737  	return awsutil.Prettify(s)
  6738  }
  6739  
  6740  // GoString returns the string representation.
  6741  //
  6742  // API parameter values that are decorated as "sensitive" in the API will not
  6743  // be included in the string output. The member name will be present, but the
  6744  // value will be replaced with "sensitive".
  6745  func (s ListManagedPoliciesInPermissionSetOutput) GoString() string {
  6746  	return s.String()
  6747  }
  6748  
  6749  // SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
  6750  func (s *ListManagedPoliciesInPermissionSetOutput) SetAttachedManagedPolicies(v []*AttachedManagedPolicy) *ListManagedPoliciesInPermissionSetOutput {
  6751  	s.AttachedManagedPolicies = v
  6752  	return s
  6753  }
  6754  
  6755  // SetNextToken sets the NextToken field's value.
  6756  func (s *ListManagedPoliciesInPermissionSetOutput) SetNextToken(v string) *ListManagedPoliciesInPermissionSetOutput {
  6757  	s.NextToken = &v
  6758  	return s
  6759  }
  6760  
  6761  type ListPermissionSetProvisioningStatusInput struct {
  6762  	_ struct{} `type:"structure"`
  6763  
  6764  	// Filters results based on the passed attribute value.
  6765  	Filter *OperationStatusFilter `type:"structure"`
  6766  
  6767  	// The ARN of the SSO instance under which the operation will be executed. For
  6768  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  6769  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  6770  	// in the Amazon Web Services General Reference.
  6771  	//
  6772  	// InstanceArn is a required field
  6773  	InstanceArn *string `min:"10" type:"string" required:"true"`
  6774  
  6775  	// The maximum number of results to display for the assignment.
  6776  	MaxResults *int64 `min:"1" type:"integer"`
  6777  
  6778  	// The pagination token for the list API. Initially the value is null. Use the
  6779  	// output of previous API calls to make subsequent calls.
  6780  	NextToken *string `type:"string"`
  6781  }
  6782  
  6783  // String returns the string representation.
  6784  //
  6785  // API parameter values that are decorated as "sensitive" in the API will not
  6786  // be included in the string output. The member name will be present, but the
  6787  // value will be replaced with "sensitive".
  6788  func (s ListPermissionSetProvisioningStatusInput) String() string {
  6789  	return awsutil.Prettify(s)
  6790  }
  6791  
  6792  // GoString returns the string representation.
  6793  //
  6794  // API parameter values that are decorated as "sensitive" in the API will not
  6795  // be included in the string output. The member name will be present, but the
  6796  // value will be replaced with "sensitive".
  6797  func (s ListPermissionSetProvisioningStatusInput) GoString() string {
  6798  	return s.String()
  6799  }
  6800  
  6801  // Validate inspects the fields of the type to determine if they are valid.
  6802  func (s *ListPermissionSetProvisioningStatusInput) Validate() error {
  6803  	invalidParams := request.ErrInvalidParams{Context: "ListPermissionSetProvisioningStatusInput"}
  6804  	if s.InstanceArn == nil {
  6805  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  6806  	}
  6807  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  6808  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  6809  	}
  6810  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6811  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6812  	}
  6813  
  6814  	if invalidParams.Len() > 0 {
  6815  		return invalidParams
  6816  	}
  6817  	return nil
  6818  }
  6819  
  6820  // SetFilter sets the Filter field's value.
  6821  func (s *ListPermissionSetProvisioningStatusInput) SetFilter(v *OperationStatusFilter) *ListPermissionSetProvisioningStatusInput {
  6822  	s.Filter = v
  6823  	return s
  6824  }
  6825  
  6826  // SetInstanceArn sets the InstanceArn field's value.
  6827  func (s *ListPermissionSetProvisioningStatusInput) SetInstanceArn(v string) *ListPermissionSetProvisioningStatusInput {
  6828  	s.InstanceArn = &v
  6829  	return s
  6830  }
  6831  
  6832  // SetMaxResults sets the MaxResults field's value.
  6833  func (s *ListPermissionSetProvisioningStatusInput) SetMaxResults(v int64) *ListPermissionSetProvisioningStatusInput {
  6834  	s.MaxResults = &v
  6835  	return s
  6836  }
  6837  
  6838  // SetNextToken sets the NextToken field's value.
  6839  func (s *ListPermissionSetProvisioningStatusInput) SetNextToken(v string) *ListPermissionSetProvisioningStatusInput {
  6840  	s.NextToken = &v
  6841  	return s
  6842  }
  6843  
  6844  type ListPermissionSetProvisioningStatusOutput struct {
  6845  	_ struct{} `type:"structure"`
  6846  
  6847  	// The pagination token for the list API. Initially the value is null. Use the
  6848  	// output of previous API calls to make subsequent calls.
  6849  	NextToken *string `type:"string"`
  6850  
  6851  	// The status object for the permission set provisioning operation.
  6852  	PermissionSetsProvisioningStatus []*PermissionSetProvisioningStatusMetadata `type:"list"`
  6853  }
  6854  
  6855  // String returns the string representation.
  6856  //
  6857  // API parameter values that are decorated as "sensitive" in the API will not
  6858  // be included in the string output. The member name will be present, but the
  6859  // value will be replaced with "sensitive".
  6860  func (s ListPermissionSetProvisioningStatusOutput) String() string {
  6861  	return awsutil.Prettify(s)
  6862  }
  6863  
  6864  // GoString returns the string representation.
  6865  //
  6866  // API parameter values that are decorated as "sensitive" in the API will not
  6867  // be included in the string output. The member name will be present, but the
  6868  // value will be replaced with "sensitive".
  6869  func (s ListPermissionSetProvisioningStatusOutput) GoString() string {
  6870  	return s.String()
  6871  }
  6872  
  6873  // SetNextToken sets the NextToken field's value.
  6874  func (s *ListPermissionSetProvisioningStatusOutput) SetNextToken(v string) *ListPermissionSetProvisioningStatusOutput {
  6875  	s.NextToken = &v
  6876  	return s
  6877  }
  6878  
  6879  // SetPermissionSetsProvisioningStatus sets the PermissionSetsProvisioningStatus field's value.
  6880  func (s *ListPermissionSetProvisioningStatusOutput) SetPermissionSetsProvisioningStatus(v []*PermissionSetProvisioningStatusMetadata) *ListPermissionSetProvisioningStatusOutput {
  6881  	s.PermissionSetsProvisioningStatus = v
  6882  	return s
  6883  }
  6884  
  6885  type ListPermissionSetsInput struct {
  6886  	_ struct{} `type:"structure"`
  6887  
  6888  	// The ARN of the SSO instance under which the operation will be executed. For
  6889  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  6890  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  6891  	// in the Amazon Web Services General Reference.
  6892  	//
  6893  	// InstanceArn is a required field
  6894  	InstanceArn *string `min:"10" type:"string" required:"true"`
  6895  
  6896  	// The maximum number of results to display for the assignment.
  6897  	MaxResults *int64 `min:"1" type:"integer"`
  6898  
  6899  	// The pagination token for the list API. Initially the value is null. Use the
  6900  	// output of previous API calls to make subsequent calls.
  6901  	NextToken *string `type:"string"`
  6902  }
  6903  
  6904  // String returns the string representation.
  6905  //
  6906  // API parameter values that are decorated as "sensitive" in the API will not
  6907  // be included in the string output. The member name will be present, but the
  6908  // value will be replaced with "sensitive".
  6909  func (s ListPermissionSetsInput) String() string {
  6910  	return awsutil.Prettify(s)
  6911  }
  6912  
  6913  // GoString returns the string representation.
  6914  //
  6915  // API parameter values that are decorated as "sensitive" in the API will not
  6916  // be included in the string output. The member name will be present, but the
  6917  // value will be replaced with "sensitive".
  6918  func (s ListPermissionSetsInput) GoString() string {
  6919  	return s.String()
  6920  }
  6921  
  6922  // Validate inspects the fields of the type to determine if they are valid.
  6923  func (s *ListPermissionSetsInput) Validate() error {
  6924  	invalidParams := request.ErrInvalidParams{Context: "ListPermissionSetsInput"}
  6925  	if s.InstanceArn == nil {
  6926  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  6927  	}
  6928  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  6929  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  6930  	}
  6931  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6932  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6933  	}
  6934  
  6935  	if invalidParams.Len() > 0 {
  6936  		return invalidParams
  6937  	}
  6938  	return nil
  6939  }
  6940  
  6941  // SetInstanceArn sets the InstanceArn field's value.
  6942  func (s *ListPermissionSetsInput) SetInstanceArn(v string) *ListPermissionSetsInput {
  6943  	s.InstanceArn = &v
  6944  	return s
  6945  }
  6946  
  6947  // SetMaxResults sets the MaxResults field's value.
  6948  func (s *ListPermissionSetsInput) SetMaxResults(v int64) *ListPermissionSetsInput {
  6949  	s.MaxResults = &v
  6950  	return s
  6951  }
  6952  
  6953  // SetNextToken sets the NextToken field's value.
  6954  func (s *ListPermissionSetsInput) SetNextToken(v string) *ListPermissionSetsInput {
  6955  	s.NextToken = &v
  6956  	return s
  6957  }
  6958  
  6959  type ListPermissionSetsOutput struct {
  6960  	_ struct{} `type:"structure"`
  6961  
  6962  	// The pagination token for the list API. Initially the value is null. Use the
  6963  	// output of previous API calls to make subsequent calls.
  6964  	NextToken *string `type:"string"`
  6965  
  6966  	// Defines the level of access on an Amazon Web Services account.
  6967  	PermissionSets []*string `type:"list"`
  6968  }
  6969  
  6970  // String returns the string representation.
  6971  //
  6972  // API parameter values that are decorated as "sensitive" in the API will not
  6973  // be included in the string output. The member name will be present, but the
  6974  // value will be replaced with "sensitive".
  6975  func (s ListPermissionSetsOutput) String() string {
  6976  	return awsutil.Prettify(s)
  6977  }
  6978  
  6979  // GoString returns the string representation.
  6980  //
  6981  // API parameter values that are decorated as "sensitive" in the API will not
  6982  // be included in the string output. The member name will be present, but the
  6983  // value will be replaced with "sensitive".
  6984  func (s ListPermissionSetsOutput) GoString() string {
  6985  	return s.String()
  6986  }
  6987  
  6988  // SetNextToken sets the NextToken field's value.
  6989  func (s *ListPermissionSetsOutput) SetNextToken(v string) *ListPermissionSetsOutput {
  6990  	s.NextToken = &v
  6991  	return s
  6992  }
  6993  
  6994  // SetPermissionSets sets the PermissionSets field's value.
  6995  func (s *ListPermissionSetsOutput) SetPermissionSets(v []*string) *ListPermissionSetsOutput {
  6996  	s.PermissionSets = v
  6997  	return s
  6998  }
  6999  
  7000  type ListPermissionSetsProvisionedToAccountInput struct {
  7001  	_ struct{} `type:"structure"`
  7002  
  7003  	// The identifier of the Amazon Web Services account from which to list the
  7004  	// assignments.
  7005  	//
  7006  	// AccountId is a required field
  7007  	AccountId *string `type:"string" required:"true"`
  7008  
  7009  	// The ARN of the SSO instance under which the operation will be executed. For
  7010  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  7011  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  7012  	// in the Amazon Web Services General Reference.
  7013  	//
  7014  	// InstanceArn is a required field
  7015  	InstanceArn *string `min:"10" type:"string" required:"true"`
  7016  
  7017  	// The maximum number of results to display for the assignment.
  7018  	MaxResults *int64 `min:"1" type:"integer"`
  7019  
  7020  	// The pagination token for the list API. Initially the value is null. Use the
  7021  	// output of previous API calls to make subsequent calls.
  7022  	NextToken *string `type:"string"`
  7023  
  7024  	// The status object for the permission set provisioning operation.
  7025  	ProvisioningStatus *string `type:"string" enum:"ProvisioningStatus"`
  7026  }
  7027  
  7028  // String returns the string representation.
  7029  //
  7030  // API parameter values that are decorated as "sensitive" in the API will not
  7031  // be included in the string output. The member name will be present, but the
  7032  // value will be replaced with "sensitive".
  7033  func (s ListPermissionSetsProvisionedToAccountInput) String() string {
  7034  	return awsutil.Prettify(s)
  7035  }
  7036  
  7037  // GoString returns the string representation.
  7038  //
  7039  // API parameter values that are decorated as "sensitive" in the API will not
  7040  // be included in the string output. The member name will be present, but the
  7041  // value will be replaced with "sensitive".
  7042  func (s ListPermissionSetsProvisionedToAccountInput) GoString() string {
  7043  	return s.String()
  7044  }
  7045  
  7046  // Validate inspects the fields of the type to determine if they are valid.
  7047  func (s *ListPermissionSetsProvisionedToAccountInput) Validate() error {
  7048  	invalidParams := request.ErrInvalidParams{Context: "ListPermissionSetsProvisionedToAccountInput"}
  7049  	if s.AccountId == nil {
  7050  		invalidParams.Add(request.NewErrParamRequired("AccountId"))
  7051  	}
  7052  	if s.InstanceArn == nil {
  7053  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  7054  	}
  7055  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  7056  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  7057  	}
  7058  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7059  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7060  	}
  7061  
  7062  	if invalidParams.Len() > 0 {
  7063  		return invalidParams
  7064  	}
  7065  	return nil
  7066  }
  7067  
  7068  // SetAccountId sets the AccountId field's value.
  7069  func (s *ListPermissionSetsProvisionedToAccountInput) SetAccountId(v string) *ListPermissionSetsProvisionedToAccountInput {
  7070  	s.AccountId = &v
  7071  	return s
  7072  }
  7073  
  7074  // SetInstanceArn sets the InstanceArn field's value.
  7075  func (s *ListPermissionSetsProvisionedToAccountInput) SetInstanceArn(v string) *ListPermissionSetsProvisionedToAccountInput {
  7076  	s.InstanceArn = &v
  7077  	return s
  7078  }
  7079  
  7080  // SetMaxResults sets the MaxResults field's value.
  7081  func (s *ListPermissionSetsProvisionedToAccountInput) SetMaxResults(v int64) *ListPermissionSetsProvisionedToAccountInput {
  7082  	s.MaxResults = &v
  7083  	return s
  7084  }
  7085  
  7086  // SetNextToken sets the NextToken field's value.
  7087  func (s *ListPermissionSetsProvisionedToAccountInput) SetNextToken(v string) *ListPermissionSetsProvisionedToAccountInput {
  7088  	s.NextToken = &v
  7089  	return s
  7090  }
  7091  
  7092  // SetProvisioningStatus sets the ProvisioningStatus field's value.
  7093  func (s *ListPermissionSetsProvisionedToAccountInput) SetProvisioningStatus(v string) *ListPermissionSetsProvisionedToAccountInput {
  7094  	s.ProvisioningStatus = &v
  7095  	return s
  7096  }
  7097  
  7098  type ListPermissionSetsProvisionedToAccountOutput struct {
  7099  	_ struct{} `type:"structure"`
  7100  
  7101  	// The pagination token for the list API. Initially the value is null. Use the
  7102  	// output of previous API calls to make subsequent calls.
  7103  	NextToken *string `type:"string"`
  7104  
  7105  	// Defines the level of access that an Amazon Web Services account has.
  7106  	PermissionSets []*string `type:"list"`
  7107  }
  7108  
  7109  // String returns the string representation.
  7110  //
  7111  // API parameter values that are decorated as "sensitive" in the API will not
  7112  // be included in the string output. The member name will be present, but the
  7113  // value will be replaced with "sensitive".
  7114  func (s ListPermissionSetsProvisionedToAccountOutput) String() string {
  7115  	return awsutil.Prettify(s)
  7116  }
  7117  
  7118  // GoString returns the string representation.
  7119  //
  7120  // API parameter values that are decorated as "sensitive" in the API will not
  7121  // be included in the string output. The member name will be present, but the
  7122  // value will be replaced with "sensitive".
  7123  func (s ListPermissionSetsProvisionedToAccountOutput) GoString() string {
  7124  	return s.String()
  7125  }
  7126  
  7127  // SetNextToken sets the NextToken field's value.
  7128  func (s *ListPermissionSetsProvisionedToAccountOutput) SetNextToken(v string) *ListPermissionSetsProvisionedToAccountOutput {
  7129  	s.NextToken = &v
  7130  	return s
  7131  }
  7132  
  7133  // SetPermissionSets sets the PermissionSets field's value.
  7134  func (s *ListPermissionSetsProvisionedToAccountOutput) SetPermissionSets(v []*string) *ListPermissionSetsProvisionedToAccountOutput {
  7135  	s.PermissionSets = v
  7136  	return s
  7137  }
  7138  
  7139  type ListTagsForResourceInput struct {
  7140  	_ struct{} `type:"structure"`
  7141  
  7142  	// The ARN of the SSO instance under which the operation will be executed. For
  7143  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  7144  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  7145  	// in the Amazon Web Services General Reference.
  7146  	//
  7147  	// InstanceArn is a required field
  7148  	InstanceArn *string `min:"10" type:"string" required:"true"`
  7149  
  7150  	// The pagination token for the list API. Initially the value is null. Use the
  7151  	// output of previous API calls to make subsequent calls.
  7152  	NextToken *string `type:"string"`
  7153  
  7154  	// The ARN of the resource with the tags to be listed.
  7155  	//
  7156  	// ResourceArn is a required field
  7157  	ResourceArn *string `min:"10" type:"string" required:"true"`
  7158  }
  7159  
  7160  // String returns the string representation.
  7161  //
  7162  // API parameter values that are decorated as "sensitive" in the API will not
  7163  // be included in the string output. The member name will be present, but the
  7164  // value will be replaced with "sensitive".
  7165  func (s ListTagsForResourceInput) String() string {
  7166  	return awsutil.Prettify(s)
  7167  }
  7168  
  7169  // GoString returns the string representation.
  7170  //
  7171  // API parameter values that are decorated as "sensitive" in the API will not
  7172  // be included in the string output. The member name will be present, but the
  7173  // value will be replaced with "sensitive".
  7174  func (s ListTagsForResourceInput) GoString() string {
  7175  	return s.String()
  7176  }
  7177  
  7178  // Validate inspects the fields of the type to determine if they are valid.
  7179  func (s *ListTagsForResourceInput) Validate() error {
  7180  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  7181  	if s.InstanceArn == nil {
  7182  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  7183  	}
  7184  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  7185  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  7186  	}
  7187  	if s.ResourceArn == nil {
  7188  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  7189  	}
  7190  	if s.ResourceArn != nil && len(*s.ResourceArn) < 10 {
  7191  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 10))
  7192  	}
  7193  
  7194  	if invalidParams.Len() > 0 {
  7195  		return invalidParams
  7196  	}
  7197  	return nil
  7198  }
  7199  
  7200  // SetInstanceArn sets the InstanceArn field's value.
  7201  func (s *ListTagsForResourceInput) SetInstanceArn(v string) *ListTagsForResourceInput {
  7202  	s.InstanceArn = &v
  7203  	return s
  7204  }
  7205  
  7206  // SetNextToken sets the NextToken field's value.
  7207  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
  7208  	s.NextToken = &v
  7209  	return s
  7210  }
  7211  
  7212  // SetResourceArn sets the ResourceArn field's value.
  7213  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  7214  	s.ResourceArn = &v
  7215  	return s
  7216  }
  7217  
  7218  type ListTagsForResourceOutput struct {
  7219  	_ struct{} `type:"structure"`
  7220  
  7221  	// The pagination token for the list API. Initially the value is null. Use the
  7222  	// output of previous API calls to make subsequent calls.
  7223  	NextToken *string `type:"string"`
  7224  
  7225  	// A set of key-value pairs that are used to manage the resource.
  7226  	Tags []*Tag `type:"list"`
  7227  }
  7228  
  7229  // String returns the string representation.
  7230  //
  7231  // API parameter values that are decorated as "sensitive" in the API will not
  7232  // be included in the string output. The member name will be present, but the
  7233  // value will be replaced with "sensitive".
  7234  func (s ListTagsForResourceOutput) String() string {
  7235  	return awsutil.Prettify(s)
  7236  }
  7237  
  7238  // GoString 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 ListTagsForResourceOutput) GoString() string {
  7244  	return s.String()
  7245  }
  7246  
  7247  // SetNextToken sets the NextToken field's value.
  7248  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
  7249  	s.NextToken = &v
  7250  	return s
  7251  }
  7252  
  7253  // SetTags sets the Tags field's value.
  7254  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  7255  	s.Tags = v
  7256  	return s
  7257  }
  7258  
  7259  // Filters he operation status list based on the passed attribute value.
  7260  type OperationStatusFilter struct {
  7261  	_ struct{} `type:"structure"`
  7262  
  7263  	// Filters the list operations result based on the status attribute.
  7264  	Status *string `type:"string" enum:"StatusValues"`
  7265  }
  7266  
  7267  // String returns the string representation.
  7268  //
  7269  // API parameter values that are decorated as "sensitive" in the API will not
  7270  // be included in the string output. The member name will be present, but the
  7271  // value will be replaced with "sensitive".
  7272  func (s OperationStatusFilter) String() string {
  7273  	return awsutil.Prettify(s)
  7274  }
  7275  
  7276  // GoString returns the string representation.
  7277  //
  7278  // API parameter values that are decorated as "sensitive" in the API will not
  7279  // be included in the string output. The member name will be present, but the
  7280  // value will be replaced with "sensitive".
  7281  func (s OperationStatusFilter) GoString() string {
  7282  	return s.String()
  7283  }
  7284  
  7285  // SetStatus sets the Status field's value.
  7286  func (s *OperationStatusFilter) SetStatus(v string) *OperationStatusFilter {
  7287  	s.Status = &v
  7288  	return s
  7289  }
  7290  
  7291  // An entity that contains IAM policies.
  7292  type PermissionSet struct {
  7293  	_ struct{} `type:"structure"`
  7294  
  7295  	// The date that the permission set was created.
  7296  	CreatedDate *time.Time `type:"timestamp"`
  7297  
  7298  	// The description of the PermissionSet.
  7299  	Description *string `min:"1" type:"string"`
  7300  
  7301  	// The name of the permission set.
  7302  	Name *string `min:"1" type:"string"`
  7303  
  7304  	// The ARN of the permission set. For more information about ARNs, see Amazon
  7305  	// Resource Names (ARNs) and Amazon Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  7306  	// in the Amazon Web Services General Reference.
  7307  	PermissionSetArn *string `min:"10" type:"string"`
  7308  
  7309  	// Used to redirect users within the application during the federation authentication
  7310  	// process.
  7311  	RelayState *string `min:"1" type:"string"`
  7312  
  7313  	// The length of time that the application user sessions are valid for in the
  7314  	// ISO-8601 standard.
  7315  	SessionDuration *string `min:"1" type:"string"`
  7316  }
  7317  
  7318  // String returns the string representation.
  7319  //
  7320  // API parameter values that are decorated as "sensitive" in the API will not
  7321  // be included in the string output. The member name will be present, but the
  7322  // value will be replaced with "sensitive".
  7323  func (s PermissionSet) String() string {
  7324  	return awsutil.Prettify(s)
  7325  }
  7326  
  7327  // GoString returns the string representation.
  7328  //
  7329  // API parameter values that are decorated as "sensitive" in the API will not
  7330  // be included in the string output. The member name will be present, but the
  7331  // value will be replaced with "sensitive".
  7332  func (s PermissionSet) GoString() string {
  7333  	return s.String()
  7334  }
  7335  
  7336  // SetCreatedDate sets the CreatedDate field's value.
  7337  func (s *PermissionSet) SetCreatedDate(v time.Time) *PermissionSet {
  7338  	s.CreatedDate = &v
  7339  	return s
  7340  }
  7341  
  7342  // SetDescription sets the Description field's value.
  7343  func (s *PermissionSet) SetDescription(v string) *PermissionSet {
  7344  	s.Description = &v
  7345  	return s
  7346  }
  7347  
  7348  // SetName sets the Name field's value.
  7349  func (s *PermissionSet) SetName(v string) *PermissionSet {
  7350  	s.Name = &v
  7351  	return s
  7352  }
  7353  
  7354  // SetPermissionSetArn sets the PermissionSetArn field's value.
  7355  func (s *PermissionSet) SetPermissionSetArn(v string) *PermissionSet {
  7356  	s.PermissionSetArn = &v
  7357  	return s
  7358  }
  7359  
  7360  // SetRelayState sets the RelayState field's value.
  7361  func (s *PermissionSet) SetRelayState(v string) *PermissionSet {
  7362  	s.RelayState = &v
  7363  	return s
  7364  }
  7365  
  7366  // SetSessionDuration sets the SessionDuration field's value.
  7367  func (s *PermissionSet) SetSessionDuration(v string) *PermissionSet {
  7368  	s.SessionDuration = &v
  7369  	return s
  7370  }
  7371  
  7372  // A structure that is used to provide the status of the provisioning operation
  7373  // for a specified permission set.
  7374  type PermissionSetProvisioningStatus struct {
  7375  	_ struct{} `type:"structure"`
  7376  
  7377  	// The identifier of the Amazon Web Services account from which to list the
  7378  	// assignments.
  7379  	AccountId *string `type:"string"`
  7380  
  7381  	// The date that the permission set was created.
  7382  	CreatedDate *time.Time `type:"timestamp"`
  7383  
  7384  	// The message that contains an error or exception in case of an operation failure.
  7385  	FailureReason *string `type:"string"`
  7386  
  7387  	// The ARN of the permission set that is being provisioned. For more information
  7388  	// about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service
  7389  	// Namespaces (/general/latest/gr/aws-arns-and-namespaces.html) in the Amazon
  7390  	// Web Services General Reference.
  7391  	PermissionSetArn *string `min:"10" type:"string"`
  7392  
  7393  	// The identifier for tracking the request operation that is generated by the
  7394  	// universally unique identifier (UUID) workflow.
  7395  	RequestId *string `type:"string"`
  7396  
  7397  	// The status of the permission set provisioning process.
  7398  	Status *string `type:"string" enum:"StatusValues"`
  7399  }
  7400  
  7401  // String returns the string representation.
  7402  //
  7403  // API parameter values that are decorated as "sensitive" in the API will not
  7404  // be included in the string output. The member name will be present, but the
  7405  // value will be replaced with "sensitive".
  7406  func (s PermissionSetProvisioningStatus) String() string {
  7407  	return awsutil.Prettify(s)
  7408  }
  7409  
  7410  // GoString returns the string representation.
  7411  //
  7412  // API parameter values that are decorated as "sensitive" in the API will not
  7413  // be included in the string output. The member name will be present, but the
  7414  // value will be replaced with "sensitive".
  7415  func (s PermissionSetProvisioningStatus) GoString() string {
  7416  	return s.String()
  7417  }
  7418  
  7419  // SetAccountId sets the AccountId field's value.
  7420  func (s *PermissionSetProvisioningStatus) SetAccountId(v string) *PermissionSetProvisioningStatus {
  7421  	s.AccountId = &v
  7422  	return s
  7423  }
  7424  
  7425  // SetCreatedDate sets the CreatedDate field's value.
  7426  func (s *PermissionSetProvisioningStatus) SetCreatedDate(v time.Time) *PermissionSetProvisioningStatus {
  7427  	s.CreatedDate = &v
  7428  	return s
  7429  }
  7430  
  7431  // SetFailureReason sets the FailureReason field's value.
  7432  func (s *PermissionSetProvisioningStatus) SetFailureReason(v string) *PermissionSetProvisioningStatus {
  7433  	s.FailureReason = &v
  7434  	return s
  7435  }
  7436  
  7437  // SetPermissionSetArn sets the PermissionSetArn field's value.
  7438  func (s *PermissionSetProvisioningStatus) SetPermissionSetArn(v string) *PermissionSetProvisioningStatus {
  7439  	s.PermissionSetArn = &v
  7440  	return s
  7441  }
  7442  
  7443  // SetRequestId sets the RequestId field's value.
  7444  func (s *PermissionSetProvisioningStatus) SetRequestId(v string) *PermissionSetProvisioningStatus {
  7445  	s.RequestId = &v
  7446  	return s
  7447  }
  7448  
  7449  // SetStatus sets the Status field's value.
  7450  func (s *PermissionSetProvisioningStatus) SetStatus(v string) *PermissionSetProvisioningStatus {
  7451  	s.Status = &v
  7452  	return s
  7453  }
  7454  
  7455  // Provides information about the permission set provisioning status.
  7456  type PermissionSetProvisioningStatusMetadata struct {
  7457  	_ struct{} `type:"structure"`
  7458  
  7459  	// The date that the permission set was created.
  7460  	CreatedDate *time.Time `type:"timestamp"`
  7461  
  7462  	// The identifier for tracking the request operation that is generated by the
  7463  	// universally unique identifier (UUID) workflow.
  7464  	RequestId *string `type:"string"`
  7465  
  7466  	// The status of the permission set provisioning process.
  7467  	Status *string `type:"string" enum:"StatusValues"`
  7468  }
  7469  
  7470  // String returns the string representation.
  7471  //
  7472  // API parameter values that are decorated as "sensitive" in the API will not
  7473  // be included in the string output. The member name will be present, but the
  7474  // value will be replaced with "sensitive".
  7475  func (s PermissionSetProvisioningStatusMetadata) String() string {
  7476  	return awsutil.Prettify(s)
  7477  }
  7478  
  7479  // GoString returns the string representation.
  7480  //
  7481  // API parameter values that are decorated as "sensitive" in the API will not
  7482  // be included in the string output. The member name will be present, but the
  7483  // value will be replaced with "sensitive".
  7484  func (s PermissionSetProvisioningStatusMetadata) GoString() string {
  7485  	return s.String()
  7486  }
  7487  
  7488  // SetCreatedDate sets the CreatedDate field's value.
  7489  func (s *PermissionSetProvisioningStatusMetadata) SetCreatedDate(v time.Time) *PermissionSetProvisioningStatusMetadata {
  7490  	s.CreatedDate = &v
  7491  	return s
  7492  }
  7493  
  7494  // SetRequestId sets the RequestId field's value.
  7495  func (s *PermissionSetProvisioningStatusMetadata) SetRequestId(v string) *PermissionSetProvisioningStatusMetadata {
  7496  	s.RequestId = &v
  7497  	return s
  7498  }
  7499  
  7500  // SetStatus sets the Status field's value.
  7501  func (s *PermissionSetProvisioningStatusMetadata) SetStatus(v string) *PermissionSetProvisioningStatusMetadata {
  7502  	s.Status = &v
  7503  	return s
  7504  }
  7505  
  7506  type ProvisionPermissionSetInput struct {
  7507  	_ struct{} `type:"structure"`
  7508  
  7509  	// The ARN of the SSO instance under which the operation will be executed. For
  7510  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  7511  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  7512  	// in the Amazon Web Services General Reference.
  7513  	//
  7514  	// InstanceArn is a required field
  7515  	InstanceArn *string `min:"10" type:"string" required:"true"`
  7516  
  7517  	// The ARN of the permission set.
  7518  	//
  7519  	// PermissionSetArn is a required field
  7520  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  7521  
  7522  	// TargetID is an Amazon Web Services account identifier, typically a 10-12
  7523  	// digit string (For example, 123456789012).
  7524  	TargetId *string `type:"string"`
  7525  
  7526  	// The entity type for which the assignment will be created.
  7527  	//
  7528  	// TargetType is a required field
  7529  	TargetType *string `type:"string" required:"true" enum:"ProvisionTargetType"`
  7530  }
  7531  
  7532  // String returns the string representation.
  7533  //
  7534  // API parameter values that are decorated as "sensitive" in the API will not
  7535  // be included in the string output. The member name will be present, but the
  7536  // value will be replaced with "sensitive".
  7537  func (s ProvisionPermissionSetInput) String() string {
  7538  	return awsutil.Prettify(s)
  7539  }
  7540  
  7541  // GoString returns the string representation.
  7542  //
  7543  // API parameter values that are decorated as "sensitive" in the API will not
  7544  // be included in the string output. The member name will be present, but the
  7545  // value will be replaced with "sensitive".
  7546  func (s ProvisionPermissionSetInput) GoString() string {
  7547  	return s.String()
  7548  }
  7549  
  7550  // Validate inspects the fields of the type to determine if they are valid.
  7551  func (s *ProvisionPermissionSetInput) Validate() error {
  7552  	invalidParams := request.ErrInvalidParams{Context: "ProvisionPermissionSetInput"}
  7553  	if s.InstanceArn == nil {
  7554  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  7555  	}
  7556  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  7557  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  7558  	}
  7559  	if s.PermissionSetArn == nil {
  7560  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  7561  	}
  7562  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  7563  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  7564  	}
  7565  	if s.TargetType == nil {
  7566  		invalidParams.Add(request.NewErrParamRequired("TargetType"))
  7567  	}
  7568  
  7569  	if invalidParams.Len() > 0 {
  7570  		return invalidParams
  7571  	}
  7572  	return nil
  7573  }
  7574  
  7575  // SetInstanceArn sets the InstanceArn field's value.
  7576  func (s *ProvisionPermissionSetInput) SetInstanceArn(v string) *ProvisionPermissionSetInput {
  7577  	s.InstanceArn = &v
  7578  	return s
  7579  }
  7580  
  7581  // SetPermissionSetArn sets the PermissionSetArn field's value.
  7582  func (s *ProvisionPermissionSetInput) SetPermissionSetArn(v string) *ProvisionPermissionSetInput {
  7583  	s.PermissionSetArn = &v
  7584  	return s
  7585  }
  7586  
  7587  // SetTargetId sets the TargetId field's value.
  7588  func (s *ProvisionPermissionSetInput) SetTargetId(v string) *ProvisionPermissionSetInput {
  7589  	s.TargetId = &v
  7590  	return s
  7591  }
  7592  
  7593  // SetTargetType sets the TargetType field's value.
  7594  func (s *ProvisionPermissionSetInput) SetTargetType(v string) *ProvisionPermissionSetInput {
  7595  	s.TargetType = &v
  7596  	return s
  7597  }
  7598  
  7599  type ProvisionPermissionSetOutput struct {
  7600  	_ struct{} `type:"structure"`
  7601  
  7602  	// The status object for the permission set provisioning operation.
  7603  	PermissionSetProvisioningStatus *PermissionSetProvisioningStatus `type:"structure"`
  7604  }
  7605  
  7606  // String returns the string representation.
  7607  //
  7608  // API parameter values that are decorated as "sensitive" in the API will not
  7609  // be included in the string output. The member name will be present, but the
  7610  // value will be replaced with "sensitive".
  7611  func (s ProvisionPermissionSetOutput) String() string {
  7612  	return awsutil.Prettify(s)
  7613  }
  7614  
  7615  // GoString returns the string representation.
  7616  //
  7617  // API parameter values that are decorated as "sensitive" in the API will not
  7618  // be included in the string output. The member name will be present, but the
  7619  // value will be replaced with "sensitive".
  7620  func (s ProvisionPermissionSetOutput) GoString() string {
  7621  	return s.String()
  7622  }
  7623  
  7624  // SetPermissionSetProvisioningStatus sets the PermissionSetProvisioningStatus field's value.
  7625  func (s *ProvisionPermissionSetOutput) SetPermissionSetProvisioningStatus(v *PermissionSetProvisioningStatus) *ProvisionPermissionSetOutput {
  7626  	s.PermissionSetProvisioningStatus = v
  7627  	return s
  7628  }
  7629  
  7630  type PutInlinePolicyToPermissionSetInput struct {
  7631  	_ struct{} `type:"structure"`
  7632  
  7633  	// The IAM inline policy to attach to a PermissionSet.
  7634  	//
  7635  	// InlinePolicy is a sensitive parameter and its value will be
  7636  	// replaced with "sensitive" in string returned by PutInlinePolicyToPermissionSetInput's
  7637  	// String and GoString methods.
  7638  	//
  7639  	// InlinePolicy is a required field
  7640  	InlinePolicy *string `min:"1" type:"string" required:"true" sensitive:"true"`
  7641  
  7642  	// The ARN of the SSO instance under which the operation will be executed. For
  7643  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  7644  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  7645  	// in the Amazon Web Services General Reference.
  7646  	//
  7647  	// InstanceArn is a required field
  7648  	InstanceArn *string `min:"10" type:"string" required:"true"`
  7649  
  7650  	// The ARN of the permission set.
  7651  	//
  7652  	// PermissionSetArn is a required field
  7653  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  7654  }
  7655  
  7656  // String returns the string representation.
  7657  //
  7658  // API parameter values that are decorated as "sensitive" in the API will not
  7659  // be included in the string output. The member name will be present, but the
  7660  // value will be replaced with "sensitive".
  7661  func (s PutInlinePolicyToPermissionSetInput) String() string {
  7662  	return awsutil.Prettify(s)
  7663  }
  7664  
  7665  // GoString returns the string representation.
  7666  //
  7667  // API parameter values that are decorated as "sensitive" in the API will not
  7668  // be included in the string output. The member name will be present, but the
  7669  // value will be replaced with "sensitive".
  7670  func (s PutInlinePolicyToPermissionSetInput) GoString() string {
  7671  	return s.String()
  7672  }
  7673  
  7674  // Validate inspects the fields of the type to determine if they are valid.
  7675  func (s *PutInlinePolicyToPermissionSetInput) Validate() error {
  7676  	invalidParams := request.ErrInvalidParams{Context: "PutInlinePolicyToPermissionSetInput"}
  7677  	if s.InlinePolicy == nil {
  7678  		invalidParams.Add(request.NewErrParamRequired("InlinePolicy"))
  7679  	}
  7680  	if s.InlinePolicy != nil && len(*s.InlinePolicy) < 1 {
  7681  		invalidParams.Add(request.NewErrParamMinLen("InlinePolicy", 1))
  7682  	}
  7683  	if s.InstanceArn == nil {
  7684  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  7685  	}
  7686  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  7687  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  7688  	}
  7689  	if s.PermissionSetArn == nil {
  7690  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  7691  	}
  7692  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  7693  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  7694  	}
  7695  
  7696  	if invalidParams.Len() > 0 {
  7697  		return invalidParams
  7698  	}
  7699  	return nil
  7700  }
  7701  
  7702  // SetInlinePolicy sets the InlinePolicy field's value.
  7703  func (s *PutInlinePolicyToPermissionSetInput) SetInlinePolicy(v string) *PutInlinePolicyToPermissionSetInput {
  7704  	s.InlinePolicy = &v
  7705  	return s
  7706  }
  7707  
  7708  // SetInstanceArn sets the InstanceArn field's value.
  7709  func (s *PutInlinePolicyToPermissionSetInput) SetInstanceArn(v string) *PutInlinePolicyToPermissionSetInput {
  7710  	s.InstanceArn = &v
  7711  	return s
  7712  }
  7713  
  7714  // SetPermissionSetArn sets the PermissionSetArn field's value.
  7715  func (s *PutInlinePolicyToPermissionSetInput) SetPermissionSetArn(v string) *PutInlinePolicyToPermissionSetInput {
  7716  	s.PermissionSetArn = &v
  7717  	return s
  7718  }
  7719  
  7720  type PutInlinePolicyToPermissionSetOutput struct {
  7721  	_ struct{} `type:"structure"`
  7722  }
  7723  
  7724  // String returns the string representation.
  7725  //
  7726  // API parameter values that are decorated as "sensitive" in the API will not
  7727  // be included in the string output. The member name will be present, but the
  7728  // value will be replaced with "sensitive".
  7729  func (s PutInlinePolicyToPermissionSetOutput) String() string {
  7730  	return awsutil.Prettify(s)
  7731  }
  7732  
  7733  // GoString returns the string representation.
  7734  //
  7735  // API parameter values that are decorated as "sensitive" in the API will not
  7736  // be included in the string output. The member name will be present, but the
  7737  // value will be replaced with "sensitive".
  7738  func (s PutInlinePolicyToPermissionSetOutput) GoString() string {
  7739  	return s.String()
  7740  }
  7741  
  7742  // Indicates that a requested resource is not found.
  7743  type ResourceNotFoundException struct {
  7744  	_            struct{}                  `type:"structure"`
  7745  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7746  
  7747  	Message_ *string `locationName:"Message" type:"string"`
  7748  }
  7749  
  7750  // String returns the string representation.
  7751  //
  7752  // API parameter values that are decorated as "sensitive" in the API will not
  7753  // be included in the string output. The member name will be present, but the
  7754  // value will be replaced with "sensitive".
  7755  func (s ResourceNotFoundException) String() string {
  7756  	return awsutil.Prettify(s)
  7757  }
  7758  
  7759  // GoString returns the string representation.
  7760  //
  7761  // API parameter values that are decorated as "sensitive" in the API will not
  7762  // be included in the string output. The member name will be present, but the
  7763  // value will be replaced with "sensitive".
  7764  func (s ResourceNotFoundException) GoString() string {
  7765  	return s.String()
  7766  }
  7767  
  7768  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  7769  	return &ResourceNotFoundException{
  7770  		RespMetadata: v,
  7771  	}
  7772  }
  7773  
  7774  // Code returns the exception type name.
  7775  func (s *ResourceNotFoundException) Code() string {
  7776  	return "ResourceNotFoundException"
  7777  }
  7778  
  7779  // Message returns the exception's message.
  7780  func (s *ResourceNotFoundException) Message() string {
  7781  	if s.Message_ != nil {
  7782  		return *s.Message_
  7783  	}
  7784  	return ""
  7785  }
  7786  
  7787  // OrigErr always returns nil, satisfies awserr.Error interface.
  7788  func (s *ResourceNotFoundException) OrigErr() error {
  7789  	return nil
  7790  }
  7791  
  7792  func (s *ResourceNotFoundException) Error() string {
  7793  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7794  }
  7795  
  7796  // Status code returns the HTTP status code for the request's response error.
  7797  func (s *ResourceNotFoundException) StatusCode() int {
  7798  	return s.RespMetadata.StatusCode
  7799  }
  7800  
  7801  // RequestID returns the service's response RequestID for request.
  7802  func (s *ResourceNotFoundException) RequestID() string {
  7803  	return s.RespMetadata.RequestID
  7804  }
  7805  
  7806  // Indicates that the principal has crossed the permitted number of resources
  7807  // that can be created.
  7808  type ServiceQuotaExceededException struct {
  7809  	_            struct{}                  `type:"structure"`
  7810  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7811  
  7812  	Message_ *string `locationName:"Message" type:"string"`
  7813  }
  7814  
  7815  // String returns the string representation.
  7816  //
  7817  // API parameter values that are decorated as "sensitive" in the API will not
  7818  // be included in the string output. The member name will be present, but the
  7819  // value will be replaced with "sensitive".
  7820  func (s ServiceQuotaExceededException) String() string {
  7821  	return awsutil.Prettify(s)
  7822  }
  7823  
  7824  // GoString returns the string representation.
  7825  //
  7826  // API parameter values that are decorated as "sensitive" in the API will not
  7827  // be included in the string output. The member name will be present, but the
  7828  // value will be replaced with "sensitive".
  7829  func (s ServiceQuotaExceededException) GoString() string {
  7830  	return s.String()
  7831  }
  7832  
  7833  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  7834  	return &ServiceQuotaExceededException{
  7835  		RespMetadata: v,
  7836  	}
  7837  }
  7838  
  7839  // Code returns the exception type name.
  7840  func (s *ServiceQuotaExceededException) Code() string {
  7841  	return "ServiceQuotaExceededException"
  7842  }
  7843  
  7844  // Message returns the exception's message.
  7845  func (s *ServiceQuotaExceededException) Message() string {
  7846  	if s.Message_ != nil {
  7847  		return *s.Message_
  7848  	}
  7849  	return ""
  7850  }
  7851  
  7852  // OrigErr always returns nil, satisfies awserr.Error interface.
  7853  func (s *ServiceQuotaExceededException) OrigErr() error {
  7854  	return nil
  7855  }
  7856  
  7857  func (s *ServiceQuotaExceededException) Error() string {
  7858  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7859  }
  7860  
  7861  // Status code returns the HTTP status code for the request's response error.
  7862  func (s *ServiceQuotaExceededException) StatusCode() int {
  7863  	return s.RespMetadata.StatusCode
  7864  }
  7865  
  7866  // RequestID returns the service's response RequestID for request.
  7867  func (s *ServiceQuotaExceededException) RequestID() string {
  7868  	return s.RespMetadata.RequestID
  7869  }
  7870  
  7871  // A set of key-value pairs that are used to manage the resource. Tags can only
  7872  // be applied to permission sets and cannot be applied to corresponding roles
  7873  // that Amazon Web Services SSO creates in Amazon Web Services accounts.
  7874  type Tag struct {
  7875  	_ struct{} `type:"structure"`
  7876  
  7877  	// The key for the tag.
  7878  	Key *string `min:"1" type:"string"`
  7879  
  7880  	// The value of the tag.
  7881  	Value *string `type:"string"`
  7882  }
  7883  
  7884  // String returns the string representation.
  7885  //
  7886  // API parameter values that are decorated as "sensitive" in the API will not
  7887  // be included in the string output. The member name will be present, but the
  7888  // value will be replaced with "sensitive".
  7889  func (s Tag) String() string {
  7890  	return awsutil.Prettify(s)
  7891  }
  7892  
  7893  // GoString returns the string representation.
  7894  //
  7895  // API parameter values that are decorated as "sensitive" in the API will not
  7896  // be included in the string output. The member name will be present, but the
  7897  // value will be replaced with "sensitive".
  7898  func (s Tag) GoString() string {
  7899  	return s.String()
  7900  }
  7901  
  7902  // Validate inspects the fields of the type to determine if they are valid.
  7903  func (s *Tag) Validate() error {
  7904  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  7905  	if s.Key != nil && len(*s.Key) < 1 {
  7906  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  7907  	}
  7908  
  7909  	if invalidParams.Len() > 0 {
  7910  		return invalidParams
  7911  	}
  7912  	return nil
  7913  }
  7914  
  7915  // SetKey sets the Key field's value.
  7916  func (s *Tag) SetKey(v string) *Tag {
  7917  	s.Key = &v
  7918  	return s
  7919  }
  7920  
  7921  // SetValue sets the Value field's value.
  7922  func (s *Tag) SetValue(v string) *Tag {
  7923  	s.Value = &v
  7924  	return s
  7925  }
  7926  
  7927  type TagResourceInput struct {
  7928  	_ struct{} `type:"structure"`
  7929  
  7930  	// The ARN of the SSO instance under which the operation will be executed. For
  7931  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  7932  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  7933  	// in the Amazon Web Services General Reference.
  7934  	//
  7935  	// InstanceArn is a required field
  7936  	InstanceArn *string `min:"10" type:"string" required:"true"`
  7937  
  7938  	// The ARN of the resource with the tags to be listed.
  7939  	//
  7940  	// ResourceArn is a required field
  7941  	ResourceArn *string `min:"10" type:"string" required:"true"`
  7942  
  7943  	// A set of key-value pairs that are used to manage the resource.
  7944  	//
  7945  	// Tags is a required field
  7946  	Tags []*Tag `type:"list" required:"true"`
  7947  }
  7948  
  7949  // String returns the string representation.
  7950  //
  7951  // API parameter values that are decorated as "sensitive" in the API will not
  7952  // be included in the string output. The member name will be present, but the
  7953  // value will be replaced with "sensitive".
  7954  func (s TagResourceInput) String() string {
  7955  	return awsutil.Prettify(s)
  7956  }
  7957  
  7958  // GoString returns the string representation.
  7959  //
  7960  // API parameter values that are decorated as "sensitive" in the API will not
  7961  // be included in the string output. The member name will be present, but the
  7962  // value will be replaced with "sensitive".
  7963  func (s TagResourceInput) GoString() string {
  7964  	return s.String()
  7965  }
  7966  
  7967  // Validate inspects the fields of the type to determine if they are valid.
  7968  func (s *TagResourceInput) Validate() error {
  7969  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  7970  	if s.InstanceArn == nil {
  7971  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  7972  	}
  7973  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  7974  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  7975  	}
  7976  	if s.ResourceArn == nil {
  7977  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  7978  	}
  7979  	if s.ResourceArn != nil && len(*s.ResourceArn) < 10 {
  7980  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 10))
  7981  	}
  7982  	if s.Tags == nil {
  7983  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  7984  	}
  7985  	if s.Tags != nil {
  7986  		for i, v := range s.Tags {
  7987  			if v == nil {
  7988  				continue
  7989  			}
  7990  			if err := v.Validate(); err != nil {
  7991  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7992  			}
  7993  		}
  7994  	}
  7995  
  7996  	if invalidParams.Len() > 0 {
  7997  		return invalidParams
  7998  	}
  7999  	return nil
  8000  }
  8001  
  8002  // SetInstanceArn sets the InstanceArn field's value.
  8003  func (s *TagResourceInput) SetInstanceArn(v string) *TagResourceInput {
  8004  	s.InstanceArn = &v
  8005  	return s
  8006  }
  8007  
  8008  // SetResourceArn sets the ResourceArn field's value.
  8009  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  8010  	s.ResourceArn = &v
  8011  	return s
  8012  }
  8013  
  8014  // SetTags sets the Tags field's value.
  8015  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  8016  	s.Tags = v
  8017  	return s
  8018  }
  8019  
  8020  type TagResourceOutput struct {
  8021  	_ struct{} `type:"structure"`
  8022  }
  8023  
  8024  // String returns the string representation.
  8025  //
  8026  // API parameter values that are decorated as "sensitive" in the API will not
  8027  // be included in the string output. The member name will be present, but the
  8028  // value will be replaced with "sensitive".
  8029  func (s TagResourceOutput) String() string {
  8030  	return awsutil.Prettify(s)
  8031  }
  8032  
  8033  // GoString returns the string representation.
  8034  //
  8035  // API parameter values that are decorated as "sensitive" in the API will not
  8036  // be included in the string output. The member name will be present, but the
  8037  // value will be replaced with "sensitive".
  8038  func (s TagResourceOutput) GoString() string {
  8039  	return s.String()
  8040  }
  8041  
  8042  // Indicates that the principal has crossed the throttling limits of the API
  8043  // operations.
  8044  type ThrottlingException struct {
  8045  	_            struct{}                  `type:"structure"`
  8046  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8047  
  8048  	Message_ *string `locationName:"Message" type:"string"`
  8049  }
  8050  
  8051  // String returns the string representation.
  8052  //
  8053  // API parameter values that are decorated as "sensitive" in the API will not
  8054  // be included in the string output. The member name will be present, but the
  8055  // value will be replaced with "sensitive".
  8056  func (s ThrottlingException) String() string {
  8057  	return awsutil.Prettify(s)
  8058  }
  8059  
  8060  // GoString returns the string representation.
  8061  //
  8062  // API parameter values that are decorated as "sensitive" in the API will not
  8063  // be included in the string output. The member name will be present, but the
  8064  // value will be replaced with "sensitive".
  8065  func (s ThrottlingException) GoString() string {
  8066  	return s.String()
  8067  }
  8068  
  8069  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  8070  	return &ThrottlingException{
  8071  		RespMetadata: v,
  8072  	}
  8073  }
  8074  
  8075  // Code returns the exception type name.
  8076  func (s *ThrottlingException) Code() string {
  8077  	return "ThrottlingException"
  8078  }
  8079  
  8080  // Message returns the exception's message.
  8081  func (s *ThrottlingException) Message() string {
  8082  	if s.Message_ != nil {
  8083  		return *s.Message_
  8084  	}
  8085  	return ""
  8086  }
  8087  
  8088  // OrigErr always returns nil, satisfies awserr.Error interface.
  8089  func (s *ThrottlingException) OrigErr() error {
  8090  	return nil
  8091  }
  8092  
  8093  func (s *ThrottlingException) Error() string {
  8094  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8095  }
  8096  
  8097  // Status code returns the HTTP status code for the request's response error.
  8098  func (s *ThrottlingException) StatusCode() int {
  8099  	return s.RespMetadata.StatusCode
  8100  }
  8101  
  8102  // RequestID returns the service's response RequestID for request.
  8103  func (s *ThrottlingException) RequestID() string {
  8104  	return s.RespMetadata.RequestID
  8105  }
  8106  
  8107  type UntagResourceInput struct {
  8108  	_ struct{} `type:"structure"`
  8109  
  8110  	// The ARN of the SSO instance under which the operation will be executed. For
  8111  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  8112  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  8113  	// in the Amazon Web Services General Reference.
  8114  	//
  8115  	// InstanceArn is a required field
  8116  	InstanceArn *string `min:"10" type:"string" required:"true"`
  8117  
  8118  	// The ARN of the resource with the tags to be listed.
  8119  	//
  8120  	// ResourceArn is a required field
  8121  	ResourceArn *string `min:"10" type:"string" required:"true"`
  8122  
  8123  	// The keys of tags that are attached to the resource.
  8124  	//
  8125  	// TagKeys is a required field
  8126  	TagKeys []*string `min:"1" type:"list" required:"true"`
  8127  }
  8128  
  8129  // String returns the string representation.
  8130  //
  8131  // API parameter values that are decorated as "sensitive" in the API will not
  8132  // be included in the string output. The member name will be present, but the
  8133  // value will be replaced with "sensitive".
  8134  func (s UntagResourceInput) String() string {
  8135  	return awsutil.Prettify(s)
  8136  }
  8137  
  8138  // GoString returns the string representation.
  8139  //
  8140  // API parameter values that are decorated as "sensitive" in the API will not
  8141  // be included in the string output. The member name will be present, but the
  8142  // value will be replaced with "sensitive".
  8143  func (s UntagResourceInput) GoString() string {
  8144  	return s.String()
  8145  }
  8146  
  8147  // Validate inspects the fields of the type to determine if they are valid.
  8148  func (s *UntagResourceInput) Validate() error {
  8149  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  8150  	if s.InstanceArn == nil {
  8151  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  8152  	}
  8153  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  8154  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  8155  	}
  8156  	if s.ResourceArn == nil {
  8157  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8158  	}
  8159  	if s.ResourceArn != nil && len(*s.ResourceArn) < 10 {
  8160  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 10))
  8161  	}
  8162  	if s.TagKeys == nil {
  8163  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  8164  	}
  8165  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
  8166  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
  8167  	}
  8168  
  8169  	if invalidParams.Len() > 0 {
  8170  		return invalidParams
  8171  	}
  8172  	return nil
  8173  }
  8174  
  8175  // SetInstanceArn sets the InstanceArn field's value.
  8176  func (s *UntagResourceInput) SetInstanceArn(v string) *UntagResourceInput {
  8177  	s.InstanceArn = &v
  8178  	return s
  8179  }
  8180  
  8181  // SetResourceArn sets the ResourceArn field's value.
  8182  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  8183  	s.ResourceArn = &v
  8184  	return s
  8185  }
  8186  
  8187  // SetTagKeys sets the TagKeys field's value.
  8188  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  8189  	s.TagKeys = v
  8190  	return s
  8191  }
  8192  
  8193  type UntagResourceOutput struct {
  8194  	_ struct{} `type:"structure"`
  8195  }
  8196  
  8197  // String returns the string representation.
  8198  //
  8199  // API parameter values that are decorated as "sensitive" in the API will not
  8200  // be included in the string output. The member name will be present, but the
  8201  // value will be replaced with "sensitive".
  8202  func (s UntagResourceOutput) String() string {
  8203  	return awsutil.Prettify(s)
  8204  }
  8205  
  8206  // GoString returns the string representation.
  8207  //
  8208  // API parameter values that are decorated as "sensitive" in the API will not
  8209  // be included in the string output. The member name will be present, but the
  8210  // value will be replaced with "sensitive".
  8211  func (s UntagResourceOutput) GoString() string {
  8212  	return s.String()
  8213  }
  8214  
  8215  type UpdateInstanceAccessControlAttributeConfigurationInput struct {
  8216  	_ struct{} `type:"structure"`
  8217  
  8218  	// Updates the attributes for your ABAC configuration.
  8219  	//
  8220  	// InstanceAccessControlAttributeConfiguration is a required field
  8221  	InstanceAccessControlAttributeConfiguration *InstanceAccessControlAttributeConfiguration `type:"structure" required:"true"`
  8222  
  8223  	// The ARN of the SSO instance under which the operation will be executed.
  8224  	//
  8225  	// InstanceArn is a required field
  8226  	InstanceArn *string `min:"10" type:"string" required:"true"`
  8227  }
  8228  
  8229  // String returns the string representation.
  8230  //
  8231  // API parameter values that are decorated as "sensitive" in the API will not
  8232  // be included in the string output. The member name will be present, but the
  8233  // value will be replaced with "sensitive".
  8234  func (s UpdateInstanceAccessControlAttributeConfigurationInput) String() string {
  8235  	return awsutil.Prettify(s)
  8236  }
  8237  
  8238  // GoString returns the string representation.
  8239  //
  8240  // API parameter values that are decorated as "sensitive" in the API will not
  8241  // be included in the string output. The member name will be present, but the
  8242  // value will be replaced with "sensitive".
  8243  func (s UpdateInstanceAccessControlAttributeConfigurationInput) GoString() string {
  8244  	return s.String()
  8245  }
  8246  
  8247  // Validate inspects the fields of the type to determine if they are valid.
  8248  func (s *UpdateInstanceAccessControlAttributeConfigurationInput) Validate() error {
  8249  	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceAccessControlAttributeConfigurationInput"}
  8250  	if s.InstanceAccessControlAttributeConfiguration == nil {
  8251  		invalidParams.Add(request.NewErrParamRequired("InstanceAccessControlAttributeConfiguration"))
  8252  	}
  8253  	if s.InstanceArn == nil {
  8254  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  8255  	}
  8256  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  8257  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  8258  	}
  8259  	if s.InstanceAccessControlAttributeConfiguration != nil {
  8260  		if err := s.InstanceAccessControlAttributeConfiguration.Validate(); err != nil {
  8261  			invalidParams.AddNested("InstanceAccessControlAttributeConfiguration", err.(request.ErrInvalidParams))
  8262  		}
  8263  	}
  8264  
  8265  	if invalidParams.Len() > 0 {
  8266  		return invalidParams
  8267  	}
  8268  	return nil
  8269  }
  8270  
  8271  // SetInstanceAccessControlAttributeConfiguration sets the InstanceAccessControlAttributeConfiguration field's value.
  8272  func (s *UpdateInstanceAccessControlAttributeConfigurationInput) SetInstanceAccessControlAttributeConfiguration(v *InstanceAccessControlAttributeConfiguration) *UpdateInstanceAccessControlAttributeConfigurationInput {
  8273  	s.InstanceAccessControlAttributeConfiguration = v
  8274  	return s
  8275  }
  8276  
  8277  // SetInstanceArn sets the InstanceArn field's value.
  8278  func (s *UpdateInstanceAccessControlAttributeConfigurationInput) SetInstanceArn(v string) *UpdateInstanceAccessControlAttributeConfigurationInput {
  8279  	s.InstanceArn = &v
  8280  	return s
  8281  }
  8282  
  8283  type UpdateInstanceAccessControlAttributeConfigurationOutput struct {
  8284  	_ struct{} `type:"structure"`
  8285  }
  8286  
  8287  // String returns the string representation.
  8288  //
  8289  // API parameter values that are decorated as "sensitive" in the API will not
  8290  // be included in the string output. The member name will be present, but the
  8291  // value will be replaced with "sensitive".
  8292  func (s UpdateInstanceAccessControlAttributeConfigurationOutput) String() string {
  8293  	return awsutil.Prettify(s)
  8294  }
  8295  
  8296  // GoString returns the string representation.
  8297  //
  8298  // API parameter values that are decorated as "sensitive" in the API will not
  8299  // be included in the string output. The member name will be present, but the
  8300  // value will be replaced with "sensitive".
  8301  func (s UpdateInstanceAccessControlAttributeConfigurationOutput) GoString() string {
  8302  	return s.String()
  8303  }
  8304  
  8305  type UpdatePermissionSetInput struct {
  8306  	_ struct{} `type:"structure"`
  8307  
  8308  	// The description of the PermissionSet.
  8309  	Description *string `min:"1" type:"string"`
  8310  
  8311  	// The ARN of the SSO instance under which the operation will be executed. For
  8312  	// more information about ARNs, see Amazon Resource Names (ARNs) and Amazon
  8313  	// Web Services Service Namespaces (/general/latest/gr/aws-arns-and-namespaces.html)
  8314  	// in the Amazon Web Services General Reference.
  8315  	//
  8316  	// InstanceArn is a required field
  8317  	InstanceArn *string `min:"10" type:"string" required:"true"`
  8318  
  8319  	// The ARN of the permission set.
  8320  	//
  8321  	// PermissionSetArn is a required field
  8322  	PermissionSetArn *string `min:"10" type:"string" required:"true"`
  8323  
  8324  	// Used to redirect users within the application during the federation authentication
  8325  	// process.
  8326  	RelayState *string `min:"1" type:"string"`
  8327  
  8328  	// The length of time that the application user sessions are valid for in the
  8329  	// ISO-8601 standard.
  8330  	SessionDuration *string `min:"1" type:"string"`
  8331  }
  8332  
  8333  // String returns the string representation.
  8334  //
  8335  // API parameter values that are decorated as "sensitive" in the API will not
  8336  // be included in the string output. The member name will be present, but the
  8337  // value will be replaced with "sensitive".
  8338  func (s UpdatePermissionSetInput) String() string {
  8339  	return awsutil.Prettify(s)
  8340  }
  8341  
  8342  // GoString returns the string representation.
  8343  //
  8344  // API parameter values that are decorated as "sensitive" in the API will not
  8345  // be included in the string output. The member name will be present, but the
  8346  // value will be replaced with "sensitive".
  8347  func (s UpdatePermissionSetInput) GoString() string {
  8348  	return s.String()
  8349  }
  8350  
  8351  // Validate inspects the fields of the type to determine if they are valid.
  8352  func (s *UpdatePermissionSetInput) Validate() error {
  8353  	invalidParams := request.ErrInvalidParams{Context: "UpdatePermissionSetInput"}
  8354  	if s.Description != nil && len(*s.Description) < 1 {
  8355  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  8356  	}
  8357  	if s.InstanceArn == nil {
  8358  		invalidParams.Add(request.NewErrParamRequired("InstanceArn"))
  8359  	}
  8360  	if s.InstanceArn != nil && len(*s.InstanceArn) < 10 {
  8361  		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 10))
  8362  	}
  8363  	if s.PermissionSetArn == nil {
  8364  		invalidParams.Add(request.NewErrParamRequired("PermissionSetArn"))
  8365  	}
  8366  	if s.PermissionSetArn != nil && len(*s.PermissionSetArn) < 10 {
  8367  		invalidParams.Add(request.NewErrParamMinLen("PermissionSetArn", 10))
  8368  	}
  8369  	if s.RelayState != nil && len(*s.RelayState) < 1 {
  8370  		invalidParams.Add(request.NewErrParamMinLen("RelayState", 1))
  8371  	}
  8372  	if s.SessionDuration != nil && len(*s.SessionDuration) < 1 {
  8373  		invalidParams.Add(request.NewErrParamMinLen("SessionDuration", 1))
  8374  	}
  8375  
  8376  	if invalidParams.Len() > 0 {
  8377  		return invalidParams
  8378  	}
  8379  	return nil
  8380  }
  8381  
  8382  // SetDescription sets the Description field's value.
  8383  func (s *UpdatePermissionSetInput) SetDescription(v string) *UpdatePermissionSetInput {
  8384  	s.Description = &v
  8385  	return s
  8386  }
  8387  
  8388  // SetInstanceArn sets the InstanceArn field's value.
  8389  func (s *UpdatePermissionSetInput) SetInstanceArn(v string) *UpdatePermissionSetInput {
  8390  	s.InstanceArn = &v
  8391  	return s
  8392  }
  8393  
  8394  // SetPermissionSetArn sets the PermissionSetArn field's value.
  8395  func (s *UpdatePermissionSetInput) SetPermissionSetArn(v string) *UpdatePermissionSetInput {
  8396  	s.PermissionSetArn = &v
  8397  	return s
  8398  }
  8399  
  8400  // SetRelayState sets the RelayState field's value.
  8401  func (s *UpdatePermissionSetInput) SetRelayState(v string) *UpdatePermissionSetInput {
  8402  	s.RelayState = &v
  8403  	return s
  8404  }
  8405  
  8406  // SetSessionDuration sets the SessionDuration field's value.
  8407  func (s *UpdatePermissionSetInput) SetSessionDuration(v string) *UpdatePermissionSetInput {
  8408  	s.SessionDuration = &v
  8409  	return s
  8410  }
  8411  
  8412  type UpdatePermissionSetOutput struct {
  8413  	_ struct{} `type:"structure"`
  8414  }
  8415  
  8416  // String returns the string representation.
  8417  //
  8418  // API parameter values that are decorated as "sensitive" in the API will not
  8419  // be included in the string output. The member name will be present, but the
  8420  // value will be replaced with "sensitive".
  8421  func (s UpdatePermissionSetOutput) String() string {
  8422  	return awsutil.Prettify(s)
  8423  }
  8424  
  8425  // GoString returns the string representation.
  8426  //
  8427  // API parameter values that are decorated as "sensitive" in the API will not
  8428  // be included in the string output. The member name will be present, but the
  8429  // value will be replaced with "sensitive".
  8430  func (s UpdatePermissionSetOutput) GoString() string {
  8431  	return s.String()
  8432  }
  8433  
  8434  // The request failed because it contains a syntax error.
  8435  type ValidationException struct {
  8436  	_            struct{}                  `type:"structure"`
  8437  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8438  
  8439  	Message_ *string `locationName:"Message" type:"string"`
  8440  }
  8441  
  8442  // String returns the string representation.
  8443  //
  8444  // API parameter values that are decorated as "sensitive" in the API will not
  8445  // be included in the string output. The member name will be present, but the
  8446  // value will be replaced with "sensitive".
  8447  func (s ValidationException) String() string {
  8448  	return awsutil.Prettify(s)
  8449  }
  8450  
  8451  // GoString returns the string representation.
  8452  //
  8453  // API parameter values that are decorated as "sensitive" in the API will not
  8454  // be included in the string output. The member name will be present, but the
  8455  // value will be replaced with "sensitive".
  8456  func (s ValidationException) GoString() string {
  8457  	return s.String()
  8458  }
  8459  
  8460  func newErrorValidationException(v protocol.ResponseMetadata) error {
  8461  	return &ValidationException{
  8462  		RespMetadata: v,
  8463  	}
  8464  }
  8465  
  8466  // Code returns the exception type name.
  8467  func (s *ValidationException) Code() string {
  8468  	return "ValidationException"
  8469  }
  8470  
  8471  // Message returns the exception's message.
  8472  func (s *ValidationException) Message() string {
  8473  	if s.Message_ != nil {
  8474  		return *s.Message_
  8475  	}
  8476  	return ""
  8477  }
  8478  
  8479  // OrigErr always returns nil, satisfies awserr.Error interface.
  8480  func (s *ValidationException) OrigErr() error {
  8481  	return nil
  8482  }
  8483  
  8484  func (s *ValidationException) Error() string {
  8485  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8486  }
  8487  
  8488  // Status code returns the HTTP status code for the request's response error.
  8489  func (s *ValidationException) StatusCode() int {
  8490  	return s.RespMetadata.StatusCode
  8491  }
  8492  
  8493  // RequestID returns the service's response RequestID for request.
  8494  func (s *ValidationException) RequestID() string {
  8495  	return s.RespMetadata.RequestID
  8496  }
  8497  
  8498  const (
  8499  	// InstanceAccessControlAttributeConfigurationStatusEnabled is a InstanceAccessControlAttributeConfigurationStatus enum value
  8500  	InstanceAccessControlAttributeConfigurationStatusEnabled = "ENABLED"
  8501  
  8502  	// InstanceAccessControlAttributeConfigurationStatusCreationInProgress is a InstanceAccessControlAttributeConfigurationStatus enum value
  8503  	InstanceAccessControlAttributeConfigurationStatusCreationInProgress = "CREATION_IN_PROGRESS"
  8504  
  8505  	// InstanceAccessControlAttributeConfigurationStatusCreationFailed is a InstanceAccessControlAttributeConfigurationStatus enum value
  8506  	InstanceAccessControlAttributeConfigurationStatusCreationFailed = "CREATION_FAILED"
  8507  )
  8508  
  8509  // InstanceAccessControlAttributeConfigurationStatus_Values returns all elements of the InstanceAccessControlAttributeConfigurationStatus enum
  8510  func InstanceAccessControlAttributeConfigurationStatus_Values() []string {
  8511  	return []string{
  8512  		InstanceAccessControlAttributeConfigurationStatusEnabled,
  8513  		InstanceAccessControlAttributeConfigurationStatusCreationInProgress,
  8514  		InstanceAccessControlAttributeConfigurationStatusCreationFailed,
  8515  	}
  8516  }
  8517  
  8518  const (
  8519  	// PrincipalTypeUser is a PrincipalType enum value
  8520  	PrincipalTypeUser = "USER"
  8521  
  8522  	// PrincipalTypeGroup is a PrincipalType enum value
  8523  	PrincipalTypeGroup = "GROUP"
  8524  )
  8525  
  8526  // PrincipalType_Values returns all elements of the PrincipalType enum
  8527  func PrincipalType_Values() []string {
  8528  	return []string{
  8529  		PrincipalTypeUser,
  8530  		PrincipalTypeGroup,
  8531  	}
  8532  }
  8533  
  8534  const (
  8535  	// ProvisionTargetTypeAwsAccount is a ProvisionTargetType enum value
  8536  	ProvisionTargetTypeAwsAccount = "AWS_ACCOUNT"
  8537  
  8538  	// ProvisionTargetTypeAllProvisionedAccounts is a ProvisionTargetType enum value
  8539  	ProvisionTargetTypeAllProvisionedAccounts = "ALL_PROVISIONED_ACCOUNTS"
  8540  )
  8541  
  8542  // ProvisionTargetType_Values returns all elements of the ProvisionTargetType enum
  8543  func ProvisionTargetType_Values() []string {
  8544  	return []string{
  8545  		ProvisionTargetTypeAwsAccount,
  8546  		ProvisionTargetTypeAllProvisionedAccounts,
  8547  	}
  8548  }
  8549  
  8550  const (
  8551  	// ProvisioningStatusLatestPermissionSetProvisioned is a ProvisioningStatus enum value
  8552  	ProvisioningStatusLatestPermissionSetProvisioned = "LATEST_PERMISSION_SET_PROVISIONED"
  8553  
  8554  	// ProvisioningStatusLatestPermissionSetNotProvisioned is a ProvisioningStatus enum value
  8555  	ProvisioningStatusLatestPermissionSetNotProvisioned = "LATEST_PERMISSION_SET_NOT_PROVISIONED"
  8556  )
  8557  
  8558  // ProvisioningStatus_Values returns all elements of the ProvisioningStatus enum
  8559  func ProvisioningStatus_Values() []string {
  8560  	return []string{
  8561  		ProvisioningStatusLatestPermissionSetProvisioned,
  8562  		ProvisioningStatusLatestPermissionSetNotProvisioned,
  8563  	}
  8564  }
  8565  
  8566  const (
  8567  	// StatusValuesInProgress is a StatusValues enum value
  8568  	StatusValuesInProgress = "IN_PROGRESS"
  8569  
  8570  	// StatusValuesFailed is a StatusValues enum value
  8571  	StatusValuesFailed = "FAILED"
  8572  
  8573  	// StatusValuesSucceeded is a StatusValues enum value
  8574  	StatusValuesSucceeded = "SUCCEEDED"
  8575  )
  8576  
  8577  // StatusValues_Values returns all elements of the StatusValues enum
  8578  func StatusValues_Values() []string {
  8579  	return []string{
  8580  		StatusValuesInProgress,
  8581  		StatusValuesFailed,
  8582  		StatusValuesSucceeded,
  8583  	}
  8584  }
  8585  
  8586  const (
  8587  	// TargetTypeAwsAccount is a TargetType enum value
  8588  	TargetTypeAwsAccount = "AWS_ACCOUNT"
  8589  )
  8590  
  8591  // TargetType_Values returns all elements of the TargetType enum
  8592  func TargetType_Values() []string {
  8593  	return []string{
  8594  		TargetTypeAwsAccount,
  8595  	}
  8596  }