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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package cloudhsm
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  )
    13  
    14  const opAddTagsToResource = "AddTagsToResource"
    15  
    16  // AddTagsToResourceRequest generates a "aws/request.Request" representing the
    17  // client's request for the AddTagsToResource operation. The "output" return
    18  // value will be populated with the request's response once the request completes
    19  // successfully.
    20  //
    21  // Use "Send" method on the returned Request to send the API call to the service.
    22  // the "output" return value is not valid until after Send returns without error.
    23  //
    24  // See AddTagsToResource for more information on using the AddTagsToResource
    25  // API call, and error handling.
    26  //
    27  // This method is useful when you want to inject custom logic or configuration
    28  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    29  //
    30  //
    31  //    // Example sending a request using the AddTagsToResourceRequest method.
    32  //    req, resp := client.AddTagsToResourceRequest(params)
    33  //
    34  //    err := req.Send()
    35  //    if err == nil { // resp is now filled
    36  //        fmt.Println(resp)
    37  //    }
    38  //
    39  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/AddTagsToResource
    40  func (c *CloudHSM) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
    41  	op := &request.Operation{
    42  		Name:       opAddTagsToResource,
    43  		HTTPMethod: "POST",
    44  		HTTPPath:   "/",
    45  	}
    46  
    47  	if input == nil {
    48  		input = &AddTagsToResourceInput{}
    49  	}
    50  
    51  	output = &AddTagsToResourceOutput{}
    52  	req = c.newRequest(op, input, output)
    53  	return
    54  }
    55  
    56  // AddTagsToResource API operation for Amazon CloudHSM.
    57  //
    58  // This is documentation for AWS CloudHSM Classic. For more information, see
    59  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
    60  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
    61  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
    62  //
    63  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
    64  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
    65  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
    66  //
    67  // Adds or overwrites one or more tags for the specified AWS CloudHSM resource.
    68  //
    69  // Each tag consists of a key and a value. Tag keys must be unique to each resource.
    70  //
    71  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    72  // with awserr.Error's Code and Message methods to get detailed information about
    73  // the error.
    74  //
    75  // See the AWS API reference guide for Amazon CloudHSM's
    76  // API operation AddTagsToResource for usage and error information.
    77  //
    78  // Returned Error Types:
    79  //   * CloudHsmServiceException
    80  //   Indicates that an exception occurred in the AWS CloudHSM service.
    81  //
    82  //   * CloudHsmInternalException
    83  //   Indicates that an internal error occurred.
    84  //
    85  //   * InvalidRequestException
    86  //   Indicates that one or more of the request parameters are not valid.
    87  //
    88  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/AddTagsToResource
    89  func (c *CloudHSM) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
    90  	req, out := c.AddTagsToResourceRequest(input)
    91  	return out, req.Send()
    92  }
    93  
    94  // AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
    95  // the ability to pass a context and additional request options.
    96  //
    97  // See AddTagsToResource for details on how to use this API operation.
    98  //
    99  // The context must be non-nil and will be used for request cancellation. If
   100  // the context is nil a panic will occur. In the future the SDK may create
   101  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   102  // for more information on using Contexts.
   103  func (c *CloudHSM) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
   104  	req, out := c.AddTagsToResourceRequest(input)
   105  	req.SetContext(ctx)
   106  	req.ApplyOptions(opts...)
   107  	return out, req.Send()
   108  }
   109  
   110  const opCreateHapg = "CreateHapg"
   111  
   112  // CreateHapgRequest generates a "aws/request.Request" representing the
   113  // client's request for the CreateHapg operation. The "output" return
   114  // value will be populated with the request's response once the request completes
   115  // successfully.
   116  //
   117  // Use "Send" method on the returned Request to send the API call to the service.
   118  // the "output" return value is not valid until after Send returns without error.
   119  //
   120  // See CreateHapg for more information on using the CreateHapg
   121  // API call, and error handling.
   122  //
   123  // This method is useful when you want to inject custom logic or configuration
   124  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   125  //
   126  //
   127  //    // Example sending a request using the CreateHapgRequest method.
   128  //    req, resp := client.CreateHapgRequest(params)
   129  //
   130  //    err := req.Send()
   131  //    if err == nil { // resp is now filled
   132  //        fmt.Println(resp)
   133  //    }
   134  //
   135  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/CreateHapg
   136  func (c *CloudHSM) CreateHapgRequest(input *CreateHapgInput) (req *request.Request, output *CreateHapgOutput) {
   137  	op := &request.Operation{
   138  		Name:       opCreateHapg,
   139  		HTTPMethod: "POST",
   140  		HTTPPath:   "/",
   141  	}
   142  
   143  	if input == nil {
   144  		input = &CreateHapgInput{}
   145  	}
   146  
   147  	output = &CreateHapgOutput{}
   148  	req = c.newRequest(op, input, output)
   149  	return
   150  }
   151  
   152  // CreateHapg API operation for Amazon CloudHSM.
   153  //
   154  // This is documentation for AWS CloudHSM Classic. For more information, see
   155  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
   156  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
   157  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
   158  //
   159  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
   160  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
   161  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
   162  //
   163  // Creates a high-availability partition group. A high-availability partition
   164  // group is a group of partitions that spans multiple physical HSMs.
   165  //
   166  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   167  // with awserr.Error's Code and Message methods to get detailed information about
   168  // the error.
   169  //
   170  // See the AWS API reference guide for Amazon CloudHSM's
   171  // API operation CreateHapg for usage and error information.
   172  //
   173  // Returned Error Types:
   174  //   * CloudHsmServiceException
   175  //   Indicates that an exception occurred in the AWS CloudHSM service.
   176  //
   177  //   * CloudHsmInternalException
   178  //   Indicates that an internal error occurred.
   179  //
   180  //   * InvalidRequestException
   181  //   Indicates that one or more of the request parameters are not valid.
   182  //
   183  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/CreateHapg
   184  func (c *CloudHSM) CreateHapg(input *CreateHapgInput) (*CreateHapgOutput, error) {
   185  	req, out := c.CreateHapgRequest(input)
   186  	return out, req.Send()
   187  }
   188  
   189  // CreateHapgWithContext is the same as CreateHapg with the addition of
   190  // the ability to pass a context and additional request options.
   191  //
   192  // See CreateHapg for details on how to use this API operation.
   193  //
   194  // The context must be non-nil and will be used for request cancellation. If
   195  // the context is nil a panic will occur. In the future the SDK may create
   196  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   197  // for more information on using Contexts.
   198  func (c *CloudHSM) CreateHapgWithContext(ctx aws.Context, input *CreateHapgInput, opts ...request.Option) (*CreateHapgOutput, error) {
   199  	req, out := c.CreateHapgRequest(input)
   200  	req.SetContext(ctx)
   201  	req.ApplyOptions(opts...)
   202  	return out, req.Send()
   203  }
   204  
   205  const opCreateHsm = "CreateHsm"
   206  
   207  // CreateHsmRequest generates a "aws/request.Request" representing the
   208  // client's request for the CreateHsm operation. The "output" return
   209  // value will be populated with the request's response once the request completes
   210  // successfully.
   211  //
   212  // Use "Send" method on the returned Request to send the API call to the service.
   213  // the "output" return value is not valid until after Send returns without error.
   214  //
   215  // See CreateHsm for more information on using the CreateHsm
   216  // API call, and error handling.
   217  //
   218  // This method is useful when you want to inject custom logic or configuration
   219  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   220  //
   221  //
   222  //    // Example sending a request using the CreateHsmRequest method.
   223  //    req, resp := client.CreateHsmRequest(params)
   224  //
   225  //    err := req.Send()
   226  //    if err == nil { // resp is now filled
   227  //        fmt.Println(resp)
   228  //    }
   229  //
   230  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/CreateHsm
   231  func (c *CloudHSM) CreateHsmRequest(input *CreateHsmInput) (req *request.Request, output *CreateHsmOutput) {
   232  	op := &request.Operation{
   233  		Name:       opCreateHsm,
   234  		HTTPMethod: "POST",
   235  		HTTPPath:   "/",
   236  	}
   237  
   238  	if input == nil {
   239  		input = &CreateHsmInput{}
   240  	}
   241  
   242  	output = &CreateHsmOutput{}
   243  	req = c.newRequest(op, input, output)
   244  	return
   245  }
   246  
   247  // CreateHsm API operation for Amazon CloudHSM.
   248  //
   249  // This is documentation for AWS CloudHSM Classic. For more information, see
   250  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
   251  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
   252  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
   253  //
   254  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
   255  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
   256  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
   257  //
   258  // Creates an uninitialized HSM instance.
   259  //
   260  // There is an upfront fee charged for each HSM instance that you create with
   261  // the CreateHsm operation. If you accidentally provision an HSM and want to
   262  // request a refund, delete the instance using the DeleteHsm operation, go to
   263  // the AWS Support Center (https://console.aws.amazon.com/support/home), create
   264  // a new case, and select Account and Billing Support.
   265  //
   266  // It can take up to 20 minutes to create and provision an HSM. You can monitor
   267  // the status of the HSM with the DescribeHsm operation. The HSM is ready to
   268  // be initialized when the status changes to RUNNING.
   269  //
   270  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   271  // with awserr.Error's Code and Message methods to get detailed information about
   272  // the error.
   273  //
   274  // See the AWS API reference guide for Amazon CloudHSM's
   275  // API operation CreateHsm for usage and error information.
   276  //
   277  // Returned Error Types:
   278  //   * CloudHsmServiceException
   279  //   Indicates that an exception occurred in the AWS CloudHSM service.
   280  //
   281  //   * CloudHsmInternalException
   282  //   Indicates that an internal error occurred.
   283  //
   284  //   * InvalidRequestException
   285  //   Indicates that one or more of the request parameters are not valid.
   286  //
   287  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/CreateHsm
   288  func (c *CloudHSM) CreateHsm(input *CreateHsmInput) (*CreateHsmOutput, error) {
   289  	req, out := c.CreateHsmRequest(input)
   290  	return out, req.Send()
   291  }
   292  
   293  // CreateHsmWithContext is the same as CreateHsm with the addition of
   294  // the ability to pass a context and additional request options.
   295  //
   296  // See CreateHsm for details on how to use this API operation.
   297  //
   298  // The context must be non-nil and will be used for request cancellation. If
   299  // the context is nil a panic will occur. In the future the SDK may create
   300  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   301  // for more information on using Contexts.
   302  func (c *CloudHSM) CreateHsmWithContext(ctx aws.Context, input *CreateHsmInput, opts ...request.Option) (*CreateHsmOutput, error) {
   303  	req, out := c.CreateHsmRequest(input)
   304  	req.SetContext(ctx)
   305  	req.ApplyOptions(opts...)
   306  	return out, req.Send()
   307  }
   308  
   309  const opCreateLunaClient = "CreateLunaClient"
   310  
   311  // CreateLunaClientRequest generates a "aws/request.Request" representing the
   312  // client's request for the CreateLunaClient operation. The "output" return
   313  // value will be populated with the request's response once the request completes
   314  // successfully.
   315  //
   316  // Use "Send" method on the returned Request to send the API call to the service.
   317  // the "output" return value is not valid until after Send returns without error.
   318  //
   319  // See CreateLunaClient for more information on using the CreateLunaClient
   320  // API call, and error handling.
   321  //
   322  // This method is useful when you want to inject custom logic or configuration
   323  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   324  //
   325  //
   326  //    // Example sending a request using the CreateLunaClientRequest method.
   327  //    req, resp := client.CreateLunaClientRequest(params)
   328  //
   329  //    err := req.Send()
   330  //    if err == nil { // resp is now filled
   331  //        fmt.Println(resp)
   332  //    }
   333  //
   334  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/CreateLunaClient
   335  func (c *CloudHSM) CreateLunaClientRequest(input *CreateLunaClientInput) (req *request.Request, output *CreateLunaClientOutput) {
   336  	op := &request.Operation{
   337  		Name:       opCreateLunaClient,
   338  		HTTPMethod: "POST",
   339  		HTTPPath:   "/",
   340  	}
   341  
   342  	if input == nil {
   343  		input = &CreateLunaClientInput{}
   344  	}
   345  
   346  	output = &CreateLunaClientOutput{}
   347  	req = c.newRequest(op, input, output)
   348  	return
   349  }
   350  
   351  // CreateLunaClient API operation for Amazon CloudHSM.
   352  //
   353  // This is documentation for AWS CloudHSM Classic. For more information, see
   354  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
   355  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
   356  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
   357  //
   358  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
   359  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
   360  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
   361  //
   362  // Creates an HSM client.
   363  //
   364  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   365  // with awserr.Error's Code and Message methods to get detailed information about
   366  // the error.
   367  //
   368  // See the AWS API reference guide for Amazon CloudHSM's
   369  // API operation CreateLunaClient for usage and error information.
   370  //
   371  // Returned Error Types:
   372  //   * CloudHsmServiceException
   373  //   Indicates that an exception occurred in the AWS CloudHSM service.
   374  //
   375  //   * CloudHsmInternalException
   376  //   Indicates that an internal error occurred.
   377  //
   378  //   * InvalidRequestException
   379  //   Indicates that one or more of the request parameters are not valid.
   380  //
   381  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/CreateLunaClient
   382  func (c *CloudHSM) CreateLunaClient(input *CreateLunaClientInput) (*CreateLunaClientOutput, error) {
   383  	req, out := c.CreateLunaClientRequest(input)
   384  	return out, req.Send()
   385  }
   386  
   387  // CreateLunaClientWithContext is the same as CreateLunaClient with the addition of
   388  // the ability to pass a context and additional request options.
   389  //
   390  // See CreateLunaClient for details on how to use this API operation.
   391  //
   392  // The context must be non-nil and will be used for request cancellation. If
   393  // the context is nil a panic will occur. In the future the SDK may create
   394  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   395  // for more information on using Contexts.
   396  func (c *CloudHSM) CreateLunaClientWithContext(ctx aws.Context, input *CreateLunaClientInput, opts ...request.Option) (*CreateLunaClientOutput, error) {
   397  	req, out := c.CreateLunaClientRequest(input)
   398  	req.SetContext(ctx)
   399  	req.ApplyOptions(opts...)
   400  	return out, req.Send()
   401  }
   402  
   403  const opDeleteHapg = "DeleteHapg"
   404  
   405  // DeleteHapgRequest generates a "aws/request.Request" representing the
   406  // client's request for the DeleteHapg operation. The "output" return
   407  // value will be populated with the request's response once the request completes
   408  // successfully.
   409  //
   410  // Use "Send" method on the returned Request to send the API call to the service.
   411  // the "output" return value is not valid until after Send returns without error.
   412  //
   413  // See DeleteHapg for more information on using the DeleteHapg
   414  // API call, and error handling.
   415  //
   416  // This method is useful when you want to inject custom logic or configuration
   417  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   418  //
   419  //
   420  //    // Example sending a request using the DeleteHapgRequest method.
   421  //    req, resp := client.DeleteHapgRequest(params)
   422  //
   423  //    err := req.Send()
   424  //    if err == nil { // resp is now filled
   425  //        fmt.Println(resp)
   426  //    }
   427  //
   428  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DeleteHapg
   429  func (c *CloudHSM) DeleteHapgRequest(input *DeleteHapgInput) (req *request.Request, output *DeleteHapgOutput) {
   430  	op := &request.Operation{
   431  		Name:       opDeleteHapg,
   432  		HTTPMethod: "POST",
   433  		HTTPPath:   "/",
   434  	}
   435  
   436  	if input == nil {
   437  		input = &DeleteHapgInput{}
   438  	}
   439  
   440  	output = &DeleteHapgOutput{}
   441  	req = c.newRequest(op, input, output)
   442  	return
   443  }
   444  
   445  // DeleteHapg API operation for Amazon CloudHSM.
   446  //
   447  // This is documentation for AWS CloudHSM Classic. For more information, see
   448  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
   449  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
   450  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
   451  //
   452  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
   453  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
   454  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
   455  //
   456  // Deletes a high-availability partition group.
   457  //
   458  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   459  // with awserr.Error's Code and Message methods to get detailed information about
   460  // the error.
   461  //
   462  // See the AWS API reference guide for Amazon CloudHSM's
   463  // API operation DeleteHapg for usage and error information.
   464  //
   465  // Returned Error Types:
   466  //   * CloudHsmServiceException
   467  //   Indicates that an exception occurred in the AWS CloudHSM service.
   468  //
   469  //   * CloudHsmInternalException
   470  //   Indicates that an internal error occurred.
   471  //
   472  //   * InvalidRequestException
   473  //   Indicates that one or more of the request parameters are not valid.
   474  //
   475  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DeleteHapg
   476  func (c *CloudHSM) DeleteHapg(input *DeleteHapgInput) (*DeleteHapgOutput, error) {
   477  	req, out := c.DeleteHapgRequest(input)
   478  	return out, req.Send()
   479  }
   480  
   481  // DeleteHapgWithContext is the same as DeleteHapg with the addition of
   482  // the ability to pass a context and additional request options.
   483  //
   484  // See DeleteHapg for details on how to use this API operation.
   485  //
   486  // The context must be non-nil and will be used for request cancellation. If
   487  // the context is nil a panic will occur. In the future the SDK may create
   488  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   489  // for more information on using Contexts.
   490  func (c *CloudHSM) DeleteHapgWithContext(ctx aws.Context, input *DeleteHapgInput, opts ...request.Option) (*DeleteHapgOutput, error) {
   491  	req, out := c.DeleteHapgRequest(input)
   492  	req.SetContext(ctx)
   493  	req.ApplyOptions(opts...)
   494  	return out, req.Send()
   495  }
   496  
   497  const opDeleteHsm = "DeleteHsm"
   498  
   499  // DeleteHsmRequest generates a "aws/request.Request" representing the
   500  // client's request for the DeleteHsm operation. The "output" return
   501  // value will be populated with the request's response once the request completes
   502  // successfully.
   503  //
   504  // Use "Send" method on the returned Request to send the API call to the service.
   505  // the "output" return value is not valid until after Send returns without error.
   506  //
   507  // See DeleteHsm for more information on using the DeleteHsm
   508  // API call, and error handling.
   509  //
   510  // This method is useful when you want to inject custom logic or configuration
   511  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   512  //
   513  //
   514  //    // Example sending a request using the DeleteHsmRequest method.
   515  //    req, resp := client.DeleteHsmRequest(params)
   516  //
   517  //    err := req.Send()
   518  //    if err == nil { // resp is now filled
   519  //        fmt.Println(resp)
   520  //    }
   521  //
   522  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DeleteHsm
   523  func (c *CloudHSM) DeleteHsmRequest(input *DeleteHsmInput) (req *request.Request, output *DeleteHsmOutput) {
   524  	op := &request.Operation{
   525  		Name:       opDeleteHsm,
   526  		HTTPMethod: "POST",
   527  		HTTPPath:   "/",
   528  	}
   529  
   530  	if input == nil {
   531  		input = &DeleteHsmInput{}
   532  	}
   533  
   534  	output = &DeleteHsmOutput{}
   535  	req = c.newRequest(op, input, output)
   536  	return
   537  }
   538  
   539  // DeleteHsm API operation for Amazon CloudHSM.
   540  //
   541  // This is documentation for AWS CloudHSM Classic. For more information, see
   542  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
   543  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
   544  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
   545  //
   546  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
   547  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
   548  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
   549  //
   550  // Deletes an HSM. After completion, this operation cannot be undone and your
   551  // key material cannot be recovered.
   552  //
   553  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   554  // with awserr.Error's Code and Message methods to get detailed information about
   555  // the error.
   556  //
   557  // See the AWS API reference guide for Amazon CloudHSM's
   558  // API operation DeleteHsm for usage and error information.
   559  //
   560  // Returned Error Types:
   561  //   * CloudHsmServiceException
   562  //   Indicates that an exception occurred in the AWS CloudHSM service.
   563  //
   564  //   * CloudHsmInternalException
   565  //   Indicates that an internal error occurred.
   566  //
   567  //   * InvalidRequestException
   568  //   Indicates that one or more of the request parameters are not valid.
   569  //
   570  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DeleteHsm
   571  func (c *CloudHSM) DeleteHsm(input *DeleteHsmInput) (*DeleteHsmOutput, error) {
   572  	req, out := c.DeleteHsmRequest(input)
   573  	return out, req.Send()
   574  }
   575  
   576  // DeleteHsmWithContext is the same as DeleteHsm with the addition of
   577  // the ability to pass a context and additional request options.
   578  //
   579  // See DeleteHsm for details on how to use this API operation.
   580  //
   581  // The context must be non-nil and will be used for request cancellation. If
   582  // the context is nil a panic will occur. In the future the SDK may create
   583  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   584  // for more information on using Contexts.
   585  func (c *CloudHSM) DeleteHsmWithContext(ctx aws.Context, input *DeleteHsmInput, opts ...request.Option) (*DeleteHsmOutput, error) {
   586  	req, out := c.DeleteHsmRequest(input)
   587  	req.SetContext(ctx)
   588  	req.ApplyOptions(opts...)
   589  	return out, req.Send()
   590  }
   591  
   592  const opDeleteLunaClient = "DeleteLunaClient"
   593  
   594  // DeleteLunaClientRequest generates a "aws/request.Request" representing the
   595  // client's request for the DeleteLunaClient operation. The "output" return
   596  // value will be populated with the request's response once the request completes
   597  // successfully.
   598  //
   599  // Use "Send" method on the returned Request to send the API call to the service.
   600  // the "output" return value is not valid until after Send returns without error.
   601  //
   602  // See DeleteLunaClient for more information on using the DeleteLunaClient
   603  // API call, and error handling.
   604  //
   605  // This method is useful when you want to inject custom logic or configuration
   606  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   607  //
   608  //
   609  //    // Example sending a request using the DeleteLunaClientRequest method.
   610  //    req, resp := client.DeleteLunaClientRequest(params)
   611  //
   612  //    err := req.Send()
   613  //    if err == nil { // resp is now filled
   614  //        fmt.Println(resp)
   615  //    }
   616  //
   617  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DeleteLunaClient
   618  func (c *CloudHSM) DeleteLunaClientRequest(input *DeleteLunaClientInput) (req *request.Request, output *DeleteLunaClientOutput) {
   619  	op := &request.Operation{
   620  		Name:       opDeleteLunaClient,
   621  		HTTPMethod: "POST",
   622  		HTTPPath:   "/",
   623  	}
   624  
   625  	if input == nil {
   626  		input = &DeleteLunaClientInput{}
   627  	}
   628  
   629  	output = &DeleteLunaClientOutput{}
   630  	req = c.newRequest(op, input, output)
   631  	return
   632  }
   633  
   634  // DeleteLunaClient API operation for Amazon CloudHSM.
   635  //
   636  // This is documentation for AWS CloudHSM Classic. For more information, see
   637  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
   638  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
   639  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
   640  //
   641  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
   642  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
   643  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
   644  //
   645  // Deletes a client.
   646  //
   647  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   648  // with awserr.Error's Code and Message methods to get detailed information about
   649  // the error.
   650  //
   651  // See the AWS API reference guide for Amazon CloudHSM's
   652  // API operation DeleteLunaClient for usage and error information.
   653  //
   654  // Returned Error Types:
   655  //   * CloudHsmServiceException
   656  //   Indicates that an exception occurred in the AWS CloudHSM service.
   657  //
   658  //   * CloudHsmInternalException
   659  //   Indicates that an internal error occurred.
   660  //
   661  //   * InvalidRequestException
   662  //   Indicates that one or more of the request parameters are not valid.
   663  //
   664  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DeleteLunaClient
   665  func (c *CloudHSM) DeleteLunaClient(input *DeleteLunaClientInput) (*DeleteLunaClientOutput, error) {
   666  	req, out := c.DeleteLunaClientRequest(input)
   667  	return out, req.Send()
   668  }
   669  
   670  // DeleteLunaClientWithContext is the same as DeleteLunaClient with the addition of
   671  // the ability to pass a context and additional request options.
   672  //
   673  // See DeleteLunaClient for details on how to use this API operation.
   674  //
   675  // The context must be non-nil and will be used for request cancellation. If
   676  // the context is nil a panic will occur. In the future the SDK may create
   677  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   678  // for more information on using Contexts.
   679  func (c *CloudHSM) DeleteLunaClientWithContext(ctx aws.Context, input *DeleteLunaClientInput, opts ...request.Option) (*DeleteLunaClientOutput, error) {
   680  	req, out := c.DeleteLunaClientRequest(input)
   681  	req.SetContext(ctx)
   682  	req.ApplyOptions(opts...)
   683  	return out, req.Send()
   684  }
   685  
   686  const opDescribeHapg = "DescribeHapg"
   687  
   688  // DescribeHapgRequest generates a "aws/request.Request" representing the
   689  // client's request for the DescribeHapg operation. The "output" return
   690  // value will be populated with the request's response once the request completes
   691  // successfully.
   692  //
   693  // Use "Send" method on the returned Request to send the API call to the service.
   694  // the "output" return value is not valid until after Send returns without error.
   695  //
   696  // See DescribeHapg for more information on using the DescribeHapg
   697  // API call, and error handling.
   698  //
   699  // This method is useful when you want to inject custom logic or configuration
   700  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   701  //
   702  //
   703  //    // Example sending a request using the DescribeHapgRequest method.
   704  //    req, resp := client.DescribeHapgRequest(params)
   705  //
   706  //    err := req.Send()
   707  //    if err == nil { // resp is now filled
   708  //        fmt.Println(resp)
   709  //    }
   710  //
   711  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DescribeHapg
   712  func (c *CloudHSM) DescribeHapgRequest(input *DescribeHapgInput) (req *request.Request, output *DescribeHapgOutput) {
   713  	op := &request.Operation{
   714  		Name:       opDescribeHapg,
   715  		HTTPMethod: "POST",
   716  		HTTPPath:   "/",
   717  	}
   718  
   719  	if input == nil {
   720  		input = &DescribeHapgInput{}
   721  	}
   722  
   723  	output = &DescribeHapgOutput{}
   724  	req = c.newRequest(op, input, output)
   725  	return
   726  }
   727  
   728  // DescribeHapg API operation for Amazon CloudHSM.
   729  //
   730  // This is documentation for AWS CloudHSM Classic. For more information, see
   731  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
   732  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
   733  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
   734  //
   735  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
   736  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
   737  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
   738  //
   739  // Retrieves information about a high-availability partition group.
   740  //
   741  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   742  // with awserr.Error's Code and Message methods to get detailed information about
   743  // the error.
   744  //
   745  // See the AWS API reference guide for Amazon CloudHSM's
   746  // API operation DescribeHapg for usage and error information.
   747  //
   748  // Returned Error Types:
   749  //   * CloudHsmServiceException
   750  //   Indicates that an exception occurred in the AWS CloudHSM service.
   751  //
   752  //   * CloudHsmInternalException
   753  //   Indicates that an internal error occurred.
   754  //
   755  //   * InvalidRequestException
   756  //   Indicates that one or more of the request parameters are not valid.
   757  //
   758  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DescribeHapg
   759  func (c *CloudHSM) DescribeHapg(input *DescribeHapgInput) (*DescribeHapgOutput, error) {
   760  	req, out := c.DescribeHapgRequest(input)
   761  	return out, req.Send()
   762  }
   763  
   764  // DescribeHapgWithContext is the same as DescribeHapg with the addition of
   765  // the ability to pass a context and additional request options.
   766  //
   767  // See DescribeHapg for details on how to use this API operation.
   768  //
   769  // The context must be non-nil and will be used for request cancellation. If
   770  // the context is nil a panic will occur. In the future the SDK may create
   771  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   772  // for more information on using Contexts.
   773  func (c *CloudHSM) DescribeHapgWithContext(ctx aws.Context, input *DescribeHapgInput, opts ...request.Option) (*DescribeHapgOutput, error) {
   774  	req, out := c.DescribeHapgRequest(input)
   775  	req.SetContext(ctx)
   776  	req.ApplyOptions(opts...)
   777  	return out, req.Send()
   778  }
   779  
   780  const opDescribeHsm = "DescribeHsm"
   781  
   782  // DescribeHsmRequest generates a "aws/request.Request" representing the
   783  // client's request for the DescribeHsm operation. The "output" return
   784  // value will be populated with the request's response once the request completes
   785  // successfully.
   786  //
   787  // Use "Send" method on the returned Request to send the API call to the service.
   788  // the "output" return value is not valid until after Send returns without error.
   789  //
   790  // See DescribeHsm for more information on using the DescribeHsm
   791  // API call, and error handling.
   792  //
   793  // This method is useful when you want to inject custom logic or configuration
   794  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   795  //
   796  //
   797  //    // Example sending a request using the DescribeHsmRequest method.
   798  //    req, resp := client.DescribeHsmRequest(params)
   799  //
   800  //    err := req.Send()
   801  //    if err == nil { // resp is now filled
   802  //        fmt.Println(resp)
   803  //    }
   804  //
   805  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DescribeHsm
   806  func (c *CloudHSM) DescribeHsmRequest(input *DescribeHsmInput) (req *request.Request, output *DescribeHsmOutput) {
   807  	op := &request.Operation{
   808  		Name:       opDescribeHsm,
   809  		HTTPMethod: "POST",
   810  		HTTPPath:   "/",
   811  	}
   812  
   813  	if input == nil {
   814  		input = &DescribeHsmInput{}
   815  	}
   816  
   817  	output = &DescribeHsmOutput{}
   818  	req = c.newRequest(op, input, output)
   819  	return
   820  }
   821  
   822  // DescribeHsm API operation for Amazon CloudHSM.
   823  //
   824  // This is documentation for AWS CloudHSM Classic. For more information, see
   825  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
   826  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
   827  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
   828  //
   829  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
   830  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
   831  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
   832  //
   833  // Retrieves information about an HSM. You can identify the HSM by its ARN or
   834  // its serial number.
   835  //
   836  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   837  // with awserr.Error's Code and Message methods to get detailed information about
   838  // the error.
   839  //
   840  // See the AWS API reference guide for Amazon CloudHSM's
   841  // API operation DescribeHsm for usage and error information.
   842  //
   843  // Returned Error Types:
   844  //   * CloudHsmServiceException
   845  //   Indicates that an exception occurred in the AWS CloudHSM service.
   846  //
   847  //   * CloudHsmInternalException
   848  //   Indicates that an internal error occurred.
   849  //
   850  //   * InvalidRequestException
   851  //   Indicates that one or more of the request parameters are not valid.
   852  //
   853  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DescribeHsm
   854  func (c *CloudHSM) DescribeHsm(input *DescribeHsmInput) (*DescribeHsmOutput, error) {
   855  	req, out := c.DescribeHsmRequest(input)
   856  	return out, req.Send()
   857  }
   858  
   859  // DescribeHsmWithContext is the same as DescribeHsm with the addition of
   860  // the ability to pass a context and additional request options.
   861  //
   862  // See DescribeHsm for details on how to use this API operation.
   863  //
   864  // The context must be non-nil and will be used for request cancellation. If
   865  // the context is nil a panic will occur. In the future the SDK may create
   866  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   867  // for more information on using Contexts.
   868  func (c *CloudHSM) DescribeHsmWithContext(ctx aws.Context, input *DescribeHsmInput, opts ...request.Option) (*DescribeHsmOutput, error) {
   869  	req, out := c.DescribeHsmRequest(input)
   870  	req.SetContext(ctx)
   871  	req.ApplyOptions(opts...)
   872  	return out, req.Send()
   873  }
   874  
   875  const opDescribeLunaClient = "DescribeLunaClient"
   876  
   877  // DescribeLunaClientRequest generates a "aws/request.Request" representing the
   878  // client's request for the DescribeLunaClient operation. The "output" return
   879  // value will be populated with the request's response once the request completes
   880  // successfully.
   881  //
   882  // Use "Send" method on the returned Request to send the API call to the service.
   883  // the "output" return value is not valid until after Send returns without error.
   884  //
   885  // See DescribeLunaClient for more information on using the DescribeLunaClient
   886  // API call, and error handling.
   887  //
   888  // This method is useful when you want to inject custom logic or configuration
   889  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   890  //
   891  //
   892  //    // Example sending a request using the DescribeLunaClientRequest method.
   893  //    req, resp := client.DescribeLunaClientRequest(params)
   894  //
   895  //    err := req.Send()
   896  //    if err == nil { // resp is now filled
   897  //        fmt.Println(resp)
   898  //    }
   899  //
   900  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DescribeLunaClient
   901  func (c *CloudHSM) DescribeLunaClientRequest(input *DescribeLunaClientInput) (req *request.Request, output *DescribeLunaClientOutput) {
   902  	op := &request.Operation{
   903  		Name:       opDescribeLunaClient,
   904  		HTTPMethod: "POST",
   905  		HTTPPath:   "/",
   906  	}
   907  
   908  	if input == nil {
   909  		input = &DescribeLunaClientInput{}
   910  	}
   911  
   912  	output = &DescribeLunaClientOutput{}
   913  	req = c.newRequest(op, input, output)
   914  	return
   915  }
   916  
   917  // DescribeLunaClient API operation for Amazon CloudHSM.
   918  //
   919  // This is documentation for AWS CloudHSM Classic. For more information, see
   920  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
   921  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
   922  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
   923  //
   924  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
   925  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
   926  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
   927  //
   928  // Retrieves information about an HSM client.
   929  //
   930  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   931  // with awserr.Error's Code and Message methods to get detailed information about
   932  // the error.
   933  //
   934  // See the AWS API reference guide for Amazon CloudHSM's
   935  // API operation DescribeLunaClient for usage and error information.
   936  //
   937  // Returned Error Types:
   938  //   * CloudHsmServiceException
   939  //   Indicates that an exception occurred in the AWS CloudHSM service.
   940  //
   941  //   * CloudHsmInternalException
   942  //   Indicates that an internal error occurred.
   943  //
   944  //   * InvalidRequestException
   945  //   Indicates that one or more of the request parameters are not valid.
   946  //
   947  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/DescribeLunaClient
   948  func (c *CloudHSM) DescribeLunaClient(input *DescribeLunaClientInput) (*DescribeLunaClientOutput, error) {
   949  	req, out := c.DescribeLunaClientRequest(input)
   950  	return out, req.Send()
   951  }
   952  
   953  // DescribeLunaClientWithContext is the same as DescribeLunaClient with the addition of
   954  // the ability to pass a context and additional request options.
   955  //
   956  // See DescribeLunaClient for details on how to use this API operation.
   957  //
   958  // The context must be non-nil and will be used for request cancellation. If
   959  // the context is nil a panic will occur. In the future the SDK may create
   960  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   961  // for more information on using Contexts.
   962  func (c *CloudHSM) DescribeLunaClientWithContext(ctx aws.Context, input *DescribeLunaClientInput, opts ...request.Option) (*DescribeLunaClientOutput, error) {
   963  	req, out := c.DescribeLunaClientRequest(input)
   964  	req.SetContext(ctx)
   965  	req.ApplyOptions(opts...)
   966  	return out, req.Send()
   967  }
   968  
   969  const opGetConfig = "GetConfig"
   970  
   971  // GetConfigRequest generates a "aws/request.Request" representing the
   972  // client's request for the GetConfig operation. The "output" return
   973  // value will be populated with the request's response once the request completes
   974  // successfully.
   975  //
   976  // Use "Send" method on the returned Request to send the API call to the service.
   977  // the "output" return value is not valid until after Send returns without error.
   978  //
   979  // See GetConfig for more information on using the GetConfig
   980  // API call, and error handling.
   981  //
   982  // This method is useful when you want to inject custom logic or configuration
   983  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   984  //
   985  //
   986  //    // Example sending a request using the GetConfigRequest method.
   987  //    req, resp := client.GetConfigRequest(params)
   988  //
   989  //    err := req.Send()
   990  //    if err == nil { // resp is now filled
   991  //        fmt.Println(resp)
   992  //    }
   993  //
   994  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/GetConfig
   995  func (c *CloudHSM) GetConfigRequest(input *GetConfigInput) (req *request.Request, output *GetConfigOutput) {
   996  	op := &request.Operation{
   997  		Name:       opGetConfig,
   998  		HTTPMethod: "POST",
   999  		HTTPPath:   "/",
  1000  	}
  1001  
  1002  	if input == nil {
  1003  		input = &GetConfigInput{}
  1004  	}
  1005  
  1006  	output = &GetConfigOutput{}
  1007  	req = c.newRequest(op, input, output)
  1008  	return
  1009  }
  1010  
  1011  // GetConfig API operation for Amazon CloudHSM.
  1012  //
  1013  // This is documentation for AWS CloudHSM Classic. For more information, see
  1014  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
  1015  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
  1016  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
  1017  //
  1018  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
  1019  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
  1020  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
  1021  //
  1022  // Gets the configuration files necessary to connect to all high availability
  1023  // partition groups the client is associated with.
  1024  //
  1025  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1026  // with awserr.Error's Code and Message methods to get detailed information about
  1027  // the error.
  1028  //
  1029  // See the AWS API reference guide for Amazon CloudHSM's
  1030  // API operation GetConfig for usage and error information.
  1031  //
  1032  // Returned Error Types:
  1033  //   * CloudHsmServiceException
  1034  //   Indicates that an exception occurred in the AWS CloudHSM service.
  1035  //
  1036  //   * CloudHsmInternalException
  1037  //   Indicates that an internal error occurred.
  1038  //
  1039  //   * InvalidRequestException
  1040  //   Indicates that one or more of the request parameters are not valid.
  1041  //
  1042  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/GetConfig
  1043  func (c *CloudHSM) GetConfig(input *GetConfigInput) (*GetConfigOutput, error) {
  1044  	req, out := c.GetConfigRequest(input)
  1045  	return out, req.Send()
  1046  }
  1047  
  1048  // GetConfigWithContext is the same as GetConfig with the addition of
  1049  // the ability to pass a context and additional request options.
  1050  //
  1051  // See GetConfig for details on how to use this API operation.
  1052  //
  1053  // The context must be non-nil and will be used for request cancellation. If
  1054  // the context is nil a panic will occur. In the future the SDK may create
  1055  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1056  // for more information on using Contexts.
  1057  func (c *CloudHSM) GetConfigWithContext(ctx aws.Context, input *GetConfigInput, opts ...request.Option) (*GetConfigOutput, error) {
  1058  	req, out := c.GetConfigRequest(input)
  1059  	req.SetContext(ctx)
  1060  	req.ApplyOptions(opts...)
  1061  	return out, req.Send()
  1062  }
  1063  
  1064  const opListAvailableZones = "ListAvailableZones"
  1065  
  1066  // ListAvailableZonesRequest generates a "aws/request.Request" representing the
  1067  // client's request for the ListAvailableZones operation. The "output" return
  1068  // value will be populated with the request's response once the request completes
  1069  // successfully.
  1070  //
  1071  // Use "Send" method on the returned Request to send the API call to the service.
  1072  // the "output" return value is not valid until after Send returns without error.
  1073  //
  1074  // See ListAvailableZones for more information on using the ListAvailableZones
  1075  // API call, and error handling.
  1076  //
  1077  // This method is useful when you want to inject custom logic or configuration
  1078  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1079  //
  1080  //
  1081  //    // Example sending a request using the ListAvailableZonesRequest method.
  1082  //    req, resp := client.ListAvailableZonesRequest(params)
  1083  //
  1084  //    err := req.Send()
  1085  //    if err == nil { // resp is now filled
  1086  //        fmt.Println(resp)
  1087  //    }
  1088  //
  1089  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ListAvailableZones
  1090  func (c *CloudHSM) ListAvailableZonesRequest(input *ListAvailableZonesInput) (req *request.Request, output *ListAvailableZonesOutput) {
  1091  	op := &request.Operation{
  1092  		Name:       opListAvailableZones,
  1093  		HTTPMethod: "POST",
  1094  		HTTPPath:   "/",
  1095  	}
  1096  
  1097  	if input == nil {
  1098  		input = &ListAvailableZonesInput{}
  1099  	}
  1100  
  1101  	output = &ListAvailableZonesOutput{}
  1102  	req = c.newRequest(op, input, output)
  1103  	return
  1104  }
  1105  
  1106  // ListAvailableZones API operation for Amazon CloudHSM.
  1107  //
  1108  // This is documentation for AWS CloudHSM Classic. For more information, see
  1109  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
  1110  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
  1111  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
  1112  //
  1113  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
  1114  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
  1115  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
  1116  //
  1117  // Lists the Availability Zones that have available AWS CloudHSM capacity.
  1118  //
  1119  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1120  // with awserr.Error's Code and Message methods to get detailed information about
  1121  // the error.
  1122  //
  1123  // See the AWS API reference guide for Amazon CloudHSM's
  1124  // API operation ListAvailableZones for usage and error information.
  1125  //
  1126  // Returned Error Types:
  1127  //   * CloudHsmServiceException
  1128  //   Indicates that an exception occurred in the AWS CloudHSM service.
  1129  //
  1130  //   * CloudHsmInternalException
  1131  //   Indicates that an internal error occurred.
  1132  //
  1133  //   * InvalidRequestException
  1134  //   Indicates that one or more of the request parameters are not valid.
  1135  //
  1136  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ListAvailableZones
  1137  func (c *CloudHSM) ListAvailableZones(input *ListAvailableZonesInput) (*ListAvailableZonesOutput, error) {
  1138  	req, out := c.ListAvailableZonesRequest(input)
  1139  	return out, req.Send()
  1140  }
  1141  
  1142  // ListAvailableZonesWithContext is the same as ListAvailableZones with the addition of
  1143  // the ability to pass a context and additional request options.
  1144  //
  1145  // See ListAvailableZones for details on how to use this API operation.
  1146  //
  1147  // The context must be non-nil and will be used for request cancellation. If
  1148  // the context is nil a panic will occur. In the future the SDK may create
  1149  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1150  // for more information on using Contexts.
  1151  func (c *CloudHSM) ListAvailableZonesWithContext(ctx aws.Context, input *ListAvailableZonesInput, opts ...request.Option) (*ListAvailableZonesOutput, error) {
  1152  	req, out := c.ListAvailableZonesRequest(input)
  1153  	req.SetContext(ctx)
  1154  	req.ApplyOptions(opts...)
  1155  	return out, req.Send()
  1156  }
  1157  
  1158  const opListHapgs = "ListHapgs"
  1159  
  1160  // ListHapgsRequest generates a "aws/request.Request" representing the
  1161  // client's request for the ListHapgs operation. The "output" return
  1162  // value will be populated with the request's response once the request completes
  1163  // successfully.
  1164  //
  1165  // Use "Send" method on the returned Request to send the API call to the service.
  1166  // the "output" return value is not valid until after Send returns without error.
  1167  //
  1168  // See ListHapgs for more information on using the ListHapgs
  1169  // API call, and error handling.
  1170  //
  1171  // This method is useful when you want to inject custom logic or configuration
  1172  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1173  //
  1174  //
  1175  //    // Example sending a request using the ListHapgsRequest method.
  1176  //    req, resp := client.ListHapgsRequest(params)
  1177  //
  1178  //    err := req.Send()
  1179  //    if err == nil { // resp is now filled
  1180  //        fmt.Println(resp)
  1181  //    }
  1182  //
  1183  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ListHapgs
  1184  func (c *CloudHSM) ListHapgsRequest(input *ListHapgsInput) (req *request.Request, output *ListHapgsOutput) {
  1185  	op := &request.Operation{
  1186  		Name:       opListHapgs,
  1187  		HTTPMethod: "POST",
  1188  		HTTPPath:   "/",
  1189  	}
  1190  
  1191  	if input == nil {
  1192  		input = &ListHapgsInput{}
  1193  	}
  1194  
  1195  	output = &ListHapgsOutput{}
  1196  	req = c.newRequest(op, input, output)
  1197  	return
  1198  }
  1199  
  1200  // ListHapgs API operation for Amazon CloudHSM.
  1201  //
  1202  // This is documentation for AWS CloudHSM Classic. For more information, see
  1203  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
  1204  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
  1205  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
  1206  //
  1207  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
  1208  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
  1209  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
  1210  //
  1211  // Lists the high-availability partition groups for the account.
  1212  //
  1213  // This operation supports pagination with the use of the NextToken member.
  1214  // If more results are available, the NextToken member of the response contains
  1215  // a token that you pass in the next call to ListHapgs to retrieve the next
  1216  // set of items.
  1217  //
  1218  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1219  // with awserr.Error's Code and Message methods to get detailed information about
  1220  // the error.
  1221  //
  1222  // See the AWS API reference guide for Amazon CloudHSM's
  1223  // API operation ListHapgs for usage and error information.
  1224  //
  1225  // Returned Error Types:
  1226  //   * CloudHsmServiceException
  1227  //   Indicates that an exception occurred in the AWS CloudHSM service.
  1228  //
  1229  //   * CloudHsmInternalException
  1230  //   Indicates that an internal error occurred.
  1231  //
  1232  //   * InvalidRequestException
  1233  //   Indicates that one or more of the request parameters are not valid.
  1234  //
  1235  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ListHapgs
  1236  func (c *CloudHSM) ListHapgs(input *ListHapgsInput) (*ListHapgsOutput, error) {
  1237  	req, out := c.ListHapgsRequest(input)
  1238  	return out, req.Send()
  1239  }
  1240  
  1241  // ListHapgsWithContext is the same as ListHapgs with the addition of
  1242  // the ability to pass a context and additional request options.
  1243  //
  1244  // See ListHapgs for details on how to use this API operation.
  1245  //
  1246  // The context must be non-nil and will be used for request cancellation. If
  1247  // the context is nil a panic will occur. In the future the SDK may create
  1248  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1249  // for more information on using Contexts.
  1250  func (c *CloudHSM) ListHapgsWithContext(ctx aws.Context, input *ListHapgsInput, opts ...request.Option) (*ListHapgsOutput, error) {
  1251  	req, out := c.ListHapgsRequest(input)
  1252  	req.SetContext(ctx)
  1253  	req.ApplyOptions(opts...)
  1254  	return out, req.Send()
  1255  }
  1256  
  1257  const opListHsms = "ListHsms"
  1258  
  1259  // ListHsmsRequest generates a "aws/request.Request" representing the
  1260  // client's request for the ListHsms operation. The "output" return
  1261  // value will be populated with the request's response once the request completes
  1262  // successfully.
  1263  //
  1264  // Use "Send" method on the returned Request to send the API call to the service.
  1265  // the "output" return value is not valid until after Send returns without error.
  1266  //
  1267  // See ListHsms for more information on using the ListHsms
  1268  // API call, and error handling.
  1269  //
  1270  // This method is useful when you want to inject custom logic or configuration
  1271  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1272  //
  1273  //
  1274  //    // Example sending a request using the ListHsmsRequest method.
  1275  //    req, resp := client.ListHsmsRequest(params)
  1276  //
  1277  //    err := req.Send()
  1278  //    if err == nil { // resp is now filled
  1279  //        fmt.Println(resp)
  1280  //    }
  1281  //
  1282  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ListHsms
  1283  func (c *CloudHSM) ListHsmsRequest(input *ListHsmsInput) (req *request.Request, output *ListHsmsOutput) {
  1284  	op := &request.Operation{
  1285  		Name:       opListHsms,
  1286  		HTTPMethod: "POST",
  1287  		HTTPPath:   "/",
  1288  	}
  1289  
  1290  	if input == nil {
  1291  		input = &ListHsmsInput{}
  1292  	}
  1293  
  1294  	output = &ListHsmsOutput{}
  1295  	req = c.newRequest(op, input, output)
  1296  	return
  1297  }
  1298  
  1299  // ListHsms API operation for Amazon CloudHSM.
  1300  //
  1301  // This is documentation for AWS CloudHSM Classic. For more information, see
  1302  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
  1303  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
  1304  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
  1305  //
  1306  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
  1307  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
  1308  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
  1309  //
  1310  // Retrieves the identifiers of all of the HSMs provisioned for the current
  1311  // customer.
  1312  //
  1313  // This operation supports pagination with the use of the NextToken member.
  1314  // If more results are available, the NextToken member of the response contains
  1315  // a token that you pass in the next call to ListHsms to retrieve the next set
  1316  // of items.
  1317  //
  1318  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1319  // with awserr.Error's Code and Message methods to get detailed information about
  1320  // the error.
  1321  //
  1322  // See the AWS API reference guide for Amazon CloudHSM's
  1323  // API operation ListHsms for usage and error information.
  1324  //
  1325  // Returned Error Types:
  1326  //   * CloudHsmServiceException
  1327  //   Indicates that an exception occurred in the AWS CloudHSM service.
  1328  //
  1329  //   * CloudHsmInternalException
  1330  //   Indicates that an internal error occurred.
  1331  //
  1332  //   * InvalidRequestException
  1333  //   Indicates that one or more of the request parameters are not valid.
  1334  //
  1335  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ListHsms
  1336  func (c *CloudHSM) ListHsms(input *ListHsmsInput) (*ListHsmsOutput, error) {
  1337  	req, out := c.ListHsmsRequest(input)
  1338  	return out, req.Send()
  1339  }
  1340  
  1341  // ListHsmsWithContext is the same as ListHsms with the addition of
  1342  // the ability to pass a context and additional request options.
  1343  //
  1344  // See ListHsms for details on how to use this API operation.
  1345  //
  1346  // The context must be non-nil and will be used for request cancellation. If
  1347  // the context is nil a panic will occur. In the future the SDK may create
  1348  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1349  // for more information on using Contexts.
  1350  func (c *CloudHSM) ListHsmsWithContext(ctx aws.Context, input *ListHsmsInput, opts ...request.Option) (*ListHsmsOutput, error) {
  1351  	req, out := c.ListHsmsRequest(input)
  1352  	req.SetContext(ctx)
  1353  	req.ApplyOptions(opts...)
  1354  	return out, req.Send()
  1355  }
  1356  
  1357  const opListLunaClients = "ListLunaClients"
  1358  
  1359  // ListLunaClientsRequest generates a "aws/request.Request" representing the
  1360  // client's request for the ListLunaClients operation. The "output" return
  1361  // value will be populated with the request's response once the request completes
  1362  // successfully.
  1363  //
  1364  // Use "Send" method on the returned Request to send the API call to the service.
  1365  // the "output" return value is not valid until after Send returns without error.
  1366  //
  1367  // See ListLunaClients for more information on using the ListLunaClients
  1368  // API call, and error handling.
  1369  //
  1370  // This method is useful when you want to inject custom logic or configuration
  1371  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1372  //
  1373  //
  1374  //    // Example sending a request using the ListLunaClientsRequest method.
  1375  //    req, resp := client.ListLunaClientsRequest(params)
  1376  //
  1377  //    err := req.Send()
  1378  //    if err == nil { // resp is now filled
  1379  //        fmt.Println(resp)
  1380  //    }
  1381  //
  1382  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ListLunaClients
  1383  func (c *CloudHSM) ListLunaClientsRequest(input *ListLunaClientsInput) (req *request.Request, output *ListLunaClientsOutput) {
  1384  	op := &request.Operation{
  1385  		Name:       opListLunaClients,
  1386  		HTTPMethod: "POST",
  1387  		HTTPPath:   "/",
  1388  	}
  1389  
  1390  	if input == nil {
  1391  		input = &ListLunaClientsInput{}
  1392  	}
  1393  
  1394  	output = &ListLunaClientsOutput{}
  1395  	req = c.newRequest(op, input, output)
  1396  	return
  1397  }
  1398  
  1399  // ListLunaClients API operation for Amazon CloudHSM.
  1400  //
  1401  // This is documentation for AWS CloudHSM Classic. For more information, see
  1402  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
  1403  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
  1404  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
  1405  //
  1406  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
  1407  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
  1408  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
  1409  //
  1410  // Lists all of the clients.
  1411  //
  1412  // This operation supports pagination with the use of the NextToken member.
  1413  // If more results are available, the NextToken member of the response contains
  1414  // a token that you pass in the next call to ListLunaClients to retrieve the
  1415  // next set of items.
  1416  //
  1417  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1418  // with awserr.Error's Code and Message methods to get detailed information about
  1419  // the error.
  1420  //
  1421  // See the AWS API reference guide for Amazon CloudHSM's
  1422  // API operation ListLunaClients for usage and error information.
  1423  //
  1424  // Returned Error Types:
  1425  //   * CloudHsmServiceException
  1426  //   Indicates that an exception occurred in the AWS CloudHSM service.
  1427  //
  1428  //   * CloudHsmInternalException
  1429  //   Indicates that an internal error occurred.
  1430  //
  1431  //   * InvalidRequestException
  1432  //   Indicates that one or more of the request parameters are not valid.
  1433  //
  1434  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ListLunaClients
  1435  func (c *CloudHSM) ListLunaClients(input *ListLunaClientsInput) (*ListLunaClientsOutput, error) {
  1436  	req, out := c.ListLunaClientsRequest(input)
  1437  	return out, req.Send()
  1438  }
  1439  
  1440  // ListLunaClientsWithContext is the same as ListLunaClients with the addition of
  1441  // the ability to pass a context and additional request options.
  1442  //
  1443  // See ListLunaClients for details on how to use this API operation.
  1444  //
  1445  // The context must be non-nil and will be used for request cancellation. If
  1446  // the context is nil a panic will occur. In the future the SDK may create
  1447  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1448  // for more information on using Contexts.
  1449  func (c *CloudHSM) ListLunaClientsWithContext(ctx aws.Context, input *ListLunaClientsInput, opts ...request.Option) (*ListLunaClientsOutput, error) {
  1450  	req, out := c.ListLunaClientsRequest(input)
  1451  	req.SetContext(ctx)
  1452  	req.ApplyOptions(opts...)
  1453  	return out, req.Send()
  1454  }
  1455  
  1456  const opListTagsForResource = "ListTagsForResource"
  1457  
  1458  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1459  // client's request for the ListTagsForResource operation. The "output" return
  1460  // value will be populated with the request's response once the request completes
  1461  // successfully.
  1462  //
  1463  // Use "Send" method on the returned Request to send the API call to the service.
  1464  // the "output" return value is not valid until after Send returns without error.
  1465  //
  1466  // See ListTagsForResource for more information on using the ListTagsForResource
  1467  // API call, and error handling.
  1468  //
  1469  // This method is useful when you want to inject custom logic or configuration
  1470  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1471  //
  1472  //
  1473  //    // Example sending a request using the ListTagsForResourceRequest method.
  1474  //    req, resp := client.ListTagsForResourceRequest(params)
  1475  //
  1476  //    err := req.Send()
  1477  //    if err == nil { // resp is now filled
  1478  //        fmt.Println(resp)
  1479  //    }
  1480  //
  1481  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ListTagsForResource
  1482  func (c *CloudHSM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1483  	op := &request.Operation{
  1484  		Name:       opListTagsForResource,
  1485  		HTTPMethod: "POST",
  1486  		HTTPPath:   "/",
  1487  	}
  1488  
  1489  	if input == nil {
  1490  		input = &ListTagsForResourceInput{}
  1491  	}
  1492  
  1493  	output = &ListTagsForResourceOutput{}
  1494  	req = c.newRequest(op, input, output)
  1495  	return
  1496  }
  1497  
  1498  // ListTagsForResource API operation for Amazon CloudHSM.
  1499  //
  1500  // This is documentation for AWS CloudHSM Classic. For more information, see
  1501  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
  1502  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
  1503  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
  1504  //
  1505  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
  1506  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
  1507  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
  1508  //
  1509  // Returns a list of all tags for the specified AWS CloudHSM resource.
  1510  //
  1511  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1512  // with awserr.Error's Code and Message methods to get detailed information about
  1513  // the error.
  1514  //
  1515  // See the AWS API reference guide for Amazon CloudHSM's
  1516  // API operation ListTagsForResource for usage and error information.
  1517  //
  1518  // Returned Error Types:
  1519  //   * CloudHsmServiceException
  1520  //   Indicates that an exception occurred in the AWS CloudHSM service.
  1521  //
  1522  //   * CloudHsmInternalException
  1523  //   Indicates that an internal error occurred.
  1524  //
  1525  //   * InvalidRequestException
  1526  //   Indicates that one or more of the request parameters are not valid.
  1527  //
  1528  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ListTagsForResource
  1529  func (c *CloudHSM) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1530  	req, out := c.ListTagsForResourceRequest(input)
  1531  	return out, req.Send()
  1532  }
  1533  
  1534  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1535  // the ability to pass a context and additional request options.
  1536  //
  1537  // See ListTagsForResource for details on how to use this API operation.
  1538  //
  1539  // The context must be non-nil and will be used for request cancellation. If
  1540  // the context is nil a panic will occur. In the future the SDK may create
  1541  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1542  // for more information on using Contexts.
  1543  func (c *CloudHSM) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1544  	req, out := c.ListTagsForResourceRequest(input)
  1545  	req.SetContext(ctx)
  1546  	req.ApplyOptions(opts...)
  1547  	return out, req.Send()
  1548  }
  1549  
  1550  const opModifyHapg = "ModifyHapg"
  1551  
  1552  // ModifyHapgRequest generates a "aws/request.Request" representing the
  1553  // client's request for the ModifyHapg operation. The "output" return
  1554  // value will be populated with the request's response once the request completes
  1555  // successfully.
  1556  //
  1557  // Use "Send" method on the returned Request to send the API call to the service.
  1558  // the "output" return value is not valid until after Send returns without error.
  1559  //
  1560  // See ModifyHapg for more information on using the ModifyHapg
  1561  // API call, and error handling.
  1562  //
  1563  // This method is useful when you want to inject custom logic or configuration
  1564  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1565  //
  1566  //
  1567  //    // Example sending a request using the ModifyHapgRequest method.
  1568  //    req, resp := client.ModifyHapgRequest(params)
  1569  //
  1570  //    err := req.Send()
  1571  //    if err == nil { // resp is now filled
  1572  //        fmt.Println(resp)
  1573  //    }
  1574  //
  1575  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ModifyHapg
  1576  func (c *CloudHSM) ModifyHapgRequest(input *ModifyHapgInput) (req *request.Request, output *ModifyHapgOutput) {
  1577  	op := &request.Operation{
  1578  		Name:       opModifyHapg,
  1579  		HTTPMethod: "POST",
  1580  		HTTPPath:   "/",
  1581  	}
  1582  
  1583  	if input == nil {
  1584  		input = &ModifyHapgInput{}
  1585  	}
  1586  
  1587  	output = &ModifyHapgOutput{}
  1588  	req = c.newRequest(op, input, output)
  1589  	return
  1590  }
  1591  
  1592  // ModifyHapg API operation for Amazon CloudHSM.
  1593  //
  1594  // This is documentation for AWS CloudHSM Classic. For more information, see
  1595  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
  1596  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
  1597  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
  1598  //
  1599  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
  1600  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
  1601  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
  1602  //
  1603  // Modifies an existing high-availability partition group.
  1604  //
  1605  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1606  // with awserr.Error's Code and Message methods to get detailed information about
  1607  // the error.
  1608  //
  1609  // See the AWS API reference guide for Amazon CloudHSM's
  1610  // API operation ModifyHapg for usage and error information.
  1611  //
  1612  // Returned Error Types:
  1613  //   * CloudHsmServiceException
  1614  //   Indicates that an exception occurred in the AWS CloudHSM service.
  1615  //
  1616  //   * CloudHsmInternalException
  1617  //   Indicates that an internal error occurred.
  1618  //
  1619  //   * InvalidRequestException
  1620  //   Indicates that one or more of the request parameters are not valid.
  1621  //
  1622  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ModifyHapg
  1623  func (c *CloudHSM) ModifyHapg(input *ModifyHapgInput) (*ModifyHapgOutput, error) {
  1624  	req, out := c.ModifyHapgRequest(input)
  1625  	return out, req.Send()
  1626  }
  1627  
  1628  // ModifyHapgWithContext is the same as ModifyHapg with the addition of
  1629  // the ability to pass a context and additional request options.
  1630  //
  1631  // See ModifyHapg for details on how to use this API operation.
  1632  //
  1633  // The context must be non-nil and will be used for request cancellation. If
  1634  // the context is nil a panic will occur. In the future the SDK may create
  1635  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1636  // for more information on using Contexts.
  1637  func (c *CloudHSM) ModifyHapgWithContext(ctx aws.Context, input *ModifyHapgInput, opts ...request.Option) (*ModifyHapgOutput, error) {
  1638  	req, out := c.ModifyHapgRequest(input)
  1639  	req.SetContext(ctx)
  1640  	req.ApplyOptions(opts...)
  1641  	return out, req.Send()
  1642  }
  1643  
  1644  const opModifyHsm = "ModifyHsm"
  1645  
  1646  // ModifyHsmRequest generates a "aws/request.Request" representing the
  1647  // client's request for the ModifyHsm operation. The "output" return
  1648  // value will be populated with the request's response once the request completes
  1649  // successfully.
  1650  //
  1651  // Use "Send" method on the returned Request to send the API call to the service.
  1652  // the "output" return value is not valid until after Send returns without error.
  1653  //
  1654  // See ModifyHsm for more information on using the ModifyHsm
  1655  // API call, and error handling.
  1656  //
  1657  // This method is useful when you want to inject custom logic or configuration
  1658  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1659  //
  1660  //
  1661  //    // Example sending a request using the ModifyHsmRequest method.
  1662  //    req, resp := client.ModifyHsmRequest(params)
  1663  //
  1664  //    err := req.Send()
  1665  //    if err == nil { // resp is now filled
  1666  //        fmt.Println(resp)
  1667  //    }
  1668  //
  1669  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ModifyHsm
  1670  func (c *CloudHSM) ModifyHsmRequest(input *ModifyHsmInput) (req *request.Request, output *ModifyHsmOutput) {
  1671  	op := &request.Operation{
  1672  		Name:       opModifyHsm,
  1673  		HTTPMethod: "POST",
  1674  		HTTPPath:   "/",
  1675  	}
  1676  
  1677  	if input == nil {
  1678  		input = &ModifyHsmInput{}
  1679  	}
  1680  
  1681  	output = &ModifyHsmOutput{}
  1682  	req = c.newRequest(op, input, output)
  1683  	return
  1684  }
  1685  
  1686  // ModifyHsm API operation for Amazon CloudHSM.
  1687  //
  1688  // This is documentation for AWS CloudHSM Classic. For more information, see
  1689  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
  1690  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
  1691  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
  1692  //
  1693  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
  1694  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
  1695  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
  1696  //
  1697  // Modifies an HSM.
  1698  //
  1699  // This operation can result in the HSM being offline for up to 15 minutes while
  1700  // the AWS CloudHSM service is reconfigured. If you are modifying a production
  1701  // HSM, you should ensure that your AWS CloudHSM service is configured for high
  1702  // availability, and consider executing this operation during a maintenance
  1703  // window.
  1704  //
  1705  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1706  // with awserr.Error's Code and Message methods to get detailed information about
  1707  // the error.
  1708  //
  1709  // See the AWS API reference guide for Amazon CloudHSM's
  1710  // API operation ModifyHsm for usage and error information.
  1711  //
  1712  // Returned Error Types:
  1713  //   * CloudHsmServiceException
  1714  //   Indicates that an exception occurred in the AWS CloudHSM service.
  1715  //
  1716  //   * CloudHsmInternalException
  1717  //   Indicates that an internal error occurred.
  1718  //
  1719  //   * InvalidRequestException
  1720  //   Indicates that one or more of the request parameters are not valid.
  1721  //
  1722  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ModifyHsm
  1723  func (c *CloudHSM) ModifyHsm(input *ModifyHsmInput) (*ModifyHsmOutput, error) {
  1724  	req, out := c.ModifyHsmRequest(input)
  1725  	return out, req.Send()
  1726  }
  1727  
  1728  // ModifyHsmWithContext is the same as ModifyHsm with the addition of
  1729  // the ability to pass a context and additional request options.
  1730  //
  1731  // See ModifyHsm for details on how to use this API operation.
  1732  //
  1733  // The context must be non-nil and will be used for request cancellation. If
  1734  // the context is nil a panic will occur. In the future the SDK may create
  1735  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1736  // for more information on using Contexts.
  1737  func (c *CloudHSM) ModifyHsmWithContext(ctx aws.Context, input *ModifyHsmInput, opts ...request.Option) (*ModifyHsmOutput, error) {
  1738  	req, out := c.ModifyHsmRequest(input)
  1739  	req.SetContext(ctx)
  1740  	req.ApplyOptions(opts...)
  1741  	return out, req.Send()
  1742  }
  1743  
  1744  const opModifyLunaClient = "ModifyLunaClient"
  1745  
  1746  // ModifyLunaClientRequest generates a "aws/request.Request" representing the
  1747  // client's request for the ModifyLunaClient operation. The "output" return
  1748  // value will be populated with the request's response once the request completes
  1749  // successfully.
  1750  //
  1751  // Use "Send" method on the returned Request to send the API call to the service.
  1752  // the "output" return value is not valid until after Send returns without error.
  1753  //
  1754  // See ModifyLunaClient for more information on using the ModifyLunaClient
  1755  // API call, and error handling.
  1756  //
  1757  // This method is useful when you want to inject custom logic or configuration
  1758  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1759  //
  1760  //
  1761  //    // Example sending a request using the ModifyLunaClientRequest method.
  1762  //    req, resp := client.ModifyLunaClientRequest(params)
  1763  //
  1764  //    err := req.Send()
  1765  //    if err == nil { // resp is now filled
  1766  //        fmt.Println(resp)
  1767  //    }
  1768  //
  1769  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ModifyLunaClient
  1770  func (c *CloudHSM) ModifyLunaClientRequest(input *ModifyLunaClientInput) (req *request.Request, output *ModifyLunaClientOutput) {
  1771  	op := &request.Operation{
  1772  		Name:       opModifyLunaClient,
  1773  		HTTPMethod: "POST",
  1774  		HTTPPath:   "/",
  1775  	}
  1776  
  1777  	if input == nil {
  1778  		input = &ModifyLunaClientInput{}
  1779  	}
  1780  
  1781  	output = &ModifyLunaClientOutput{}
  1782  	req = c.newRequest(op, input, output)
  1783  	return
  1784  }
  1785  
  1786  // ModifyLunaClient API operation for Amazon CloudHSM.
  1787  //
  1788  // This is documentation for AWS CloudHSM Classic. For more information, see
  1789  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
  1790  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
  1791  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
  1792  //
  1793  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
  1794  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
  1795  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
  1796  //
  1797  // Modifies the certificate used by the client.
  1798  //
  1799  // This action can potentially start a workflow to install the new certificate
  1800  // on the client's HSMs.
  1801  //
  1802  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1803  // with awserr.Error's Code and Message methods to get detailed information about
  1804  // the error.
  1805  //
  1806  // See the AWS API reference guide for Amazon CloudHSM's
  1807  // API operation ModifyLunaClient for usage and error information.
  1808  //
  1809  // Returned Error Types:
  1810  //   * CloudHsmServiceException
  1811  //   Indicates that an exception occurred in the AWS CloudHSM service.
  1812  //
  1813  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/ModifyLunaClient
  1814  func (c *CloudHSM) ModifyLunaClient(input *ModifyLunaClientInput) (*ModifyLunaClientOutput, error) {
  1815  	req, out := c.ModifyLunaClientRequest(input)
  1816  	return out, req.Send()
  1817  }
  1818  
  1819  // ModifyLunaClientWithContext is the same as ModifyLunaClient with the addition of
  1820  // the ability to pass a context and additional request options.
  1821  //
  1822  // See ModifyLunaClient for details on how to use this API operation.
  1823  //
  1824  // The context must be non-nil and will be used for request cancellation. If
  1825  // the context is nil a panic will occur. In the future the SDK may create
  1826  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1827  // for more information on using Contexts.
  1828  func (c *CloudHSM) ModifyLunaClientWithContext(ctx aws.Context, input *ModifyLunaClientInput, opts ...request.Option) (*ModifyLunaClientOutput, error) {
  1829  	req, out := c.ModifyLunaClientRequest(input)
  1830  	req.SetContext(ctx)
  1831  	req.ApplyOptions(opts...)
  1832  	return out, req.Send()
  1833  }
  1834  
  1835  const opRemoveTagsFromResource = "RemoveTagsFromResource"
  1836  
  1837  // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
  1838  // client's request for the RemoveTagsFromResource operation. The "output" return
  1839  // value will be populated with the request's response once the request completes
  1840  // successfully.
  1841  //
  1842  // Use "Send" method on the returned Request to send the API call to the service.
  1843  // the "output" return value is not valid until after Send returns without error.
  1844  //
  1845  // See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
  1846  // API call, and error handling.
  1847  //
  1848  // This method is useful when you want to inject custom logic or configuration
  1849  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1850  //
  1851  //
  1852  //    // Example sending a request using the RemoveTagsFromResourceRequest method.
  1853  //    req, resp := client.RemoveTagsFromResourceRequest(params)
  1854  //
  1855  //    err := req.Send()
  1856  //    if err == nil { // resp is now filled
  1857  //        fmt.Println(resp)
  1858  //    }
  1859  //
  1860  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/RemoveTagsFromResource
  1861  func (c *CloudHSM) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
  1862  	op := &request.Operation{
  1863  		Name:       opRemoveTagsFromResource,
  1864  		HTTPMethod: "POST",
  1865  		HTTPPath:   "/",
  1866  	}
  1867  
  1868  	if input == nil {
  1869  		input = &RemoveTagsFromResourceInput{}
  1870  	}
  1871  
  1872  	output = &RemoveTagsFromResourceOutput{}
  1873  	req = c.newRequest(op, input, output)
  1874  	return
  1875  }
  1876  
  1877  // RemoveTagsFromResource API operation for Amazon CloudHSM.
  1878  //
  1879  // This is documentation for AWS CloudHSM Classic. For more information, see
  1880  // AWS CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/),
  1881  // the AWS CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/),
  1882  // and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/).
  1883  //
  1884  // For information about the current version of AWS CloudHSM, see AWS CloudHSM
  1885  // (http://aws.amazon.com/cloudhsm/), the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/),
  1886  // and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/).
  1887  //
  1888  // Removes one or more tags from the specified AWS CloudHSM resource.
  1889  //
  1890  // To remove a tag, specify only the tag key to remove (not the value). To overwrite
  1891  // the value for an existing tag, use AddTagsToResource.
  1892  //
  1893  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1894  // with awserr.Error's Code and Message methods to get detailed information about
  1895  // the error.
  1896  //
  1897  // See the AWS API reference guide for Amazon CloudHSM's
  1898  // API operation RemoveTagsFromResource for usage and error information.
  1899  //
  1900  // Returned Error Types:
  1901  //   * CloudHsmServiceException
  1902  //   Indicates that an exception occurred in the AWS CloudHSM service.
  1903  //
  1904  //   * CloudHsmInternalException
  1905  //   Indicates that an internal error occurred.
  1906  //
  1907  //   * InvalidRequestException
  1908  //   Indicates that one or more of the request parameters are not valid.
  1909  //
  1910  // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsm-2014-05-30/RemoveTagsFromResource
  1911  func (c *CloudHSM) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
  1912  	req, out := c.RemoveTagsFromResourceRequest(input)
  1913  	return out, req.Send()
  1914  }
  1915  
  1916  // RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
  1917  // the ability to pass a context and additional request options.
  1918  //
  1919  // See RemoveTagsFromResource for details on how to use this API operation.
  1920  //
  1921  // The context must be non-nil and will be used for request cancellation. If
  1922  // the context is nil a panic will occur. In the future the SDK may create
  1923  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1924  // for more information on using Contexts.
  1925  func (c *CloudHSM) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
  1926  	req, out := c.RemoveTagsFromResourceRequest(input)
  1927  	req.SetContext(ctx)
  1928  	req.ApplyOptions(opts...)
  1929  	return out, req.Send()
  1930  }
  1931  
  1932  type AddTagsToResourceInput struct {
  1933  	_ struct{} `type:"structure"`
  1934  
  1935  	// The Amazon Resource Name (ARN) of the AWS CloudHSM resource to tag.
  1936  	//
  1937  	// ResourceArn is a required field
  1938  	ResourceArn *string `type:"string" required:"true"`
  1939  
  1940  	// One or more tags.
  1941  	//
  1942  	// TagList is a required field
  1943  	TagList []*Tag `type:"list" required:"true"`
  1944  }
  1945  
  1946  // String returns the string representation.
  1947  //
  1948  // API parameter values that are decorated as "sensitive" in the API will not
  1949  // be included in the string output. The member name will be present, but the
  1950  // value will be replaced with "sensitive".
  1951  func (s AddTagsToResourceInput) String() string {
  1952  	return awsutil.Prettify(s)
  1953  }
  1954  
  1955  // GoString returns the string representation.
  1956  //
  1957  // API parameter values that are decorated as "sensitive" in the API will not
  1958  // be included in the string output. The member name will be present, but the
  1959  // value will be replaced with "sensitive".
  1960  func (s AddTagsToResourceInput) GoString() string {
  1961  	return s.String()
  1962  }
  1963  
  1964  // Validate inspects the fields of the type to determine if they are valid.
  1965  func (s *AddTagsToResourceInput) Validate() error {
  1966  	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
  1967  	if s.ResourceArn == nil {
  1968  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  1969  	}
  1970  	if s.TagList == nil {
  1971  		invalidParams.Add(request.NewErrParamRequired("TagList"))
  1972  	}
  1973  	if s.TagList != nil {
  1974  		for i, v := range s.TagList {
  1975  			if v == nil {
  1976  				continue
  1977  			}
  1978  			if err := v.Validate(); err != nil {
  1979  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
  1980  			}
  1981  		}
  1982  	}
  1983  
  1984  	if invalidParams.Len() > 0 {
  1985  		return invalidParams
  1986  	}
  1987  	return nil
  1988  }
  1989  
  1990  // SetResourceArn sets the ResourceArn field's value.
  1991  func (s *AddTagsToResourceInput) SetResourceArn(v string) *AddTagsToResourceInput {
  1992  	s.ResourceArn = &v
  1993  	return s
  1994  }
  1995  
  1996  // SetTagList sets the TagList field's value.
  1997  func (s *AddTagsToResourceInput) SetTagList(v []*Tag) *AddTagsToResourceInput {
  1998  	s.TagList = v
  1999  	return s
  2000  }
  2001  
  2002  type AddTagsToResourceOutput struct {
  2003  	_ struct{} `type:"structure"`
  2004  
  2005  	// The status of the operation.
  2006  	//
  2007  	// Status is a required field
  2008  	Status *string `type:"string" required:"true"`
  2009  }
  2010  
  2011  // String returns the string representation.
  2012  //
  2013  // API parameter values that are decorated as "sensitive" in the API will not
  2014  // be included in the string output. The member name will be present, but the
  2015  // value will be replaced with "sensitive".
  2016  func (s AddTagsToResourceOutput) String() string {
  2017  	return awsutil.Prettify(s)
  2018  }
  2019  
  2020  // GoString returns the string representation.
  2021  //
  2022  // API parameter values that are decorated as "sensitive" in the API will not
  2023  // be included in the string output. The member name will be present, but the
  2024  // value will be replaced with "sensitive".
  2025  func (s AddTagsToResourceOutput) GoString() string {
  2026  	return s.String()
  2027  }
  2028  
  2029  // SetStatus sets the Status field's value.
  2030  func (s *AddTagsToResourceOutput) SetStatus(v string) *AddTagsToResourceOutput {
  2031  	s.Status = &v
  2032  	return s
  2033  }
  2034  
  2035  // Indicates that an internal error occurred.
  2036  type CloudHsmInternalException struct {
  2037  	_            struct{}                  `type:"structure"`
  2038  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2039  
  2040  	Message_ *string `locationName:"message" type:"string"`
  2041  }
  2042  
  2043  // String returns the string representation.
  2044  //
  2045  // API parameter values that are decorated as "sensitive" in the API will not
  2046  // be included in the string output. The member name will be present, but the
  2047  // value will be replaced with "sensitive".
  2048  func (s CloudHsmInternalException) String() string {
  2049  	return awsutil.Prettify(s)
  2050  }
  2051  
  2052  // GoString returns the string representation.
  2053  //
  2054  // API parameter values that are decorated as "sensitive" in the API will not
  2055  // be included in the string output. The member name will be present, but the
  2056  // value will be replaced with "sensitive".
  2057  func (s CloudHsmInternalException) GoString() string {
  2058  	return s.String()
  2059  }
  2060  
  2061  func newErrorCloudHsmInternalException(v protocol.ResponseMetadata) error {
  2062  	return &CloudHsmInternalException{
  2063  		RespMetadata: v,
  2064  	}
  2065  }
  2066  
  2067  // Code returns the exception type name.
  2068  func (s *CloudHsmInternalException) Code() string {
  2069  	return "CloudHsmInternalException"
  2070  }
  2071  
  2072  // Message returns the exception's message.
  2073  func (s *CloudHsmInternalException) Message() string {
  2074  	if s.Message_ != nil {
  2075  		return *s.Message_
  2076  	}
  2077  	return ""
  2078  }
  2079  
  2080  // OrigErr always returns nil, satisfies awserr.Error interface.
  2081  func (s *CloudHsmInternalException) OrigErr() error {
  2082  	return nil
  2083  }
  2084  
  2085  func (s *CloudHsmInternalException) Error() string {
  2086  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2087  }
  2088  
  2089  // Status code returns the HTTP status code for the request's response error.
  2090  func (s *CloudHsmInternalException) StatusCode() int {
  2091  	return s.RespMetadata.StatusCode
  2092  }
  2093  
  2094  // RequestID returns the service's response RequestID for request.
  2095  func (s *CloudHsmInternalException) RequestID() string {
  2096  	return s.RespMetadata.RequestID
  2097  }
  2098  
  2099  // Indicates that an exception occurred in the AWS CloudHSM service.
  2100  type CloudHsmServiceException struct {
  2101  	_            struct{}                  `type:"structure"`
  2102  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2103  
  2104  	// Additional information about the error.
  2105  	Message_ *string `locationName:"message" type:"string"`
  2106  
  2107  	// Indicates if the action can be retried.
  2108  	Retryable *bool `locationName:"retryable" type:"boolean"`
  2109  }
  2110  
  2111  // String returns the string representation.
  2112  //
  2113  // API parameter values that are decorated as "sensitive" in the API will not
  2114  // be included in the string output. The member name will be present, but the
  2115  // value will be replaced with "sensitive".
  2116  func (s CloudHsmServiceException) String() string {
  2117  	return awsutil.Prettify(s)
  2118  }
  2119  
  2120  // GoString returns the string representation.
  2121  //
  2122  // API parameter values that are decorated as "sensitive" in the API will not
  2123  // be included in the string output. The member name will be present, but the
  2124  // value will be replaced with "sensitive".
  2125  func (s CloudHsmServiceException) GoString() string {
  2126  	return s.String()
  2127  }
  2128  
  2129  func newErrorCloudHsmServiceException(v protocol.ResponseMetadata) error {
  2130  	return &CloudHsmServiceException{
  2131  		RespMetadata: v,
  2132  	}
  2133  }
  2134  
  2135  // Code returns the exception type name.
  2136  func (s *CloudHsmServiceException) Code() string {
  2137  	return "CloudHsmServiceException"
  2138  }
  2139  
  2140  // Message returns the exception's message.
  2141  func (s *CloudHsmServiceException) Message() string {
  2142  	if s.Message_ != nil {
  2143  		return *s.Message_
  2144  	}
  2145  	return ""
  2146  }
  2147  
  2148  // OrigErr always returns nil, satisfies awserr.Error interface.
  2149  func (s *CloudHsmServiceException) OrigErr() error {
  2150  	return nil
  2151  }
  2152  
  2153  func (s *CloudHsmServiceException) Error() string {
  2154  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  2155  }
  2156  
  2157  // Status code returns the HTTP status code for the request's response error.
  2158  func (s *CloudHsmServiceException) StatusCode() int {
  2159  	return s.RespMetadata.StatusCode
  2160  }
  2161  
  2162  // RequestID returns the service's response RequestID for request.
  2163  func (s *CloudHsmServiceException) RequestID() string {
  2164  	return s.RespMetadata.RequestID
  2165  }
  2166  
  2167  // Contains the inputs for the CreateHapgRequest action.
  2168  type CreateHapgInput struct {
  2169  	_ struct{} `type:"structure"`
  2170  
  2171  	// The label of the new high-availability partition group.
  2172  	//
  2173  	// Label is a required field
  2174  	Label *string `type:"string" required:"true"`
  2175  }
  2176  
  2177  // String returns the string representation.
  2178  //
  2179  // API parameter values that are decorated as "sensitive" in the API will not
  2180  // be included in the string output. The member name will be present, but the
  2181  // value will be replaced with "sensitive".
  2182  func (s CreateHapgInput) String() string {
  2183  	return awsutil.Prettify(s)
  2184  }
  2185  
  2186  // GoString returns the string representation.
  2187  //
  2188  // API parameter values that are decorated as "sensitive" in the API will not
  2189  // be included in the string output. The member name will be present, but the
  2190  // value will be replaced with "sensitive".
  2191  func (s CreateHapgInput) GoString() string {
  2192  	return s.String()
  2193  }
  2194  
  2195  // Validate inspects the fields of the type to determine if they are valid.
  2196  func (s *CreateHapgInput) Validate() error {
  2197  	invalidParams := request.ErrInvalidParams{Context: "CreateHapgInput"}
  2198  	if s.Label == nil {
  2199  		invalidParams.Add(request.NewErrParamRequired("Label"))
  2200  	}
  2201  
  2202  	if invalidParams.Len() > 0 {
  2203  		return invalidParams
  2204  	}
  2205  	return nil
  2206  }
  2207  
  2208  // SetLabel sets the Label field's value.
  2209  func (s *CreateHapgInput) SetLabel(v string) *CreateHapgInput {
  2210  	s.Label = &v
  2211  	return s
  2212  }
  2213  
  2214  // Contains the output of the CreateHAPartitionGroup action.
  2215  type CreateHapgOutput struct {
  2216  	_ struct{} `type:"structure"`
  2217  
  2218  	// The ARN of the high-availability partition group.
  2219  	HapgArn *string `type:"string"`
  2220  }
  2221  
  2222  // String returns the string representation.
  2223  //
  2224  // API parameter values that are decorated as "sensitive" in the API will not
  2225  // be included in the string output. The member name will be present, but the
  2226  // value will be replaced with "sensitive".
  2227  func (s CreateHapgOutput) String() string {
  2228  	return awsutil.Prettify(s)
  2229  }
  2230  
  2231  // GoString returns the string representation.
  2232  //
  2233  // API parameter values that are decorated as "sensitive" in the API will not
  2234  // be included in the string output. The member name will be present, but the
  2235  // value will be replaced with "sensitive".
  2236  func (s CreateHapgOutput) GoString() string {
  2237  	return s.String()
  2238  }
  2239  
  2240  // SetHapgArn sets the HapgArn field's value.
  2241  func (s *CreateHapgOutput) SetHapgArn(v string) *CreateHapgOutput {
  2242  	s.HapgArn = &v
  2243  	return s
  2244  }
  2245  
  2246  // Contains the inputs for the CreateHsm operation.
  2247  type CreateHsmInput struct {
  2248  	_ struct{} `type:"structure"`
  2249  
  2250  	// A user-defined token to ensure idempotence. Subsequent calls to this operation
  2251  	// with the same token will be ignored.
  2252  	ClientToken *string `type:"string"`
  2253  
  2254  	// The IP address to assign to the HSM's ENI.
  2255  	//
  2256  	// If an IP address is not specified, an IP address will be randomly chosen
  2257  	// from the CIDR range of the subnet.
  2258  	EniIp *string `type:"string"`
  2259  
  2260  	// The external ID from IamRoleArn, if present.
  2261  	ExternalId *string `type:"string"`
  2262  
  2263  	// The ARN of an IAM role to enable the AWS CloudHSM service to allocate an
  2264  	// ENI on your behalf.
  2265  	//
  2266  	// IamRoleArn is a required field
  2267  	IamRoleArn *string `type:"string" required:"true"`
  2268  
  2269  	// The SSH public key to install on the HSM.
  2270  	//
  2271  	// SshKey is a required field
  2272  	SshKey *string `type:"string" required:"true"`
  2273  
  2274  	// The identifier of the subnet in your VPC in which to place the HSM.
  2275  	//
  2276  	// SubnetId is a required field
  2277  	SubnetId *string `type:"string" required:"true"`
  2278  
  2279  	// Specifies the type of subscription for the HSM.
  2280  	//
  2281  	//    * PRODUCTION - The HSM is being used in a production environment.
  2282  	//
  2283  	//    * TRIAL - The HSM is being used in a product trial.
  2284  	//
  2285  	// SubscriptionType is a required field
  2286  	SubscriptionType *string `type:"string" required:"true" enum:"SubscriptionType"`
  2287  
  2288  	// The IP address for the syslog monitoring server. The AWS CloudHSM service
  2289  	// only supports one syslog monitoring server.
  2290  	SyslogIp *string `type:"string"`
  2291  }
  2292  
  2293  // String returns the string representation.
  2294  //
  2295  // API parameter values that are decorated as "sensitive" in the API will not
  2296  // be included in the string output. The member name will be present, but the
  2297  // value will be replaced with "sensitive".
  2298  func (s CreateHsmInput) String() string {
  2299  	return awsutil.Prettify(s)
  2300  }
  2301  
  2302  // GoString returns the string representation.
  2303  //
  2304  // API parameter values that are decorated as "sensitive" in the API will not
  2305  // be included in the string output. The member name will be present, but the
  2306  // value will be replaced with "sensitive".
  2307  func (s CreateHsmInput) GoString() string {
  2308  	return s.String()
  2309  }
  2310  
  2311  // Validate inspects the fields of the type to determine if they are valid.
  2312  func (s *CreateHsmInput) Validate() error {
  2313  	invalidParams := request.ErrInvalidParams{Context: "CreateHsmInput"}
  2314  	if s.IamRoleArn == nil {
  2315  		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
  2316  	}
  2317  	if s.SshKey == nil {
  2318  		invalidParams.Add(request.NewErrParamRequired("SshKey"))
  2319  	}
  2320  	if s.SubnetId == nil {
  2321  		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  2322  	}
  2323  	if s.SubscriptionType == nil {
  2324  		invalidParams.Add(request.NewErrParamRequired("SubscriptionType"))
  2325  	}
  2326  
  2327  	if invalidParams.Len() > 0 {
  2328  		return invalidParams
  2329  	}
  2330  	return nil
  2331  }
  2332  
  2333  // SetClientToken sets the ClientToken field's value.
  2334  func (s *CreateHsmInput) SetClientToken(v string) *CreateHsmInput {
  2335  	s.ClientToken = &v
  2336  	return s
  2337  }
  2338  
  2339  // SetEniIp sets the EniIp field's value.
  2340  func (s *CreateHsmInput) SetEniIp(v string) *CreateHsmInput {
  2341  	s.EniIp = &v
  2342  	return s
  2343  }
  2344  
  2345  // SetExternalId sets the ExternalId field's value.
  2346  func (s *CreateHsmInput) SetExternalId(v string) *CreateHsmInput {
  2347  	s.ExternalId = &v
  2348  	return s
  2349  }
  2350  
  2351  // SetIamRoleArn sets the IamRoleArn field's value.
  2352  func (s *CreateHsmInput) SetIamRoleArn(v string) *CreateHsmInput {
  2353  	s.IamRoleArn = &v
  2354  	return s
  2355  }
  2356  
  2357  // SetSshKey sets the SshKey field's value.
  2358  func (s *CreateHsmInput) SetSshKey(v string) *CreateHsmInput {
  2359  	s.SshKey = &v
  2360  	return s
  2361  }
  2362  
  2363  // SetSubnetId sets the SubnetId field's value.
  2364  func (s *CreateHsmInput) SetSubnetId(v string) *CreateHsmInput {
  2365  	s.SubnetId = &v
  2366  	return s
  2367  }
  2368  
  2369  // SetSubscriptionType sets the SubscriptionType field's value.
  2370  func (s *CreateHsmInput) SetSubscriptionType(v string) *CreateHsmInput {
  2371  	s.SubscriptionType = &v
  2372  	return s
  2373  }
  2374  
  2375  // SetSyslogIp sets the SyslogIp field's value.
  2376  func (s *CreateHsmInput) SetSyslogIp(v string) *CreateHsmInput {
  2377  	s.SyslogIp = &v
  2378  	return s
  2379  }
  2380  
  2381  // Contains the output of the CreateHsm operation.
  2382  type CreateHsmOutput struct {
  2383  	_ struct{} `type:"structure"`
  2384  
  2385  	// The ARN of the HSM.
  2386  	HsmArn *string `type:"string"`
  2387  }
  2388  
  2389  // String returns the string representation.
  2390  //
  2391  // API parameter values that are decorated as "sensitive" in the API will not
  2392  // be included in the string output. The member name will be present, but the
  2393  // value will be replaced with "sensitive".
  2394  func (s CreateHsmOutput) String() string {
  2395  	return awsutil.Prettify(s)
  2396  }
  2397  
  2398  // GoString returns the string representation.
  2399  //
  2400  // API parameter values that are decorated as "sensitive" in the API will not
  2401  // be included in the string output. The member name will be present, but the
  2402  // value will be replaced with "sensitive".
  2403  func (s CreateHsmOutput) GoString() string {
  2404  	return s.String()
  2405  }
  2406  
  2407  // SetHsmArn sets the HsmArn field's value.
  2408  func (s *CreateHsmOutput) SetHsmArn(v string) *CreateHsmOutput {
  2409  	s.HsmArn = &v
  2410  	return s
  2411  }
  2412  
  2413  // Contains the inputs for the CreateLunaClient action.
  2414  type CreateLunaClientInput struct {
  2415  	_ struct{} `type:"structure"`
  2416  
  2417  	// The contents of a Base64-Encoded X.509 v3 certificate to be installed on
  2418  	// the HSMs used by this client.
  2419  	//
  2420  	// Certificate is a required field
  2421  	Certificate *string `min:"600" type:"string" required:"true"`
  2422  
  2423  	// The label for the client.
  2424  	Label *string `type:"string"`
  2425  }
  2426  
  2427  // String returns the string representation.
  2428  //
  2429  // API parameter values that are decorated as "sensitive" in the API will not
  2430  // be included in the string output. The member name will be present, but the
  2431  // value will be replaced with "sensitive".
  2432  func (s CreateLunaClientInput) String() string {
  2433  	return awsutil.Prettify(s)
  2434  }
  2435  
  2436  // GoString returns the string representation.
  2437  //
  2438  // API parameter values that are decorated as "sensitive" in the API will not
  2439  // be included in the string output. The member name will be present, but the
  2440  // value will be replaced with "sensitive".
  2441  func (s CreateLunaClientInput) GoString() string {
  2442  	return s.String()
  2443  }
  2444  
  2445  // Validate inspects the fields of the type to determine if they are valid.
  2446  func (s *CreateLunaClientInput) Validate() error {
  2447  	invalidParams := request.ErrInvalidParams{Context: "CreateLunaClientInput"}
  2448  	if s.Certificate == nil {
  2449  		invalidParams.Add(request.NewErrParamRequired("Certificate"))
  2450  	}
  2451  	if s.Certificate != nil && len(*s.Certificate) < 600 {
  2452  		invalidParams.Add(request.NewErrParamMinLen("Certificate", 600))
  2453  	}
  2454  
  2455  	if invalidParams.Len() > 0 {
  2456  		return invalidParams
  2457  	}
  2458  	return nil
  2459  }
  2460  
  2461  // SetCertificate sets the Certificate field's value.
  2462  func (s *CreateLunaClientInput) SetCertificate(v string) *CreateLunaClientInput {
  2463  	s.Certificate = &v
  2464  	return s
  2465  }
  2466  
  2467  // SetLabel sets the Label field's value.
  2468  func (s *CreateLunaClientInput) SetLabel(v string) *CreateLunaClientInput {
  2469  	s.Label = &v
  2470  	return s
  2471  }
  2472  
  2473  // Contains the output of the CreateLunaClient action.
  2474  type CreateLunaClientOutput struct {
  2475  	_ struct{} `type:"structure"`
  2476  
  2477  	// The ARN of the client.
  2478  	ClientArn *string `type:"string"`
  2479  }
  2480  
  2481  // String returns the string representation.
  2482  //
  2483  // API parameter values that are decorated as "sensitive" in the API will not
  2484  // be included in the string output. The member name will be present, but the
  2485  // value will be replaced with "sensitive".
  2486  func (s CreateLunaClientOutput) String() string {
  2487  	return awsutil.Prettify(s)
  2488  }
  2489  
  2490  // GoString returns the string representation.
  2491  //
  2492  // API parameter values that are decorated as "sensitive" in the API will not
  2493  // be included in the string output. The member name will be present, but the
  2494  // value will be replaced with "sensitive".
  2495  func (s CreateLunaClientOutput) GoString() string {
  2496  	return s.String()
  2497  }
  2498  
  2499  // SetClientArn sets the ClientArn field's value.
  2500  func (s *CreateLunaClientOutput) SetClientArn(v string) *CreateLunaClientOutput {
  2501  	s.ClientArn = &v
  2502  	return s
  2503  }
  2504  
  2505  // Contains the inputs for the DeleteHapg action.
  2506  type DeleteHapgInput struct {
  2507  	_ struct{} `type:"structure"`
  2508  
  2509  	// The ARN of the high-availability partition group to delete.
  2510  	//
  2511  	// HapgArn is a required field
  2512  	HapgArn *string `type:"string" required:"true"`
  2513  }
  2514  
  2515  // String returns the string representation.
  2516  //
  2517  // API parameter values that are decorated as "sensitive" in the API will not
  2518  // be included in the string output. The member name will be present, but the
  2519  // value will be replaced with "sensitive".
  2520  func (s DeleteHapgInput) String() string {
  2521  	return awsutil.Prettify(s)
  2522  }
  2523  
  2524  // GoString returns the string representation.
  2525  //
  2526  // API parameter values that are decorated as "sensitive" in the API will not
  2527  // be included in the string output. The member name will be present, but the
  2528  // value will be replaced with "sensitive".
  2529  func (s DeleteHapgInput) GoString() string {
  2530  	return s.String()
  2531  }
  2532  
  2533  // Validate inspects the fields of the type to determine if they are valid.
  2534  func (s *DeleteHapgInput) Validate() error {
  2535  	invalidParams := request.ErrInvalidParams{Context: "DeleteHapgInput"}
  2536  	if s.HapgArn == nil {
  2537  		invalidParams.Add(request.NewErrParamRequired("HapgArn"))
  2538  	}
  2539  
  2540  	if invalidParams.Len() > 0 {
  2541  		return invalidParams
  2542  	}
  2543  	return nil
  2544  }
  2545  
  2546  // SetHapgArn sets the HapgArn field's value.
  2547  func (s *DeleteHapgInput) SetHapgArn(v string) *DeleteHapgInput {
  2548  	s.HapgArn = &v
  2549  	return s
  2550  }
  2551  
  2552  // Contains the output of the DeleteHapg action.
  2553  type DeleteHapgOutput struct {
  2554  	_ struct{} `type:"structure"`
  2555  
  2556  	// The status of the action.
  2557  	//
  2558  	// Status is a required field
  2559  	Status *string `type:"string" required:"true"`
  2560  }
  2561  
  2562  // String returns the string representation.
  2563  //
  2564  // API parameter values that are decorated as "sensitive" in the API will not
  2565  // be included in the string output. The member name will be present, but the
  2566  // value will be replaced with "sensitive".
  2567  func (s DeleteHapgOutput) String() string {
  2568  	return awsutil.Prettify(s)
  2569  }
  2570  
  2571  // GoString returns the string representation.
  2572  //
  2573  // API parameter values that are decorated as "sensitive" in the API will not
  2574  // be included in the string output. The member name will be present, but the
  2575  // value will be replaced with "sensitive".
  2576  func (s DeleteHapgOutput) GoString() string {
  2577  	return s.String()
  2578  }
  2579  
  2580  // SetStatus sets the Status field's value.
  2581  func (s *DeleteHapgOutput) SetStatus(v string) *DeleteHapgOutput {
  2582  	s.Status = &v
  2583  	return s
  2584  }
  2585  
  2586  // Contains the inputs for the DeleteHsm operation.
  2587  type DeleteHsmInput struct {
  2588  	_ struct{} `type:"structure"`
  2589  
  2590  	// The ARN of the HSM to delete.
  2591  	//
  2592  	// HsmArn is a required field
  2593  	HsmArn *string `type:"string" required:"true"`
  2594  }
  2595  
  2596  // String returns the string representation.
  2597  //
  2598  // API parameter values that are decorated as "sensitive" in the API will not
  2599  // be included in the string output. The member name will be present, but the
  2600  // value will be replaced with "sensitive".
  2601  func (s DeleteHsmInput) String() string {
  2602  	return awsutil.Prettify(s)
  2603  }
  2604  
  2605  // GoString returns the string representation.
  2606  //
  2607  // API parameter values that are decorated as "sensitive" in the API will not
  2608  // be included in the string output. The member name will be present, but the
  2609  // value will be replaced with "sensitive".
  2610  func (s DeleteHsmInput) GoString() string {
  2611  	return s.String()
  2612  }
  2613  
  2614  // Validate inspects the fields of the type to determine if they are valid.
  2615  func (s *DeleteHsmInput) Validate() error {
  2616  	invalidParams := request.ErrInvalidParams{Context: "DeleteHsmInput"}
  2617  	if s.HsmArn == nil {
  2618  		invalidParams.Add(request.NewErrParamRequired("HsmArn"))
  2619  	}
  2620  
  2621  	if invalidParams.Len() > 0 {
  2622  		return invalidParams
  2623  	}
  2624  	return nil
  2625  }
  2626  
  2627  // SetHsmArn sets the HsmArn field's value.
  2628  func (s *DeleteHsmInput) SetHsmArn(v string) *DeleteHsmInput {
  2629  	s.HsmArn = &v
  2630  	return s
  2631  }
  2632  
  2633  // Contains the output of the DeleteHsm operation.
  2634  type DeleteHsmOutput struct {
  2635  	_ struct{} `type:"structure"`
  2636  
  2637  	// The status of the operation.
  2638  	//
  2639  	// Status is a required field
  2640  	Status *string `type:"string" required:"true"`
  2641  }
  2642  
  2643  // String returns the string representation.
  2644  //
  2645  // API parameter values that are decorated as "sensitive" in the API will not
  2646  // be included in the string output. The member name will be present, but the
  2647  // value will be replaced with "sensitive".
  2648  func (s DeleteHsmOutput) String() string {
  2649  	return awsutil.Prettify(s)
  2650  }
  2651  
  2652  // GoString returns the string representation.
  2653  //
  2654  // API parameter values that are decorated as "sensitive" in the API will not
  2655  // be included in the string output. The member name will be present, but the
  2656  // value will be replaced with "sensitive".
  2657  func (s DeleteHsmOutput) GoString() string {
  2658  	return s.String()
  2659  }
  2660  
  2661  // SetStatus sets the Status field's value.
  2662  func (s *DeleteHsmOutput) SetStatus(v string) *DeleteHsmOutput {
  2663  	s.Status = &v
  2664  	return s
  2665  }
  2666  
  2667  type DeleteLunaClientInput struct {
  2668  	_ struct{} `type:"structure"`
  2669  
  2670  	// The ARN of the client to delete.
  2671  	//
  2672  	// ClientArn is a required field
  2673  	ClientArn *string `type:"string" required:"true"`
  2674  }
  2675  
  2676  // String returns the string representation.
  2677  //
  2678  // API parameter values that are decorated as "sensitive" in the API will not
  2679  // be included in the string output. The member name will be present, but the
  2680  // value will be replaced with "sensitive".
  2681  func (s DeleteLunaClientInput) String() string {
  2682  	return awsutil.Prettify(s)
  2683  }
  2684  
  2685  // GoString returns the string representation.
  2686  //
  2687  // API parameter values that are decorated as "sensitive" in the API will not
  2688  // be included in the string output. The member name will be present, but the
  2689  // value will be replaced with "sensitive".
  2690  func (s DeleteLunaClientInput) GoString() string {
  2691  	return s.String()
  2692  }
  2693  
  2694  // Validate inspects the fields of the type to determine if they are valid.
  2695  func (s *DeleteLunaClientInput) Validate() error {
  2696  	invalidParams := request.ErrInvalidParams{Context: "DeleteLunaClientInput"}
  2697  	if s.ClientArn == nil {
  2698  		invalidParams.Add(request.NewErrParamRequired("ClientArn"))
  2699  	}
  2700  
  2701  	if invalidParams.Len() > 0 {
  2702  		return invalidParams
  2703  	}
  2704  	return nil
  2705  }
  2706  
  2707  // SetClientArn sets the ClientArn field's value.
  2708  func (s *DeleteLunaClientInput) SetClientArn(v string) *DeleteLunaClientInput {
  2709  	s.ClientArn = &v
  2710  	return s
  2711  }
  2712  
  2713  type DeleteLunaClientOutput struct {
  2714  	_ struct{} `type:"structure"`
  2715  
  2716  	// The status of the action.
  2717  	//
  2718  	// Status is a required field
  2719  	Status *string `type:"string" required:"true"`
  2720  }
  2721  
  2722  // String returns the string representation.
  2723  //
  2724  // API parameter values that are decorated as "sensitive" in the API will not
  2725  // be included in the string output. The member name will be present, but the
  2726  // value will be replaced with "sensitive".
  2727  func (s DeleteLunaClientOutput) String() string {
  2728  	return awsutil.Prettify(s)
  2729  }
  2730  
  2731  // GoString returns the string representation.
  2732  //
  2733  // API parameter values that are decorated as "sensitive" in the API will not
  2734  // be included in the string output. The member name will be present, but the
  2735  // value will be replaced with "sensitive".
  2736  func (s DeleteLunaClientOutput) GoString() string {
  2737  	return s.String()
  2738  }
  2739  
  2740  // SetStatus sets the Status field's value.
  2741  func (s *DeleteLunaClientOutput) SetStatus(v string) *DeleteLunaClientOutput {
  2742  	s.Status = &v
  2743  	return s
  2744  }
  2745  
  2746  // Contains the inputs for the DescribeHapg action.
  2747  type DescribeHapgInput struct {
  2748  	_ struct{} `type:"structure"`
  2749  
  2750  	// The ARN of the high-availability partition group to describe.
  2751  	//
  2752  	// HapgArn is a required field
  2753  	HapgArn *string `type:"string" required:"true"`
  2754  }
  2755  
  2756  // String returns the string representation.
  2757  //
  2758  // API parameter values that are decorated as "sensitive" in the API will not
  2759  // be included in the string output. The member name will be present, but the
  2760  // value will be replaced with "sensitive".
  2761  func (s DescribeHapgInput) String() string {
  2762  	return awsutil.Prettify(s)
  2763  }
  2764  
  2765  // GoString returns the string representation.
  2766  //
  2767  // API parameter values that are decorated as "sensitive" in the API will not
  2768  // be included in the string output. The member name will be present, but the
  2769  // value will be replaced with "sensitive".
  2770  func (s DescribeHapgInput) GoString() string {
  2771  	return s.String()
  2772  }
  2773  
  2774  // Validate inspects the fields of the type to determine if they are valid.
  2775  func (s *DescribeHapgInput) Validate() error {
  2776  	invalidParams := request.ErrInvalidParams{Context: "DescribeHapgInput"}
  2777  	if s.HapgArn == nil {
  2778  		invalidParams.Add(request.NewErrParamRequired("HapgArn"))
  2779  	}
  2780  
  2781  	if invalidParams.Len() > 0 {
  2782  		return invalidParams
  2783  	}
  2784  	return nil
  2785  }
  2786  
  2787  // SetHapgArn sets the HapgArn field's value.
  2788  func (s *DescribeHapgInput) SetHapgArn(v string) *DescribeHapgInput {
  2789  	s.HapgArn = &v
  2790  	return s
  2791  }
  2792  
  2793  // Contains the output of the DescribeHapg action.
  2794  type DescribeHapgOutput struct {
  2795  	_ struct{} `type:"structure"`
  2796  
  2797  	// The ARN of the high-availability partition group.
  2798  	HapgArn *string `type:"string"`
  2799  
  2800  	// The serial number of the high-availability partition group.
  2801  	HapgSerial *string `type:"string"`
  2802  
  2803  	// Contains a list of ARNs that identify the HSMs.
  2804  	HsmsLastActionFailed []*string `type:"list"`
  2805  
  2806  	// Contains a list of ARNs that identify the HSMs.
  2807  	HsmsPendingDeletion []*string `type:"list"`
  2808  
  2809  	// Contains a list of ARNs that identify the HSMs.
  2810  	HsmsPendingRegistration []*string `type:"list"`
  2811  
  2812  	// The label for the high-availability partition group.
  2813  	Label *string `type:"string"`
  2814  
  2815  	// The date and time the high-availability partition group was last modified.
  2816  	LastModifiedTimestamp *string `type:"string"`
  2817  
  2818  	// The list of partition serial numbers that belong to the high-availability
  2819  	// partition group.
  2820  	PartitionSerialList []*string `type:"list"`
  2821  
  2822  	// The state of the high-availability partition group.
  2823  	State *string `type:"string" enum:"CloudHsmObjectState"`
  2824  }
  2825  
  2826  // String returns the string representation.
  2827  //
  2828  // API parameter values that are decorated as "sensitive" in the API will not
  2829  // be included in the string output. The member name will be present, but the
  2830  // value will be replaced with "sensitive".
  2831  func (s DescribeHapgOutput) String() string {
  2832  	return awsutil.Prettify(s)
  2833  }
  2834  
  2835  // GoString returns the string representation.
  2836  //
  2837  // API parameter values that are decorated as "sensitive" in the API will not
  2838  // be included in the string output. The member name will be present, but the
  2839  // value will be replaced with "sensitive".
  2840  func (s DescribeHapgOutput) GoString() string {
  2841  	return s.String()
  2842  }
  2843  
  2844  // SetHapgArn sets the HapgArn field's value.
  2845  func (s *DescribeHapgOutput) SetHapgArn(v string) *DescribeHapgOutput {
  2846  	s.HapgArn = &v
  2847  	return s
  2848  }
  2849  
  2850  // SetHapgSerial sets the HapgSerial field's value.
  2851  func (s *DescribeHapgOutput) SetHapgSerial(v string) *DescribeHapgOutput {
  2852  	s.HapgSerial = &v
  2853  	return s
  2854  }
  2855  
  2856  // SetHsmsLastActionFailed sets the HsmsLastActionFailed field's value.
  2857  func (s *DescribeHapgOutput) SetHsmsLastActionFailed(v []*string) *DescribeHapgOutput {
  2858  	s.HsmsLastActionFailed = v
  2859  	return s
  2860  }
  2861  
  2862  // SetHsmsPendingDeletion sets the HsmsPendingDeletion field's value.
  2863  func (s *DescribeHapgOutput) SetHsmsPendingDeletion(v []*string) *DescribeHapgOutput {
  2864  	s.HsmsPendingDeletion = v
  2865  	return s
  2866  }
  2867  
  2868  // SetHsmsPendingRegistration sets the HsmsPendingRegistration field's value.
  2869  func (s *DescribeHapgOutput) SetHsmsPendingRegistration(v []*string) *DescribeHapgOutput {
  2870  	s.HsmsPendingRegistration = v
  2871  	return s
  2872  }
  2873  
  2874  // SetLabel sets the Label field's value.
  2875  func (s *DescribeHapgOutput) SetLabel(v string) *DescribeHapgOutput {
  2876  	s.Label = &v
  2877  	return s
  2878  }
  2879  
  2880  // SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value.
  2881  func (s *DescribeHapgOutput) SetLastModifiedTimestamp(v string) *DescribeHapgOutput {
  2882  	s.LastModifiedTimestamp = &v
  2883  	return s
  2884  }
  2885  
  2886  // SetPartitionSerialList sets the PartitionSerialList field's value.
  2887  func (s *DescribeHapgOutput) SetPartitionSerialList(v []*string) *DescribeHapgOutput {
  2888  	s.PartitionSerialList = v
  2889  	return s
  2890  }
  2891  
  2892  // SetState sets the State field's value.
  2893  func (s *DescribeHapgOutput) SetState(v string) *DescribeHapgOutput {
  2894  	s.State = &v
  2895  	return s
  2896  }
  2897  
  2898  // Contains the inputs for the DescribeHsm operation.
  2899  type DescribeHsmInput struct {
  2900  	_ struct{} `type:"structure"`
  2901  
  2902  	// The ARN of the HSM. Either the HsmArn or the SerialNumber parameter must
  2903  	// be specified.
  2904  	HsmArn *string `type:"string"`
  2905  
  2906  	// The serial number of the HSM. Either the HsmArn or the HsmSerialNumber parameter
  2907  	// must be specified.
  2908  	HsmSerialNumber *string `type:"string"`
  2909  }
  2910  
  2911  // String returns the string representation.
  2912  //
  2913  // API parameter values that are decorated as "sensitive" in the API will not
  2914  // be included in the string output. The member name will be present, but the
  2915  // value will be replaced with "sensitive".
  2916  func (s DescribeHsmInput) String() string {
  2917  	return awsutil.Prettify(s)
  2918  }
  2919  
  2920  // GoString returns the string representation.
  2921  //
  2922  // API parameter values that are decorated as "sensitive" in the API will not
  2923  // be included in the string output. The member name will be present, but the
  2924  // value will be replaced with "sensitive".
  2925  func (s DescribeHsmInput) GoString() string {
  2926  	return s.String()
  2927  }
  2928  
  2929  // SetHsmArn sets the HsmArn field's value.
  2930  func (s *DescribeHsmInput) SetHsmArn(v string) *DescribeHsmInput {
  2931  	s.HsmArn = &v
  2932  	return s
  2933  }
  2934  
  2935  // SetHsmSerialNumber sets the HsmSerialNumber field's value.
  2936  func (s *DescribeHsmInput) SetHsmSerialNumber(v string) *DescribeHsmInput {
  2937  	s.HsmSerialNumber = &v
  2938  	return s
  2939  }
  2940  
  2941  // Contains the output of the DescribeHsm operation.
  2942  type DescribeHsmOutput struct {
  2943  	_ struct{} `type:"structure"`
  2944  
  2945  	// The Availability Zone that the HSM is in.
  2946  	AvailabilityZone *string `type:"string"`
  2947  
  2948  	// The identifier of the elastic network interface (ENI) attached to the HSM.
  2949  	EniId *string `type:"string"`
  2950  
  2951  	// The IP address assigned to the HSM's ENI.
  2952  	EniIp *string `type:"string"`
  2953  
  2954  	// The ARN of the HSM.
  2955  	HsmArn *string `type:"string"`
  2956  
  2957  	// The HSM model type.
  2958  	HsmType *string `type:"string"`
  2959  
  2960  	// The ARN of the IAM role assigned to the HSM.
  2961  	IamRoleArn *string `type:"string"`
  2962  
  2963  	// The list of partitions on the HSM.
  2964  	Partitions []*string `type:"list"`
  2965  
  2966  	// The serial number of the HSM.
  2967  	SerialNumber *string `type:"string"`
  2968  
  2969  	// The date and time that the server certificate was last updated.
  2970  	ServerCertLastUpdated *string `type:"string"`
  2971  
  2972  	// The URI of the certificate server.
  2973  	ServerCertUri *string `type:"string"`
  2974  
  2975  	// The HSM software version.
  2976  	SoftwareVersion *string `type:"string"`
  2977  
  2978  	// The date and time that the SSH key was last updated.
  2979  	SshKeyLastUpdated *string `type:"string"`
  2980  
  2981  	// The public SSH key.
  2982  	SshPublicKey *string `type:"string"`
  2983  
  2984  	// The status of the HSM.
  2985  	Status *string `type:"string" enum:"HsmStatus"`
  2986  
  2987  	// Contains additional information about the status of the HSM.
  2988  	StatusDetails *string `type:"string"`
  2989  
  2990  	// The identifier of the subnet that the HSM is in.
  2991  	SubnetId *string `type:"string"`
  2992  
  2993  	// The subscription end date.
  2994  	SubscriptionEndDate *string `type:"string"`
  2995  
  2996  	// The subscription start date.
  2997  	SubscriptionStartDate *string `type:"string"`
  2998  
  2999  	// Specifies the type of subscription for the HSM.
  3000  	//
  3001  	//    * PRODUCTION - The HSM is being used in a production environment.
  3002  	//
  3003  	//    * TRIAL - The HSM is being used in a product trial.
  3004  	SubscriptionType *string `type:"string" enum:"SubscriptionType"`
  3005  
  3006  	// The name of the HSM vendor.
  3007  	VendorName *string `type:"string"`
  3008  
  3009  	// The identifier of the VPC that the HSM is in.
  3010  	VpcId *string `type:"string"`
  3011  }
  3012  
  3013  // String returns the string representation.
  3014  //
  3015  // API parameter values that are decorated as "sensitive" in the API will not
  3016  // be included in the string output. The member name will be present, but the
  3017  // value will be replaced with "sensitive".
  3018  func (s DescribeHsmOutput) String() string {
  3019  	return awsutil.Prettify(s)
  3020  }
  3021  
  3022  // GoString returns the string representation.
  3023  //
  3024  // API parameter values that are decorated as "sensitive" in the API will not
  3025  // be included in the string output. The member name will be present, but the
  3026  // value will be replaced with "sensitive".
  3027  func (s DescribeHsmOutput) GoString() string {
  3028  	return s.String()
  3029  }
  3030  
  3031  // SetAvailabilityZone sets the AvailabilityZone field's value.
  3032  func (s *DescribeHsmOutput) SetAvailabilityZone(v string) *DescribeHsmOutput {
  3033  	s.AvailabilityZone = &v
  3034  	return s
  3035  }
  3036  
  3037  // SetEniId sets the EniId field's value.
  3038  func (s *DescribeHsmOutput) SetEniId(v string) *DescribeHsmOutput {
  3039  	s.EniId = &v
  3040  	return s
  3041  }
  3042  
  3043  // SetEniIp sets the EniIp field's value.
  3044  func (s *DescribeHsmOutput) SetEniIp(v string) *DescribeHsmOutput {
  3045  	s.EniIp = &v
  3046  	return s
  3047  }
  3048  
  3049  // SetHsmArn sets the HsmArn field's value.
  3050  func (s *DescribeHsmOutput) SetHsmArn(v string) *DescribeHsmOutput {
  3051  	s.HsmArn = &v
  3052  	return s
  3053  }
  3054  
  3055  // SetHsmType sets the HsmType field's value.
  3056  func (s *DescribeHsmOutput) SetHsmType(v string) *DescribeHsmOutput {
  3057  	s.HsmType = &v
  3058  	return s
  3059  }
  3060  
  3061  // SetIamRoleArn sets the IamRoleArn field's value.
  3062  func (s *DescribeHsmOutput) SetIamRoleArn(v string) *DescribeHsmOutput {
  3063  	s.IamRoleArn = &v
  3064  	return s
  3065  }
  3066  
  3067  // SetPartitions sets the Partitions field's value.
  3068  func (s *DescribeHsmOutput) SetPartitions(v []*string) *DescribeHsmOutput {
  3069  	s.Partitions = v
  3070  	return s
  3071  }
  3072  
  3073  // SetSerialNumber sets the SerialNumber field's value.
  3074  func (s *DescribeHsmOutput) SetSerialNumber(v string) *DescribeHsmOutput {
  3075  	s.SerialNumber = &v
  3076  	return s
  3077  }
  3078  
  3079  // SetServerCertLastUpdated sets the ServerCertLastUpdated field's value.
  3080  func (s *DescribeHsmOutput) SetServerCertLastUpdated(v string) *DescribeHsmOutput {
  3081  	s.ServerCertLastUpdated = &v
  3082  	return s
  3083  }
  3084  
  3085  // SetServerCertUri sets the ServerCertUri field's value.
  3086  func (s *DescribeHsmOutput) SetServerCertUri(v string) *DescribeHsmOutput {
  3087  	s.ServerCertUri = &v
  3088  	return s
  3089  }
  3090  
  3091  // SetSoftwareVersion sets the SoftwareVersion field's value.
  3092  func (s *DescribeHsmOutput) SetSoftwareVersion(v string) *DescribeHsmOutput {
  3093  	s.SoftwareVersion = &v
  3094  	return s
  3095  }
  3096  
  3097  // SetSshKeyLastUpdated sets the SshKeyLastUpdated field's value.
  3098  func (s *DescribeHsmOutput) SetSshKeyLastUpdated(v string) *DescribeHsmOutput {
  3099  	s.SshKeyLastUpdated = &v
  3100  	return s
  3101  }
  3102  
  3103  // SetSshPublicKey sets the SshPublicKey field's value.
  3104  func (s *DescribeHsmOutput) SetSshPublicKey(v string) *DescribeHsmOutput {
  3105  	s.SshPublicKey = &v
  3106  	return s
  3107  }
  3108  
  3109  // SetStatus sets the Status field's value.
  3110  func (s *DescribeHsmOutput) SetStatus(v string) *DescribeHsmOutput {
  3111  	s.Status = &v
  3112  	return s
  3113  }
  3114  
  3115  // SetStatusDetails sets the StatusDetails field's value.
  3116  func (s *DescribeHsmOutput) SetStatusDetails(v string) *DescribeHsmOutput {
  3117  	s.StatusDetails = &v
  3118  	return s
  3119  }
  3120  
  3121  // SetSubnetId sets the SubnetId field's value.
  3122  func (s *DescribeHsmOutput) SetSubnetId(v string) *DescribeHsmOutput {
  3123  	s.SubnetId = &v
  3124  	return s
  3125  }
  3126  
  3127  // SetSubscriptionEndDate sets the SubscriptionEndDate field's value.
  3128  func (s *DescribeHsmOutput) SetSubscriptionEndDate(v string) *DescribeHsmOutput {
  3129  	s.SubscriptionEndDate = &v
  3130  	return s
  3131  }
  3132  
  3133  // SetSubscriptionStartDate sets the SubscriptionStartDate field's value.
  3134  func (s *DescribeHsmOutput) SetSubscriptionStartDate(v string) *DescribeHsmOutput {
  3135  	s.SubscriptionStartDate = &v
  3136  	return s
  3137  }
  3138  
  3139  // SetSubscriptionType sets the SubscriptionType field's value.
  3140  func (s *DescribeHsmOutput) SetSubscriptionType(v string) *DescribeHsmOutput {
  3141  	s.SubscriptionType = &v
  3142  	return s
  3143  }
  3144  
  3145  // SetVendorName sets the VendorName field's value.
  3146  func (s *DescribeHsmOutput) SetVendorName(v string) *DescribeHsmOutput {
  3147  	s.VendorName = &v
  3148  	return s
  3149  }
  3150  
  3151  // SetVpcId sets the VpcId field's value.
  3152  func (s *DescribeHsmOutput) SetVpcId(v string) *DescribeHsmOutput {
  3153  	s.VpcId = &v
  3154  	return s
  3155  }
  3156  
  3157  type DescribeLunaClientInput struct {
  3158  	_ struct{} `type:"structure"`
  3159  
  3160  	// The certificate fingerprint.
  3161  	CertificateFingerprint *string `type:"string"`
  3162  
  3163  	// The ARN of the client.
  3164  	ClientArn *string `type:"string"`
  3165  }
  3166  
  3167  // String returns the string representation.
  3168  //
  3169  // API parameter values that are decorated as "sensitive" in the API will not
  3170  // be included in the string output. The member name will be present, but the
  3171  // value will be replaced with "sensitive".
  3172  func (s DescribeLunaClientInput) String() string {
  3173  	return awsutil.Prettify(s)
  3174  }
  3175  
  3176  // GoString returns the string representation.
  3177  //
  3178  // API parameter values that are decorated as "sensitive" in the API will not
  3179  // be included in the string output. The member name will be present, but the
  3180  // value will be replaced with "sensitive".
  3181  func (s DescribeLunaClientInput) GoString() string {
  3182  	return s.String()
  3183  }
  3184  
  3185  // SetCertificateFingerprint sets the CertificateFingerprint field's value.
  3186  func (s *DescribeLunaClientInput) SetCertificateFingerprint(v string) *DescribeLunaClientInput {
  3187  	s.CertificateFingerprint = &v
  3188  	return s
  3189  }
  3190  
  3191  // SetClientArn sets the ClientArn field's value.
  3192  func (s *DescribeLunaClientInput) SetClientArn(v string) *DescribeLunaClientInput {
  3193  	s.ClientArn = &v
  3194  	return s
  3195  }
  3196  
  3197  type DescribeLunaClientOutput struct {
  3198  	_ struct{} `type:"structure"`
  3199  
  3200  	// The certificate installed on the HSMs used by this client.
  3201  	Certificate *string `min:"600" type:"string"`
  3202  
  3203  	// The certificate fingerprint.
  3204  	CertificateFingerprint *string `type:"string"`
  3205  
  3206  	// The ARN of the client.
  3207  	ClientArn *string `type:"string"`
  3208  
  3209  	// The label of the client.
  3210  	Label *string `type:"string"`
  3211  
  3212  	// The date and time the client was last modified.
  3213  	LastModifiedTimestamp *string `type:"string"`
  3214  }
  3215  
  3216  // String returns the string representation.
  3217  //
  3218  // API parameter values that are decorated as "sensitive" in the API will not
  3219  // be included in the string output. The member name will be present, but the
  3220  // value will be replaced with "sensitive".
  3221  func (s DescribeLunaClientOutput) String() string {
  3222  	return awsutil.Prettify(s)
  3223  }
  3224  
  3225  // GoString returns the string representation.
  3226  //
  3227  // API parameter values that are decorated as "sensitive" in the API will not
  3228  // be included in the string output. The member name will be present, but the
  3229  // value will be replaced with "sensitive".
  3230  func (s DescribeLunaClientOutput) GoString() string {
  3231  	return s.String()
  3232  }
  3233  
  3234  // SetCertificate sets the Certificate field's value.
  3235  func (s *DescribeLunaClientOutput) SetCertificate(v string) *DescribeLunaClientOutput {
  3236  	s.Certificate = &v
  3237  	return s
  3238  }
  3239  
  3240  // SetCertificateFingerprint sets the CertificateFingerprint field's value.
  3241  func (s *DescribeLunaClientOutput) SetCertificateFingerprint(v string) *DescribeLunaClientOutput {
  3242  	s.CertificateFingerprint = &v
  3243  	return s
  3244  }
  3245  
  3246  // SetClientArn sets the ClientArn field's value.
  3247  func (s *DescribeLunaClientOutput) SetClientArn(v string) *DescribeLunaClientOutput {
  3248  	s.ClientArn = &v
  3249  	return s
  3250  }
  3251  
  3252  // SetLabel sets the Label field's value.
  3253  func (s *DescribeLunaClientOutput) SetLabel(v string) *DescribeLunaClientOutput {
  3254  	s.Label = &v
  3255  	return s
  3256  }
  3257  
  3258  // SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value.
  3259  func (s *DescribeLunaClientOutput) SetLastModifiedTimestamp(v string) *DescribeLunaClientOutput {
  3260  	s.LastModifiedTimestamp = &v
  3261  	return s
  3262  }
  3263  
  3264  type GetConfigInput struct {
  3265  	_ struct{} `type:"structure"`
  3266  
  3267  	// The ARN of the client.
  3268  	//
  3269  	// ClientArn is a required field
  3270  	ClientArn *string `type:"string" required:"true"`
  3271  
  3272  	// The client version.
  3273  	//
  3274  	// ClientVersion is a required field
  3275  	ClientVersion *string `type:"string" required:"true" enum:"ClientVersion"`
  3276  
  3277  	// A list of ARNs that identify the high-availability partition groups that
  3278  	// are associated with the client.
  3279  	//
  3280  	// HapgList is a required field
  3281  	HapgList []*string `type:"list" required:"true"`
  3282  }
  3283  
  3284  // String returns the string representation.
  3285  //
  3286  // API parameter values that are decorated as "sensitive" in the API will not
  3287  // be included in the string output. The member name will be present, but the
  3288  // value will be replaced with "sensitive".
  3289  func (s GetConfigInput) String() string {
  3290  	return awsutil.Prettify(s)
  3291  }
  3292  
  3293  // GoString returns the string representation.
  3294  //
  3295  // API parameter values that are decorated as "sensitive" in the API will not
  3296  // be included in the string output. The member name will be present, but the
  3297  // value will be replaced with "sensitive".
  3298  func (s GetConfigInput) GoString() string {
  3299  	return s.String()
  3300  }
  3301  
  3302  // Validate inspects the fields of the type to determine if they are valid.
  3303  func (s *GetConfigInput) Validate() error {
  3304  	invalidParams := request.ErrInvalidParams{Context: "GetConfigInput"}
  3305  	if s.ClientArn == nil {
  3306  		invalidParams.Add(request.NewErrParamRequired("ClientArn"))
  3307  	}
  3308  	if s.ClientVersion == nil {
  3309  		invalidParams.Add(request.NewErrParamRequired("ClientVersion"))
  3310  	}
  3311  	if s.HapgList == nil {
  3312  		invalidParams.Add(request.NewErrParamRequired("HapgList"))
  3313  	}
  3314  
  3315  	if invalidParams.Len() > 0 {
  3316  		return invalidParams
  3317  	}
  3318  	return nil
  3319  }
  3320  
  3321  // SetClientArn sets the ClientArn field's value.
  3322  func (s *GetConfigInput) SetClientArn(v string) *GetConfigInput {
  3323  	s.ClientArn = &v
  3324  	return s
  3325  }
  3326  
  3327  // SetClientVersion sets the ClientVersion field's value.
  3328  func (s *GetConfigInput) SetClientVersion(v string) *GetConfigInput {
  3329  	s.ClientVersion = &v
  3330  	return s
  3331  }
  3332  
  3333  // SetHapgList sets the HapgList field's value.
  3334  func (s *GetConfigInput) SetHapgList(v []*string) *GetConfigInput {
  3335  	s.HapgList = v
  3336  	return s
  3337  }
  3338  
  3339  type GetConfigOutput struct {
  3340  	_ struct{} `type:"structure"`
  3341  
  3342  	// The certificate file containing the server.pem files of the HSMs.
  3343  	ConfigCred *string `type:"string"`
  3344  
  3345  	// The chrystoki.conf configuration file.
  3346  	ConfigFile *string `type:"string"`
  3347  
  3348  	// The type of credentials.
  3349  	ConfigType *string `type:"string"`
  3350  }
  3351  
  3352  // String returns the string representation.
  3353  //
  3354  // API parameter values that are decorated as "sensitive" in the API will not
  3355  // be included in the string output. The member name will be present, but the
  3356  // value will be replaced with "sensitive".
  3357  func (s GetConfigOutput) String() string {
  3358  	return awsutil.Prettify(s)
  3359  }
  3360  
  3361  // GoString returns the string representation.
  3362  //
  3363  // API parameter values that are decorated as "sensitive" in the API will not
  3364  // be included in the string output. The member name will be present, but the
  3365  // value will be replaced with "sensitive".
  3366  func (s GetConfigOutput) GoString() string {
  3367  	return s.String()
  3368  }
  3369  
  3370  // SetConfigCred sets the ConfigCred field's value.
  3371  func (s *GetConfigOutput) SetConfigCred(v string) *GetConfigOutput {
  3372  	s.ConfigCred = &v
  3373  	return s
  3374  }
  3375  
  3376  // SetConfigFile sets the ConfigFile field's value.
  3377  func (s *GetConfigOutput) SetConfigFile(v string) *GetConfigOutput {
  3378  	s.ConfigFile = &v
  3379  	return s
  3380  }
  3381  
  3382  // SetConfigType sets the ConfigType field's value.
  3383  func (s *GetConfigOutput) SetConfigType(v string) *GetConfigOutput {
  3384  	s.ConfigType = &v
  3385  	return s
  3386  }
  3387  
  3388  // Indicates that one or more of the request parameters are not valid.
  3389  type InvalidRequestException struct {
  3390  	_            struct{}                  `type:"structure"`
  3391  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3392  
  3393  	Message_ *string `locationName:"message" type:"string"`
  3394  }
  3395  
  3396  // String returns the string representation.
  3397  //
  3398  // API parameter values that are decorated as "sensitive" in the API will not
  3399  // be included in the string output. The member name will be present, but the
  3400  // value will be replaced with "sensitive".
  3401  func (s InvalidRequestException) String() string {
  3402  	return awsutil.Prettify(s)
  3403  }
  3404  
  3405  // GoString returns the string representation.
  3406  //
  3407  // API parameter values that are decorated as "sensitive" in the API will not
  3408  // be included in the string output. The member name will be present, but the
  3409  // value will be replaced with "sensitive".
  3410  func (s InvalidRequestException) GoString() string {
  3411  	return s.String()
  3412  }
  3413  
  3414  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
  3415  	return &InvalidRequestException{
  3416  		RespMetadata: v,
  3417  	}
  3418  }
  3419  
  3420  // Code returns the exception type name.
  3421  func (s *InvalidRequestException) Code() string {
  3422  	return "InvalidRequestException"
  3423  }
  3424  
  3425  // Message returns the exception's message.
  3426  func (s *InvalidRequestException) Message() string {
  3427  	if s.Message_ != nil {
  3428  		return *s.Message_
  3429  	}
  3430  	return ""
  3431  }
  3432  
  3433  // OrigErr always returns nil, satisfies awserr.Error interface.
  3434  func (s *InvalidRequestException) OrigErr() error {
  3435  	return nil
  3436  }
  3437  
  3438  func (s *InvalidRequestException) Error() string {
  3439  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3440  }
  3441  
  3442  // Status code returns the HTTP status code for the request's response error.
  3443  func (s *InvalidRequestException) StatusCode() int {
  3444  	return s.RespMetadata.StatusCode
  3445  }
  3446  
  3447  // RequestID returns the service's response RequestID for request.
  3448  func (s *InvalidRequestException) RequestID() string {
  3449  	return s.RespMetadata.RequestID
  3450  }
  3451  
  3452  // Contains the inputs for the ListAvailableZones action.
  3453  type ListAvailableZonesInput struct {
  3454  	_ struct{} `type:"structure"`
  3455  }
  3456  
  3457  // String returns the string representation.
  3458  //
  3459  // API parameter values that are decorated as "sensitive" in the API will not
  3460  // be included in the string output. The member name will be present, but the
  3461  // value will be replaced with "sensitive".
  3462  func (s ListAvailableZonesInput) String() string {
  3463  	return awsutil.Prettify(s)
  3464  }
  3465  
  3466  // GoString returns the string representation.
  3467  //
  3468  // API parameter values that are decorated as "sensitive" in the API will not
  3469  // be included in the string output. The member name will be present, but the
  3470  // value will be replaced with "sensitive".
  3471  func (s ListAvailableZonesInput) GoString() string {
  3472  	return s.String()
  3473  }
  3474  
  3475  type ListAvailableZonesOutput struct {
  3476  	_ struct{} `type:"structure"`
  3477  
  3478  	// The list of Availability Zones that have available AWS CloudHSM capacity.
  3479  	AZList []*string `type:"list"`
  3480  }
  3481  
  3482  // String returns the string representation.
  3483  //
  3484  // API parameter values that are decorated as "sensitive" in the API will not
  3485  // be included in the string output. The member name will be present, but the
  3486  // value will be replaced with "sensitive".
  3487  func (s ListAvailableZonesOutput) String() string {
  3488  	return awsutil.Prettify(s)
  3489  }
  3490  
  3491  // GoString returns the string representation.
  3492  //
  3493  // API parameter values that are decorated as "sensitive" in the API will not
  3494  // be included in the string output. The member name will be present, but the
  3495  // value will be replaced with "sensitive".
  3496  func (s ListAvailableZonesOutput) GoString() string {
  3497  	return s.String()
  3498  }
  3499  
  3500  // SetAZList sets the AZList field's value.
  3501  func (s *ListAvailableZonesOutput) SetAZList(v []*string) *ListAvailableZonesOutput {
  3502  	s.AZList = v
  3503  	return s
  3504  }
  3505  
  3506  type ListHapgsInput struct {
  3507  	_ struct{} `type:"structure"`
  3508  
  3509  	// The NextToken value from a previous call to ListHapgs. Pass null if this
  3510  	// is the first call.
  3511  	NextToken *string `type:"string"`
  3512  }
  3513  
  3514  // String returns the string representation.
  3515  //
  3516  // API parameter values that are decorated as "sensitive" in the API will not
  3517  // be included in the string output. The member name will be present, but the
  3518  // value will be replaced with "sensitive".
  3519  func (s ListHapgsInput) String() string {
  3520  	return awsutil.Prettify(s)
  3521  }
  3522  
  3523  // GoString returns the string representation.
  3524  //
  3525  // API parameter values that are decorated as "sensitive" in the API will not
  3526  // be included in the string output. The member name will be present, but the
  3527  // value will be replaced with "sensitive".
  3528  func (s ListHapgsInput) GoString() string {
  3529  	return s.String()
  3530  }
  3531  
  3532  // SetNextToken sets the NextToken field's value.
  3533  func (s *ListHapgsInput) SetNextToken(v string) *ListHapgsInput {
  3534  	s.NextToken = &v
  3535  	return s
  3536  }
  3537  
  3538  type ListHapgsOutput struct {
  3539  	_ struct{} `type:"structure"`
  3540  
  3541  	// The list of high-availability partition groups.
  3542  	//
  3543  	// HapgList is a required field
  3544  	HapgList []*string `type:"list" required:"true"`
  3545  
  3546  	// If not null, more results are available. Pass this value to ListHapgs to
  3547  	// retrieve the next set of items.
  3548  	NextToken *string `type:"string"`
  3549  }
  3550  
  3551  // String returns the string representation.
  3552  //
  3553  // API parameter values that are decorated as "sensitive" in the API will not
  3554  // be included in the string output. The member name will be present, but the
  3555  // value will be replaced with "sensitive".
  3556  func (s ListHapgsOutput) String() string {
  3557  	return awsutil.Prettify(s)
  3558  }
  3559  
  3560  // GoString returns the string representation.
  3561  //
  3562  // API parameter values that are decorated as "sensitive" in the API will not
  3563  // be included in the string output. The member name will be present, but the
  3564  // value will be replaced with "sensitive".
  3565  func (s ListHapgsOutput) GoString() string {
  3566  	return s.String()
  3567  }
  3568  
  3569  // SetHapgList sets the HapgList field's value.
  3570  func (s *ListHapgsOutput) SetHapgList(v []*string) *ListHapgsOutput {
  3571  	s.HapgList = v
  3572  	return s
  3573  }
  3574  
  3575  // SetNextToken sets the NextToken field's value.
  3576  func (s *ListHapgsOutput) SetNextToken(v string) *ListHapgsOutput {
  3577  	s.NextToken = &v
  3578  	return s
  3579  }
  3580  
  3581  type ListHsmsInput struct {
  3582  	_ struct{} `type:"structure"`
  3583  
  3584  	// The NextToken value from a previous call to ListHsms. Pass null if this is
  3585  	// the first call.
  3586  	NextToken *string `type:"string"`
  3587  }
  3588  
  3589  // String returns the string representation.
  3590  //
  3591  // API parameter values that are decorated as "sensitive" in the API will not
  3592  // be included in the string output. The member name will be present, but the
  3593  // value will be replaced with "sensitive".
  3594  func (s ListHsmsInput) String() string {
  3595  	return awsutil.Prettify(s)
  3596  }
  3597  
  3598  // GoString returns the string representation.
  3599  //
  3600  // API parameter values that are decorated as "sensitive" in the API will not
  3601  // be included in the string output. The member name will be present, but the
  3602  // value will be replaced with "sensitive".
  3603  func (s ListHsmsInput) GoString() string {
  3604  	return s.String()
  3605  }
  3606  
  3607  // SetNextToken sets the NextToken field's value.
  3608  func (s *ListHsmsInput) SetNextToken(v string) *ListHsmsInput {
  3609  	s.NextToken = &v
  3610  	return s
  3611  }
  3612  
  3613  // Contains the output of the ListHsms operation.
  3614  type ListHsmsOutput struct {
  3615  	_ struct{} `type:"structure"`
  3616  
  3617  	// The list of ARNs that identify the HSMs.
  3618  	HsmList []*string `type:"list"`
  3619  
  3620  	// If not null, more results are available. Pass this value to ListHsms to retrieve
  3621  	// the next set of items.
  3622  	NextToken *string `type:"string"`
  3623  }
  3624  
  3625  // String returns the string representation.
  3626  //
  3627  // API parameter values that are decorated as "sensitive" in the API will not
  3628  // be included in the string output. The member name will be present, but the
  3629  // value will be replaced with "sensitive".
  3630  func (s ListHsmsOutput) String() string {
  3631  	return awsutil.Prettify(s)
  3632  }
  3633  
  3634  // GoString returns the string representation.
  3635  //
  3636  // API parameter values that are decorated as "sensitive" in the API will not
  3637  // be included in the string output. The member name will be present, but the
  3638  // value will be replaced with "sensitive".
  3639  func (s ListHsmsOutput) GoString() string {
  3640  	return s.String()
  3641  }
  3642  
  3643  // SetHsmList sets the HsmList field's value.
  3644  func (s *ListHsmsOutput) SetHsmList(v []*string) *ListHsmsOutput {
  3645  	s.HsmList = v
  3646  	return s
  3647  }
  3648  
  3649  // SetNextToken sets the NextToken field's value.
  3650  func (s *ListHsmsOutput) SetNextToken(v string) *ListHsmsOutput {
  3651  	s.NextToken = &v
  3652  	return s
  3653  }
  3654  
  3655  type ListLunaClientsInput struct {
  3656  	_ struct{} `type:"structure"`
  3657  
  3658  	// The NextToken value from a previous call to ListLunaClients. Pass null if
  3659  	// this is the first call.
  3660  	NextToken *string `type:"string"`
  3661  }
  3662  
  3663  // String returns the string representation.
  3664  //
  3665  // API parameter values that are decorated as "sensitive" in the API will not
  3666  // be included in the string output. The member name will be present, but the
  3667  // value will be replaced with "sensitive".
  3668  func (s ListLunaClientsInput) String() string {
  3669  	return awsutil.Prettify(s)
  3670  }
  3671  
  3672  // GoString returns the string representation.
  3673  //
  3674  // API parameter values that are decorated as "sensitive" in the API will not
  3675  // be included in the string output. The member name will be present, but the
  3676  // value will be replaced with "sensitive".
  3677  func (s ListLunaClientsInput) GoString() string {
  3678  	return s.String()
  3679  }
  3680  
  3681  // SetNextToken sets the NextToken field's value.
  3682  func (s *ListLunaClientsInput) SetNextToken(v string) *ListLunaClientsInput {
  3683  	s.NextToken = &v
  3684  	return s
  3685  }
  3686  
  3687  type ListLunaClientsOutput struct {
  3688  	_ struct{} `type:"structure"`
  3689  
  3690  	// The list of clients.
  3691  	//
  3692  	// ClientList is a required field
  3693  	ClientList []*string `type:"list" required:"true"`
  3694  
  3695  	// If not null, more results are available. Pass this to ListLunaClients to
  3696  	// retrieve the next set of items.
  3697  	NextToken *string `type:"string"`
  3698  }
  3699  
  3700  // String returns the string representation.
  3701  //
  3702  // API parameter values that are decorated as "sensitive" in the API will not
  3703  // be included in the string output. The member name will be present, but the
  3704  // value will be replaced with "sensitive".
  3705  func (s ListLunaClientsOutput) String() string {
  3706  	return awsutil.Prettify(s)
  3707  }
  3708  
  3709  // GoString returns the string representation.
  3710  //
  3711  // API parameter values that are decorated as "sensitive" in the API will not
  3712  // be included in the string output. The member name will be present, but the
  3713  // value will be replaced with "sensitive".
  3714  func (s ListLunaClientsOutput) GoString() string {
  3715  	return s.String()
  3716  }
  3717  
  3718  // SetClientList sets the ClientList field's value.
  3719  func (s *ListLunaClientsOutput) SetClientList(v []*string) *ListLunaClientsOutput {
  3720  	s.ClientList = v
  3721  	return s
  3722  }
  3723  
  3724  // SetNextToken sets the NextToken field's value.
  3725  func (s *ListLunaClientsOutput) SetNextToken(v string) *ListLunaClientsOutput {
  3726  	s.NextToken = &v
  3727  	return s
  3728  }
  3729  
  3730  type ListTagsForResourceInput struct {
  3731  	_ struct{} `type:"structure"`
  3732  
  3733  	// The Amazon Resource Name (ARN) of the AWS CloudHSM resource.
  3734  	//
  3735  	// ResourceArn is a required field
  3736  	ResourceArn *string `type:"string" 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 ListTagsForResourceInput) 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 ListTagsForResourceInput) 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 *ListTagsForResourceInput) Validate() error {
  3759  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  3760  	if s.ResourceArn == nil {
  3761  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  3762  	}
  3763  
  3764  	if invalidParams.Len() > 0 {
  3765  		return invalidParams
  3766  	}
  3767  	return nil
  3768  }
  3769  
  3770  // SetResourceArn sets the ResourceArn field's value.
  3771  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  3772  	s.ResourceArn = &v
  3773  	return s
  3774  }
  3775  
  3776  type ListTagsForResourceOutput struct {
  3777  	_ struct{} `type:"structure"`
  3778  
  3779  	// One or more tags.
  3780  	//
  3781  	// TagList is a required field
  3782  	TagList []*Tag `type:"list" required:"true"`
  3783  }
  3784  
  3785  // String returns the string representation.
  3786  //
  3787  // API parameter values that are decorated as "sensitive" in the API will not
  3788  // be included in the string output. The member name will be present, but the
  3789  // value will be replaced with "sensitive".
  3790  func (s ListTagsForResourceOutput) String() string {
  3791  	return awsutil.Prettify(s)
  3792  }
  3793  
  3794  // GoString returns the string representation.
  3795  //
  3796  // API parameter values that are decorated as "sensitive" in the API will not
  3797  // be included in the string output. The member name will be present, but the
  3798  // value will be replaced with "sensitive".
  3799  func (s ListTagsForResourceOutput) GoString() string {
  3800  	return s.String()
  3801  }
  3802  
  3803  // SetTagList sets the TagList field's value.
  3804  func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
  3805  	s.TagList = v
  3806  	return s
  3807  }
  3808  
  3809  type ModifyHapgInput struct {
  3810  	_ struct{} `type:"structure"`
  3811  
  3812  	// The ARN of the high-availability partition group to modify.
  3813  	//
  3814  	// HapgArn is a required field
  3815  	HapgArn *string `type:"string" required:"true"`
  3816  
  3817  	// The new label for the high-availability partition group.
  3818  	Label *string `type:"string"`
  3819  
  3820  	// The list of partition serial numbers to make members of the high-availability
  3821  	// partition group.
  3822  	PartitionSerialList []*string `type:"list"`
  3823  }
  3824  
  3825  // String returns the string representation.
  3826  //
  3827  // API parameter values that are decorated as "sensitive" in the API will not
  3828  // be included in the string output. The member name will be present, but the
  3829  // value will be replaced with "sensitive".
  3830  func (s ModifyHapgInput) String() string {
  3831  	return awsutil.Prettify(s)
  3832  }
  3833  
  3834  // GoString returns the string representation.
  3835  //
  3836  // API parameter values that are decorated as "sensitive" in the API will not
  3837  // be included in the string output. The member name will be present, but the
  3838  // value will be replaced with "sensitive".
  3839  func (s ModifyHapgInput) GoString() string {
  3840  	return s.String()
  3841  }
  3842  
  3843  // Validate inspects the fields of the type to determine if they are valid.
  3844  func (s *ModifyHapgInput) Validate() error {
  3845  	invalidParams := request.ErrInvalidParams{Context: "ModifyHapgInput"}
  3846  	if s.HapgArn == nil {
  3847  		invalidParams.Add(request.NewErrParamRequired("HapgArn"))
  3848  	}
  3849  
  3850  	if invalidParams.Len() > 0 {
  3851  		return invalidParams
  3852  	}
  3853  	return nil
  3854  }
  3855  
  3856  // SetHapgArn sets the HapgArn field's value.
  3857  func (s *ModifyHapgInput) SetHapgArn(v string) *ModifyHapgInput {
  3858  	s.HapgArn = &v
  3859  	return s
  3860  }
  3861  
  3862  // SetLabel sets the Label field's value.
  3863  func (s *ModifyHapgInput) SetLabel(v string) *ModifyHapgInput {
  3864  	s.Label = &v
  3865  	return s
  3866  }
  3867  
  3868  // SetPartitionSerialList sets the PartitionSerialList field's value.
  3869  func (s *ModifyHapgInput) SetPartitionSerialList(v []*string) *ModifyHapgInput {
  3870  	s.PartitionSerialList = v
  3871  	return s
  3872  }
  3873  
  3874  type ModifyHapgOutput struct {
  3875  	_ struct{} `type:"structure"`
  3876  
  3877  	// The ARN of the high-availability partition group.
  3878  	HapgArn *string `type:"string"`
  3879  }
  3880  
  3881  // String returns the string representation.
  3882  //
  3883  // API parameter values that are decorated as "sensitive" in the API will not
  3884  // be included in the string output. The member name will be present, but the
  3885  // value will be replaced with "sensitive".
  3886  func (s ModifyHapgOutput) String() string {
  3887  	return awsutil.Prettify(s)
  3888  }
  3889  
  3890  // GoString returns the string representation.
  3891  //
  3892  // API parameter values that are decorated as "sensitive" in the API will not
  3893  // be included in the string output. The member name will be present, but the
  3894  // value will be replaced with "sensitive".
  3895  func (s ModifyHapgOutput) GoString() string {
  3896  	return s.String()
  3897  }
  3898  
  3899  // SetHapgArn sets the HapgArn field's value.
  3900  func (s *ModifyHapgOutput) SetHapgArn(v string) *ModifyHapgOutput {
  3901  	s.HapgArn = &v
  3902  	return s
  3903  }
  3904  
  3905  // Contains the inputs for the ModifyHsm operation.
  3906  type ModifyHsmInput struct {
  3907  	_ struct{} `type:"structure"`
  3908  
  3909  	// The new IP address for the elastic network interface (ENI) attached to the
  3910  	// HSM.
  3911  	//
  3912  	// If the HSM is moved to a different subnet, and an IP address is not specified,
  3913  	// an IP address will be randomly chosen from the CIDR range of the new subnet.
  3914  	EniIp *string `type:"string"`
  3915  
  3916  	// The new external ID.
  3917  	ExternalId *string `type:"string"`
  3918  
  3919  	// The ARN of the HSM to modify.
  3920  	//
  3921  	// HsmArn is a required field
  3922  	HsmArn *string `type:"string" required:"true"`
  3923  
  3924  	// The new IAM role ARN.
  3925  	IamRoleArn *string `type:"string"`
  3926  
  3927  	// The new identifier of the subnet that the HSM is in. The new subnet must
  3928  	// be in the same Availability Zone as the current subnet.
  3929  	SubnetId *string `type:"string"`
  3930  
  3931  	// The new IP address for the syslog monitoring server. The AWS CloudHSM service
  3932  	// only supports one syslog monitoring server.
  3933  	SyslogIp *string `type:"string"`
  3934  }
  3935  
  3936  // String returns the string representation.
  3937  //
  3938  // API parameter values that are decorated as "sensitive" in the API will not
  3939  // be included in the string output. The member name will be present, but the
  3940  // value will be replaced with "sensitive".
  3941  func (s ModifyHsmInput) String() string {
  3942  	return awsutil.Prettify(s)
  3943  }
  3944  
  3945  // GoString returns the string representation.
  3946  //
  3947  // API parameter values that are decorated as "sensitive" in the API will not
  3948  // be included in the string output. The member name will be present, but the
  3949  // value will be replaced with "sensitive".
  3950  func (s ModifyHsmInput) GoString() string {
  3951  	return s.String()
  3952  }
  3953  
  3954  // Validate inspects the fields of the type to determine if they are valid.
  3955  func (s *ModifyHsmInput) Validate() error {
  3956  	invalidParams := request.ErrInvalidParams{Context: "ModifyHsmInput"}
  3957  	if s.HsmArn == nil {
  3958  		invalidParams.Add(request.NewErrParamRequired("HsmArn"))
  3959  	}
  3960  
  3961  	if invalidParams.Len() > 0 {
  3962  		return invalidParams
  3963  	}
  3964  	return nil
  3965  }
  3966  
  3967  // SetEniIp sets the EniIp field's value.
  3968  func (s *ModifyHsmInput) SetEniIp(v string) *ModifyHsmInput {
  3969  	s.EniIp = &v
  3970  	return s
  3971  }
  3972  
  3973  // SetExternalId sets the ExternalId field's value.
  3974  func (s *ModifyHsmInput) SetExternalId(v string) *ModifyHsmInput {
  3975  	s.ExternalId = &v
  3976  	return s
  3977  }
  3978  
  3979  // SetHsmArn sets the HsmArn field's value.
  3980  func (s *ModifyHsmInput) SetHsmArn(v string) *ModifyHsmInput {
  3981  	s.HsmArn = &v
  3982  	return s
  3983  }
  3984  
  3985  // SetIamRoleArn sets the IamRoleArn field's value.
  3986  func (s *ModifyHsmInput) SetIamRoleArn(v string) *ModifyHsmInput {
  3987  	s.IamRoleArn = &v
  3988  	return s
  3989  }
  3990  
  3991  // SetSubnetId sets the SubnetId field's value.
  3992  func (s *ModifyHsmInput) SetSubnetId(v string) *ModifyHsmInput {
  3993  	s.SubnetId = &v
  3994  	return s
  3995  }
  3996  
  3997  // SetSyslogIp sets the SyslogIp field's value.
  3998  func (s *ModifyHsmInput) SetSyslogIp(v string) *ModifyHsmInput {
  3999  	s.SyslogIp = &v
  4000  	return s
  4001  }
  4002  
  4003  // Contains the output of the ModifyHsm operation.
  4004  type ModifyHsmOutput struct {
  4005  	_ struct{} `type:"structure"`
  4006  
  4007  	// The ARN of the HSM.
  4008  	HsmArn *string `type:"string"`
  4009  }
  4010  
  4011  // String returns the string representation.
  4012  //
  4013  // API parameter values that are decorated as "sensitive" in the API will not
  4014  // be included in the string output. The member name will be present, but the
  4015  // value will be replaced with "sensitive".
  4016  func (s ModifyHsmOutput) String() string {
  4017  	return awsutil.Prettify(s)
  4018  }
  4019  
  4020  // GoString returns the string representation.
  4021  //
  4022  // API parameter values that are decorated as "sensitive" in the API will not
  4023  // be included in the string output. The member name will be present, but the
  4024  // value will be replaced with "sensitive".
  4025  func (s ModifyHsmOutput) GoString() string {
  4026  	return s.String()
  4027  }
  4028  
  4029  // SetHsmArn sets the HsmArn field's value.
  4030  func (s *ModifyHsmOutput) SetHsmArn(v string) *ModifyHsmOutput {
  4031  	s.HsmArn = &v
  4032  	return s
  4033  }
  4034  
  4035  type ModifyLunaClientInput struct {
  4036  	_ struct{} `type:"structure"`
  4037  
  4038  	// The new certificate for the client.
  4039  	//
  4040  	// Certificate is a required field
  4041  	Certificate *string `min:"600" type:"string" required:"true"`
  4042  
  4043  	// The ARN of the client.
  4044  	//
  4045  	// ClientArn is a required field
  4046  	ClientArn *string `type:"string" required:"true"`
  4047  }
  4048  
  4049  // String returns the string representation.
  4050  //
  4051  // API parameter values that are decorated as "sensitive" in the API will not
  4052  // be included in the string output. The member name will be present, but the
  4053  // value will be replaced with "sensitive".
  4054  func (s ModifyLunaClientInput) String() string {
  4055  	return awsutil.Prettify(s)
  4056  }
  4057  
  4058  // GoString returns the string representation.
  4059  //
  4060  // API parameter values that are decorated as "sensitive" in the API will not
  4061  // be included in the string output. The member name will be present, but the
  4062  // value will be replaced with "sensitive".
  4063  func (s ModifyLunaClientInput) GoString() string {
  4064  	return s.String()
  4065  }
  4066  
  4067  // Validate inspects the fields of the type to determine if they are valid.
  4068  func (s *ModifyLunaClientInput) Validate() error {
  4069  	invalidParams := request.ErrInvalidParams{Context: "ModifyLunaClientInput"}
  4070  	if s.Certificate == nil {
  4071  		invalidParams.Add(request.NewErrParamRequired("Certificate"))
  4072  	}
  4073  	if s.Certificate != nil && len(*s.Certificate) < 600 {
  4074  		invalidParams.Add(request.NewErrParamMinLen("Certificate", 600))
  4075  	}
  4076  	if s.ClientArn == nil {
  4077  		invalidParams.Add(request.NewErrParamRequired("ClientArn"))
  4078  	}
  4079  
  4080  	if invalidParams.Len() > 0 {
  4081  		return invalidParams
  4082  	}
  4083  	return nil
  4084  }
  4085  
  4086  // SetCertificate sets the Certificate field's value.
  4087  func (s *ModifyLunaClientInput) SetCertificate(v string) *ModifyLunaClientInput {
  4088  	s.Certificate = &v
  4089  	return s
  4090  }
  4091  
  4092  // SetClientArn sets the ClientArn field's value.
  4093  func (s *ModifyLunaClientInput) SetClientArn(v string) *ModifyLunaClientInput {
  4094  	s.ClientArn = &v
  4095  	return s
  4096  }
  4097  
  4098  type ModifyLunaClientOutput struct {
  4099  	_ struct{} `type:"structure"`
  4100  
  4101  	// The ARN of the client.
  4102  	ClientArn *string `type:"string"`
  4103  }
  4104  
  4105  // String 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 ModifyLunaClientOutput) String() string {
  4111  	return awsutil.Prettify(s)
  4112  }
  4113  
  4114  // GoString returns the string representation.
  4115  //
  4116  // API parameter values that are decorated as "sensitive" in the API will not
  4117  // be included in the string output. The member name will be present, but the
  4118  // value will be replaced with "sensitive".
  4119  func (s ModifyLunaClientOutput) GoString() string {
  4120  	return s.String()
  4121  }
  4122  
  4123  // SetClientArn sets the ClientArn field's value.
  4124  func (s *ModifyLunaClientOutput) SetClientArn(v string) *ModifyLunaClientOutput {
  4125  	s.ClientArn = &v
  4126  	return s
  4127  }
  4128  
  4129  type RemoveTagsFromResourceInput struct {
  4130  	_ struct{} `type:"structure"`
  4131  
  4132  	// The Amazon Resource Name (ARN) of the AWS CloudHSM resource.
  4133  	//
  4134  	// ResourceArn is a required field
  4135  	ResourceArn *string `type:"string" required:"true"`
  4136  
  4137  	// The tag key or keys to remove.
  4138  	//
  4139  	// Specify only the tag key to remove (not the value). To overwrite the value
  4140  	// for an existing tag, use AddTagsToResource.
  4141  	//
  4142  	// TagKeyList is a required field
  4143  	TagKeyList []*string `type:"list" required:"true"`
  4144  }
  4145  
  4146  // String returns the string representation.
  4147  //
  4148  // API parameter values that are decorated as "sensitive" in the API will not
  4149  // be included in the string output. The member name will be present, but the
  4150  // value will be replaced with "sensitive".
  4151  func (s RemoveTagsFromResourceInput) String() string {
  4152  	return awsutil.Prettify(s)
  4153  }
  4154  
  4155  // GoString returns the string representation.
  4156  //
  4157  // API parameter values that are decorated as "sensitive" in the API will not
  4158  // be included in the string output. The member name will be present, but the
  4159  // value will be replaced with "sensitive".
  4160  func (s RemoveTagsFromResourceInput) GoString() string {
  4161  	return s.String()
  4162  }
  4163  
  4164  // Validate inspects the fields of the type to determine if they are valid.
  4165  func (s *RemoveTagsFromResourceInput) Validate() error {
  4166  	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
  4167  	if s.ResourceArn == nil {
  4168  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4169  	}
  4170  	if s.TagKeyList == nil {
  4171  		invalidParams.Add(request.NewErrParamRequired("TagKeyList"))
  4172  	}
  4173  
  4174  	if invalidParams.Len() > 0 {
  4175  		return invalidParams
  4176  	}
  4177  	return nil
  4178  }
  4179  
  4180  // SetResourceArn sets the ResourceArn field's value.
  4181  func (s *RemoveTagsFromResourceInput) SetResourceArn(v string) *RemoveTagsFromResourceInput {
  4182  	s.ResourceArn = &v
  4183  	return s
  4184  }
  4185  
  4186  // SetTagKeyList sets the TagKeyList field's value.
  4187  func (s *RemoveTagsFromResourceInput) SetTagKeyList(v []*string) *RemoveTagsFromResourceInput {
  4188  	s.TagKeyList = v
  4189  	return s
  4190  }
  4191  
  4192  type RemoveTagsFromResourceOutput struct {
  4193  	_ struct{} `type:"structure"`
  4194  
  4195  	// The status of the operation.
  4196  	//
  4197  	// Status is a required field
  4198  	Status *string `type:"string" required:"true"`
  4199  }
  4200  
  4201  // String returns the string representation.
  4202  //
  4203  // API parameter values that are decorated as "sensitive" in the API will not
  4204  // be included in the string output. The member name will be present, but the
  4205  // value will be replaced with "sensitive".
  4206  func (s RemoveTagsFromResourceOutput) String() string {
  4207  	return awsutil.Prettify(s)
  4208  }
  4209  
  4210  // GoString returns the string representation.
  4211  //
  4212  // API parameter values that are decorated as "sensitive" in the API will not
  4213  // be included in the string output. The member name will be present, but the
  4214  // value will be replaced with "sensitive".
  4215  func (s RemoveTagsFromResourceOutput) GoString() string {
  4216  	return s.String()
  4217  }
  4218  
  4219  // SetStatus sets the Status field's value.
  4220  func (s *RemoveTagsFromResourceOutput) SetStatus(v string) *RemoveTagsFromResourceOutput {
  4221  	s.Status = &v
  4222  	return s
  4223  }
  4224  
  4225  // A key-value pair that identifies or specifies metadata about an AWS CloudHSM
  4226  // resource.
  4227  type Tag struct {
  4228  	_ struct{} `type:"structure"`
  4229  
  4230  	// The key of the tag.
  4231  	//
  4232  	// Key is a required field
  4233  	Key *string `min:"1" type:"string" required:"true"`
  4234  
  4235  	// The value of the tag.
  4236  	//
  4237  	// Value is a required field
  4238  	Value *string `type:"string" required:"true"`
  4239  }
  4240  
  4241  // String returns the string representation.
  4242  //
  4243  // API parameter values that are decorated as "sensitive" in the API will not
  4244  // be included in the string output. The member name will be present, but the
  4245  // value will be replaced with "sensitive".
  4246  func (s Tag) String() string {
  4247  	return awsutil.Prettify(s)
  4248  }
  4249  
  4250  // GoString returns the string representation.
  4251  //
  4252  // API parameter values that are decorated as "sensitive" in the API will not
  4253  // be included in the string output. The member name will be present, but the
  4254  // value will be replaced with "sensitive".
  4255  func (s Tag) GoString() string {
  4256  	return s.String()
  4257  }
  4258  
  4259  // Validate inspects the fields of the type to determine if they are valid.
  4260  func (s *Tag) Validate() error {
  4261  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  4262  	if s.Key == nil {
  4263  		invalidParams.Add(request.NewErrParamRequired("Key"))
  4264  	}
  4265  	if s.Key != nil && len(*s.Key) < 1 {
  4266  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  4267  	}
  4268  	if s.Value == nil {
  4269  		invalidParams.Add(request.NewErrParamRequired("Value"))
  4270  	}
  4271  
  4272  	if invalidParams.Len() > 0 {
  4273  		return invalidParams
  4274  	}
  4275  	return nil
  4276  }
  4277  
  4278  // SetKey sets the Key field's value.
  4279  func (s *Tag) SetKey(v string) *Tag {
  4280  	s.Key = &v
  4281  	return s
  4282  }
  4283  
  4284  // SetValue sets the Value field's value.
  4285  func (s *Tag) SetValue(v string) *Tag {
  4286  	s.Value = &v
  4287  	return s
  4288  }
  4289  
  4290  const (
  4291  	// ClientVersion51 is a ClientVersion enum value
  4292  	ClientVersion51 = "5.1"
  4293  
  4294  	// ClientVersion53 is a ClientVersion enum value
  4295  	ClientVersion53 = "5.3"
  4296  )
  4297  
  4298  // ClientVersion_Values returns all elements of the ClientVersion enum
  4299  func ClientVersion_Values() []string {
  4300  	return []string{
  4301  		ClientVersion51,
  4302  		ClientVersion53,
  4303  	}
  4304  }
  4305  
  4306  const (
  4307  	// CloudHsmObjectStateReady is a CloudHsmObjectState enum value
  4308  	CloudHsmObjectStateReady = "READY"
  4309  
  4310  	// CloudHsmObjectStateUpdating is a CloudHsmObjectState enum value
  4311  	CloudHsmObjectStateUpdating = "UPDATING"
  4312  
  4313  	// CloudHsmObjectStateDegraded is a CloudHsmObjectState enum value
  4314  	CloudHsmObjectStateDegraded = "DEGRADED"
  4315  )
  4316  
  4317  // CloudHsmObjectState_Values returns all elements of the CloudHsmObjectState enum
  4318  func CloudHsmObjectState_Values() []string {
  4319  	return []string{
  4320  		CloudHsmObjectStateReady,
  4321  		CloudHsmObjectStateUpdating,
  4322  		CloudHsmObjectStateDegraded,
  4323  	}
  4324  }
  4325  
  4326  const (
  4327  	// HsmStatusPending is a HsmStatus enum value
  4328  	HsmStatusPending = "PENDING"
  4329  
  4330  	// HsmStatusRunning is a HsmStatus enum value
  4331  	HsmStatusRunning = "RUNNING"
  4332  
  4333  	// HsmStatusUpdating is a HsmStatus enum value
  4334  	HsmStatusUpdating = "UPDATING"
  4335  
  4336  	// HsmStatusSuspended is a HsmStatus enum value
  4337  	HsmStatusSuspended = "SUSPENDED"
  4338  
  4339  	// HsmStatusTerminating is a HsmStatus enum value
  4340  	HsmStatusTerminating = "TERMINATING"
  4341  
  4342  	// HsmStatusTerminated is a HsmStatus enum value
  4343  	HsmStatusTerminated = "TERMINATED"
  4344  
  4345  	// HsmStatusDegraded is a HsmStatus enum value
  4346  	HsmStatusDegraded = "DEGRADED"
  4347  )
  4348  
  4349  // HsmStatus_Values returns all elements of the HsmStatus enum
  4350  func HsmStatus_Values() []string {
  4351  	return []string{
  4352  		HsmStatusPending,
  4353  		HsmStatusRunning,
  4354  		HsmStatusUpdating,
  4355  		HsmStatusSuspended,
  4356  		HsmStatusTerminating,
  4357  		HsmStatusTerminated,
  4358  		HsmStatusDegraded,
  4359  	}
  4360  }
  4361  
  4362  // Specifies the type of subscription for the HSM.
  4363  //
  4364  //    * PRODUCTION - The HSM is being used in a production environment.
  4365  //
  4366  //    * TRIAL - The HSM is being used in a product trial.
  4367  const (
  4368  	// SubscriptionTypeProduction is a SubscriptionType enum value
  4369  	SubscriptionTypeProduction = "PRODUCTION"
  4370  )
  4371  
  4372  // SubscriptionType_Values returns all elements of the SubscriptionType enum
  4373  func SubscriptionType_Values() []string {
  4374  	return []string{
  4375  		SubscriptionTypeProduction,
  4376  	}
  4377  }