// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package cloudhsmv2 import ( "fmt" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" ) const opCreateCluster = "CreateCluster" // CreateClusterRequest generates a "aws/request.Request" representing the // client's request for the CreateCluster operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See CreateCluster for more information on using the CreateCluster // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the CreateClusterRequest method. // req, resp := client.CreateClusterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateCluster func (c *CloudHSMV2) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { op := &request.Operation{ Name: opCreateCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateClusterInput{} } output = &CreateClusterOutput{} req = c.newRequest(op, input, output) return } // CreateCluster API operation for AWS CloudHSM V2. // // Creates a new AWS CloudHSM cluster. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudHSM V2's // API operation CreateCluster for usage and error information. // // Returned Error Codes: // * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" // The request was rejected because of an AWS CloudHSM internal failure. The // request can be retried. // // * ErrCodeCloudHsmServiceException "CloudHsmServiceException" // The request was rejected because an error occurred. // // * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" // The request was rejected because it refers to a resource that cannot be found. // // * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" // The request was rejected because it is not a valid request. // // * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" // The request was rejected because the requester does not have permission to // perform the requested operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateCluster func (c *CloudHSMV2) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { req, out := c.CreateClusterRequest(input) return out, req.Send() } // CreateClusterWithContext is the same as CreateCluster with the addition of // the ability to pass a context and additional request options. // // See CreateCluster for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { req, out := c.CreateClusterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateHsm = "CreateHsm" // CreateHsmRequest generates a "aws/request.Request" representing the // client's request for the CreateHsm operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See CreateHsm for more information on using the CreateHsm // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the CreateHsmRequest method. // req, resp := client.CreateHsmRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateHsm func (c *CloudHSMV2) CreateHsmRequest(input *CreateHsmInput) (req *request.Request, output *CreateHsmOutput) { op := &request.Operation{ Name: opCreateHsm, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateHsmInput{} } output = &CreateHsmOutput{} req = c.newRequest(op, input, output) return } // CreateHsm API operation for AWS CloudHSM V2. // // Creates a new hardware security module (HSM) in the specified AWS CloudHSM // cluster. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudHSM V2's // API operation CreateHsm for usage and error information. // // Returned Error Codes: // * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" // The request was rejected because of an AWS CloudHSM internal failure. The // request can be retried. // // * ErrCodeCloudHsmServiceException "CloudHsmServiceException" // The request was rejected because an error occurred. // // * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" // The request was rejected because it is not a valid request. // // * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" // The request was rejected because it refers to a resource that cannot be found. // // * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" // The request was rejected because the requester does not have permission to // perform the requested operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/CreateHsm func (c *CloudHSMV2) CreateHsm(input *CreateHsmInput) (*CreateHsmOutput, error) { req, out := c.CreateHsmRequest(input) return out, req.Send() } // CreateHsmWithContext is the same as CreateHsm with the addition of // the ability to pass a context and additional request options. // // See CreateHsm for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) CreateHsmWithContext(ctx aws.Context, input *CreateHsmInput, opts ...request.Option) (*CreateHsmOutput, error) { req, out := c.CreateHsmRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteCluster = "DeleteCluster" // DeleteClusterRequest generates a "aws/request.Request" representing the // client's request for the DeleteCluster operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DeleteCluster for more information on using the DeleteCluster // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the DeleteClusterRequest method. // req, resp := client.DeleteClusterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteCluster func (c *CloudHSMV2) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { op := &request.Operation{ Name: opDeleteCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteClusterInput{} } output = &DeleteClusterOutput{} req = c.newRequest(op, input, output) return } // DeleteCluster API operation for AWS CloudHSM V2. // // Deletes the specified AWS CloudHSM cluster. Before you can delete a cluster, // you must delete all HSMs in the cluster. To see if the cluster contains any // HSMs, use DescribeClusters. To delete an HSM, use DeleteHsm. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudHSM V2's // API operation DeleteCluster for usage and error information. // // Returned Error Codes: // * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" // The request was rejected because of an AWS CloudHSM internal failure. The // request can be retried. // // * ErrCodeCloudHsmServiceException "CloudHsmServiceException" // The request was rejected because an error occurred. // // * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" // The request was rejected because it refers to a resource that cannot be found. // // * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" // The request was rejected because it is not a valid request. // // * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" // The request was rejected because the requester does not have permission to // perform the requested operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteCluster func (c *CloudHSMV2) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { req, out := c.DeleteClusterRequest(input) return out, req.Send() } // DeleteClusterWithContext is the same as DeleteCluster with the addition of // the ability to pass a context and additional request options. // // See DeleteCluster for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { req, out := c.DeleteClusterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteHsm = "DeleteHsm" // DeleteHsmRequest generates a "aws/request.Request" representing the // client's request for the DeleteHsm operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DeleteHsm for more information on using the DeleteHsm // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the DeleteHsmRequest method. // req, resp := client.DeleteHsmRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteHsm func (c *CloudHSMV2) DeleteHsmRequest(input *DeleteHsmInput) (req *request.Request, output *DeleteHsmOutput) { op := &request.Operation{ Name: opDeleteHsm, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteHsmInput{} } output = &DeleteHsmOutput{} req = c.newRequest(op, input, output) return } // DeleteHsm API operation for AWS CloudHSM V2. // // Deletes the specified HSM. To specify an HSM, you can use its identifier // (ID), the IP address of the HSM's elastic network interface (ENI), or the // ID of the HSM's ENI. You need to specify only one of these values. To find // these values, use DescribeClusters. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudHSM V2's // API operation DeleteHsm for usage and error information. // // Returned Error Codes: // * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" // The request was rejected because of an AWS CloudHSM internal failure. The // request can be retried. // // * ErrCodeCloudHsmServiceException "CloudHsmServiceException" // The request was rejected because an error occurred. // // * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" // The request was rejected because it refers to a resource that cannot be found. // // * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" // The request was rejected because it is not a valid request. // // * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" // The request was rejected because the requester does not have permission to // perform the requested operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DeleteHsm func (c *CloudHSMV2) DeleteHsm(input *DeleteHsmInput) (*DeleteHsmOutput, error) { req, out := c.DeleteHsmRequest(input) return out, req.Send() } // DeleteHsmWithContext is the same as DeleteHsm with the addition of // the ability to pass a context and additional request options. // // See DeleteHsm for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) DeleteHsmWithContext(ctx aws.Context, input *DeleteHsmInput, opts ...request.Option) (*DeleteHsmOutput, error) { req, out := c.DeleteHsmRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeBackups = "DescribeBackups" // DescribeBackupsRequest generates a "aws/request.Request" representing the // client's request for the DescribeBackups operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DescribeBackups for more information on using the DescribeBackups // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the DescribeBackupsRequest method. // req, resp := client.DescribeBackupsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeBackups func (c *CloudHSMV2) DescribeBackupsRequest(input *DescribeBackupsInput) (req *request.Request, output *DescribeBackupsOutput) { op := &request.Operation{ Name: opDescribeBackups, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &DescribeBackupsInput{} } output = &DescribeBackupsOutput{} req = c.newRequest(op, input, output) return } // DescribeBackups API operation for AWS CloudHSM V2. // // Gets information about backups of AWS CloudHSM clusters. // // This is a paginated operation, which means that each response might contain // only a subset of all the backups. When the response contains only a subset // of backups, it includes a NextToken value. Use this value in a subsequent // DescribeBackups request to get more backups. When you receive a response // with no NextToken (or an empty or null value), that means there are no more // backups to get. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudHSM V2's // API operation DescribeBackups for usage and error information. // // Returned Error Codes: // * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" // The request was rejected because of an AWS CloudHSM internal failure. The // request can be retried. // // * ErrCodeCloudHsmServiceException "CloudHsmServiceException" // The request was rejected because an error occurred. // // * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" // The request was rejected because it refers to a resource that cannot be found. // // * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" // The request was rejected because it is not a valid request. // // * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" // The request was rejected because the requester does not have permission to // perform the requested operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeBackups func (c *CloudHSMV2) DescribeBackups(input *DescribeBackupsInput) (*DescribeBackupsOutput, error) { req, out := c.DescribeBackupsRequest(input) return out, req.Send() } // DescribeBackupsWithContext is the same as DescribeBackups with the addition of // the ability to pass a context and additional request options. // // See DescribeBackups for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) DescribeBackupsWithContext(ctx aws.Context, input *DescribeBackupsInput, opts ...request.Option) (*DescribeBackupsOutput, error) { req, out := c.DescribeBackupsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // DescribeBackupsPages iterates over the pages of a DescribeBackups operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See DescribeBackups method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a DescribeBackups operation. // pageNum := 0 // err := client.DescribeBackupsPages(params, // func(page *DescribeBackupsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *CloudHSMV2) DescribeBackupsPages(input *DescribeBackupsInput, fn func(*DescribeBackupsOutput, bool) bool) error { return c.DescribeBackupsPagesWithContext(aws.BackgroundContext(), input, fn) } // DescribeBackupsPagesWithContext same as DescribeBackupsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) DescribeBackupsPagesWithContext(ctx aws.Context, input *DescribeBackupsInput, fn func(*DescribeBackupsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *DescribeBackupsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.DescribeBackupsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } cont := true for p.Next() && cont { cont = fn(p.Page().(*DescribeBackupsOutput), !p.HasNextPage()) } return p.Err() } const opDescribeClusters = "DescribeClusters" // DescribeClustersRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusters operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DescribeClusters for more information on using the DescribeClusters // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the DescribeClustersRequest method. // req, resp := client.DescribeClustersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeClusters func (c *CloudHSMV2) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { op := &request.Operation{ Name: opDescribeClusters, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &DescribeClustersInput{} } output = &DescribeClustersOutput{} req = c.newRequest(op, input, output) return } // DescribeClusters API operation for AWS CloudHSM V2. // // Gets information about AWS CloudHSM clusters. // // This is a paginated operation, which means that each response might contain // only a subset of all the clusters. When the response contains only a subset // of clusters, it includes a NextToken value. Use this value in a subsequent // DescribeClusters request to get more clusters. When you receive a response // with no NextToken (or an empty or null value), that means there are no more // clusters to get. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudHSM V2's // API operation DescribeClusters for usage and error information. // // Returned Error Codes: // * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" // The request was rejected because of an AWS CloudHSM internal failure. The // request can be retried. // // * ErrCodeCloudHsmServiceException "CloudHsmServiceException" // The request was rejected because an error occurred. // // * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" // The request was rejected because it is not a valid request. // // * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" // The request was rejected because the requester does not have permission to // perform the requested operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/DescribeClusters func (c *CloudHSMV2) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { req, out := c.DescribeClustersRequest(input) return out, req.Send() } // DescribeClustersWithContext is the same as DescribeClusters with the addition of // the ability to pass a context and additional request options. // // See DescribeClusters for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { req, out := c.DescribeClustersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // DescribeClustersPages iterates over the pages of a DescribeClusters operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See DescribeClusters method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a DescribeClusters operation. // pageNum := 0 // err := client.DescribeClustersPages(params, // func(page *DescribeClustersOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *CloudHSMV2) DescribeClustersPages(input *DescribeClustersInput, fn func(*DescribeClustersOutput, bool) bool) error { return c.DescribeClustersPagesWithContext(aws.BackgroundContext(), input, fn) } // DescribeClustersPagesWithContext same as DescribeClustersPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) DescribeClustersPagesWithContext(ctx aws.Context, input *DescribeClustersInput, fn func(*DescribeClustersOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *DescribeClustersInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.DescribeClustersRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } cont := true for p.Next() && cont { cont = fn(p.Page().(*DescribeClustersOutput), !p.HasNextPage()) } return p.Err() } const opInitializeCluster = "InitializeCluster" // InitializeClusterRequest generates a "aws/request.Request" representing the // client's request for the InitializeCluster operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See InitializeCluster for more information on using the InitializeCluster // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the InitializeClusterRequest method. // req, resp := client.InitializeClusterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/InitializeCluster func (c *CloudHSMV2) InitializeClusterRequest(input *InitializeClusterInput) (req *request.Request, output *InitializeClusterOutput) { op := &request.Operation{ Name: opInitializeCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &InitializeClusterInput{} } output = &InitializeClusterOutput{} req = c.newRequest(op, input, output) return } // InitializeCluster API operation for AWS CloudHSM V2. // // Claims an AWS CloudHSM cluster by submitting the cluster certificate issued // by your issuing certificate authority (CA) and the CA's root certificate. // Before you can claim a cluster, you must sign the cluster's certificate signing // request (CSR) with your issuing CA. To get the cluster's CSR, use DescribeClusters. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudHSM V2's // API operation InitializeCluster for usage and error information. // // Returned Error Codes: // * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" // The request was rejected because of an AWS CloudHSM internal failure. The // request can be retried. // // * ErrCodeCloudHsmServiceException "CloudHsmServiceException" // The request was rejected because an error occurred. // // * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" // The request was rejected because it refers to a resource that cannot be found. // // * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" // The request was rejected because it is not a valid request. // // * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" // The request was rejected because the requester does not have permission to // perform the requested operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/InitializeCluster func (c *CloudHSMV2) InitializeCluster(input *InitializeClusterInput) (*InitializeClusterOutput, error) { req, out := c.InitializeClusterRequest(input) return out, req.Send() } // InitializeClusterWithContext is the same as InitializeCluster with the addition of // the ability to pass a context and additional request options. // // See InitializeCluster for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) InitializeClusterWithContext(ctx aws.Context, input *InitializeClusterInput, opts ...request.Option) (*InitializeClusterOutput, error) { req, out := c.InitializeClusterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opListTags = "ListTags" // ListTagsRequest generates a "aws/request.Request" representing the // client's request for the ListTags operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListTags for more information on using the ListTags // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the ListTagsRequest method. // req, resp := client.ListTagsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/ListTags func (c *CloudHSMV2) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) { op := &request.Operation{ Name: opListTags, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { input = &ListTagsInput{} } output = &ListTagsOutput{} req = c.newRequest(op, input, output) return } // ListTags API operation for AWS CloudHSM V2. // // Gets a list of tags for the specified AWS CloudHSM cluster. // // This is a paginated operation, which means that each response might contain // only a subset of all the tags. When the response contains only a subset of // tags, it includes a NextToken value. Use this value in a subsequent ListTags // request to get more tags. When you receive a response with no NextToken (or // an empty or null value), that means there are no more tags to get. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudHSM V2's // API operation ListTags for usage and error information. // // Returned Error Codes: // * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" // The request was rejected because of an AWS CloudHSM internal failure. The // request can be retried. // // * ErrCodeCloudHsmServiceException "CloudHsmServiceException" // The request was rejected because an error occurred. // // * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" // The request was rejected because it refers to a resource that cannot be found. // // * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" // The request was rejected because it is not a valid request. // // * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" // The request was rejected because the requester does not have permission to // perform the requested operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/ListTags func (c *CloudHSMV2) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { req, out := c.ListTagsRequest(input) return out, req.Send() } // ListTagsWithContext is the same as ListTags with the addition of // the ability to pass a context and additional request options. // // See ListTags for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) { req, out := c.ListTagsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListTagsPages iterates over the pages of a ListTags operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListTags method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListTags operation. // pageNum := 0 // err := client.ListTagsPages(params, // func(page *ListTagsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *CloudHSMV2) ListTagsPages(input *ListTagsInput, fn func(*ListTagsOutput, bool) bool) error { return c.ListTagsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListTagsPagesWithContext same as ListTagsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) ListTagsPagesWithContext(ctx aws.Context, input *ListTagsInput, fn func(*ListTagsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListTagsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListTagsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } cont := true for p.Next() && cont { cont = fn(p.Page().(*ListTagsOutput), !p.HasNextPage()) } return p.Err() } const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See TagResource for more information on using the TagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the TagResourceRequest method. // req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/TagResource func (c *CloudHSMV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &TagResourceInput{} } output = &TagResourceOutput{} req = c.newRequest(op, input, output) return } // TagResource API operation for AWS CloudHSM V2. // // Adds or overwrites one or more tags for the specified AWS CloudHSM cluster. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudHSM V2's // API operation TagResource for usage and error information. // // Returned Error Codes: // * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" // The request was rejected because of an AWS CloudHSM internal failure. The // request can be retried. // // * ErrCodeCloudHsmServiceException "CloudHsmServiceException" // The request was rejected because an error occurred. // // * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" // The request was rejected because it refers to a resource that cannot be found. // // * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" // The request was rejected because it is not a valid request. // // * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" // The request was rejected because the requester does not have permission to // perform the requested operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/TagResource func (c *CloudHSMV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) return out, req.Send() } // TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // // See TagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return // value will be populated with the request's response once the request complets // successfuly. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See UntagResource for more information on using the UntagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // // Example sending a request using the UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/UntagResource func (c *CloudHSMV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ Name: opUntagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &UntagResourceInput{} } output = &UntagResourceOutput{} req = c.newRequest(op, input, output) return } // UntagResource API operation for AWS CloudHSM V2. // // Removes the specified tag or tags from the specified AWS CloudHSM cluster. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudHSM V2's // API operation UntagResource for usage and error information. // // Returned Error Codes: // * ErrCodeCloudHsmInternalFailureException "CloudHsmInternalFailureException" // The request was rejected because of an AWS CloudHSM internal failure. The // request can be retried. // // * ErrCodeCloudHsmServiceException "CloudHsmServiceException" // The request was rejected because an error occurred. // // * ErrCodeCloudHsmResourceNotFoundException "CloudHsmResourceNotFoundException" // The request was rejected because it refers to a resource that cannot be found. // // * ErrCodeCloudHsmInvalidRequestException "CloudHsmInvalidRequestException" // The request was rejected because it is not a valid request. // // * ErrCodeCloudHsmAccessDeniedException "CloudHsmAccessDeniedException" // The request was rejected because the requester does not have permission to // perform the requested operation. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudhsmv2-2017-04-28/UntagResource func (c *CloudHSMV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) return out, req.Send() } // UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // // See UntagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *CloudHSMV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // Contains information about a backup of an AWS CloudHSM cluster. type Backup struct { _ struct{} `type:"structure"` // The identifier (ID) of the backup. // // BackupId is a required field BackupId *string `type:"string" required:"true"` // The state of the backup. BackupState *string `type:"string" enum:"BackupState"` // The identifier (ID) of the cluster that was backed up. ClusterId *string `type:"string"` // The date and time when the backup was created. CreateTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` } // String returns the string representation func (s Backup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Backup) GoString() string { return s.String() } // SetBackupId sets the BackupId field's value. func (s *Backup) SetBackupId(v string) *Backup { s.BackupId = &v return s } // SetBackupState sets the BackupState field's value. func (s *Backup) SetBackupState(v string) *Backup { s.BackupState = &v return s } // SetClusterId sets the ClusterId field's value. func (s *Backup) SetClusterId(v string) *Backup { s.ClusterId = &v return s } // SetCreateTimestamp sets the CreateTimestamp field's value. func (s *Backup) SetCreateTimestamp(v time.Time) *Backup { s.CreateTimestamp = &v return s } // Contains one or more certificates or a certificate signing request (CSR). type Certificates struct { _ struct{} `type:"structure"` // The HSM hardware certificate issued (signed) by AWS CloudHSM. AwsHardwareCertificate *string `type:"string"` // The cluster certificate issued (signed) by the issuing certificate authority // (CA) of the cluster's owner. ClusterCertificate *string `type:"string"` // The cluster's certificate signing request (CSR). The CSR exists only when // the cluster's state is UNINITIALIZED. ClusterCsr *string `type:"string"` // The HSM certificate issued (signed) by the HSM hardware. HsmCertificate *string `type:"string"` // The HSM hardware certificate issued (signed) by the hardware manufacturer. ManufacturerHardwareCertificate *string `type:"string"` } // String returns the string representation func (s Certificates) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Certificates) GoString() string { return s.String() } // SetAwsHardwareCertificate sets the AwsHardwareCertificate field's value. func (s *Certificates) SetAwsHardwareCertificate(v string) *Certificates { s.AwsHardwareCertificate = &v return s } // SetClusterCertificate sets the ClusterCertificate field's value. func (s *Certificates) SetClusterCertificate(v string) *Certificates { s.ClusterCertificate = &v return s } // SetClusterCsr sets the ClusterCsr field's value. func (s *Certificates) SetClusterCsr(v string) *Certificates { s.ClusterCsr = &v return s } // SetHsmCertificate sets the HsmCertificate field's value. func (s *Certificates) SetHsmCertificate(v string) *Certificates { s.HsmCertificate = &v return s } // SetManufacturerHardwareCertificate sets the ManufacturerHardwareCertificate field's value. func (s *Certificates) SetManufacturerHardwareCertificate(v string) *Certificates { s.ManufacturerHardwareCertificate = &v return s } // Contains information about an AWS CloudHSM cluster. type Cluster struct { _ struct{} `type:"structure"` // The cluster's backup policy. BackupPolicy *string `type:"string" enum:"BackupPolicy"` // Contains one or more certificates or a certificate signing request (CSR). Certificates *Certificates `type:"structure"` // The cluster's identifier (ID). ClusterId *string `type:"string"` // The date and time when the cluster was created. CreateTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"` // The type of HSM that the cluster contains. HsmType *string `type:"string"` // Contains information about the HSMs in the cluster. Hsms []*Hsm `type:"list"` // The default password for the cluster's Pre-Crypto Officer (PRECO) user. PreCoPassword *string `min:"7" type:"string"` // The identifier (ID) of the cluster's security group. SecurityGroup *string `type:"string"` // The identifier (ID) of the backup used to create the cluster. This value // exists only when the cluster was created from a backup. SourceBackupId *string `type:"string"` // The cluster's state. State *string `type:"string" enum:"ClusterState"` // A description of the cluster's state. StateMessage *string `type:"string"` // A map of the cluster's subnets and their corresponding Availability Zones. SubnetMapping map[string]*string `type:"map"` // The identifier (ID) of the virtual private cloud (VPC) that contains the // cluster. VpcId *string `type:"string"` } // String returns the string representation func (s Cluster) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Cluster) GoString() string { return s.String() } // SetBackupPolicy sets the BackupPolicy field's value. func (s *Cluster) SetBackupPolicy(v string) *Cluster { s.BackupPolicy = &v return s } // SetCertificates sets the Certificates field's value. func (s *Cluster) SetCertificates(v *Certificates) *Cluster { s.Certificates = v return s } // SetClusterId sets the ClusterId field's value. func (s *Cluster) SetClusterId(v string) *Cluster { s.ClusterId = &v return s } // SetCreateTimestamp sets the CreateTimestamp field's value. func (s *Cluster) SetCreateTimestamp(v time.Time) *Cluster { s.CreateTimestamp = &v return s } // SetHsmType sets the HsmType field's value. func (s *Cluster) SetHsmType(v string) *Cluster { s.HsmType = &v return s } // SetHsms sets the Hsms field's value. func (s *Cluster) SetHsms(v []*Hsm) *Cluster { s.Hsms = v return s } // SetPreCoPassword sets the PreCoPassword field's value. func (s *Cluster) SetPreCoPassword(v string) *Cluster { s.PreCoPassword = &v return s } // SetSecurityGroup sets the SecurityGroup field's value. func (s *Cluster) SetSecurityGroup(v string) *Cluster { s.SecurityGroup = &v return s } // SetSourceBackupId sets the SourceBackupId field's value. func (s *Cluster) SetSourceBackupId(v string) *Cluster { s.SourceBackupId = &v return s } // SetState sets the State field's value. func (s *Cluster) SetState(v string) *Cluster { s.State = &v return s } // SetStateMessage sets the StateMessage field's value. func (s *Cluster) SetStateMessage(v string) *Cluster { s.StateMessage = &v return s } // SetSubnetMapping sets the SubnetMapping field's value. func (s *Cluster) SetSubnetMapping(v map[string]*string) *Cluster { s.SubnetMapping = v return s } // SetVpcId sets the VpcId field's value. func (s *Cluster) SetVpcId(v string) *Cluster { s.VpcId = &v return s } type CreateClusterInput struct { _ struct{} `type:"structure"` // The type of HSM to use in the cluster. Currently the only allowed value is // hsm1.medium. // // HsmType is a required field HsmType *string `type:"string" required:"true"` // The identifier (ID) of the cluster backup to restore. Use this value to restore // the cluster from a backup instead of creating a new cluster. To find the // backup ID, use DescribeBackups. SourceBackupId *string `type:"string"` // The identifiers (IDs) of the subnets where you are creating the cluster. // You must specify at least one subnet. If you specify multiple subnets, they // must meet the following criteria: // // * All subnets must be in the same virtual private cloud (VPC). // // * You can specify only one subnet per Availability Zone. // // SubnetIds is a required field SubnetIds []*string `min:"1" type:"list" required:"true"` } // String returns the string representation func (s CreateClusterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateClusterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateClusterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} if s.HsmType == nil { invalidParams.Add(request.NewErrParamRequired("HsmType")) } if s.SubnetIds == nil { invalidParams.Add(request.NewErrParamRequired("SubnetIds")) } if s.SubnetIds != nil && len(s.SubnetIds) < 1 { invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHsmType sets the HsmType field's value. func (s *CreateClusterInput) SetHsmType(v string) *CreateClusterInput { s.HsmType = &v return s } // SetSourceBackupId sets the SourceBackupId field's value. func (s *CreateClusterInput) SetSourceBackupId(v string) *CreateClusterInput { s.SourceBackupId = &v return s } // SetSubnetIds sets the SubnetIds field's value. func (s *CreateClusterInput) SetSubnetIds(v []*string) *CreateClusterInput { s.SubnetIds = v return s } type CreateClusterOutput struct { _ struct{} `type:"structure"` // Information about the cluster that was created. Cluster *Cluster `type:"structure"` } // String returns the string representation func (s CreateClusterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateClusterOutput) GoString() string { return s.String() } // SetCluster sets the Cluster field's value. func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { s.Cluster = v return s } type CreateHsmInput struct { _ struct{} `type:"structure"` // The Availability Zone where you are creating the HSM. To find the cluster's // Availability Zones, use DescribeClusters. // // AvailabilityZone is a required field AvailabilityZone *string `type:"string" required:"true"` // The identifier (ID) of the HSM's cluster. To find the cluster ID, use DescribeClusters. // // ClusterId is a required field ClusterId *string `type:"string" required:"true"` // The HSM's IP address. If you specify an IP address, use an available address // from the subnet that maps to the Availability Zone where you are creating // the HSM. If you don't specify an IP address, one is chosen for you from that // subnet. IpAddress *string `type:"string"` } // String returns the string representation func (s CreateHsmInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateHsmInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateHsmInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateHsmInput"} if s.AvailabilityZone == nil { invalidParams.Add(request.NewErrParamRequired("AvailabilityZone")) } if s.ClusterId == nil { invalidParams.Add(request.NewErrParamRequired("ClusterId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAvailabilityZone sets the AvailabilityZone field's value. func (s *CreateHsmInput) SetAvailabilityZone(v string) *CreateHsmInput { s.AvailabilityZone = &v return s } // SetClusterId sets the ClusterId field's value. func (s *CreateHsmInput) SetClusterId(v string) *CreateHsmInput { s.ClusterId = &v return s } // SetIpAddress sets the IpAddress field's value. func (s *CreateHsmInput) SetIpAddress(v string) *CreateHsmInput { s.IpAddress = &v return s } type CreateHsmOutput struct { _ struct{} `type:"structure"` // Information about the HSM that was created. Hsm *Hsm `type:"structure"` } // String returns the string representation func (s CreateHsmOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateHsmOutput) GoString() string { return s.String() } // SetHsm sets the Hsm field's value. func (s *CreateHsmOutput) SetHsm(v *Hsm) *CreateHsmOutput { s.Hsm = v return s } type DeleteClusterInput struct { _ struct{} `type:"structure"` // The identifier (ID) of the cluster that you are deleting. To find the cluster // ID, use DescribeClusters. // // ClusterId is a required field ClusterId *string `type:"string" required:"true"` } // String returns the string representation func (s DeleteClusterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteClusterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteClusterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} if s.ClusterId == nil { invalidParams.Add(request.NewErrParamRequired("ClusterId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClusterId sets the ClusterId field's value. func (s *DeleteClusterInput) SetClusterId(v string) *DeleteClusterInput { s.ClusterId = &v return s } type DeleteClusterOutput struct { _ struct{} `type:"structure"` // Information about the cluster that was deleted. Cluster *Cluster `type:"structure"` } // String returns the string representation func (s DeleteClusterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteClusterOutput) GoString() string { return s.String() } // SetCluster sets the Cluster field's value. func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { s.Cluster = v return s } type DeleteHsmInput struct { _ struct{} `type:"structure"` // The identifier (ID) of the cluster that contains the HSM that you are deleting. // // ClusterId is a required field ClusterId *string `type:"string" required:"true"` // The identifier (ID) of the elastic network interface (ENI) of the HSM that // you are deleting. EniId *string `type:"string"` // The IP address of the elastic network interface (ENI) of the HSM that you // are deleting. EniIp *string `type:"string"` // The identifier (ID) of the HSM that you are deleting. HsmId *string `type:"string"` } // String returns the string representation func (s DeleteHsmInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteHsmInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteHsmInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteHsmInput"} if s.ClusterId == nil { invalidParams.Add(request.NewErrParamRequired("ClusterId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClusterId sets the ClusterId field's value. func (s *DeleteHsmInput) SetClusterId(v string) *DeleteHsmInput { s.ClusterId = &v return s } // SetEniId sets the EniId field's value. func (s *DeleteHsmInput) SetEniId(v string) *DeleteHsmInput { s.EniId = &v return s } // SetEniIp sets the EniIp field's value. func (s *DeleteHsmInput) SetEniIp(v string) *DeleteHsmInput { s.EniIp = &v return s } // SetHsmId sets the HsmId field's value. func (s *DeleteHsmInput) SetHsmId(v string) *DeleteHsmInput { s.HsmId = &v return s } type DeleteHsmOutput struct { _ struct{} `type:"structure"` // The identifier (ID) of the HSM that was deleted. HsmId *string `type:"string"` } // String returns the string representation func (s DeleteHsmOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteHsmOutput) GoString() string { return s.String() } // SetHsmId sets the HsmId field's value. func (s *DeleteHsmOutput) SetHsmId(v string) *DeleteHsmOutput { s.HsmId = &v return s } type DescribeBackupsInput struct { _ struct{} `type:"structure"` // One or more filters to limit the items returned in the response. // // Use the backupIds filter to return only the specified backups. Specify backups // by their backup identifier (ID). // // Use the clusterIds filter to return only the backups for the specified clusters. // Specify clusters by their cluster identifier (ID). // // Use the states filter to return only backups that match the specified state. Filters map[string][]*string `type:"map"` // The maximum number of backups to return in the response. When there are more // backups than the number you specify, the response contains a NextToken value. MaxResults *int64 `min:"1" type:"integer"` // The NextToken value that you received in the previous response. Use this // value to get more backups. NextToken *string `type:"string"` } // String returns the string representation func (s DescribeBackupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeBackupsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeBackupsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeBackupsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFilters sets the Filters field's value. func (s *DescribeBackupsInput) SetFilters(v map[string][]*string) *DescribeBackupsInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. func (s *DescribeBackupsInput) SetMaxResults(v int64) *DescribeBackupsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *DescribeBackupsInput) SetNextToken(v string) *DescribeBackupsInput { s.NextToken = &v return s } type DescribeBackupsOutput struct { _ struct{} `type:"structure"` // A list of backups. Backups []*Backup `type:"list"` // An opaque string that indicates that the response contains only a subset // of backups. Use this value in a subsequent DescribeBackups request to get // more backups. NextToken *string `type:"string"` } // String returns the string representation func (s DescribeBackupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeBackupsOutput) GoString() string { return s.String() } // SetBackups sets the Backups field's value. func (s *DescribeBackupsOutput) SetBackups(v []*Backup) *DescribeBackupsOutput { s.Backups = v return s } // SetNextToken sets the NextToken field's value. func (s *DescribeBackupsOutput) SetNextToken(v string) *DescribeBackupsOutput { s.NextToken = &v return s } type DescribeClustersInput struct { _ struct{} `type:"structure"` // One or more filters to limit the items returned in the response. // // Use the clusterIds filter to return only the specified clusters. Specify // clusters by their cluster identifier (ID). // // Use the vpcIds filter to return only the clusters in the specified virtual // private clouds (VPCs). Specify VPCs by their VPC identifier (ID). // // Use the states filter to return only clusters that match the specified state. Filters map[string][]*string `type:"map"` // The maximum number of clusters to return in the response. When there are // more clusters than the number you specify, the response contains a NextToken // value. MaxResults *int64 `min:"1" type:"integer"` // The NextToken value that you received in the previous response. Use this // value to get more clusters. NextToken *string `type:"string"` } // String returns the string representation func (s DescribeClustersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeClustersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeClustersInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeClustersInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetFilters sets the Filters field's value. func (s *DescribeClustersInput) SetFilters(v map[string][]*string) *DescribeClustersInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. func (s *DescribeClustersInput) SetMaxResults(v int64) *DescribeClustersInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *DescribeClustersInput) SetNextToken(v string) *DescribeClustersInput { s.NextToken = &v return s } type DescribeClustersOutput struct { _ struct{} `type:"structure"` // A list of clusters. Clusters []*Cluster `type:"list"` // An opaque string that indicates that the response contains only a subset // of clusters. Use this value in a subsequent DescribeClusters request to get // more clusters. NextToken *string `type:"string"` } // String returns the string representation func (s DescribeClustersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeClustersOutput) GoString() string { return s.String() } // SetClusters sets the Clusters field's value. func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { s.Clusters = v return s } // SetNextToken sets the NextToken field's value. func (s *DescribeClustersOutput) SetNextToken(v string) *DescribeClustersOutput { s.NextToken = &v return s } // Contains information about a hardware security module (HSM) in an AWS CloudHSM // cluster. type Hsm struct { _ struct{} `type:"structure"` // The Availability Zone that contains the HSM. AvailabilityZone *string `type:"string"` // The identifier (ID) of the cluster that contains the HSM. ClusterId *string `type:"string"` // The identifier (ID) of the HSM's elastic network interface (ENI). EniId *string `type:"string"` // The IP address of the HSM's elastic network interface (ENI). EniIp *string `type:"string"` // The HSM's identifier (ID). // // HsmId is a required field HsmId *string `type:"string" required:"true"` // The HSM's state. State *string `type:"string" enum:"HsmState"` // A description of the HSM's state. StateMessage *string `type:"string"` // The subnet that contains the HSM's elastic network interface (ENI). SubnetId *string `type:"string"` } // String returns the string representation func (s Hsm) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Hsm) GoString() string { return s.String() } // SetAvailabilityZone sets the AvailabilityZone field's value. func (s *Hsm) SetAvailabilityZone(v string) *Hsm { s.AvailabilityZone = &v return s } // SetClusterId sets the ClusterId field's value. func (s *Hsm) SetClusterId(v string) *Hsm { s.ClusterId = &v return s } // SetEniId sets the EniId field's value. func (s *Hsm) SetEniId(v string) *Hsm { s.EniId = &v return s } // SetEniIp sets the EniIp field's value. func (s *Hsm) SetEniIp(v string) *Hsm { s.EniIp = &v return s } // SetHsmId sets the HsmId field's value. func (s *Hsm) SetHsmId(v string) *Hsm { s.HsmId = &v return s } // SetState sets the State field's value. func (s *Hsm) SetState(v string) *Hsm { s.State = &v return s } // SetStateMessage sets the StateMessage field's value. func (s *Hsm) SetStateMessage(v string) *Hsm { s.StateMessage = &v return s } // SetSubnetId sets the SubnetId field's value. func (s *Hsm) SetSubnetId(v string) *Hsm { s.SubnetId = &v return s } type InitializeClusterInput struct { _ struct{} `type:"structure"` // The identifier (ID) of the cluster that you are claiming. To find the cluster // ID, use DescribeClusters. // // ClusterId is a required field ClusterId *string `type:"string" required:"true"` // The cluster certificate issued (signed) by your issuing certificate authority // (CA). The certificate must be in PEM format and can contain a maximum of // 5000 characters. // // SignedCert is a required field SignedCert *string `type:"string" required:"true"` // The issuing certificate of the issuing certificate authority (CA) that issued // (signed) the cluster certificate. This can be a root (self-signed) certificate // or a certificate chain that begins with the certificate that issued the cluster // certificate and ends with a root certificate. The certificate or certificate // chain must be in PEM format and can contain a maximum of 5000 characters. // // TrustAnchor is a required field TrustAnchor *string `type:"string" required:"true"` } // String returns the string representation func (s InitializeClusterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InitializeClusterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *InitializeClusterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "InitializeClusterInput"} if s.ClusterId == nil { invalidParams.Add(request.NewErrParamRequired("ClusterId")) } if s.SignedCert == nil { invalidParams.Add(request.NewErrParamRequired("SignedCert")) } if s.TrustAnchor == nil { invalidParams.Add(request.NewErrParamRequired("TrustAnchor")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClusterId sets the ClusterId field's value. func (s *InitializeClusterInput) SetClusterId(v string) *InitializeClusterInput { s.ClusterId = &v return s } // SetSignedCert sets the SignedCert field's value. func (s *InitializeClusterInput) SetSignedCert(v string) *InitializeClusterInput { s.SignedCert = &v return s } // SetTrustAnchor sets the TrustAnchor field's value. func (s *InitializeClusterInput) SetTrustAnchor(v string) *InitializeClusterInput { s.TrustAnchor = &v return s } type InitializeClusterOutput struct { _ struct{} `type:"structure"` // The cluster's state. State *string `type:"string" enum:"ClusterState"` // A description of the cluster's state. StateMessage *string `type:"string"` } // String returns the string representation func (s InitializeClusterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s InitializeClusterOutput) GoString() string { return s.String() } // SetState sets the State field's value. func (s *InitializeClusterOutput) SetState(v string) *InitializeClusterOutput { s.State = &v return s } // SetStateMessage sets the StateMessage field's value. func (s *InitializeClusterOutput) SetStateMessage(v string) *InitializeClusterOutput { s.StateMessage = &v return s } type ListTagsInput struct { _ struct{} `type:"structure"` // The maximum number of tags to return in the response. When there are more // tags than the number you specify, the response contains a NextToken value. MaxResults *int64 `min:"1" type:"integer"` // The NextToken value that you received in the previous response. Use this // value to get more tags. NextToken *string `type:"string"` // The cluster identifier (ID) for the cluster whose tags you are getting. To // find the cluster ID, use DescribeClusters. // // ResourceId is a required field ResourceId *string `type:"string" required:"true"` } // String returns the string representation func (s ListTagsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListTagsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxResults sets the MaxResults field's value. func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput { s.NextToken = &v return s } // SetResourceId sets the ResourceId field's value. func (s *ListTagsInput) SetResourceId(v string) *ListTagsInput { s.ResourceId = &v return s } type ListTagsOutput struct { _ struct{} `type:"structure"` // An opaque string that indicates that the response contains only a subset // of tags. Use this value in a subsequent ListTags request to get more tags. NextToken *string `type:"string"` // A list of tags. // // TagList is a required field TagList []*Tag `min:"1" type:"list" required:"true"` } // String returns the string representation func (s ListTagsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListTagsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput { s.NextToken = &v return s } // SetTagList sets the TagList field's value. func (s *ListTagsOutput) SetTagList(v []*Tag) *ListTagsOutput { s.TagList = v return s } // Contains a tag. A tag is a key-value pair. type Tag struct { _ struct{} `type:"structure"` // The key of the tag. // // Key is a required field Key *string `min:"1" type:"string" required:"true"` // The value of the tag. // // Value is a required field Value *string `type:"string" required:"true"` } // String returns the string representation func (s Tag) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Tag) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Tag) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Tag"} if s.Key == nil { invalidParams.Add(request.NewErrParamRequired("Key")) } if s.Key != nil && len(*s.Key) < 1 { invalidParams.Add(request.NewErrParamMinLen("Key", 1)) } if s.Value == nil { invalidParams.Add(request.NewErrParamRequired("Value")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetKey sets the Key field's value. func (s *Tag) SetKey(v string) *Tag { s.Key = &v return s } // SetValue sets the Value field's value. func (s *Tag) SetValue(v string) *Tag { s.Value = &v return s } type TagResourceInput struct { _ struct{} `type:"structure"` // The cluster identifier (ID) for the cluster that you are tagging. To find // the cluster ID, use DescribeClusters. // // ResourceId is a required field ResourceId *string `type:"string" required:"true"` // A list of one or more tags. // // TagList is a required field TagList []*Tag `min:"1" type:"list" required:"true"` } // String returns the string representation func (s TagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TagResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } if s.TagList == nil { invalidParams.Add(request.NewErrParamRequired("TagList")) } if s.TagList != nil && len(s.TagList) < 1 { invalidParams.Add(request.NewErrParamMinLen("TagList", 1)) } if s.TagList != nil { for i, v := range s.TagList { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceId sets the ResourceId field's value. func (s *TagResourceInput) SetResourceId(v string) *TagResourceInput { s.ResourceId = &v return s } // SetTagList sets the TagList field's value. func (s *TagResourceInput) SetTagList(v []*Tag) *TagResourceInput { s.TagList = v return s } type TagResourceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s TagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TagResourceOutput) GoString() string { return s.String() } type UntagResourceInput struct { _ struct{} `type:"structure"` // The cluster identifier (ID) for the cluster whose tags you are removing. // To find the cluster ID, use DescribeClusters. // // ResourceId is a required field ResourceId *string `type:"string" required:"true"` // A list of one or more tag keys for the tags that you are removing. Specify // only the tag keys, not the tag values. // // TagKeyList is a required field TagKeyList []*string `min:"1" type:"list" required:"true"` } // String returns the string representation func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UntagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UntagResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } if s.TagKeyList == nil { invalidParams.Add(request.NewErrParamRequired("TagKeyList")) } if s.TagKeyList != nil && len(s.TagKeyList) < 1 { invalidParams.Add(request.NewErrParamMinLen("TagKeyList", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceId sets the ResourceId field's value. func (s *UntagResourceInput) SetResourceId(v string) *UntagResourceInput { s.ResourceId = &v return s } // SetTagKeyList sets the TagKeyList field's value. func (s *UntagResourceInput) SetTagKeyList(v []*string) *UntagResourceInput { s.TagKeyList = v return s } type UntagResourceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s UntagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UntagResourceOutput) GoString() string { return s.String() } const ( // BackupPolicyDefault is a BackupPolicy enum value BackupPolicyDefault = "DEFAULT" ) const ( // BackupStateCreateInProgress is a BackupState enum value BackupStateCreateInProgress = "CREATE_IN_PROGRESS" // BackupStateReady is a BackupState enum value BackupStateReady = "READY" // BackupStateDeleted is a BackupState enum value BackupStateDeleted = "DELETED" ) const ( // ClusterStateCreateInProgress is a ClusterState enum value ClusterStateCreateInProgress = "CREATE_IN_PROGRESS" // ClusterStateUninitialized is a ClusterState enum value ClusterStateUninitialized = "UNINITIALIZED" // ClusterStateInitializeInProgress is a ClusterState enum value ClusterStateInitializeInProgress = "INITIALIZE_IN_PROGRESS" // ClusterStateInitialized is a ClusterState enum value ClusterStateInitialized = "INITIALIZED" // ClusterStateActive is a ClusterState enum value ClusterStateActive = "ACTIVE" // ClusterStateUpdateInProgress is a ClusterState enum value ClusterStateUpdateInProgress = "UPDATE_IN_PROGRESS" // ClusterStateDeleteInProgress is a ClusterState enum value ClusterStateDeleteInProgress = "DELETE_IN_PROGRESS" // ClusterStateDeleted is a ClusterState enum value ClusterStateDeleted = "DELETED" // ClusterStateDegraded is a ClusterState enum value ClusterStateDegraded = "DEGRADED" ) const ( // HsmStateCreateInProgress is a HsmState enum value HsmStateCreateInProgress = "CREATE_IN_PROGRESS" // HsmStateActive is a HsmState enum value HsmStateActive = "ACTIVE" // HsmStateDegraded is a HsmState enum value HsmStateDegraded = "DEGRADED" // HsmStateDeleteInProgress is a HsmState enum value HsmStateDeleteInProgress = "DELETE_IN_PROGRESS" // HsmStateDeleted is a HsmState enum value HsmStateDeleted = "DELETED" )