404 Not Found


nginx
beegazpacho.com - GrazzMean
Uname: Linux in-mum-web1557.main-hosting.eu 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Software: LiteSpeed
PHP version: 8.2.30 [ PHP INFO ] PHP os: Linux
Server Ip: 88.222.222.112
Your Ip: 216.73.216.168
User: u848900432 (848900432) | Group: o51372345 (1051372345)
Safe Mode: OFF
Disable Function:
NONE

name : api.go
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

package neptunedata

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"
	"github.com/aws/aws-sdk-go/private/protocol"
)

const opCancelGremlinQuery = "CancelGremlinQuery"

// CancelGremlinQueryRequest generates a "aws/request.Request" representing the
// client's request for the CancelGremlinQuery operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 CancelGremlinQuery for more information on using the CancelGremlinQuery
// 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 CancelGremlinQueryRequest method.
//	req, resp := client.CancelGremlinQueryRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelGremlinQuery
func (c *Neptunedata) CancelGremlinQueryRequest(input *CancelGremlinQueryInput) (req *request.Request, output *CancelGremlinQueryOutput) {
	op := &request.Operation{
		Name:       opCancelGremlinQuery,
		HTTPMethod: "DELETE",
		HTTPPath:   "/gremlin/status/{queryId}",
	}

	if input == nil {
		input = &CancelGremlinQueryInput{}
	}

	output = &CancelGremlinQueryOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CancelGremlinQuery API operation for Amazon NeptuneData.
//
// Cancels a Gremlin query. See Gremlin query cancellation (https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-api-status-cancel.html)
// for more information.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:CancelQuery (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelquery)
// IAM action in that 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 Amazon NeptuneData's
// API operation CancelGremlinQuery for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - FailureByQueryException
//     Raised when a request fails.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ParsingException
//     Raised when a parsing issue is encountered.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - TimeLimitExceededException
//     Raised when the an operation exceeds the time limit allowed for it.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - ConcurrentModificationException
//     Raised when a request attempts to modify data that is concurrently being
//     modified by another process.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelGremlinQuery
func (c *Neptunedata) CancelGremlinQuery(input *CancelGremlinQueryInput) (*CancelGremlinQueryOutput, error) {
	req, out := c.CancelGremlinQueryRequest(input)
	return out, req.Send()
}

// CancelGremlinQueryWithContext is the same as CancelGremlinQuery with the addition of
// the ability to pass a context and additional request options.
//
// See CancelGremlinQuery 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 *Neptunedata) CancelGremlinQueryWithContext(ctx aws.Context, input *CancelGremlinQueryInput, opts ...request.Option) (*CancelGremlinQueryOutput, error) {
	req, out := c.CancelGremlinQueryRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCancelLoaderJob = "CancelLoaderJob"

// CancelLoaderJobRequest generates a "aws/request.Request" representing the
// client's request for the CancelLoaderJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 CancelLoaderJob for more information on using the CancelLoaderJob
// 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 CancelLoaderJobRequest method.
//	req, resp := client.CancelLoaderJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelLoaderJob
func (c *Neptunedata) CancelLoaderJobRequest(input *CancelLoaderJobInput) (req *request.Request, output *CancelLoaderJobOutput) {
	op := &request.Operation{
		Name:       opCancelLoaderJob,
		HTTPMethod: "DELETE",
		HTTPPath:   "/loader/{loadId}",
	}

	if input == nil {
		input = &CancelLoaderJobInput{}
	}

	output = &CancelLoaderJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CancelLoaderJob API operation for Amazon NeptuneData.
//
// Cancels a specified load job. This is an HTTP DELETE request. See Neptune
// Loader Get-Status API (https://docs.aws.amazon.com/neptune/latest/userguide/load-api-reference-status.htm)
// for more information.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:CancelLoaderJob (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelloaderjob)
// IAM action in that 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 Amazon NeptuneData's
// API operation CancelLoaderJob for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - BulkLoadIdNotFoundException
//     Raised when a specified bulk-load job ID cannot be found.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - LoadUrlAccessDeniedException
//     Raised when access is denied to a specified load URL.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - InternalFailureException
//     Raised when the processing of the request failed unexpectedly.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelLoaderJob
func (c *Neptunedata) CancelLoaderJob(input *CancelLoaderJobInput) (*CancelLoaderJobOutput, error) {
	req, out := c.CancelLoaderJobRequest(input)
	return out, req.Send()
}

// CancelLoaderJobWithContext is the same as CancelLoaderJob with the addition of
// the ability to pass a context and additional request options.
//
// See CancelLoaderJob 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 *Neptunedata) CancelLoaderJobWithContext(ctx aws.Context, input *CancelLoaderJobInput, opts ...request.Option) (*CancelLoaderJobOutput, error) {
	req, out := c.CancelLoaderJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCancelMLDataProcessingJob = "CancelMLDataProcessingJob"

// CancelMLDataProcessingJobRequest generates a "aws/request.Request" representing the
// client's request for the CancelMLDataProcessingJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 CancelMLDataProcessingJob for more information on using the CancelMLDataProcessingJob
// 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 CancelMLDataProcessingJobRequest method.
//	req, resp := client.CancelMLDataProcessingJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelMLDataProcessingJob
func (c *Neptunedata) CancelMLDataProcessingJobRequest(input *CancelMLDataProcessingJobInput) (req *request.Request, output *CancelMLDataProcessingJobOutput) {
	op := &request.Operation{
		Name:       opCancelMLDataProcessingJob,
		HTTPMethod: "DELETE",
		HTTPPath:   "/ml/dataprocessing/{id}",
	}

	if input == nil {
		input = &CancelMLDataProcessingJobInput{}
	}

	output = &CancelMLDataProcessingJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CancelMLDataProcessingJob API operation for Amazon NeptuneData.
//
// Cancels a Neptune ML data processing job. See The dataprocessing command
// (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-dataprocessing.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:CancelMLDataProcessingJob (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelmldataprocessingjob)
// IAM action in that 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 Amazon NeptuneData's
// API operation CancelMLDataProcessingJob for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelMLDataProcessingJob
func (c *Neptunedata) CancelMLDataProcessingJob(input *CancelMLDataProcessingJobInput) (*CancelMLDataProcessingJobOutput, error) {
	req, out := c.CancelMLDataProcessingJobRequest(input)
	return out, req.Send()
}

// CancelMLDataProcessingJobWithContext is the same as CancelMLDataProcessingJob with the addition of
// the ability to pass a context and additional request options.
//
// See CancelMLDataProcessingJob 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 *Neptunedata) CancelMLDataProcessingJobWithContext(ctx aws.Context, input *CancelMLDataProcessingJobInput, opts ...request.Option) (*CancelMLDataProcessingJobOutput, error) {
	req, out := c.CancelMLDataProcessingJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCancelMLModelTrainingJob = "CancelMLModelTrainingJob"

// CancelMLModelTrainingJobRequest generates a "aws/request.Request" representing the
// client's request for the CancelMLModelTrainingJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 CancelMLModelTrainingJob for more information on using the CancelMLModelTrainingJob
// 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 CancelMLModelTrainingJobRequest method.
//	req, resp := client.CancelMLModelTrainingJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelMLModelTrainingJob
func (c *Neptunedata) CancelMLModelTrainingJobRequest(input *CancelMLModelTrainingJobInput) (req *request.Request, output *CancelMLModelTrainingJobOutput) {
	op := &request.Operation{
		Name:       opCancelMLModelTrainingJob,
		HTTPMethod: "DELETE",
		HTTPPath:   "/ml/modeltraining/{id}",
	}

	if input == nil {
		input = &CancelMLModelTrainingJobInput{}
	}

	output = &CancelMLModelTrainingJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CancelMLModelTrainingJob API operation for Amazon NeptuneData.
//
// Cancels a Neptune ML model training job. See Model training using the modeltraining
// command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-modeltraining.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:CancelMLModelTrainingJob (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelmlmodeltrainingjob)
// IAM action in that 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 Amazon NeptuneData's
// API operation CancelMLModelTrainingJob for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelMLModelTrainingJob
func (c *Neptunedata) CancelMLModelTrainingJob(input *CancelMLModelTrainingJobInput) (*CancelMLModelTrainingJobOutput, error) {
	req, out := c.CancelMLModelTrainingJobRequest(input)
	return out, req.Send()
}

// CancelMLModelTrainingJobWithContext is the same as CancelMLModelTrainingJob with the addition of
// the ability to pass a context and additional request options.
//
// See CancelMLModelTrainingJob 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 *Neptunedata) CancelMLModelTrainingJobWithContext(ctx aws.Context, input *CancelMLModelTrainingJobInput, opts ...request.Option) (*CancelMLModelTrainingJobOutput, error) {
	req, out := c.CancelMLModelTrainingJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCancelMLModelTransformJob = "CancelMLModelTransformJob"

// CancelMLModelTransformJobRequest generates a "aws/request.Request" representing the
// client's request for the CancelMLModelTransformJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 CancelMLModelTransformJob for more information on using the CancelMLModelTransformJob
// 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 CancelMLModelTransformJobRequest method.
//	req, resp := client.CancelMLModelTransformJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelMLModelTransformJob
func (c *Neptunedata) CancelMLModelTransformJobRequest(input *CancelMLModelTransformJobInput) (req *request.Request, output *CancelMLModelTransformJobOutput) {
	op := &request.Operation{
		Name:       opCancelMLModelTransformJob,
		HTTPMethod: "DELETE",
		HTTPPath:   "/ml/modeltransform/{id}",
	}

	if input == nil {
		input = &CancelMLModelTransformJobInput{}
	}

	output = &CancelMLModelTransformJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CancelMLModelTransformJob API operation for Amazon NeptuneData.
//
// Cancels a specified model transform job. See Use a trained model to generate
// new model artifacts (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:CancelMLModelTransformJob (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelmlmodeltransformjob)
// IAM action in that 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 Amazon NeptuneData's
// API operation CancelMLModelTransformJob for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelMLModelTransformJob
func (c *Neptunedata) CancelMLModelTransformJob(input *CancelMLModelTransformJobInput) (*CancelMLModelTransformJobOutput, error) {
	req, out := c.CancelMLModelTransformJobRequest(input)
	return out, req.Send()
}

// CancelMLModelTransformJobWithContext is the same as CancelMLModelTransformJob with the addition of
// the ability to pass a context and additional request options.
//
// See CancelMLModelTransformJob 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 *Neptunedata) CancelMLModelTransformJobWithContext(ctx aws.Context, input *CancelMLModelTransformJobInput, opts ...request.Option) (*CancelMLModelTransformJobOutput, error) {
	req, out := c.CancelMLModelTransformJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCancelOpenCypherQuery = "CancelOpenCypherQuery"

// CancelOpenCypherQueryRequest generates a "aws/request.Request" representing the
// client's request for the CancelOpenCypherQuery operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 CancelOpenCypherQuery for more information on using the CancelOpenCypherQuery
// 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 CancelOpenCypherQueryRequest method.
//	req, resp := client.CancelOpenCypherQueryRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelOpenCypherQuery
func (c *Neptunedata) CancelOpenCypherQueryRequest(input *CancelOpenCypherQueryInput) (req *request.Request, output *CancelOpenCypherQueryOutput) {
	op := &request.Operation{
		Name:       opCancelOpenCypherQuery,
		HTTPMethod: "DELETE",
		HTTPPath:   "/opencypher/status/{queryId}",
	}

	if input == nil {
		input = &CancelOpenCypherQueryInput{}
	}

	output = &CancelOpenCypherQueryOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CancelOpenCypherQuery API operation for Amazon NeptuneData.
//
// Cancels a specified openCypher query. See Neptune openCypher status endpoint
// (https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-opencypher-status.html)
// for more information.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:CancelQuery (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#cancelquery)
// IAM action in that 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 Amazon NeptuneData's
// API operation CancelOpenCypherQuery for usage and error information.
//
// Returned Error Types:
//
//   - InvalidNumericDataException
//     Raised when invalid numerical data is encountered when servicing a request.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - FailureByQueryException
//     Raised when a request fails.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ParsingException
//     Raised when a parsing issue is encountered.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - TimeLimitExceededException
//     Raised when the an operation exceeds the time limit allowed for it.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - ConcurrentModificationException
//     Raised when a request attempts to modify data that is concurrently being
//     modified by another process.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CancelOpenCypherQuery
func (c *Neptunedata) CancelOpenCypherQuery(input *CancelOpenCypherQueryInput) (*CancelOpenCypherQueryOutput, error) {
	req, out := c.CancelOpenCypherQueryRequest(input)
	return out, req.Send()
}

// CancelOpenCypherQueryWithContext is the same as CancelOpenCypherQuery with the addition of
// the ability to pass a context and additional request options.
//
// See CancelOpenCypherQuery 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 *Neptunedata) CancelOpenCypherQueryWithContext(ctx aws.Context, input *CancelOpenCypherQueryInput, opts ...request.Option) (*CancelOpenCypherQueryOutput, error) {
	req, out := c.CancelOpenCypherQueryRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opCreateMLEndpoint = "CreateMLEndpoint"

// CreateMLEndpointRequest generates a "aws/request.Request" representing the
// client's request for the CreateMLEndpoint operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 CreateMLEndpoint for more information on using the CreateMLEndpoint
// 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 CreateMLEndpointRequest method.
//	req, resp := client.CreateMLEndpointRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CreateMLEndpoint
func (c *Neptunedata) CreateMLEndpointRequest(input *CreateMLEndpointInput) (req *request.Request, output *CreateMLEndpointOutput) {
	op := &request.Operation{
		Name:       opCreateMLEndpoint,
		HTTPMethod: "POST",
		HTTPPath:   "/ml/endpoints",
	}

	if input == nil {
		input = &CreateMLEndpointInput{}
	}

	output = &CreateMLEndpointOutput{}
	req = c.newRequest(op, input, output)
	return
}

// CreateMLEndpoint API operation for Amazon NeptuneData.
//
// Creates a new Neptune ML inference endpoint that lets you query one specific
// model that the model-training process constructed. See Managing inference
// endpoints using the endpoints command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-endpoints.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:CreateMLEndpoint (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#createmlendpoint)
// IAM action in that 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 Amazon NeptuneData's
// API operation CreateMLEndpoint for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/CreateMLEndpoint
func (c *Neptunedata) CreateMLEndpoint(input *CreateMLEndpointInput) (*CreateMLEndpointOutput, error) {
	req, out := c.CreateMLEndpointRequest(input)
	return out, req.Send()
}

// CreateMLEndpointWithContext is the same as CreateMLEndpoint with the addition of
// the ability to pass a context and additional request options.
//
// See CreateMLEndpoint 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 *Neptunedata) CreateMLEndpointWithContext(ctx aws.Context, input *CreateMLEndpointInput, opts ...request.Option) (*CreateMLEndpointOutput, error) {
	req, out := c.CreateMLEndpointRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteMLEndpoint = "DeleteMLEndpoint"

// DeleteMLEndpointRequest generates a "aws/request.Request" representing the
// client's request for the DeleteMLEndpoint operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 DeleteMLEndpoint for more information on using the DeleteMLEndpoint
// 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 DeleteMLEndpointRequest method.
//	req, resp := client.DeleteMLEndpointRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/DeleteMLEndpoint
func (c *Neptunedata) DeleteMLEndpointRequest(input *DeleteMLEndpointInput) (req *request.Request, output *DeleteMLEndpointOutput) {
	op := &request.Operation{
		Name:       opDeleteMLEndpoint,
		HTTPMethod: "DELETE",
		HTTPPath:   "/ml/endpoints/{id}",
	}

	if input == nil {
		input = &DeleteMLEndpointInput{}
	}

	output = &DeleteMLEndpointOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DeleteMLEndpoint API operation for Amazon NeptuneData.
//
// Cancels the creation of a Neptune ML inference endpoint. See Managing inference
// endpoints using the endpoints command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-endpoints.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:DeleteMLEndpoint (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#deletemlendpoint)
// IAM action in that 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 Amazon NeptuneData's
// API operation DeleteMLEndpoint for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/DeleteMLEndpoint
func (c *Neptunedata) DeleteMLEndpoint(input *DeleteMLEndpointInput) (*DeleteMLEndpointOutput, error) {
	req, out := c.DeleteMLEndpointRequest(input)
	return out, req.Send()
}

// DeleteMLEndpointWithContext is the same as DeleteMLEndpoint with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteMLEndpoint 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 *Neptunedata) DeleteMLEndpointWithContext(ctx aws.Context, input *DeleteMLEndpointInput, opts ...request.Option) (*DeleteMLEndpointOutput, error) {
	req, out := c.DeleteMLEndpointRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeletePropertygraphStatistics = "DeletePropertygraphStatistics"

// DeletePropertygraphStatisticsRequest generates a "aws/request.Request" representing the
// client's request for the DeletePropertygraphStatistics operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 DeletePropertygraphStatistics for more information on using the DeletePropertygraphStatistics
// 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 DeletePropertygraphStatisticsRequest method.
//	req, resp := client.DeletePropertygraphStatisticsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/DeletePropertygraphStatistics
func (c *Neptunedata) DeletePropertygraphStatisticsRequest(input *DeletePropertygraphStatisticsInput) (req *request.Request, output *DeletePropertygraphStatisticsOutput) {
	op := &request.Operation{
		Name:       opDeletePropertygraphStatistics,
		HTTPMethod: "DELETE",
		HTTPPath:   "/propertygraph/statistics",
	}

	if input == nil {
		input = &DeletePropertygraphStatisticsInput{}
	}

	output = &DeletePropertygraphStatisticsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DeletePropertygraphStatistics API operation for Amazon NeptuneData.
//
// Deletes statistics for Gremlin and openCypher (property graph) data.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:DeleteStatistics (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#deletestatistics)
// IAM action in that 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 Amazon NeptuneData's
// API operation DeletePropertygraphStatistics for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - StatisticsNotAvailableException
//     Raised when statistics needed to satisfy a request are not available.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/DeletePropertygraphStatistics
func (c *Neptunedata) DeletePropertygraphStatistics(input *DeletePropertygraphStatisticsInput) (*DeletePropertygraphStatisticsOutput, error) {
	req, out := c.DeletePropertygraphStatisticsRequest(input)
	return out, req.Send()
}

// DeletePropertygraphStatisticsWithContext is the same as DeletePropertygraphStatistics with the addition of
// the ability to pass a context and additional request options.
//
// See DeletePropertygraphStatistics 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 *Neptunedata) DeletePropertygraphStatisticsWithContext(ctx aws.Context, input *DeletePropertygraphStatisticsInput, opts ...request.Option) (*DeletePropertygraphStatisticsOutput, error) {
	req, out := c.DeletePropertygraphStatisticsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opDeleteSparqlStatistics = "DeleteSparqlStatistics"

// DeleteSparqlStatisticsRequest generates a "aws/request.Request" representing the
// client's request for the DeleteSparqlStatistics operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 DeleteSparqlStatistics for more information on using the DeleteSparqlStatistics
// 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 DeleteSparqlStatisticsRequest method.
//	req, resp := client.DeleteSparqlStatisticsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/DeleteSparqlStatistics
func (c *Neptunedata) DeleteSparqlStatisticsRequest(input *DeleteSparqlStatisticsInput) (req *request.Request, output *DeleteSparqlStatisticsOutput) {
	op := &request.Operation{
		Name:       opDeleteSparqlStatistics,
		HTTPMethod: "DELETE",
		HTTPPath:   "/sparql/statistics",
	}

	if input == nil {
		input = &DeleteSparqlStatisticsInput{}
	}

	output = &DeleteSparqlStatisticsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// DeleteSparqlStatistics API operation for Amazon NeptuneData.
//
// # Deletes SPARQL statistics
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:DeleteStatistics (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#deletestatistics)
// IAM action in that 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 Amazon NeptuneData's
// API operation DeleteSparqlStatistics for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - StatisticsNotAvailableException
//     Raised when statistics needed to satisfy a request are not available.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/DeleteSparqlStatistics
func (c *Neptunedata) DeleteSparqlStatistics(input *DeleteSparqlStatisticsInput) (*DeleteSparqlStatisticsOutput, error) {
	req, out := c.DeleteSparqlStatisticsRequest(input)
	return out, req.Send()
}

// DeleteSparqlStatisticsWithContext is the same as DeleteSparqlStatistics with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteSparqlStatistics 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 *Neptunedata) DeleteSparqlStatisticsWithContext(ctx aws.Context, input *DeleteSparqlStatisticsInput, opts ...request.Option) (*DeleteSparqlStatisticsOutput, error) {
	req, out := c.DeleteSparqlStatisticsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opExecuteFastReset = "ExecuteFastReset"

// ExecuteFastResetRequest generates a "aws/request.Request" representing the
// client's request for the ExecuteFastReset operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExecuteFastReset for more information on using the ExecuteFastReset
// 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 ExecuteFastResetRequest method.
//	req, resp := client.ExecuteFastResetRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ExecuteFastReset
func (c *Neptunedata) ExecuteFastResetRequest(input *ExecuteFastResetInput) (req *request.Request, output *ExecuteFastResetOutput) {
	op := &request.Operation{
		Name:       opExecuteFastReset,
		HTTPMethod: "POST",
		HTTPPath:   "/system",
	}

	if input == nil {
		input = &ExecuteFastResetInput{}
	}

	output = &ExecuteFastResetOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ExecuteFastReset API operation for Amazon NeptuneData.
//
// The fast reset REST API lets you reset a Neptune graph quicky and easily,
// removing all of its data.
//
// Neptune fast reset is a two-step process. First you call ExecuteFastReset
// with action set to initiateDatabaseReset. This returns a UUID token which
// you then include when calling ExecuteFastReset again with action set to performDatabaseReset.
// See Empty an Amazon Neptune DB cluster using the fast reset API (https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-fast-reset.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:ResetDatabase (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#resetdatabase)
// IAM action in that 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 Amazon NeptuneData's
// API operation ExecuteFastReset for usage and error information.
//
// Returned Error Types:
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - ServerShutdownException
//     Raised when the server shuts down while processing a request.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - MethodNotAllowedException
//     Raised when the HTTP method used by a request is not supported by the endpoint
//     being used.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ExecuteFastReset
func (c *Neptunedata) ExecuteFastReset(input *ExecuteFastResetInput) (*ExecuteFastResetOutput, error) {
	req, out := c.ExecuteFastResetRequest(input)
	return out, req.Send()
}

// ExecuteFastResetWithContext is the same as ExecuteFastReset with the addition of
// the ability to pass a context and additional request options.
//
// See ExecuteFastReset 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 *Neptunedata) ExecuteFastResetWithContext(ctx aws.Context, input *ExecuteFastResetInput, opts ...request.Option) (*ExecuteFastResetOutput, error) {
	req, out := c.ExecuteFastResetRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opExecuteGremlinExplainQuery = "ExecuteGremlinExplainQuery"

// ExecuteGremlinExplainQueryRequest generates a "aws/request.Request" representing the
// client's request for the ExecuteGremlinExplainQuery operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExecuteGremlinExplainQuery for more information on using the ExecuteGremlinExplainQuery
// 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 ExecuteGremlinExplainQueryRequest method.
//	req, resp := client.ExecuteGremlinExplainQueryRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ExecuteGremlinExplainQuery
func (c *Neptunedata) ExecuteGremlinExplainQueryRequest(input *ExecuteGremlinExplainQueryInput) (req *request.Request, output *ExecuteGremlinExplainQueryOutput) {
	op := &request.Operation{
		Name:       opExecuteGremlinExplainQuery,
		HTTPMethod: "POST",
		HTTPPath:   "/gremlin/explain",
	}

	if input == nil {
		input = &ExecuteGremlinExplainQueryInput{}
	}

	output = &ExecuteGremlinExplainQueryOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ExecuteGremlinExplainQuery API operation for Amazon NeptuneData.
//
// Executes a Gremlin Explain query.
//
// Amazon Neptune has added a Gremlin feature named explain that provides is
// a self-service tool for understanding the execution approach being taken
// by the Neptune engine for the query. You invoke it by adding an explain parameter
// to an HTTP call that submits a Gremlin query.
//
// The explain feature provides information about the logical structure of query
// execution plans. You can use this information to identify potential evaluation
// and execution bottlenecks and to tune your query, as explained in Tuning
// Gremlin queries (https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-traversal-tuning.html).
// You can also use query hints to improve query execution plans.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows one of the following IAM actions in that cluster, depending on
// the query:
//
//   - neptune-db:ReadDataViaQuery (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#readdataviaquery)
//
//   - neptune-db:WriteDataViaQuery (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#writedataviaquery)
//
//   - neptune-db:DeleteDataViaQuery (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#deletedataviaquery)
//
// Note that the neptune-db:QueryLanguage:Gremlin (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
// IAM condition key can be used in the policy document to restrict the use
// of Gremlin queries (see Condition keys available in Neptune IAM data-access
// policy statements (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).
//
// 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 Amazon NeptuneData's
// API operation ExecuteGremlinExplainQuery for usage and error information.
//
// Returned Error Types:
//
//   - QueryTooLargeException
//     Raised when the body of a query is too large.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - QueryLimitExceededException
//     Raised when the number of active queries exceeds what the server can process.
//     The query in question can be retried when the system is less busy.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - QueryLimitException
//     Raised when the size of a query exceeds the system limit.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - CancelledByUserException
//     Raised when a user cancelled a request.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - FailureByQueryException
//     Raised when a request fails.
//
//   - MemoryLimitExceededException
//     Raised when a request fails because of insufficient memory resources. The
//     request can be retried.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - MalformedQueryException
//     Raised when a query is submitted that is syntactically incorrect or does
//     not pass additional validation.
//
//   - ParsingException
//     Raised when a parsing issue is encountered.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - TimeLimitExceededException
//     Raised when the an operation exceeds the time limit allowed for it.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - ConcurrentModificationException
//     Raised when a request attempts to modify data that is concurrently being
//     modified by another process.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ExecuteGremlinExplainQuery
func (c *Neptunedata) ExecuteGremlinExplainQuery(input *ExecuteGremlinExplainQueryInput) (*ExecuteGremlinExplainQueryOutput, error) {
	req, out := c.ExecuteGremlinExplainQueryRequest(input)
	return out, req.Send()
}

// ExecuteGremlinExplainQueryWithContext is the same as ExecuteGremlinExplainQuery with the addition of
// the ability to pass a context and additional request options.
//
// See ExecuteGremlinExplainQuery 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 *Neptunedata) ExecuteGremlinExplainQueryWithContext(ctx aws.Context, input *ExecuteGremlinExplainQueryInput, opts ...request.Option) (*ExecuteGremlinExplainQueryOutput, error) {
	req, out := c.ExecuteGremlinExplainQueryRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opExecuteGremlinProfileQuery = "ExecuteGremlinProfileQuery"

// ExecuteGremlinProfileQueryRequest generates a "aws/request.Request" representing the
// client's request for the ExecuteGremlinProfileQuery operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExecuteGremlinProfileQuery for more information on using the ExecuteGremlinProfileQuery
// 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 ExecuteGremlinProfileQueryRequest method.
//	req, resp := client.ExecuteGremlinProfileQueryRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ExecuteGremlinProfileQuery
func (c *Neptunedata) ExecuteGremlinProfileQueryRequest(input *ExecuteGremlinProfileQueryInput) (req *request.Request, output *ExecuteGremlinProfileQueryOutput) {
	op := &request.Operation{
		Name:       opExecuteGremlinProfileQuery,
		HTTPMethod: "POST",
		HTTPPath:   "/gremlin/profile",
	}

	if input == nil {
		input = &ExecuteGremlinProfileQueryInput{}
	}

	output = &ExecuteGremlinProfileQueryOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ExecuteGremlinProfileQuery API operation for Amazon NeptuneData.
//
// Executes a Gremlin Profile query, which runs a specified traversal, collects
// various metrics about the run, and produces a profile report as output. See
// Gremlin profile API in Neptune (https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-profile-api.html)
// for details.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:ReadDataViaQuery (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#readdataviaquery)
// IAM action in that cluster.
//
// Note that the neptune-db:QueryLanguage:Gremlin (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
// IAM condition key can be used in the policy document to restrict the use
// of Gremlin queries (see Condition keys available in Neptune IAM data-access
// policy statements (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).
//
// 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 Amazon NeptuneData's
// API operation ExecuteGremlinProfileQuery for usage and error information.
//
// Returned Error Types:
//
//   - QueryTooLargeException
//     Raised when the body of a query is too large.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - QueryLimitExceededException
//     Raised when the number of active queries exceeds what the server can process.
//     The query in question can be retried when the system is less busy.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - QueryLimitException
//     Raised when the size of a query exceeds the system limit.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - CancelledByUserException
//     Raised when a user cancelled a request.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - FailureByQueryException
//     Raised when a request fails.
//
//   - MemoryLimitExceededException
//     Raised when a request fails because of insufficient memory resources. The
//     request can be retried.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - MalformedQueryException
//     Raised when a query is submitted that is syntactically incorrect or does
//     not pass additional validation.
//
//   - ParsingException
//     Raised when a parsing issue is encountered.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - TimeLimitExceededException
//     Raised when the an operation exceeds the time limit allowed for it.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - ConcurrentModificationException
//     Raised when a request attempts to modify data that is concurrently being
//     modified by another process.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ExecuteGremlinProfileQuery
func (c *Neptunedata) ExecuteGremlinProfileQuery(input *ExecuteGremlinProfileQueryInput) (*ExecuteGremlinProfileQueryOutput, error) {
	req, out := c.ExecuteGremlinProfileQueryRequest(input)
	return out, req.Send()
}

// ExecuteGremlinProfileQueryWithContext is the same as ExecuteGremlinProfileQuery with the addition of
// the ability to pass a context and additional request options.
//
// See ExecuteGremlinProfileQuery 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 *Neptunedata) ExecuteGremlinProfileQueryWithContext(ctx aws.Context, input *ExecuteGremlinProfileQueryInput, opts ...request.Option) (*ExecuteGremlinProfileQueryOutput, error) {
	req, out := c.ExecuteGremlinProfileQueryRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opExecuteGremlinQuery = "ExecuteGremlinQuery"

// ExecuteGremlinQueryRequest generates a "aws/request.Request" representing the
// client's request for the ExecuteGremlinQuery operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExecuteGremlinQuery for more information on using the ExecuteGremlinQuery
// 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 ExecuteGremlinQueryRequest method.
//	req, resp := client.ExecuteGremlinQueryRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ExecuteGremlinQuery
func (c *Neptunedata) ExecuteGremlinQueryRequest(input *ExecuteGremlinQueryInput) (req *request.Request, output *ExecuteGremlinQueryOutput) {
	op := &request.Operation{
		Name:       opExecuteGremlinQuery,
		HTTPMethod: "POST",
		HTTPPath:   "/gremlin",
	}

	if input == nil {
		input = &ExecuteGremlinQueryInput{}
	}

	output = &ExecuteGremlinQueryOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ExecuteGremlinQuery API operation for Amazon NeptuneData.
//
// This commands executes a Gremlin query. Amazon Neptune is compatible with
// Apache TinkerPop3 and Gremlin, so you can use the Gremlin traversal language
// to query the graph, as described under The Graph (https://tinkerpop.apache.org/docs/current/reference/#graph)
// in the Apache TinkerPop3 documentation. More details can also be found in
// Accessing a Neptune graph with Gremlin (https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that enables one of the following IAM actions in that cluster, depending
// on the query:
//
//   - neptune-db:ReadDataViaQuery (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#readdataviaquery)
//
//   - neptune-db:WriteDataViaQuery (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#writedataviaquery)
//
//   - neptune-db:DeleteDataViaQuery (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#deletedataviaquery)
//
// Note that the neptune-db:QueryLanguage:Gremlin (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
// IAM condition key can be used in the policy document to restrict the use
// of Gremlin queries (see Condition keys available in Neptune IAM data-access
// policy statements (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).
//
// 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 Amazon NeptuneData's
// API operation ExecuteGremlinQuery for usage and error information.
//
// Returned Error Types:
//
//   - QueryTooLargeException
//     Raised when the body of a query is too large.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - QueryLimitExceededException
//     Raised when the number of active queries exceeds what the server can process.
//     The query in question can be retried when the system is less busy.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - QueryLimitException
//     Raised when the size of a query exceeds the system limit.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - CancelledByUserException
//     Raised when a user cancelled a request.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - FailureByQueryException
//     Raised when a request fails.
//
//   - MemoryLimitExceededException
//     Raised when a request fails because of insufficient memory resources. The
//     request can be retried.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - MalformedQueryException
//     Raised when a query is submitted that is syntactically incorrect or does
//     not pass additional validation.
//
//   - ParsingException
//     Raised when a parsing issue is encountered.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - TimeLimitExceededException
//     Raised when the an operation exceeds the time limit allowed for it.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - ConcurrentModificationException
//     Raised when a request attempts to modify data that is concurrently being
//     modified by another process.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ExecuteGremlinQuery
func (c *Neptunedata) ExecuteGremlinQuery(input *ExecuteGremlinQueryInput) (*ExecuteGremlinQueryOutput, error) {
	req, out := c.ExecuteGremlinQueryRequest(input)
	return out, req.Send()
}

// ExecuteGremlinQueryWithContext is the same as ExecuteGremlinQuery with the addition of
// the ability to pass a context and additional request options.
//
// See ExecuteGremlinQuery 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 *Neptunedata) ExecuteGremlinQueryWithContext(ctx aws.Context, input *ExecuteGremlinQueryInput, opts ...request.Option) (*ExecuteGremlinQueryOutput, error) {
	req, out := c.ExecuteGremlinQueryRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opExecuteOpenCypherExplainQuery = "ExecuteOpenCypherExplainQuery"

// ExecuteOpenCypherExplainQueryRequest generates a "aws/request.Request" representing the
// client's request for the ExecuteOpenCypherExplainQuery operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ExecuteOpenCypherExplainQuery for more information on using the ExecuteOpenCypherExplainQuery
// 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 ExecuteOpenCypherExplainQueryRequest method.
//	req, resp := client.ExecuteOpenCypherExplainQueryRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ExecuteOpenCypherExplainQuery
func (c *Neptunedata) ExecuteOpenCypherExplainQueryRequest(input *ExecuteOpenCypherExplainQueryInput) (req *request.Request, output *ExecuteOpenCypherExplainQueryOutput) {
	op := &request.Operation{
		Name:       opExecuteOpenCypherExplainQuery,
		HTTPMethod: "POST",
		HTTPPath:   "/opencypher/explain",
	}

	if input == nil {
		input = &ExecuteOpenCypherExplainQueryInput{}
	}

	output = &ExecuteOpenCypherExplainQueryOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ExecuteOpenCypherExplainQuery API operation for Amazon NeptuneData.
//
// Executes an openCypher explain request. See The openCypher explain feature
// (https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-opencypher-explain.html)
// for more information.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:ReadDataViaQuery (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#readdataviaquery)
// IAM action in that cluster.
//
// Note that the neptune-db:QueryLanguage:OpenCypher (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
// IAM condition key can be used in the policy document to restrict the use
// of openCypher queries (see Condition keys available in Neptune IAM data-access
// policy statements (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).
//
// 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 Amazon NeptuneData's
// API operation ExecuteOpenCypherExplainQuery for usage and error information.
//
// Returned Error Types:
//
//   - QueryTooLargeException
//     Raised when the body of a query is too large.
//
//   - InvalidNumericDataException
//     Raised when invalid numerical data is encountered when servicing a request.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - QueryLimitExceededException
//     Raised when the number of active queries exceeds what the server can process.
//     The query in question can be retried when the system is less busy.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - QueryLimitException
//     Raised when the size of a query exceeds the system limit.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - CancelledByUserException
//     Raised when a user cancelled a request.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - FailureByQueryException
//     Raised when a request fails.
//
//   - MemoryLimitExceededException
//     Raised when a request fails because of insufficient memory resources. The
//     request can be retried.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - MalformedQueryException
//     Raised when a query is submitted that is syntactically incorrect or does
//     not pass additional validation.
//
//   - ParsingException
//     Raised when a parsing issue is encountered.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - TimeLimitExceededException
//     Raised when the an operation exceeds the time limit allowed for it.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - ConcurrentModificationException
//     Raised when a request attempts to modify data that is concurrently being
//     modified by another process.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ExecuteOpenCypherExplainQuery
func (c *Neptunedata) ExecuteOpenCypherExplainQuery(input *ExecuteOpenCypherExplainQueryInput) (*ExecuteOpenCypherExplainQueryOutput, error) {
	req, out := c.ExecuteOpenCypherExplainQueryRequest(input)
	return out, req.Send()
}

// ExecuteOpenCypherExplainQueryWithContext is the same as ExecuteOpenCypherExplainQuery with the addition of
// the ability to pass a context and additional request options.
//
// See ExecuteOpenCypherExplainQuery 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 *Neptunedata) ExecuteOpenCypherExplainQueryWithContext(ctx aws.Context, input *ExecuteOpenCypherExplainQueryInput, opts ...request.Option) (*ExecuteOpenCypherExplainQueryOutput, error) {
	req, out := c.ExecuteOpenCypherExplainQueryRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetEngineStatus = "GetEngineStatus"

// GetEngineStatusRequest generates a "aws/request.Request" representing the
// client's request for the GetEngineStatus operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetEngineStatus for more information on using the GetEngineStatus
// 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 GetEngineStatusRequest method.
//	req, resp := client.GetEngineStatusRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetEngineStatus
func (c *Neptunedata) GetEngineStatusRequest(input *GetEngineStatusInput) (req *request.Request, output *GetEngineStatusOutput) {
	op := &request.Operation{
		Name:       opGetEngineStatus,
		HTTPMethod: "GET",
		HTTPPath:   "/status",
	}

	if input == nil {
		input = &GetEngineStatusInput{}
	}

	output = &GetEngineStatusOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetEngineStatus API operation for Amazon NeptuneData.
//
// Retrieves the status of the graph database on the host.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetEngineStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getenginestatus)
// IAM action in that 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 Amazon NeptuneData's
// API operation GetEngineStatus for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - InternalFailureException
//     Raised when the processing of the request failed unexpectedly.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetEngineStatus
func (c *Neptunedata) GetEngineStatus(input *GetEngineStatusInput) (*GetEngineStatusOutput, error) {
	req, out := c.GetEngineStatusRequest(input)
	return out, req.Send()
}

// GetEngineStatusWithContext is the same as GetEngineStatus with the addition of
// the ability to pass a context and additional request options.
//
// See GetEngineStatus 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 *Neptunedata) GetEngineStatusWithContext(ctx aws.Context, input *GetEngineStatusInput, opts ...request.Option) (*GetEngineStatusOutput, error) {
	req, out := c.GetEngineStatusRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetGremlinQueryStatus = "GetGremlinQueryStatus"

// GetGremlinQueryStatusRequest generates a "aws/request.Request" representing the
// client's request for the GetGremlinQueryStatus operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetGremlinQueryStatus for more information on using the GetGremlinQueryStatus
// 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 GetGremlinQueryStatusRequest method.
//	req, resp := client.GetGremlinQueryStatusRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetGremlinQueryStatus
func (c *Neptunedata) GetGremlinQueryStatusRequest(input *GetGremlinQueryStatusInput) (req *request.Request, output *GetGremlinQueryStatusOutput) {
	op := &request.Operation{
		Name:       opGetGremlinQueryStatus,
		HTTPMethod: "GET",
		HTTPPath:   "/gremlin/status/{queryId}",
	}

	if input == nil {
		input = &GetGremlinQueryStatusInput{}
	}

	output = &GetGremlinQueryStatusOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetGremlinQueryStatus API operation for Amazon NeptuneData.
//
// Gets the status of a specified Gremlin query.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetQueryStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getquerystatus)
// IAM action in that cluster.
//
// Note that the neptune-db:QueryLanguage:Gremlin (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
// IAM condition key can be used in the policy document to restrict the use
// of Gremlin queries (see Condition keys available in Neptune IAM data-access
// policy statements (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).
//
// 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 Amazon NeptuneData's
// API operation GetGremlinQueryStatus for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - FailureByQueryException
//     Raised when a request fails.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ParsingException
//     Raised when a parsing issue is encountered.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - TimeLimitExceededException
//     Raised when the an operation exceeds the time limit allowed for it.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - ConcurrentModificationException
//     Raised when a request attempts to modify data that is concurrently being
//     modified by another process.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetGremlinQueryStatus
func (c *Neptunedata) GetGremlinQueryStatus(input *GetGremlinQueryStatusInput) (*GetGremlinQueryStatusOutput, error) {
	req, out := c.GetGremlinQueryStatusRequest(input)
	return out, req.Send()
}

// GetGremlinQueryStatusWithContext is the same as GetGremlinQueryStatus with the addition of
// the ability to pass a context and additional request options.
//
// See GetGremlinQueryStatus 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 *Neptunedata) GetGremlinQueryStatusWithContext(ctx aws.Context, input *GetGremlinQueryStatusInput, opts ...request.Option) (*GetGremlinQueryStatusOutput, error) {
	req, out := c.GetGremlinQueryStatusRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetMLDataProcessingJob = "GetMLDataProcessingJob"

// GetMLDataProcessingJobRequest generates a "aws/request.Request" representing the
// client's request for the GetMLDataProcessingJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetMLDataProcessingJob for more information on using the GetMLDataProcessingJob
// 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 GetMLDataProcessingJobRequest method.
//	req, resp := client.GetMLDataProcessingJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetMLDataProcessingJob
func (c *Neptunedata) GetMLDataProcessingJobRequest(input *GetMLDataProcessingJobInput) (req *request.Request, output *GetMLDataProcessingJobOutput) {
	op := &request.Operation{
		Name:       opGetMLDataProcessingJob,
		HTTPMethod: "GET",
		HTTPPath:   "/ml/dataprocessing/{id}",
	}

	if input == nil {
		input = &GetMLDataProcessingJobInput{}
	}

	output = &GetMLDataProcessingJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetMLDataProcessingJob API operation for Amazon NeptuneData.
//
// Retrieves information about a specified data processing job. See The dataprocessing
// command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-dataprocessing.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:neptune-db:GetMLDataProcessingJobStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getmldataprocessingjobstatus)
// IAM action in that 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 Amazon NeptuneData's
// API operation GetMLDataProcessingJob for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetMLDataProcessingJob
func (c *Neptunedata) GetMLDataProcessingJob(input *GetMLDataProcessingJobInput) (*GetMLDataProcessingJobOutput, error) {
	req, out := c.GetMLDataProcessingJobRequest(input)
	return out, req.Send()
}

// GetMLDataProcessingJobWithContext is the same as GetMLDataProcessingJob with the addition of
// the ability to pass a context and additional request options.
//
// See GetMLDataProcessingJob 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 *Neptunedata) GetMLDataProcessingJobWithContext(ctx aws.Context, input *GetMLDataProcessingJobInput, opts ...request.Option) (*GetMLDataProcessingJobOutput, error) {
	req, out := c.GetMLDataProcessingJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetMLEndpoint = "GetMLEndpoint"

// GetMLEndpointRequest generates a "aws/request.Request" representing the
// client's request for the GetMLEndpoint operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetMLEndpoint for more information on using the GetMLEndpoint
// 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 GetMLEndpointRequest method.
//	req, resp := client.GetMLEndpointRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetMLEndpoint
func (c *Neptunedata) GetMLEndpointRequest(input *GetMLEndpointInput) (req *request.Request, output *GetMLEndpointOutput) {
	op := &request.Operation{
		Name:       opGetMLEndpoint,
		HTTPMethod: "GET",
		HTTPPath:   "/ml/endpoints/{id}",
	}

	if input == nil {
		input = &GetMLEndpointInput{}
	}

	output = &GetMLEndpointOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetMLEndpoint API operation for Amazon NeptuneData.
//
// Retrieves details about an inference endpoint. See Managing inference endpoints
// using the endpoints command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-endpoints.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetMLEndpointStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getmlendpointstatus)
// IAM action in that 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 Amazon NeptuneData's
// API operation GetMLEndpoint for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetMLEndpoint
func (c *Neptunedata) GetMLEndpoint(input *GetMLEndpointInput) (*GetMLEndpointOutput, error) {
	req, out := c.GetMLEndpointRequest(input)
	return out, req.Send()
}

// GetMLEndpointWithContext is the same as GetMLEndpoint with the addition of
// the ability to pass a context and additional request options.
//
// See GetMLEndpoint 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 *Neptunedata) GetMLEndpointWithContext(ctx aws.Context, input *GetMLEndpointInput, opts ...request.Option) (*GetMLEndpointOutput, error) {
	req, out := c.GetMLEndpointRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetMLModelTrainingJob = "GetMLModelTrainingJob"

// GetMLModelTrainingJobRequest generates a "aws/request.Request" representing the
// client's request for the GetMLModelTrainingJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetMLModelTrainingJob for more information on using the GetMLModelTrainingJob
// 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 GetMLModelTrainingJobRequest method.
//	req, resp := client.GetMLModelTrainingJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetMLModelTrainingJob
func (c *Neptunedata) GetMLModelTrainingJobRequest(input *GetMLModelTrainingJobInput) (req *request.Request, output *GetMLModelTrainingJobOutput) {
	op := &request.Operation{
		Name:       opGetMLModelTrainingJob,
		HTTPMethod: "GET",
		HTTPPath:   "/ml/modeltraining/{id}",
	}

	if input == nil {
		input = &GetMLModelTrainingJobInput{}
	}

	output = &GetMLModelTrainingJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetMLModelTrainingJob API operation for Amazon NeptuneData.
//
// Retrieves information about a Neptune ML model training job. See Model training
// using the modeltraining command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-modeltraining.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetMLModelTrainingJobStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getmlmodeltrainingjobstatus)
// IAM action in that 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 Amazon NeptuneData's
// API operation GetMLModelTrainingJob for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetMLModelTrainingJob
func (c *Neptunedata) GetMLModelTrainingJob(input *GetMLModelTrainingJobInput) (*GetMLModelTrainingJobOutput, error) {
	req, out := c.GetMLModelTrainingJobRequest(input)
	return out, req.Send()
}

// GetMLModelTrainingJobWithContext is the same as GetMLModelTrainingJob with the addition of
// the ability to pass a context and additional request options.
//
// See GetMLModelTrainingJob 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 *Neptunedata) GetMLModelTrainingJobWithContext(ctx aws.Context, input *GetMLModelTrainingJobInput, opts ...request.Option) (*GetMLModelTrainingJobOutput, error) {
	req, out := c.GetMLModelTrainingJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetMLModelTransformJob = "GetMLModelTransformJob"

// GetMLModelTransformJobRequest generates a "aws/request.Request" representing the
// client's request for the GetMLModelTransformJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetMLModelTransformJob for more information on using the GetMLModelTransformJob
// 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 GetMLModelTransformJobRequest method.
//	req, resp := client.GetMLModelTransformJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetMLModelTransformJob
func (c *Neptunedata) GetMLModelTransformJobRequest(input *GetMLModelTransformJobInput) (req *request.Request, output *GetMLModelTransformJobOutput) {
	op := &request.Operation{
		Name:       opGetMLModelTransformJob,
		HTTPMethod: "GET",
		HTTPPath:   "/ml/modeltransform/{id}",
	}

	if input == nil {
		input = &GetMLModelTransformJobInput{}
	}

	output = &GetMLModelTransformJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetMLModelTransformJob API operation for Amazon NeptuneData.
//
// Gets information about a specified model transform job. See Use a trained
// model to generate new model artifacts (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetMLModelTransformJobStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getmlmodeltransformjobstatus)
// IAM action in that 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 Amazon NeptuneData's
// API operation GetMLModelTransformJob for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetMLModelTransformJob
func (c *Neptunedata) GetMLModelTransformJob(input *GetMLModelTransformJobInput) (*GetMLModelTransformJobOutput, error) {
	req, out := c.GetMLModelTransformJobRequest(input)
	return out, req.Send()
}

// GetMLModelTransformJobWithContext is the same as GetMLModelTransformJob with the addition of
// the ability to pass a context and additional request options.
//
// See GetMLModelTransformJob 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 *Neptunedata) GetMLModelTransformJobWithContext(ctx aws.Context, input *GetMLModelTransformJobInput, opts ...request.Option) (*GetMLModelTransformJobOutput, error) {
	req, out := c.GetMLModelTransformJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetOpenCypherQueryStatus = "GetOpenCypherQueryStatus"

// GetOpenCypherQueryStatusRequest generates a "aws/request.Request" representing the
// client's request for the GetOpenCypherQueryStatus operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetOpenCypherQueryStatus for more information on using the GetOpenCypherQueryStatus
// 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 GetOpenCypherQueryStatusRequest method.
//	req, resp := client.GetOpenCypherQueryStatusRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetOpenCypherQueryStatus
func (c *Neptunedata) GetOpenCypherQueryStatusRequest(input *GetOpenCypherQueryStatusInput) (req *request.Request, output *GetOpenCypherQueryStatusOutput) {
	op := &request.Operation{
		Name:       opGetOpenCypherQueryStatus,
		HTTPMethod: "GET",
		HTTPPath:   "/opencypher/status/{queryId}",
	}

	if input == nil {
		input = &GetOpenCypherQueryStatusInput{}
	}

	output = &GetOpenCypherQueryStatusOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetOpenCypherQueryStatus API operation for Amazon NeptuneData.
//
// Retrieves the status of a specified openCypher query.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetQueryStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getquerystatus)
// IAM action in that cluster.
//
// Note that the neptune-db:QueryLanguage:OpenCypher (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
// IAM condition key can be used in the policy document to restrict the use
// of openCypher queries (see Condition keys available in Neptune IAM data-access
// policy statements (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).
//
// 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 Amazon NeptuneData's
// API operation GetOpenCypherQueryStatus for usage and error information.
//
// Returned Error Types:
//
//   - InvalidNumericDataException
//     Raised when invalid numerical data is encountered when servicing a request.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - FailureByQueryException
//     Raised when a request fails.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ParsingException
//     Raised when a parsing issue is encountered.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - TimeLimitExceededException
//     Raised when the an operation exceeds the time limit allowed for it.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - ConcurrentModificationException
//     Raised when a request attempts to modify data that is concurrently being
//     modified by another process.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetOpenCypherQueryStatus
func (c *Neptunedata) GetOpenCypherQueryStatus(input *GetOpenCypherQueryStatusInput) (*GetOpenCypherQueryStatusOutput, error) {
	req, out := c.GetOpenCypherQueryStatusRequest(input)
	return out, req.Send()
}

// GetOpenCypherQueryStatusWithContext is the same as GetOpenCypherQueryStatus with the addition of
// the ability to pass a context and additional request options.
//
// See GetOpenCypherQueryStatus 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 *Neptunedata) GetOpenCypherQueryStatusWithContext(ctx aws.Context, input *GetOpenCypherQueryStatusInput, opts ...request.Option) (*GetOpenCypherQueryStatusOutput, error) {
	req, out := c.GetOpenCypherQueryStatusRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetPropertygraphStatistics = "GetPropertygraphStatistics"

// GetPropertygraphStatisticsRequest generates a "aws/request.Request" representing the
// client's request for the GetPropertygraphStatistics operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetPropertygraphStatistics for more information on using the GetPropertygraphStatistics
// 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 GetPropertygraphStatisticsRequest method.
//	req, resp := client.GetPropertygraphStatisticsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetPropertygraphStatistics
func (c *Neptunedata) GetPropertygraphStatisticsRequest(input *GetPropertygraphStatisticsInput) (req *request.Request, output *GetPropertygraphStatisticsOutput) {
	op := &request.Operation{
		Name:       opGetPropertygraphStatistics,
		HTTPMethod: "GET",
		HTTPPath:   "/propertygraph/statistics",
	}

	if input == nil {
		input = &GetPropertygraphStatisticsInput{}
	}

	output = &GetPropertygraphStatisticsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetPropertygraphStatistics API operation for Amazon NeptuneData.
//
// Gets property graph statistics (Gremlin and openCypher).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetStatisticsStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getstatisticsstatus)
// IAM action in that 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 Amazon NeptuneData's
// API operation GetPropertygraphStatistics for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - StatisticsNotAvailableException
//     Raised when statistics needed to satisfy a request are not available.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetPropertygraphStatistics
func (c *Neptunedata) GetPropertygraphStatistics(input *GetPropertygraphStatisticsInput) (*GetPropertygraphStatisticsOutput, error) {
	req, out := c.GetPropertygraphStatisticsRequest(input)
	return out, req.Send()
}

// GetPropertygraphStatisticsWithContext is the same as GetPropertygraphStatistics with the addition of
// the ability to pass a context and additional request options.
//
// See GetPropertygraphStatistics 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 *Neptunedata) GetPropertygraphStatisticsWithContext(ctx aws.Context, input *GetPropertygraphStatisticsInput, opts ...request.Option) (*GetPropertygraphStatisticsOutput, error) {
	req, out := c.GetPropertygraphStatisticsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetPropertygraphSummary = "GetPropertygraphSummary"

// GetPropertygraphSummaryRequest generates a "aws/request.Request" representing the
// client's request for the GetPropertygraphSummary operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetPropertygraphSummary for more information on using the GetPropertygraphSummary
// 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 GetPropertygraphSummaryRequest method.
//	req, resp := client.GetPropertygraphSummaryRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetPropertygraphSummary
func (c *Neptunedata) GetPropertygraphSummaryRequest(input *GetPropertygraphSummaryInput) (req *request.Request, output *GetPropertygraphSummaryOutput) {
	op := &request.Operation{
		Name:       opGetPropertygraphSummary,
		HTTPMethod: "GET",
		HTTPPath:   "/propertygraph/statistics/summary",
	}

	if input == nil {
		input = &GetPropertygraphSummaryInput{}
	}

	output = &GetPropertygraphSummaryOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetPropertygraphSummary API operation for Amazon NeptuneData.
//
// Gets a graph summary for a property graph.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetGraphSummary (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getgraphsummary)
// IAM action in that 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 Amazon NeptuneData's
// API operation GetPropertygraphSummary for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - StatisticsNotAvailableException
//     Raised when statistics needed to satisfy a request are not available.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetPropertygraphSummary
func (c *Neptunedata) GetPropertygraphSummary(input *GetPropertygraphSummaryInput) (*GetPropertygraphSummaryOutput, error) {
	req, out := c.GetPropertygraphSummaryRequest(input)
	return out, req.Send()
}

// GetPropertygraphSummaryWithContext is the same as GetPropertygraphSummary with the addition of
// the ability to pass a context and additional request options.
//
// See GetPropertygraphSummary 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 *Neptunedata) GetPropertygraphSummaryWithContext(ctx aws.Context, input *GetPropertygraphSummaryInput, opts ...request.Option) (*GetPropertygraphSummaryOutput, error) {
	req, out := c.GetPropertygraphSummaryRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetRDFGraphSummary = "GetRDFGraphSummary"

// GetRDFGraphSummaryRequest generates a "aws/request.Request" representing the
// client's request for the GetRDFGraphSummary operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetRDFGraphSummary for more information on using the GetRDFGraphSummary
// 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 GetRDFGraphSummaryRequest method.
//	req, resp := client.GetRDFGraphSummaryRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetRDFGraphSummary
func (c *Neptunedata) GetRDFGraphSummaryRequest(input *GetRDFGraphSummaryInput) (req *request.Request, output *GetRDFGraphSummaryOutput) {
	op := &request.Operation{
		Name:       opGetRDFGraphSummary,
		HTTPMethod: "GET",
		HTTPPath:   "/rdf/statistics/summary",
	}

	if input == nil {
		input = &GetRDFGraphSummaryInput{}
	}

	output = &GetRDFGraphSummaryOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetRDFGraphSummary API operation for Amazon NeptuneData.
//
// Gets a graph summary for an RDF graph.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetGraphSummary (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getgraphsummary)
// IAM action in that 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 Amazon NeptuneData's
// API operation GetRDFGraphSummary for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - StatisticsNotAvailableException
//     Raised when statistics needed to satisfy a request are not available.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetRDFGraphSummary
func (c *Neptunedata) GetRDFGraphSummary(input *GetRDFGraphSummaryInput) (*GetRDFGraphSummaryOutput, error) {
	req, out := c.GetRDFGraphSummaryRequest(input)
	return out, req.Send()
}

// GetRDFGraphSummaryWithContext is the same as GetRDFGraphSummary with the addition of
// the ability to pass a context and additional request options.
//
// See GetRDFGraphSummary 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 *Neptunedata) GetRDFGraphSummaryWithContext(ctx aws.Context, input *GetRDFGraphSummaryInput, opts ...request.Option) (*GetRDFGraphSummaryOutput, error) {
	req, out := c.GetRDFGraphSummaryRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetSparqlStatistics = "GetSparqlStatistics"

// GetSparqlStatisticsRequest generates a "aws/request.Request" representing the
// client's request for the GetSparqlStatistics operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetSparqlStatistics for more information on using the GetSparqlStatistics
// 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 GetSparqlStatisticsRequest method.
//	req, resp := client.GetSparqlStatisticsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetSparqlStatistics
func (c *Neptunedata) GetSparqlStatisticsRequest(input *GetSparqlStatisticsInput) (req *request.Request, output *GetSparqlStatisticsOutput) {
	op := &request.Operation{
		Name:       opGetSparqlStatistics,
		HTTPMethod: "GET",
		HTTPPath:   "/sparql/statistics",
	}

	if input == nil {
		input = &GetSparqlStatisticsInput{}
	}

	output = &GetSparqlStatisticsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetSparqlStatistics API operation for Amazon NeptuneData.
//
// Gets RDF statistics (SPARQL).
//
// 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 Amazon NeptuneData's
// API operation GetSparqlStatistics for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - StatisticsNotAvailableException
//     Raised when statistics needed to satisfy a request are not available.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetSparqlStatistics
func (c *Neptunedata) GetSparqlStatistics(input *GetSparqlStatisticsInput) (*GetSparqlStatisticsOutput, error) {
	req, out := c.GetSparqlStatisticsRequest(input)
	return out, req.Send()
}

// GetSparqlStatisticsWithContext is the same as GetSparqlStatistics with the addition of
// the ability to pass a context and additional request options.
//
// See GetSparqlStatistics 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 *Neptunedata) GetSparqlStatisticsWithContext(ctx aws.Context, input *GetSparqlStatisticsInput, opts ...request.Option) (*GetSparqlStatisticsOutput, error) {
	req, out := c.GetSparqlStatisticsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opGetSparqlStream = "GetSparqlStream"

// GetSparqlStreamRequest generates a "aws/request.Request" representing the
// client's request for the GetSparqlStream operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 GetSparqlStream for more information on using the GetSparqlStream
// 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 GetSparqlStreamRequest method.
//	req, resp := client.GetSparqlStreamRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetSparqlStream
func (c *Neptunedata) GetSparqlStreamRequest(input *GetSparqlStreamInput) (req *request.Request, output *GetSparqlStreamOutput) {
	op := &request.Operation{
		Name:       opGetSparqlStream,
		HTTPMethod: "GET",
		HTTPPath:   "/sparql/stream",
	}

	if input == nil {
		input = &GetSparqlStreamInput{}
	}

	output = &GetSparqlStreamOutput{}
	req = c.newRequest(op, input, output)
	return
}

// GetSparqlStream API operation for Amazon NeptuneData.
//
// Gets a stream for an RDF graph.
//
// With the Neptune Streams feature, you can generate a complete sequence of
// change-log entries that record every change made to your graph data as it
// happens. GetSparqlStream lets you collect these change-log entries for an
// RDF graph.
//
// The Neptune streams feature needs to be enabled on your Neptune DBcluster.
// To enable streams, set the neptune_streams (https://docs.aws.amazon.com/neptune/latest/userguide/parameters.html#parameters-db-cluster-parameters-neptune_streams)
// DB cluster parameter to 1.
//
// See Capturing graph changes in real time using Neptune streams (https://docs.aws.amazon.com/neptune/latest/userguide/streams.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetStreamRecords (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getstreamrecords)
// IAM action in that cluster.
//
// Note that the neptune-db:QueryLanguage:Sparql (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
// IAM condition key can be used in the policy document to restrict the use
// of SPARQL queries (see Condition keys available in Neptune IAM data-access
// policy statements (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).
//
// 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 Amazon NeptuneData's
// API operation GetSparqlStream for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - ExpiredStreamException
//     Raised when a request attempts to access an stream that has expired.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - MemoryLimitExceededException
//     Raised when a request fails because of insufficient memory resources. The
//     request can be retried.
//
//   - StreamRecordsNotFoundException
//     Raised when stream records requested by a query cannot be found.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ThrottlingException
//     Raised when the rate of requests exceeds the maximum throughput. Requests
//     can be retried after encountering this exception.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/GetSparqlStream
func (c *Neptunedata) GetSparqlStream(input *GetSparqlStreamInput) (*GetSparqlStreamOutput, error) {
	req, out := c.GetSparqlStreamRequest(input)
	return out, req.Send()
}

// GetSparqlStreamWithContext is the same as GetSparqlStream with the addition of
// the ability to pass a context and additional request options.
//
// See GetSparqlStream 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 *Neptunedata) GetSparqlStreamWithContext(ctx aws.Context, input *GetSparqlStreamInput, opts ...request.Option) (*GetSparqlStreamOutput, error) {
	req, out := c.GetSparqlStreamRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opListGremlinQueries = "ListGremlinQueries"

// ListGremlinQueriesRequest generates a "aws/request.Request" representing the
// client's request for the ListGremlinQueries operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ListGremlinQueries for more information on using the ListGremlinQueries
// 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 ListGremlinQueriesRequest method.
//	req, resp := client.ListGremlinQueriesRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListGremlinQueries
func (c *Neptunedata) ListGremlinQueriesRequest(input *ListGremlinQueriesInput) (req *request.Request, output *ListGremlinQueriesOutput) {
	op := &request.Operation{
		Name:       opListGremlinQueries,
		HTTPMethod: "GET",
		HTTPPath:   "/gremlin/status",
	}

	if input == nil {
		input = &ListGremlinQueriesInput{}
	}

	output = &ListGremlinQueriesOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListGremlinQueries API operation for Amazon NeptuneData.
//
// Lists active Gremlin queries. See Gremlin query status API (https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-api-status.html)
// for details about the output.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetQueryStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getquerystatus)
// IAM action in that cluster.
//
// Note that the neptune-db:QueryLanguage:Gremlin (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
// IAM condition key can be used in the policy document to restrict the use
// of Gremlin queries (see Condition keys available in Neptune IAM data-access
// policy statements (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).
//
// 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 Amazon NeptuneData's
// API operation ListGremlinQueries for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - FailureByQueryException
//     Raised when a request fails.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ParsingException
//     Raised when a parsing issue is encountered.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - TimeLimitExceededException
//     Raised when the an operation exceeds the time limit allowed for it.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - ConcurrentModificationException
//     Raised when a request attempts to modify data that is concurrently being
//     modified by another process.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListGremlinQueries
func (c *Neptunedata) ListGremlinQueries(input *ListGremlinQueriesInput) (*ListGremlinQueriesOutput, error) {
	req, out := c.ListGremlinQueriesRequest(input)
	return out, req.Send()
}

// ListGremlinQueriesWithContext is the same as ListGremlinQueries with the addition of
// the ability to pass a context and additional request options.
//
// See ListGremlinQueries 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 *Neptunedata) ListGremlinQueriesWithContext(ctx aws.Context, input *ListGremlinQueriesInput, opts ...request.Option) (*ListGremlinQueriesOutput, error) {
	req, out := c.ListGremlinQueriesRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opListLoaderJobs = "ListLoaderJobs"

// ListLoaderJobsRequest generates a "aws/request.Request" representing the
// client's request for the ListLoaderJobs operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ListLoaderJobs for more information on using the ListLoaderJobs
// 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 ListLoaderJobsRequest method.
//	req, resp := client.ListLoaderJobsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListLoaderJobs
func (c *Neptunedata) ListLoaderJobsRequest(input *ListLoaderJobsInput) (req *request.Request, output *ListLoaderJobsOutput) {
	op := &request.Operation{
		Name:       opListLoaderJobs,
		HTTPMethod: "GET",
		HTTPPath:   "/loader",
	}

	if input == nil {
		input = &ListLoaderJobsInput{}
	}

	output = &ListLoaderJobsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListLoaderJobs API operation for Amazon NeptuneData.
//
// Retrieves a list of the loadIds for all active loader jobs.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:ListLoaderJobs (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#listloaderjobs)
// IAM action in that 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 Amazon NeptuneData's
// API operation ListLoaderJobs for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - BulkLoadIdNotFoundException
//     Raised when a specified bulk-load job ID cannot be found.
//
//   - InternalFailureException
//     Raised when the processing of the request failed unexpectedly.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - LoadUrlAccessDeniedException
//     Raised when access is denied to a specified load URL.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListLoaderJobs
func (c *Neptunedata) ListLoaderJobs(input *ListLoaderJobsInput) (*ListLoaderJobsOutput, error) {
	req, out := c.ListLoaderJobsRequest(input)
	return out, req.Send()
}

// ListLoaderJobsWithContext is the same as ListLoaderJobs with the addition of
// the ability to pass a context and additional request options.
//
// See ListLoaderJobs 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 *Neptunedata) ListLoaderJobsWithContext(ctx aws.Context, input *ListLoaderJobsInput, opts ...request.Option) (*ListLoaderJobsOutput, error) {
	req, out := c.ListLoaderJobsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opListMLDataProcessingJobs = "ListMLDataProcessingJobs"

// ListMLDataProcessingJobsRequest generates a "aws/request.Request" representing the
// client's request for the ListMLDataProcessingJobs operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ListMLDataProcessingJobs for more information on using the ListMLDataProcessingJobs
// 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 ListMLDataProcessingJobsRequest method.
//	req, resp := client.ListMLDataProcessingJobsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListMLDataProcessingJobs
func (c *Neptunedata) ListMLDataProcessingJobsRequest(input *ListMLDataProcessingJobsInput) (req *request.Request, output *ListMLDataProcessingJobsOutput) {
	op := &request.Operation{
		Name:       opListMLDataProcessingJobs,
		HTTPMethod: "GET",
		HTTPPath:   "/ml/dataprocessing",
	}

	if input == nil {
		input = &ListMLDataProcessingJobsInput{}
	}

	output = &ListMLDataProcessingJobsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListMLDataProcessingJobs API operation for Amazon NeptuneData.
//
// Returns a list of Neptune ML data processing jobs. See Listing active data-processing
// jobs using the Neptune ML dataprocessing command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-dataprocessing.html#machine-learning-api-dataprocessing-list-jobs).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:ListMLDataProcessingJobs (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#listmldataprocessingjobs)
// IAM action in that 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 Amazon NeptuneData's
// API operation ListMLDataProcessingJobs for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListMLDataProcessingJobs
func (c *Neptunedata) ListMLDataProcessingJobs(input *ListMLDataProcessingJobsInput) (*ListMLDataProcessingJobsOutput, error) {
	req, out := c.ListMLDataProcessingJobsRequest(input)
	return out, req.Send()
}

// ListMLDataProcessingJobsWithContext is the same as ListMLDataProcessingJobs with the addition of
// the ability to pass a context and additional request options.
//
// See ListMLDataProcessingJobs 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 *Neptunedata) ListMLDataProcessingJobsWithContext(ctx aws.Context, input *ListMLDataProcessingJobsInput, opts ...request.Option) (*ListMLDataProcessingJobsOutput, error) {
	req, out := c.ListMLDataProcessingJobsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opListMLEndpoints = "ListMLEndpoints"

// ListMLEndpointsRequest generates a "aws/request.Request" representing the
// client's request for the ListMLEndpoints operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ListMLEndpoints for more information on using the ListMLEndpoints
// 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 ListMLEndpointsRequest method.
//	req, resp := client.ListMLEndpointsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListMLEndpoints
func (c *Neptunedata) ListMLEndpointsRequest(input *ListMLEndpointsInput) (req *request.Request, output *ListMLEndpointsOutput) {
	op := &request.Operation{
		Name:       opListMLEndpoints,
		HTTPMethod: "GET",
		HTTPPath:   "/ml/endpoints",
	}

	if input == nil {
		input = &ListMLEndpointsInput{}
	}

	output = &ListMLEndpointsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListMLEndpoints API operation for Amazon NeptuneData.
//
// Lists existing inference endpoints. See Managing inference endpoints using
// the endpoints command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-endpoints.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:ListMLEndpoints (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#listmlendpoints)
// IAM action in that 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 Amazon NeptuneData's
// API operation ListMLEndpoints for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListMLEndpoints
func (c *Neptunedata) ListMLEndpoints(input *ListMLEndpointsInput) (*ListMLEndpointsOutput, error) {
	req, out := c.ListMLEndpointsRequest(input)
	return out, req.Send()
}

// ListMLEndpointsWithContext is the same as ListMLEndpoints with the addition of
// the ability to pass a context and additional request options.
//
// See ListMLEndpoints 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 *Neptunedata) ListMLEndpointsWithContext(ctx aws.Context, input *ListMLEndpointsInput, opts ...request.Option) (*ListMLEndpointsOutput, error) {
	req, out := c.ListMLEndpointsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opListMLModelTrainingJobs = "ListMLModelTrainingJobs"

// ListMLModelTrainingJobsRequest generates a "aws/request.Request" representing the
// client's request for the ListMLModelTrainingJobs operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ListMLModelTrainingJobs for more information on using the ListMLModelTrainingJobs
// 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 ListMLModelTrainingJobsRequest method.
//	req, resp := client.ListMLModelTrainingJobsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListMLModelTrainingJobs
func (c *Neptunedata) ListMLModelTrainingJobsRequest(input *ListMLModelTrainingJobsInput) (req *request.Request, output *ListMLModelTrainingJobsOutput) {
	op := &request.Operation{
		Name:       opListMLModelTrainingJobs,
		HTTPMethod: "GET",
		HTTPPath:   "/ml/modeltraining",
	}

	if input == nil {
		input = &ListMLModelTrainingJobsInput{}
	}

	output = &ListMLModelTrainingJobsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListMLModelTrainingJobs API operation for Amazon NeptuneData.
//
// Lists Neptune ML model-training jobs. See Model training using the modeltraining
// command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-modeltraining.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:neptune-db:ListMLModelTrainingJobs (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#neptune-db:listmlmodeltrainingjobs)
// IAM action in that 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 Amazon NeptuneData's
// API operation ListMLModelTrainingJobs for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListMLModelTrainingJobs
func (c *Neptunedata) ListMLModelTrainingJobs(input *ListMLModelTrainingJobsInput) (*ListMLModelTrainingJobsOutput, error) {
	req, out := c.ListMLModelTrainingJobsRequest(input)
	return out, req.Send()
}

// ListMLModelTrainingJobsWithContext is the same as ListMLModelTrainingJobs with the addition of
// the ability to pass a context and additional request options.
//
// See ListMLModelTrainingJobs 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 *Neptunedata) ListMLModelTrainingJobsWithContext(ctx aws.Context, input *ListMLModelTrainingJobsInput, opts ...request.Option) (*ListMLModelTrainingJobsOutput, error) {
	req, out := c.ListMLModelTrainingJobsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opListMLModelTransformJobs = "ListMLModelTransformJobs"

// ListMLModelTransformJobsRequest generates a "aws/request.Request" representing the
// client's request for the ListMLModelTransformJobs operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ListMLModelTransformJobs for more information on using the ListMLModelTransformJobs
// 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 ListMLModelTransformJobsRequest method.
//	req, resp := client.ListMLModelTransformJobsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListMLModelTransformJobs
func (c *Neptunedata) ListMLModelTransformJobsRequest(input *ListMLModelTransformJobsInput) (req *request.Request, output *ListMLModelTransformJobsOutput) {
	op := &request.Operation{
		Name:       opListMLModelTransformJobs,
		HTTPMethod: "GET",
		HTTPPath:   "/ml/modeltransform",
	}

	if input == nil {
		input = &ListMLModelTransformJobsInput{}
	}

	output = &ListMLModelTransformJobsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListMLModelTransformJobs API operation for Amazon NeptuneData.
//
// Returns a list of model transform job IDs. See Use a trained model to generate
// new model artifacts (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:ListMLModelTransformJobs (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#listmlmodeltransformjobs)
// IAM action in that 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 Amazon NeptuneData's
// API operation ListMLModelTransformJobs for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListMLModelTransformJobs
func (c *Neptunedata) ListMLModelTransformJobs(input *ListMLModelTransformJobsInput) (*ListMLModelTransformJobsOutput, error) {
	req, out := c.ListMLModelTransformJobsRequest(input)
	return out, req.Send()
}

// ListMLModelTransformJobsWithContext is the same as ListMLModelTransformJobs with the addition of
// the ability to pass a context and additional request options.
//
// See ListMLModelTransformJobs 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 *Neptunedata) ListMLModelTransformJobsWithContext(ctx aws.Context, input *ListMLModelTransformJobsInput, opts ...request.Option) (*ListMLModelTransformJobsOutput, error) {
	req, out := c.ListMLModelTransformJobsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opListOpenCypherQueries = "ListOpenCypherQueries"

// ListOpenCypherQueriesRequest generates a "aws/request.Request" representing the
// client's request for the ListOpenCypherQueries operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ListOpenCypherQueries for more information on using the ListOpenCypherQueries
// 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 ListOpenCypherQueriesRequest method.
//	req, resp := client.ListOpenCypherQueriesRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListOpenCypherQueries
func (c *Neptunedata) ListOpenCypherQueriesRequest(input *ListOpenCypherQueriesInput) (req *request.Request, output *ListOpenCypherQueriesOutput) {
	op := &request.Operation{
		Name:       opListOpenCypherQueries,
		HTTPMethod: "GET",
		HTTPPath:   "/opencypher/status",
	}

	if input == nil {
		input = &ListOpenCypherQueriesInput{}
	}

	output = &ListOpenCypherQueriesOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ListOpenCypherQueries API operation for Amazon NeptuneData.
//
// Lists active openCypher queries. See Neptune openCypher status endpoint (https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-opencypher-status.html)
// for more information.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:GetQueryStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getquerystatus)
// IAM action in that cluster.
//
// Note that the neptune-db:QueryLanguage:OpenCypher (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html#iam-neptune-condition-keys)
// IAM condition key can be used in the policy document to restrict the use
// of openCypher queries (see Condition keys available in Neptune IAM data-access
// policy statements (https://docs.aws.amazon.com/neptune/latest/userguide/iam-data-condition-keys.html)).
//
// 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 Amazon NeptuneData's
// API operation ListOpenCypherQueries for usage and error information.
//
// Returned Error Types:
//
//   - InvalidNumericDataException
//     Raised when invalid numerical data is encountered when servicing a request.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - FailureByQueryException
//     Raised when a request fails.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ParsingException
//     Raised when a parsing issue is encountered.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - TimeLimitExceededException
//     Raised when the an operation exceeds the time limit allowed for it.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - ConcurrentModificationException
//     Raised when a request attempts to modify data that is concurrently being
//     modified by another process.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ListOpenCypherQueries
func (c *Neptunedata) ListOpenCypherQueries(input *ListOpenCypherQueriesInput) (*ListOpenCypherQueriesOutput, error) {
	req, out := c.ListOpenCypherQueriesRequest(input)
	return out, req.Send()
}

// ListOpenCypherQueriesWithContext is the same as ListOpenCypherQueries with the addition of
// the ability to pass a context and additional request options.
//
// See ListOpenCypherQueries 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 *Neptunedata) ListOpenCypherQueriesWithContext(ctx aws.Context, input *ListOpenCypherQueriesInput, opts ...request.Option) (*ListOpenCypherQueriesOutput, error) {
	req, out := c.ListOpenCypherQueriesRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opManagePropertygraphStatistics = "ManagePropertygraphStatistics"

// ManagePropertygraphStatisticsRequest generates a "aws/request.Request" representing the
// client's request for the ManagePropertygraphStatistics operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ManagePropertygraphStatistics for more information on using the ManagePropertygraphStatistics
// 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 ManagePropertygraphStatisticsRequest method.
//	req, resp := client.ManagePropertygraphStatisticsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ManagePropertygraphStatistics
func (c *Neptunedata) ManagePropertygraphStatisticsRequest(input *ManagePropertygraphStatisticsInput) (req *request.Request, output *ManagePropertygraphStatisticsOutput) {
	op := &request.Operation{
		Name:       opManagePropertygraphStatistics,
		HTTPMethod: "POST",
		HTTPPath:   "/propertygraph/statistics",
	}

	if input == nil {
		input = &ManagePropertygraphStatisticsInput{}
	}

	output = &ManagePropertygraphStatisticsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ManagePropertygraphStatistics API operation for Amazon NeptuneData.
//
// Manages the generation and use of property graph statistics.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:ManageStatistics (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#managestatistics)
// IAM action in that 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 Amazon NeptuneData's
// API operation ManagePropertygraphStatistics for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - StatisticsNotAvailableException
//     Raised when statistics needed to satisfy a request are not available.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ManagePropertygraphStatistics
func (c *Neptunedata) ManagePropertygraphStatistics(input *ManagePropertygraphStatisticsInput) (*ManagePropertygraphStatisticsOutput, error) {
	req, out := c.ManagePropertygraphStatisticsRequest(input)
	return out, req.Send()
}

// ManagePropertygraphStatisticsWithContext is the same as ManagePropertygraphStatistics with the addition of
// the ability to pass a context and additional request options.
//
// See ManagePropertygraphStatistics 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 *Neptunedata) ManagePropertygraphStatisticsWithContext(ctx aws.Context, input *ManagePropertygraphStatisticsInput, opts ...request.Option) (*ManagePropertygraphStatisticsOutput, error) {
	req, out := c.ManagePropertygraphStatisticsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opManageSparqlStatistics = "ManageSparqlStatistics"

// ManageSparqlStatisticsRequest generates a "aws/request.Request" representing the
// client's request for the ManageSparqlStatistics operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 ManageSparqlStatistics for more information on using the ManageSparqlStatistics
// 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 ManageSparqlStatisticsRequest method.
//	req, resp := client.ManageSparqlStatisticsRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ManageSparqlStatistics
func (c *Neptunedata) ManageSparqlStatisticsRequest(input *ManageSparqlStatisticsInput) (req *request.Request, output *ManageSparqlStatisticsOutput) {
	op := &request.Operation{
		Name:       opManageSparqlStatistics,
		HTTPMethod: "POST",
		HTTPPath:   "/sparql/statistics",
	}

	if input == nil {
		input = &ManageSparqlStatisticsInput{}
	}

	output = &ManageSparqlStatisticsOutput{}
	req = c.newRequest(op, input, output)
	return
}

// ManageSparqlStatistics API operation for Amazon NeptuneData.
//
// Manages the generation and use of RDF graph statistics.
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:ManageStatistics (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#managestatistics)
// IAM action in that 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 Amazon NeptuneData's
// API operation ManageSparqlStatistics for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - StatisticsNotAvailableException
//     Raised when statistics needed to satisfy a request are not available.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - AccessDeniedException
//     Raised in case of an authentication or authorization failure.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ReadOnlyViolationException
//     Raised when a request attempts to write to a read-only resource.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/ManageSparqlStatistics
func (c *Neptunedata) ManageSparqlStatistics(input *ManageSparqlStatisticsInput) (*ManageSparqlStatisticsOutput, error) {
	req, out := c.ManageSparqlStatisticsRequest(input)
	return out, req.Send()
}

// ManageSparqlStatisticsWithContext is the same as ManageSparqlStatistics with the addition of
// the ability to pass a context and additional request options.
//
// See ManageSparqlStatistics 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 *Neptunedata) ManageSparqlStatisticsWithContext(ctx aws.Context, input *ManageSparqlStatisticsInput, opts ...request.Option) (*ManageSparqlStatisticsOutput, error) {
	req, out := c.ManageSparqlStatisticsRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opStartLoaderJob = "StartLoaderJob"

// StartLoaderJobRequest generates a "aws/request.Request" representing the
// client's request for the StartLoaderJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 StartLoaderJob for more information on using the StartLoaderJob
// 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 StartLoaderJobRequest method.
//	req, resp := client.StartLoaderJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/StartLoaderJob
func (c *Neptunedata) StartLoaderJobRequest(input *StartLoaderJobInput) (req *request.Request, output *StartLoaderJobOutput) {
	op := &request.Operation{
		Name:       opStartLoaderJob,
		HTTPMethod: "POST",
		HTTPPath:   "/loader",
	}

	if input == nil {
		input = &StartLoaderJobInput{}
	}

	output = &StartLoaderJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// StartLoaderJob API operation for Amazon NeptuneData.
//
// Starts a Neptune bulk loader job to load data from an Amazon S3 bucket into
// a Neptune DB instance. See Using the Amazon Neptune Bulk Loader to Ingest
// Data (https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:StartLoaderJob (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#startloaderjob)
// IAM action in that 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 Amazon NeptuneData's
// API operation StartLoaderJob for usage and error information.
//
// Returned Error Types:
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - BulkLoadIdNotFoundException
//     Raised when a specified bulk-load job ID cannot be found.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - LoadUrlAccessDeniedException
//     Raised when access is denied to a specified load URL.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - InternalFailureException
//     Raised when the processing of the request failed unexpectedly.
//
//   - S3Exception
//     Raised when there is a problem accessing Amazon S3.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/StartLoaderJob
func (c *Neptunedata) StartLoaderJob(input *StartLoaderJobInput) (*StartLoaderJobOutput, error) {
	req, out := c.StartLoaderJobRequest(input)
	return out, req.Send()
}

// StartLoaderJobWithContext is the same as StartLoaderJob with the addition of
// the ability to pass a context and additional request options.
//
// See StartLoaderJob 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 *Neptunedata) StartLoaderJobWithContext(ctx aws.Context, input *StartLoaderJobInput, opts ...request.Option) (*StartLoaderJobOutput, error) {
	req, out := c.StartLoaderJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opStartMLDataProcessingJob = "StartMLDataProcessingJob"

// StartMLDataProcessingJobRequest generates a "aws/request.Request" representing the
// client's request for the StartMLDataProcessingJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 StartMLDataProcessingJob for more information on using the StartMLDataProcessingJob
// 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 StartMLDataProcessingJobRequest method.
//	req, resp := client.StartMLDataProcessingJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/StartMLDataProcessingJob
func (c *Neptunedata) StartMLDataProcessingJobRequest(input *StartMLDataProcessingJobInput) (req *request.Request, output *StartMLDataProcessingJobOutput) {
	op := &request.Operation{
		Name:       opStartMLDataProcessingJob,
		HTTPMethod: "POST",
		HTTPPath:   "/ml/dataprocessing",
	}

	if input == nil {
		input = &StartMLDataProcessingJobInput{}
	}

	output = &StartMLDataProcessingJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// StartMLDataProcessingJob API operation for Amazon NeptuneData.
//
// Creates a new Neptune ML data processing job for processing the graph data
// exported from Neptune for training. See The dataprocessing command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-dataprocessing.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:StartMLModelDataProcessingJob (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#startmlmodeldataprocessingjob)
// IAM action in that 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 Amazon NeptuneData's
// API operation StartMLDataProcessingJob for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/StartMLDataProcessingJob
func (c *Neptunedata) StartMLDataProcessingJob(input *StartMLDataProcessingJobInput) (*StartMLDataProcessingJobOutput, error) {
	req, out := c.StartMLDataProcessingJobRequest(input)
	return out, req.Send()
}

// StartMLDataProcessingJobWithContext is the same as StartMLDataProcessingJob with the addition of
// the ability to pass a context and additional request options.
//
// See StartMLDataProcessingJob 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 *Neptunedata) StartMLDataProcessingJobWithContext(ctx aws.Context, input *StartMLDataProcessingJobInput, opts ...request.Option) (*StartMLDataProcessingJobOutput, error) {
	req, out := c.StartMLDataProcessingJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opStartMLModelTrainingJob = "StartMLModelTrainingJob"

// StartMLModelTrainingJobRequest generates a "aws/request.Request" representing the
// client's request for the StartMLModelTrainingJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 StartMLModelTrainingJob for more information on using the StartMLModelTrainingJob
// 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 StartMLModelTrainingJobRequest method.
//	req, resp := client.StartMLModelTrainingJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/StartMLModelTrainingJob
func (c *Neptunedata) StartMLModelTrainingJobRequest(input *StartMLModelTrainingJobInput) (req *request.Request, output *StartMLModelTrainingJobOutput) {
	op := &request.Operation{
		Name:       opStartMLModelTrainingJob,
		HTTPMethod: "POST",
		HTTPPath:   "/ml/modeltraining",
	}

	if input == nil {
		input = &StartMLModelTrainingJobInput{}
	}

	output = &StartMLModelTrainingJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// StartMLModelTrainingJob API operation for Amazon NeptuneData.
//
// Creates a new Neptune ML model training job. See Model training using the
// modeltraining command (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-api-modeltraining.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:StartMLModelTrainingJob (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#startmlmodeltrainingjob)
// IAM action in that 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 Amazon NeptuneData's
// API operation StartMLModelTrainingJob for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/StartMLModelTrainingJob
func (c *Neptunedata) StartMLModelTrainingJob(input *StartMLModelTrainingJobInput) (*StartMLModelTrainingJobOutput, error) {
	req, out := c.StartMLModelTrainingJobRequest(input)
	return out, req.Send()
}

// StartMLModelTrainingJobWithContext is the same as StartMLModelTrainingJob with the addition of
// the ability to pass a context and additional request options.
//
// See StartMLModelTrainingJob 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 *Neptunedata) StartMLModelTrainingJobWithContext(ctx aws.Context, input *StartMLModelTrainingJobInput, opts ...request.Option) (*StartMLModelTrainingJobOutput, error) {
	req, out := c.StartMLModelTrainingJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

const opStartMLModelTransformJob = "StartMLModelTransformJob"

// StartMLModelTransformJobRequest generates a "aws/request.Request" representing the
// client's request for the StartMLModelTransformJob operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// 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 StartMLModelTransformJob for more information on using the StartMLModelTransformJob
// 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 StartMLModelTransformJobRequest method.
//	req, resp := client.StartMLModelTransformJobRequest(params)
//
//	err := req.Send()
//	if err == nil { // resp is now filled
//	    fmt.Println(resp)
//	}
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/StartMLModelTransformJob
func (c *Neptunedata) StartMLModelTransformJobRequest(input *StartMLModelTransformJobInput) (req *request.Request, output *StartMLModelTransformJobOutput) {
	op := &request.Operation{
		Name:       opStartMLModelTransformJob,
		HTTPMethod: "POST",
		HTTPPath:   "/ml/modeltransform",
	}

	if input == nil {
		input = &StartMLModelTransformJobInput{}
	}

	output = &StartMLModelTransformJobOutput{}
	req = c.newRequest(op, input, output)
	return
}

// StartMLModelTransformJob API operation for Amazon NeptuneData.
//
// Creates a new model transform job. See Use a trained model to generate new
// model artifacts (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).
//
// When invoking this operation in a Neptune cluster that has IAM authentication
// enabled, the IAM user or role making the request must have a policy attached
// that allows the neptune-db:StartMLModelTransformJob (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#startmlmodeltransformjob)
// IAM action in that 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 Amazon NeptuneData's
// API operation StartMLModelTransformJob for usage and error information.
//
// Returned Error Types:
//
//   - UnsupportedOperationException
//     Raised when a request attempts to initiate an operation that is not supported.
//
//   - BadRequestException
//     Raised when a request is submitted that cannot be processed.
//
//   - MLResourceNotFoundException
//     Raised when a specified machine-learning resource could not be found.
//
//   - InvalidParameterException
//     Raised when a parameter value is not valid.
//
//   - ClientTimeoutException
//     Raised when a request timed out in the client.
//
//   - PreconditionsFailedException
//     Raised when a precondition for processing a request is not satisfied.
//
//   - ConstraintViolationException
//     Raised when a value in a request field did not satisfy required constraints.
//
//   - InvalidArgumentException
//     Raised when an argument in a request has an invalid value.
//
//   - MissingParameterException
//     Raised when a required parameter is missing.
//
//   - IllegalArgumentException
//     Raised when an argument in a request is not supported.
//
//   - TooManyRequestsException
//     Raised when the number of requests being processed exceeds the limit.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/neptunedata-2023-08-01/StartMLModelTransformJob
func (c *Neptunedata) StartMLModelTransformJob(input *StartMLModelTransformJobInput) (*StartMLModelTransformJobOutput, error) {
	req, out := c.StartMLModelTransformJobRequest(input)
	return out, req.Send()
}

// StartMLModelTransformJobWithContext is the same as StartMLModelTransformJob with the addition of
// the ability to pass a context and additional request options.
//
// See StartMLModelTransformJob 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 *Neptunedata) StartMLModelTransformJobWithContext(ctx aws.Context, input *StartMLModelTransformJobInput, opts ...request.Option) (*StartMLModelTransformJobOutput, error) {
	req, out := c.StartMLModelTransformJobRequest(input)
	req.SetContext(ctx)
	req.ApplyOptions(opts...)
	return out, req.Send()
}

// Raised in case of an authentication or authorization failure.
type AccessDeniedException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) GoString() string {
	return s.String()
}

func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
	return &AccessDeniedException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *AccessDeniedException) Code() string {
	return "AccessDeniedException"
}

// Message returns the exception's message.
func (s *AccessDeniedException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *AccessDeniedException) OrigErr() error {
	return nil
}

func (s *AccessDeniedException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *AccessDeniedException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *AccessDeniedException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a request is submitted that cannot be processed.
type BadRequestException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the bad request.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BadRequestException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BadRequestException) GoString() string {
	return s.String()
}

func newErrorBadRequestException(v protocol.ResponseMetadata) error {
	return &BadRequestException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *BadRequestException) Code() string {
	return "BadRequestException"
}

// Message returns the exception's message.
func (s *BadRequestException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *BadRequestException) OrigErr() error {
	return nil
}

func (s *BadRequestException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *BadRequestException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *BadRequestException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a specified bulk-load job ID cannot be found.
type BulkLoadIdNotFoundException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The bulk-load job ID that could not be found.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BulkLoadIdNotFoundException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BulkLoadIdNotFoundException) GoString() string {
	return s.String()
}

func newErrorBulkLoadIdNotFoundException(v protocol.ResponseMetadata) error {
	return &BulkLoadIdNotFoundException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *BulkLoadIdNotFoundException) Code() string {
	return "BulkLoadIdNotFoundException"
}

// Message returns the exception's message.
func (s *BulkLoadIdNotFoundException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *BulkLoadIdNotFoundException) OrigErr() error {
	return nil
}

func (s *BulkLoadIdNotFoundException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *BulkLoadIdNotFoundException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *BulkLoadIdNotFoundException) RequestID() string {
	return s.RespMetadata.RequestID
}

type CancelGremlinQueryInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The unique identifier that identifies the query to be canceled.
	//
	// QueryId is a required field
	QueryId *string `location:"uri" locationName:"queryId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelGremlinQueryInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelGremlinQueryInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CancelGremlinQueryInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CancelGremlinQueryInput"}
	if s.QueryId == nil {
		invalidParams.Add(request.NewErrParamRequired("QueryId"))
	}
	if s.QueryId != nil && len(*s.QueryId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("QueryId", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetQueryId sets the QueryId field's value.
func (s *CancelGremlinQueryInput) SetQueryId(v string) *CancelGremlinQueryInput {
	s.QueryId = &v
	return s
}

type CancelGremlinQueryOutput struct {
	_ struct{} `type:"structure"`

	// The status of the cancelation
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelGremlinQueryOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelGremlinQueryOutput) GoString() string {
	return s.String()
}

// SetStatus sets the Status field's value.
func (s *CancelGremlinQueryOutput) SetStatus(v string) *CancelGremlinQueryOutput {
	s.Status = &v
	return s
}

type CancelLoaderJobInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The ID of the load job to be deleted.
	//
	// LoadId is a required field
	LoadId *string `location:"uri" locationName:"loadId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelLoaderJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelLoaderJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CancelLoaderJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CancelLoaderJobInput"}
	if s.LoadId == nil {
		invalidParams.Add(request.NewErrParamRequired("LoadId"))
	}
	if s.LoadId != nil && len(*s.LoadId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("LoadId", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetLoadId sets the LoadId field's value.
func (s *CancelLoaderJobInput) SetLoadId(v string) *CancelLoaderJobInput {
	s.LoadId = &v
	return s
}

type CancelLoaderJobOutput struct {
	_ struct{} `type:"structure"`

	// The cancellation status.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelLoaderJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelLoaderJobOutput) GoString() string {
	return s.String()
}

// SetStatus sets the Status field's value.
func (s *CancelLoaderJobOutput) SetStatus(v string) *CancelLoaderJobOutput {
	s.Status = &v
	return s
}

type CancelMLDataProcessingJobInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// If set to TRUE, this flag specifies that all Neptune ML S3 artifacts should
	// be deleted when the job is stopped. The default is FALSE.
	Clean *bool `location:"querystring" locationName:"clean" type:"boolean"`

	// The unique identifier of the data-processing job.
	//
	// Id is a required field
	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLDataProcessingJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLDataProcessingJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CancelMLDataProcessingJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CancelMLDataProcessingJobInput"}
	if s.Id == nil {
		invalidParams.Add(request.NewErrParamRequired("Id"))
	}
	if s.Id != nil && len(*s.Id) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClean sets the Clean field's value.
func (s *CancelMLDataProcessingJobInput) SetClean(v bool) *CancelMLDataProcessingJobInput {
	s.Clean = &v
	return s
}

// SetId sets the Id field's value.
func (s *CancelMLDataProcessingJobInput) SetId(v string) *CancelMLDataProcessingJobInput {
	s.Id = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *CancelMLDataProcessingJobInput) SetNeptuneIamRoleArn(v string) *CancelMLDataProcessingJobInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type CancelMLDataProcessingJobOutput struct {
	_ struct{} `type:"structure"`

	// The status of the cancellation request.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLDataProcessingJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLDataProcessingJobOutput) GoString() string {
	return s.String()
}

// SetStatus sets the Status field's value.
func (s *CancelMLDataProcessingJobOutput) SetStatus(v string) *CancelMLDataProcessingJobOutput {
	s.Status = &v
	return s
}

type CancelMLModelTrainingJobInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// If set to TRUE, this flag specifies that all Amazon S3 artifacts should be
	// deleted when the job is stopped. The default is FALSE.
	Clean *bool `location:"querystring" locationName:"clean" type:"boolean"`

	// The unique identifier of the model-training job to be canceled.
	//
	// Id is a required field
	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLModelTrainingJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLModelTrainingJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CancelMLModelTrainingJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CancelMLModelTrainingJobInput"}
	if s.Id == nil {
		invalidParams.Add(request.NewErrParamRequired("Id"))
	}
	if s.Id != nil && len(*s.Id) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClean sets the Clean field's value.
func (s *CancelMLModelTrainingJobInput) SetClean(v bool) *CancelMLModelTrainingJobInput {
	s.Clean = &v
	return s
}

// SetId sets the Id field's value.
func (s *CancelMLModelTrainingJobInput) SetId(v string) *CancelMLModelTrainingJobInput {
	s.Id = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *CancelMLModelTrainingJobInput) SetNeptuneIamRoleArn(v string) *CancelMLModelTrainingJobInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type CancelMLModelTrainingJobOutput struct {
	_ struct{} `type:"structure"`

	// The status of the cancellation.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLModelTrainingJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLModelTrainingJobOutput) GoString() string {
	return s.String()
}

// SetStatus sets the Status field's value.
func (s *CancelMLModelTrainingJobOutput) SetStatus(v string) *CancelMLModelTrainingJobOutput {
	s.Status = &v
	return s
}

type CancelMLModelTransformJobInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// If this flag is set to TRUE, all Neptune ML S3 artifacts should be deleted
	// when the job is stopped. The default is FALSE.
	Clean *bool `location:"querystring" locationName:"clean" type:"boolean"`

	// The unique ID of the model transform job to be canceled.
	//
	// Id is a required field
	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLModelTransformJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLModelTransformJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CancelMLModelTransformJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CancelMLModelTransformJobInput"}
	if s.Id == nil {
		invalidParams.Add(request.NewErrParamRequired("Id"))
	}
	if s.Id != nil && len(*s.Id) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClean sets the Clean field's value.
func (s *CancelMLModelTransformJobInput) SetClean(v bool) *CancelMLModelTransformJobInput {
	s.Clean = &v
	return s
}

// SetId sets the Id field's value.
func (s *CancelMLModelTransformJobInput) SetId(v string) *CancelMLModelTransformJobInput {
	s.Id = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *CancelMLModelTransformJobInput) SetNeptuneIamRoleArn(v string) *CancelMLModelTransformJobInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type CancelMLModelTransformJobOutput struct {
	_ struct{} `type:"structure"`

	// the status of the cancelation.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLModelTransformJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelMLModelTransformJobOutput) GoString() string {
	return s.String()
}

// SetStatus sets the Status field's value.
func (s *CancelMLModelTransformJobOutput) SetStatus(v string) *CancelMLModelTransformJobOutput {
	s.Status = &v
	return s
}

type CancelOpenCypherQueryInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The unique ID of the openCypher query to cancel.
	//
	// QueryId is a required field
	QueryId *string `location:"uri" locationName:"queryId" type:"string" required:"true"`

	// If set to TRUE, causes the cancelation of the openCypher query to happen
	// silently.
	Silent *bool `location:"querystring" locationName:"silent" type:"boolean"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelOpenCypherQueryInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelOpenCypherQueryInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CancelOpenCypherQueryInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CancelOpenCypherQueryInput"}
	if s.QueryId == nil {
		invalidParams.Add(request.NewErrParamRequired("QueryId"))
	}
	if s.QueryId != nil && len(*s.QueryId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("QueryId", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetQueryId sets the QueryId field's value.
func (s *CancelOpenCypherQueryInput) SetQueryId(v string) *CancelOpenCypherQueryInput {
	s.QueryId = &v
	return s
}

// SetSilent sets the Silent field's value.
func (s *CancelOpenCypherQueryInput) SetSilent(v bool) *CancelOpenCypherQueryInput {
	s.Silent = &v
	return s
}

type CancelOpenCypherQueryOutput struct {
	_ struct{} `type:"structure"`

	// The cancelation payload for the openCypher query.
	Payload *bool `locationName:"payload" type:"boolean"`

	// The cancellation status of the openCypher query.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelOpenCypherQueryOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelOpenCypherQueryOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *CancelOpenCypherQueryOutput) SetPayload(v bool) *CancelOpenCypherQueryOutput {
	s.Payload = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *CancelOpenCypherQueryOutput) SetStatus(v string) *CancelOpenCypherQueryOutput {
	s.Status = &v
	return s
}

// Raised when a user cancelled a request.
type CancelledByUserException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelledByUserException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CancelledByUserException) GoString() string {
	return s.String()
}

func newErrorCancelledByUserException(v protocol.ResponseMetadata) error {
	return &CancelledByUserException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *CancelledByUserException) Code() string {
	return "CancelledByUserException"
}

// Message returns the exception's message.
func (s *CancelledByUserException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *CancelledByUserException) OrigErr() error {
	return nil
}

func (s *CancelledByUserException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *CancelledByUserException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *CancelledByUserException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a request timed out in the client.
type ClientTimeoutException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ClientTimeoutException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ClientTimeoutException) GoString() string {
	return s.String()
}

func newErrorClientTimeoutException(v protocol.ResponseMetadata) error {
	return &ClientTimeoutException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ClientTimeoutException) Code() string {
	return "ClientTimeoutException"
}

// Message returns the exception's message.
func (s *ClientTimeoutException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ClientTimeoutException) OrigErr() error {
	return nil
}

func (s *ClientTimeoutException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ClientTimeoutException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ClientTimeoutException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a request attempts to modify data that is concurrently being
// modified by another process.
type ConcurrentModificationException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConcurrentModificationException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConcurrentModificationException) GoString() string {
	return s.String()
}

func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
	return &ConcurrentModificationException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ConcurrentModificationException) Code() string {
	return "ConcurrentModificationException"
}

// Message returns the exception's message.
func (s *ConcurrentModificationException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ConcurrentModificationException) OrigErr() error {
	return nil
}

func (s *ConcurrentModificationException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ConcurrentModificationException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ConcurrentModificationException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a value in a request field did not satisfy required constraints.
type ConstraintViolationException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConstraintViolationException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConstraintViolationException) GoString() string {
	return s.String()
}

func newErrorConstraintViolationException(v protocol.ResponseMetadata) error {
	return &ConstraintViolationException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ConstraintViolationException) Code() string {
	return "ConstraintViolationException"
}

// Message returns the exception's message.
func (s *ConstraintViolationException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ConstraintViolationException) OrigErr() error {
	return nil
}

func (s *ConstraintViolationException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ConstraintViolationException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ConstraintViolationException) RequestID() string {
	return s.RespMetadata.RequestID
}

type CreateMLEndpointInput struct {
	_ struct{} `type:"structure"`

	// A unique identifier for the new inference endpoint. The default is an autogenerated
	// timestamped name.
	Id *string `locationName:"id" type:"string"`

	// The minimum number of Amazon EC2 instances to deploy to an endpoint for prediction.
	// The default is 1
	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`

	// The type of Neptune ML instance to use for online servicing. The default
	// is ml.m5.xlarge. Choosing the ML instance for an inference endpoint depends
	// on the task type, the graph size, and your budget.
	InstanceType *string `locationName:"instanceType" type:"string"`

	// The job Id of the completed model-training job that has created the model
	// that the inference endpoint will point to. You must supply either the mlModelTrainingJobId
	// or the mlModelTransformJobId.
	MlModelTrainingJobId *string `locationName:"mlModelTrainingJobId" type:"string"`

	// The job Id of the completed model-transform job. You must supply either the
	// mlModelTrainingJobId or the mlModelTransformJobId.
	MlModelTransformJobId *string `locationName:"mlModelTransformJobId" type:"string"`

	// Model type for training. By default the Neptune ML model is automatically
	// based on the modelType used in data processing, but you can specify a different
	// model type here. The default is rgcn for heterogeneous graphs and kge for
	// knowledge graphs. The only valid value for heterogeneous graphs is rgcn.
	// Valid values for knowledge graphs are: kge, transe, distmult, and rotate.
	ModelName *string `locationName:"modelName" type:"string"`

	// The ARN of an IAM role providing Neptune access to SageMaker and Amazon S3
	// resources. This must be listed in your DB cluster parameter group or an error
	// will be thrown.
	NeptuneIamRoleArn *string `locationName:"neptuneIamRoleArn" type:"string"`

	// If set to true, update indicates that this is an update request. The default
	// is false. You must supply either the mlModelTrainingJobId or the mlModelTransformJobId.
	Update *bool `locationName:"update" type:"boolean"`

	// The Amazon Key Management Service (Amazon KMS) key that SageMaker uses to
	// encrypt data on the storage volume attached to the ML compute instances that
	// run the training job. The default is None.
	VolumeEncryptionKMSKey *string `locationName:"volumeEncryptionKMSKey" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateMLEndpointInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateMLEndpointInput) GoString() string {
	return s.String()
}

// SetId sets the Id field's value.
func (s *CreateMLEndpointInput) SetId(v string) *CreateMLEndpointInput {
	s.Id = &v
	return s
}

// SetInstanceCount sets the InstanceCount field's value.
func (s *CreateMLEndpointInput) SetInstanceCount(v int64) *CreateMLEndpointInput {
	s.InstanceCount = &v
	return s
}

// SetInstanceType sets the InstanceType field's value.
func (s *CreateMLEndpointInput) SetInstanceType(v string) *CreateMLEndpointInput {
	s.InstanceType = &v
	return s
}

// SetMlModelTrainingJobId sets the MlModelTrainingJobId field's value.
func (s *CreateMLEndpointInput) SetMlModelTrainingJobId(v string) *CreateMLEndpointInput {
	s.MlModelTrainingJobId = &v
	return s
}

// SetMlModelTransformJobId sets the MlModelTransformJobId field's value.
func (s *CreateMLEndpointInput) SetMlModelTransformJobId(v string) *CreateMLEndpointInput {
	s.MlModelTransformJobId = &v
	return s
}

// SetModelName sets the ModelName field's value.
func (s *CreateMLEndpointInput) SetModelName(v string) *CreateMLEndpointInput {
	s.ModelName = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *CreateMLEndpointInput) SetNeptuneIamRoleArn(v string) *CreateMLEndpointInput {
	s.NeptuneIamRoleArn = &v
	return s
}

// SetUpdate sets the Update field's value.
func (s *CreateMLEndpointInput) SetUpdate(v bool) *CreateMLEndpointInput {
	s.Update = &v
	return s
}

// SetVolumeEncryptionKMSKey sets the VolumeEncryptionKMSKey field's value.
func (s *CreateMLEndpointInput) SetVolumeEncryptionKMSKey(v string) *CreateMLEndpointInput {
	s.VolumeEncryptionKMSKey = &v
	return s
}

type CreateMLEndpointOutput struct {
	_ struct{} `type:"structure"`

	// The ARN for the new inference endpoint.
	Arn *string `locationName:"arn" type:"string"`

	// The endpoint creation time, in milliseconds.
	CreationTimeInMillis *int64 `locationName:"creationTimeInMillis" type:"long"`

	// The unique ID of the new inference endpoint.
	Id *string `locationName:"id" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateMLEndpointOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateMLEndpointOutput) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *CreateMLEndpointOutput) SetArn(v string) *CreateMLEndpointOutput {
	s.Arn = &v
	return s
}

// SetCreationTimeInMillis sets the CreationTimeInMillis field's value.
func (s *CreateMLEndpointOutput) SetCreationTimeInMillis(v int64) *CreateMLEndpointOutput {
	s.CreationTimeInMillis = &v
	return s
}

// SetId sets the Id field's value.
func (s *CreateMLEndpointOutput) SetId(v string) *CreateMLEndpointOutput {
	s.Id = &v
	return s
}

// Contains custom model training parameters. See Custom models in Neptune ML
// (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-custom-models.html).
type CustomModelTrainingParameters struct {
	_ struct{} `type:"structure"`

	// The path to the Amazon S3 location where the Python module implementing your
	// model is located. This must point to a valid existing Amazon S3 location
	// that contains, at a minimum, a training script, a transform script, and a
	// model-hpo-configuration.json file.
	//
	// SourceS3DirectoryPath is a required field
	SourceS3DirectoryPath *string `locationName:"sourceS3DirectoryPath" type:"string" required:"true"`

	// The name of the entry point in your module of a script that performs model
	// training and takes hyperparameters as command-line arguments, including fixed
	// hyperparameters. The default is training.py.
	TrainingEntryPointScript *string `locationName:"trainingEntryPointScript" type:"string"`

	// The name of the entry point in your module of a script that should be run
	// after the best model from the hyperparameter search has been identified,
	// to compute the model artifacts necessary for model deployment. It should
	// be able to run with no command-line arguments.The default is transform.py.
	TransformEntryPointScript *string `locationName:"transformEntryPointScript" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CustomModelTrainingParameters) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CustomModelTrainingParameters) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CustomModelTrainingParameters) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CustomModelTrainingParameters"}
	if s.SourceS3DirectoryPath == nil {
		invalidParams.Add(request.NewErrParamRequired("SourceS3DirectoryPath"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetSourceS3DirectoryPath sets the SourceS3DirectoryPath field's value.
func (s *CustomModelTrainingParameters) SetSourceS3DirectoryPath(v string) *CustomModelTrainingParameters {
	s.SourceS3DirectoryPath = &v
	return s
}

// SetTrainingEntryPointScript sets the TrainingEntryPointScript field's value.
func (s *CustomModelTrainingParameters) SetTrainingEntryPointScript(v string) *CustomModelTrainingParameters {
	s.TrainingEntryPointScript = &v
	return s
}

// SetTransformEntryPointScript sets the TransformEntryPointScript field's value.
func (s *CustomModelTrainingParameters) SetTransformEntryPointScript(v string) *CustomModelTrainingParameters {
	s.TransformEntryPointScript = &v
	return s
}

// Contains custom model transform parameters. See Use a trained model to generate
// new model artifacts (https://docs.aws.amazon.com/neptune/latest/userguide/machine-learning-model-transform.html).
type CustomModelTransformParameters struct {
	_ struct{} `type:"structure"`

	// The path to the Amazon S3 location where the Python module implementing your
	// model is located. This must point to a valid existing Amazon S3 location
	// that contains, at a minimum, a training script, a transform script, and a
	// model-hpo-configuration.json file.
	//
	// SourceS3DirectoryPath is a required field
	SourceS3DirectoryPath *string `locationName:"sourceS3DirectoryPath" type:"string" required:"true"`

	// The name of the entry point in your module of a script that should be run
	// after the best model from the hyperparameter search has been identified,
	// to compute the model artifacts necessary for model deployment. It should
	// be able to run with no command-line arguments. The default is transform.py.
	TransformEntryPointScript *string `locationName:"transformEntryPointScript" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CustomModelTransformParameters) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CustomModelTransformParameters) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *CustomModelTransformParameters) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "CustomModelTransformParameters"}
	if s.SourceS3DirectoryPath == nil {
		invalidParams.Add(request.NewErrParamRequired("SourceS3DirectoryPath"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetSourceS3DirectoryPath sets the SourceS3DirectoryPath field's value.
func (s *CustomModelTransformParameters) SetSourceS3DirectoryPath(v string) *CustomModelTransformParameters {
	s.SourceS3DirectoryPath = &v
	return s
}

// SetTransformEntryPointScript sets the TransformEntryPointScript field's value.
func (s *CustomModelTransformParameters) SetTransformEntryPointScript(v string) *CustomModelTransformParameters {
	s.TransformEntryPointScript = &v
	return s
}

type DeleteMLEndpointInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// If this flag is set to TRUE, all Neptune ML S3 artifacts should be deleted
	// when the job is stopped. The default is FALSE.
	Clean *bool `location:"querystring" locationName:"clean" type:"boolean"`

	// The unique identifier of the inference endpoint.
	//
	// Id is a required field
	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`

	// The ARN of an IAM role providing Neptune access to SageMaker and Amazon S3
	// resources. This must be listed in your DB cluster parameter group or an error
	// will be thrown.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteMLEndpointInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteMLEndpointInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteMLEndpointInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "DeleteMLEndpointInput"}
	if s.Id == nil {
		invalidParams.Add(request.NewErrParamRequired("Id"))
	}
	if s.Id != nil && len(*s.Id) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetClean sets the Clean field's value.
func (s *DeleteMLEndpointInput) SetClean(v bool) *DeleteMLEndpointInput {
	s.Clean = &v
	return s
}

// SetId sets the Id field's value.
func (s *DeleteMLEndpointInput) SetId(v string) *DeleteMLEndpointInput {
	s.Id = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *DeleteMLEndpointInput) SetNeptuneIamRoleArn(v string) *DeleteMLEndpointInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type DeleteMLEndpointOutput struct {
	_ struct{} `type:"structure"`

	// The status of the cancellation.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteMLEndpointOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteMLEndpointOutput) GoString() string {
	return s.String()
}

// SetStatus sets the Status field's value.
func (s *DeleteMLEndpointOutput) SetStatus(v string) *DeleteMLEndpointOutput {
	s.Status = &v
	return s
}

type DeletePropertygraphStatisticsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeletePropertygraphStatisticsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeletePropertygraphStatisticsInput) GoString() string {
	return s.String()
}

type DeletePropertygraphStatisticsOutput struct {
	_ struct{} `type:"structure"`

	// The deletion payload.
	Payload *DeleteStatisticsValueMap `locationName:"payload" type:"structure"`

	// The cancel status.
	Status *string `locationName:"status" type:"string"`

	// The HTTP response code: 200 if the delete was successful, or 204 if there
	// were no statistics to delete.
	StatusCode *int64 `location:"statusCode" locationName:"statusCode" type:"integer"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeletePropertygraphStatisticsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeletePropertygraphStatisticsOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *DeletePropertygraphStatisticsOutput) SetPayload(v *DeleteStatisticsValueMap) *DeletePropertygraphStatisticsOutput {
	s.Payload = v
	return s
}

// SetStatus sets the Status field's value.
func (s *DeletePropertygraphStatisticsOutput) SetStatus(v string) *DeletePropertygraphStatisticsOutput {
	s.Status = &v
	return s
}

// SetStatusCode sets the StatusCode field's value.
func (s *DeletePropertygraphStatisticsOutput) SetStatusCode(v int64) *DeletePropertygraphStatisticsOutput {
	s.StatusCode = &v
	return s
}

type DeleteSparqlStatisticsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteSparqlStatisticsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteSparqlStatisticsInput) GoString() string {
	return s.String()
}

type DeleteSparqlStatisticsOutput struct {
	_ struct{} `type:"structure"`

	// The deletion payload.
	Payload *DeleteStatisticsValueMap `locationName:"payload" type:"structure"`

	// The cancel status.
	Status *string `locationName:"status" type:"string"`

	// The HTTP response code: 200 if the delete was successful, or 204 if there
	// were no statistics to delete.
	StatusCode *int64 `location:"statusCode" locationName:"statusCode" type:"integer"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteSparqlStatisticsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteSparqlStatisticsOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *DeleteSparqlStatisticsOutput) SetPayload(v *DeleteStatisticsValueMap) *DeleteSparqlStatisticsOutput {
	s.Payload = v
	return s
}

// SetStatus sets the Status field's value.
func (s *DeleteSparqlStatisticsOutput) SetStatus(v string) *DeleteSparqlStatisticsOutput {
	s.Status = &v
	return s
}

// SetStatusCode sets the StatusCode field's value.
func (s *DeleteSparqlStatisticsOutput) SetStatusCode(v int64) *DeleteSparqlStatisticsOutput {
	s.StatusCode = &v
	return s
}

// The payload for DeleteStatistics.
type DeleteStatisticsValueMap struct {
	_ struct{} `type:"structure"`

	// The current status of the statistics.
	Active *bool `locationName:"active" type:"boolean"`

	// The ID of the statistics generation run that is currently occurring.
	StatisticsId *string `locationName:"statisticsId" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteStatisticsValueMap) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteStatisticsValueMap) GoString() string {
	return s.String()
}

// SetActive sets the Active field's value.
func (s *DeleteStatisticsValueMap) SetActive(v bool) *DeleteStatisticsValueMap {
	s.Active = &v
	return s
}

// SetStatisticsId sets the StatisticsId field's value.
func (s *DeleteStatisticsValueMap) SetStatisticsId(v string) *DeleteStatisticsValueMap {
	s.StatisticsId = &v
	return s
}

// An edge structure.
type EdgeStructure struct {
	_ struct{} `type:"structure"`

	// The number of edges that have this specific structure.
	Count *int64 `locationName:"count" type:"long"`

	// A list of edge properties present in this specific structure.
	EdgeProperties []*string `locationName:"edgeProperties" type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EdgeStructure) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EdgeStructure) GoString() string {
	return s.String()
}

// SetCount sets the Count field's value.
func (s *EdgeStructure) SetCount(v int64) *EdgeStructure {
	s.Count = &v
	return s
}

// SetEdgeProperties sets the EdgeProperties field's value.
func (s *EdgeStructure) SetEdgeProperties(v []*string) *EdgeStructure {
	s.EdgeProperties = v
	return s
}

type ExecuteFastResetInput struct {
	_ struct{} `type:"structure"`

	// The fast reset action. One of the following values:
	//
	//    * initiateDatabaseReset – This action generates a unique token needed
	//    to actually perform the fast reset.
	//
	//    * performDatabaseReset – This action uses the token generated by the
	//    initiateDatabaseReset action to actually perform the fast reset.
	//
	// Action is a required field
	Action *string `locationName:"action" type:"string" required:"true" enum:"Action"`

	// The fast-reset token to initiate the reset.
	Token *string `locationName:"token" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteFastResetInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteFastResetInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ExecuteFastResetInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ExecuteFastResetInput"}
	if s.Action == nil {
		invalidParams.Add(request.NewErrParamRequired("Action"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetAction sets the Action field's value.
func (s *ExecuteFastResetInput) SetAction(v string) *ExecuteFastResetInput {
	s.Action = &v
	return s
}

// SetToken sets the Token field's value.
func (s *ExecuteFastResetInput) SetToken(v string) *ExecuteFastResetInput {
	s.Token = &v
	return s
}

type ExecuteFastResetOutput struct {
	_ struct{} `type:"structure"`

	// The payload is only returned by the initiateDatabaseReset action, and contains
	// the unique token to use with the performDatabaseReset action to make the
	// reset occur.
	Payload *FastResetToken `locationName:"payload" type:"structure"`

	// The status is only returned for the performDatabaseReset action, and indicates
	// whether or not the fast reset rquest is accepted.
	//
	// Status is a required field
	Status *string `locationName:"status" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteFastResetOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteFastResetOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *ExecuteFastResetOutput) SetPayload(v *FastResetToken) *ExecuteFastResetOutput {
	s.Payload = v
	return s
}

// SetStatus sets the Status field's value.
func (s *ExecuteFastResetOutput) SetStatus(v string) *ExecuteFastResetOutput {
	s.Status = &v
	return s
}

type ExecuteGremlinExplainQueryInput struct {
	_ struct{} `type:"structure"`

	// The Gremlin explain query string.
	//
	// GremlinQuery is a required field
	GremlinQuery *string `locationName:"gremlin" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinExplainQueryInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinExplainQueryInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ExecuteGremlinExplainQueryInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ExecuteGremlinExplainQueryInput"}
	if s.GremlinQuery == nil {
		invalidParams.Add(request.NewErrParamRequired("GremlinQuery"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetGremlinQuery sets the GremlinQuery field's value.
func (s *ExecuteGremlinExplainQueryInput) SetGremlinQuery(v string) *ExecuteGremlinExplainQueryInput {
	s.GremlinQuery = &v
	return s
}

type ExecuteGremlinExplainQueryOutput struct {
	_ struct{} `type:"structure" payload:"Output"`

	// A text blob containing the Gremlin explain result, as described in Tuning
	// Gremlin queries (https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-traversal-tuning.html).
	Output []byte `locationName:"output" type:"blob"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinExplainQueryOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinExplainQueryOutput) GoString() string {
	return s.String()
}

// SetOutput sets the Output field's value.
func (s *ExecuteGremlinExplainQueryOutput) SetOutput(v []byte) *ExecuteGremlinExplainQueryOutput {
	s.Output = v
	return s
}

type ExecuteGremlinProfileQueryInput struct {
	_ struct{} `type:"structure"`

	// If non-zero, causes the results string to be truncated at that number of
	// characters. If set to zero, the string contains all the results.
	Chop *int64 `locationName:"profile.chop" type:"integer"`

	// The Gremlin query string to profile.
	//
	// GremlinQuery is a required field
	GremlinQuery *string `locationName:"gremlin" type:"string" required:"true"`

	// If this flag is set to TRUE, the results include a detailed report of all
	// index operations that took place during query execution and serialization.
	IndexOps *bool `locationName:"profile.indexOps" type:"boolean"`

	// If this flag is set to TRUE, the query results are gathered and displayed
	// as part of the profile report. If FALSE, only the result count is displayed.
	Results *bool `locationName:"profile.results" type:"boolean"`

	// If non-null, the gathered results are returned in a serialized response message
	// in the format specified by this parameter. See Gremlin profile API in Neptune
	// (https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-profile-api.html)
	// for more information.
	Serializer *string `locationName:"profile.serializer" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinProfileQueryInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinProfileQueryInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ExecuteGremlinProfileQueryInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ExecuteGremlinProfileQueryInput"}
	if s.GremlinQuery == nil {
		invalidParams.Add(request.NewErrParamRequired("GremlinQuery"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetChop sets the Chop field's value.
func (s *ExecuteGremlinProfileQueryInput) SetChop(v int64) *ExecuteGremlinProfileQueryInput {
	s.Chop = &v
	return s
}

// SetGremlinQuery sets the GremlinQuery field's value.
func (s *ExecuteGremlinProfileQueryInput) SetGremlinQuery(v string) *ExecuteGremlinProfileQueryInput {
	s.GremlinQuery = &v
	return s
}

// SetIndexOps sets the IndexOps field's value.
func (s *ExecuteGremlinProfileQueryInput) SetIndexOps(v bool) *ExecuteGremlinProfileQueryInput {
	s.IndexOps = &v
	return s
}

// SetResults sets the Results field's value.
func (s *ExecuteGremlinProfileQueryInput) SetResults(v bool) *ExecuteGremlinProfileQueryInput {
	s.Results = &v
	return s
}

// SetSerializer sets the Serializer field's value.
func (s *ExecuteGremlinProfileQueryInput) SetSerializer(v string) *ExecuteGremlinProfileQueryInput {
	s.Serializer = &v
	return s
}

type ExecuteGremlinProfileQueryOutput struct {
	_ struct{} `type:"structure" payload:"Output"`

	// A text blob containing the Gremlin Profile result. See Gremlin profile API
	// in Neptune (https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-profile-api.html)
	// for details.
	Output []byte `locationName:"output" type:"blob"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinProfileQueryOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinProfileQueryOutput) GoString() string {
	return s.String()
}

// SetOutput sets the Output field's value.
func (s *ExecuteGremlinProfileQueryOutput) SetOutput(v []byte) *ExecuteGremlinProfileQueryOutput {
	s.Output = v
	return s
}

type ExecuteGremlinQueryInput struct {
	_ struct{} `type:"structure"`

	// Using this API, you can run Gremlin queries in string format much as you
	// can using the HTTP endpoint. The interface is compatible with whatever Gremlin
	// version your DB cluster is using (see the Tinkerpop client section (https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-client.html#best-practices-gremlin-java-latest)
	// to determine which Gremlin releases your engine version supports).
	//
	// GremlinQuery is a required field
	GremlinQuery *string `locationName:"gremlin" type:"string" required:"true"`

	// If non-null, the query results are returned in a serialized response message
	// in the format specified by this parameter. See the GraphSON (https://tinkerpop.apache.org/docs/current/reference/#_graphson)
	// section in the TinkerPop documentation for a list of the formats that are
	// currently supported.
	Serializer *string `location:"header" locationName:"accept" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinQueryInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinQueryInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ExecuteGremlinQueryInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ExecuteGremlinQueryInput"}
	if s.GremlinQuery == nil {
		invalidParams.Add(request.NewErrParamRequired("GremlinQuery"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetGremlinQuery sets the GremlinQuery field's value.
func (s *ExecuteGremlinQueryInput) SetGremlinQuery(v string) *ExecuteGremlinQueryInput {
	s.GremlinQuery = &v
	return s
}

// SetSerializer sets the Serializer field's value.
func (s *ExecuteGremlinQueryInput) SetSerializer(v string) *ExecuteGremlinQueryInput {
	s.Serializer = &v
	return s
}

type ExecuteGremlinQueryOutput struct {
	_ struct{} `type:"structure"`

	// The unique identifier of the Gremlin query.
	RequestId *string `locationName:"requestId" type:"string"`

	// The status of the Gremlin query.
	Status *GremlinQueryStatusAttributes `locationName:"status" type:"structure"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinQueryOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteGremlinQueryOutput) GoString() string {
	return s.String()
}

// SetRequestId sets the RequestId field's value.
func (s *ExecuteGremlinQueryOutput) SetRequestId(v string) *ExecuteGremlinQueryOutput {
	s.RequestId = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *ExecuteGremlinQueryOutput) SetStatus(v *GremlinQueryStatusAttributes) *ExecuteGremlinQueryOutput {
	s.Status = v
	return s
}

type ExecuteOpenCypherExplainQueryInput struct {
	_ struct{} `type:"structure"`

	// The openCypher explain mode. Can be one of: static, dynamic, or details.
	//
	// ExplainMode is a required field
	ExplainMode *string `locationName:"explain" type:"string" required:"true" enum:"OpenCypherExplainMode"`

	// The openCypher query string.
	//
	// OpenCypherQuery is a required field
	OpenCypherQuery *string `locationName:"query" type:"string" required:"true"`

	// The openCypher query parameters.
	Parameters *string `locationName:"parameters" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteOpenCypherExplainQueryInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteOpenCypherExplainQueryInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ExecuteOpenCypherExplainQueryInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ExecuteOpenCypherExplainQueryInput"}
	if s.ExplainMode == nil {
		invalidParams.Add(request.NewErrParamRequired("ExplainMode"))
	}
	if s.OpenCypherQuery == nil {
		invalidParams.Add(request.NewErrParamRequired("OpenCypherQuery"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetExplainMode sets the ExplainMode field's value.
func (s *ExecuteOpenCypherExplainQueryInput) SetExplainMode(v string) *ExecuteOpenCypherExplainQueryInput {
	s.ExplainMode = &v
	return s
}

// SetOpenCypherQuery sets the OpenCypherQuery field's value.
func (s *ExecuteOpenCypherExplainQueryInput) SetOpenCypherQuery(v string) *ExecuteOpenCypherExplainQueryInput {
	s.OpenCypherQuery = &v
	return s
}

// SetParameters sets the Parameters field's value.
func (s *ExecuteOpenCypherExplainQueryInput) SetParameters(v string) *ExecuteOpenCypherExplainQueryInput {
	s.Parameters = &v
	return s
}

type ExecuteOpenCypherExplainQueryOutput struct {
	_ struct{} `type:"structure" payload:"Results"`

	// A text blob containing the openCypher explain results.
	//
	// Results is a required field
	Results []byte `locationName:"results" type:"blob" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteOpenCypherExplainQueryOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExecuteOpenCypherExplainQueryOutput) GoString() string {
	return s.String()
}

// SetResults sets the Results field's value.
func (s *ExecuteOpenCypherExplainQueryOutput) SetResults(v []byte) *ExecuteOpenCypherExplainQueryOutput {
	s.Results = v
	return s
}

// Raised when a request attempts to access an stream that has expired.
type ExpiredStreamException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExpiredStreamException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ExpiredStreamException) GoString() string {
	return s.String()
}

func newErrorExpiredStreamException(v protocol.ResponseMetadata) error {
	return &ExpiredStreamException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ExpiredStreamException) Code() string {
	return "ExpiredStreamException"
}

// Message returns the exception's message.
func (s *ExpiredStreamException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ExpiredStreamException) OrigErr() error {
	return nil
}

func (s *ExpiredStreamException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ExpiredStreamException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ExpiredStreamException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a request fails.
type FailureByQueryException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FailureByQueryException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FailureByQueryException) GoString() string {
	return s.String()
}

func newErrorFailureByQueryException(v protocol.ResponseMetadata) error {
	return &FailureByQueryException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *FailureByQueryException) Code() string {
	return "FailureByQueryException"
}

// Message returns the exception's message.
func (s *FailureByQueryException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *FailureByQueryException) OrigErr() error {
	return nil
}

func (s *FailureByQueryException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *FailureByQueryException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *FailureByQueryException) RequestID() string {
	return s.RespMetadata.RequestID
}

// A structure containing the fast reset token used to initiate a fast reset.
type FastResetToken struct {
	_ struct{} `type:"structure"`

	// A UUID generated by the database in the initiateDatabaseReset action, and
	// then consumed by the performDatabaseReset to reset the database.
	Token *string `locationName:"token" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FastResetToken) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FastResetToken) GoString() string {
	return s.String()
}

// SetToken sets the Token field's value.
func (s *FastResetToken) SetToken(v string) *FastResetToken {
	s.Token = &v
	return s
}

type GetEngineStatusInput struct {
	_ struct{} `type:"structure" nopayload:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEngineStatusInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEngineStatusInput) GoString() string {
	return s.String()
}

type GetEngineStatusOutput struct {
	_ struct{} `type:"structure"`

	// Set to the Neptune engine version running on your DB cluster. If this engine
	// version has been manually patched since it was released, the version number
	// is prefixed by Patch-.
	DbEngineVersion *string `locationName:"dbEngineVersion" type:"string"`

	// Set to enabled if the DFE engine is fully enabled, or to viaQueryHint (the
	// default) if the DFE engine is only used with queries that have the useDFE
	// query hint set to true.
	DfeQueryEngine *string `locationName:"dfeQueryEngine" type:"string"`

	// Contains information about the Gremlin query language available on your cluster.
	// Specifically, it contains a version field that specifies the current TinkerPop
	// version being used by the engine.
	Gremlin *QueryLanguageVersion `locationName:"gremlin" type:"structure"`

	// Contains Lab Mode settings being used by the engine.
	LabMode map[string]*string `locationName:"labMode" type:"map"`

	// Contains information about the openCypher query language available on your
	// cluster. Specifically, it contains a version field that specifies the current
	// operCypher version being used by the engine.
	Opencypher *QueryLanguageVersion `locationName:"opencypher" type:"structure"`

	// Set to reader if the instance is a read-replica, or to writer if the instance
	// is the primary instance.
	Role *string `locationName:"role" type:"string"`

	// If there are transactions being rolled back, this field is set to the number
	// of such transactions. If there are none, the field doesn't appear at all.
	RollingBackTrxCount *int64 `locationName:"rollingBackTrxCount" type:"integer"`

	// Set to the start time of the earliest transaction being rolled back. If no
	// transactions are being rolled back, the field doesn't appear at all.
	RollingBackTrxEarliestStartTime *string `locationName:"rollingBackTrxEarliestStartTime" type:"string"`

	// Contains information about the current settings on your DB cluster. For example,
	// contains the current cluster query timeout setting (clusterQueryTimeoutInMs).
	Settings map[string]*string `locationName:"settings" type:"map"`

	// Contains information about the SPARQL query language available on your cluster.
	// Specifically, it contains a version field that specifies the current SPARQL
	// version being used by the engine.
	Sparql *QueryLanguageVersion `locationName:"sparql" type:"structure"`

	// Set to the UTC time at which the current server process started.
	StartTime *string `locationName:"startTime" type:"string"`

	// Set to healthy if the instance is not experiencing problems. If the instance
	// is recovering from a crash or from being rebooted and there are active transactions
	// running from the latest server shutdown, status is set to recovery.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEngineStatusOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetEngineStatusOutput) GoString() string {
	return s.String()
}

// SetDbEngineVersion sets the DbEngineVersion field's value.
func (s *GetEngineStatusOutput) SetDbEngineVersion(v string) *GetEngineStatusOutput {
	s.DbEngineVersion = &v
	return s
}

// SetDfeQueryEngine sets the DfeQueryEngine field's value.
func (s *GetEngineStatusOutput) SetDfeQueryEngine(v string) *GetEngineStatusOutput {
	s.DfeQueryEngine = &v
	return s
}

// SetGremlin sets the Gremlin field's value.
func (s *GetEngineStatusOutput) SetGremlin(v *QueryLanguageVersion) *GetEngineStatusOutput {
	s.Gremlin = v
	return s
}

// SetLabMode sets the LabMode field's value.
func (s *GetEngineStatusOutput) SetLabMode(v map[string]*string) *GetEngineStatusOutput {
	s.LabMode = v
	return s
}

// SetOpencypher sets the Opencypher field's value.
func (s *GetEngineStatusOutput) SetOpencypher(v *QueryLanguageVersion) *GetEngineStatusOutput {
	s.Opencypher = v
	return s
}

// SetRole sets the Role field's value.
func (s *GetEngineStatusOutput) SetRole(v string) *GetEngineStatusOutput {
	s.Role = &v
	return s
}

// SetRollingBackTrxCount sets the RollingBackTrxCount field's value.
func (s *GetEngineStatusOutput) SetRollingBackTrxCount(v int64) *GetEngineStatusOutput {
	s.RollingBackTrxCount = &v
	return s
}

// SetRollingBackTrxEarliestStartTime sets the RollingBackTrxEarliestStartTime field's value.
func (s *GetEngineStatusOutput) SetRollingBackTrxEarliestStartTime(v string) *GetEngineStatusOutput {
	s.RollingBackTrxEarliestStartTime = &v
	return s
}

// SetSettings sets the Settings field's value.
func (s *GetEngineStatusOutput) SetSettings(v map[string]*string) *GetEngineStatusOutput {
	s.Settings = v
	return s
}

// SetSparql sets the Sparql field's value.
func (s *GetEngineStatusOutput) SetSparql(v *QueryLanguageVersion) *GetEngineStatusOutput {
	s.Sparql = v
	return s
}

// SetStartTime sets the StartTime field's value.
func (s *GetEngineStatusOutput) SetStartTime(v string) *GetEngineStatusOutput {
	s.StartTime = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *GetEngineStatusOutput) SetStatus(v string) *GetEngineStatusOutput {
	s.Status = &v
	return s
}

type GetGremlinQueryStatusInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The unique identifier that identifies the Gremlin query.
	//
	// QueryId is a required field
	QueryId *string `location:"uri" locationName:"queryId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetGremlinQueryStatusInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetGremlinQueryStatusInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *GetGremlinQueryStatusInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "GetGremlinQueryStatusInput"}
	if s.QueryId == nil {
		invalidParams.Add(request.NewErrParamRequired("QueryId"))
	}
	if s.QueryId != nil && len(*s.QueryId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("QueryId", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetQueryId sets the QueryId field's value.
func (s *GetGremlinQueryStatusInput) SetQueryId(v string) *GetGremlinQueryStatusInput {
	s.QueryId = &v
	return s
}

type GetGremlinQueryStatusOutput struct {
	_ struct{} `type:"structure"`

	// The evaluation status of the Gremlin query.
	QueryEvalStats *QueryEvalStats `locationName:"queryEvalStats" type:"structure"`

	// The ID of the query for which status is being returned.
	QueryId *string `locationName:"queryId" type:"string"`

	// The Gremlin query string.
	QueryString *string `locationName:"queryString" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetGremlinQueryStatusOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetGremlinQueryStatusOutput) GoString() string {
	return s.String()
}

// SetQueryEvalStats sets the QueryEvalStats field's value.
func (s *GetGremlinQueryStatusOutput) SetQueryEvalStats(v *QueryEvalStats) *GetGremlinQueryStatusOutput {
	s.QueryEvalStats = v
	return s
}

// SetQueryId sets the QueryId field's value.
func (s *GetGremlinQueryStatusOutput) SetQueryId(v string) *GetGremlinQueryStatusOutput {
	s.QueryId = &v
	return s
}

// SetQueryString sets the QueryString field's value.
func (s *GetGremlinQueryStatusOutput) SetQueryString(v string) *GetGremlinQueryStatusOutput {
	s.QueryString = &v
	return s
}

type GetMLDataProcessingJobInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The unique identifier of the data-processing job to be retrieved.
	//
	// Id is a required field
	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLDataProcessingJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLDataProcessingJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *GetMLDataProcessingJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "GetMLDataProcessingJobInput"}
	if s.Id == nil {
		invalidParams.Add(request.NewErrParamRequired("Id"))
	}
	if s.Id != nil && len(*s.Id) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetId sets the Id field's value.
func (s *GetMLDataProcessingJobInput) SetId(v string) *GetMLDataProcessingJobInput {
	s.Id = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *GetMLDataProcessingJobInput) SetNeptuneIamRoleArn(v string) *GetMLDataProcessingJobInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type GetMLDataProcessingJobOutput struct {
	_ struct{} `type:"structure"`

	// The unique identifier of this data-processing job.
	Id *string `locationName:"id" type:"string"`

	// Definition of the data processing job.
	ProcessingJob *MlResourceDefinition `locationName:"processingJob" type:"structure"`

	// Status of the data processing job.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLDataProcessingJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLDataProcessingJobOutput) GoString() string {
	return s.String()
}

// SetId sets the Id field's value.
func (s *GetMLDataProcessingJobOutput) SetId(v string) *GetMLDataProcessingJobOutput {
	s.Id = &v
	return s
}

// SetProcessingJob sets the ProcessingJob field's value.
func (s *GetMLDataProcessingJobOutput) SetProcessingJob(v *MlResourceDefinition) *GetMLDataProcessingJobOutput {
	s.ProcessingJob = v
	return s
}

// SetStatus sets the Status field's value.
func (s *GetMLDataProcessingJobOutput) SetStatus(v string) *GetMLDataProcessingJobOutput {
	s.Status = &v
	return s
}

type GetMLEndpointInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The unique identifier of the inference endpoint.
	//
	// Id is a required field
	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLEndpointInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLEndpointInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *GetMLEndpointInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "GetMLEndpointInput"}
	if s.Id == nil {
		invalidParams.Add(request.NewErrParamRequired("Id"))
	}
	if s.Id != nil && len(*s.Id) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetId sets the Id field's value.
func (s *GetMLEndpointInput) SetId(v string) *GetMLEndpointInput {
	s.Id = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *GetMLEndpointInput) SetNeptuneIamRoleArn(v string) *GetMLEndpointInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type GetMLEndpointOutput struct {
	_ struct{} `type:"structure"`

	// The endpoint definition.
	Endpoint *MlResourceDefinition `locationName:"endpoint" type:"structure"`

	// The endpoint configuration
	EndpointConfig *MlConfigDefinition `locationName:"endpointConfig" type:"structure"`

	// The unique identifier of the inference endpoint.
	Id *string `locationName:"id" type:"string"`

	// The status of the inference endpoint.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLEndpointOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLEndpointOutput) GoString() string {
	return s.String()
}

// SetEndpoint sets the Endpoint field's value.
func (s *GetMLEndpointOutput) SetEndpoint(v *MlResourceDefinition) *GetMLEndpointOutput {
	s.Endpoint = v
	return s
}

// SetEndpointConfig sets the EndpointConfig field's value.
func (s *GetMLEndpointOutput) SetEndpointConfig(v *MlConfigDefinition) *GetMLEndpointOutput {
	s.EndpointConfig = v
	return s
}

// SetId sets the Id field's value.
func (s *GetMLEndpointOutput) SetId(v string) *GetMLEndpointOutput {
	s.Id = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *GetMLEndpointOutput) SetStatus(v string) *GetMLEndpointOutput {
	s.Status = &v
	return s
}

type GetMLModelTrainingJobInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The unique identifier of the model-training job to retrieve.
	//
	// Id is a required field
	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLModelTrainingJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLModelTrainingJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *GetMLModelTrainingJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "GetMLModelTrainingJobInput"}
	if s.Id == nil {
		invalidParams.Add(request.NewErrParamRequired("Id"))
	}
	if s.Id != nil && len(*s.Id) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetId sets the Id field's value.
func (s *GetMLModelTrainingJobInput) SetId(v string) *GetMLModelTrainingJobInput {
	s.Id = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *GetMLModelTrainingJobInput) SetNeptuneIamRoleArn(v string) *GetMLModelTrainingJobInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type GetMLModelTrainingJobOutput struct {
	_ struct{} `type:"structure"`

	// The HPO job.
	HpoJob *MlResourceDefinition `locationName:"hpoJob" type:"structure"`

	// The unique identifier of this model-training job.
	Id *string `locationName:"id" type:"string"`

	// A list of the configurations of the ML models being used.
	MlModels []*MlConfigDefinition `locationName:"mlModels" type:"list"`

	// The model transform job.
	ModelTransformJob *MlResourceDefinition `locationName:"modelTransformJob" type:"structure"`

	// The data processing job.
	ProcessingJob *MlResourceDefinition `locationName:"processingJob" type:"structure"`

	// The status of the model training job.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLModelTrainingJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLModelTrainingJobOutput) GoString() string {
	return s.String()
}

// SetHpoJob sets the HpoJob field's value.
func (s *GetMLModelTrainingJobOutput) SetHpoJob(v *MlResourceDefinition) *GetMLModelTrainingJobOutput {
	s.HpoJob = v
	return s
}

// SetId sets the Id field's value.
func (s *GetMLModelTrainingJobOutput) SetId(v string) *GetMLModelTrainingJobOutput {
	s.Id = &v
	return s
}

// SetMlModels sets the MlModels field's value.
func (s *GetMLModelTrainingJobOutput) SetMlModels(v []*MlConfigDefinition) *GetMLModelTrainingJobOutput {
	s.MlModels = v
	return s
}

// SetModelTransformJob sets the ModelTransformJob field's value.
func (s *GetMLModelTrainingJobOutput) SetModelTransformJob(v *MlResourceDefinition) *GetMLModelTrainingJobOutput {
	s.ModelTransformJob = v
	return s
}

// SetProcessingJob sets the ProcessingJob field's value.
func (s *GetMLModelTrainingJobOutput) SetProcessingJob(v *MlResourceDefinition) *GetMLModelTrainingJobOutput {
	s.ProcessingJob = v
	return s
}

// SetStatus sets the Status field's value.
func (s *GetMLModelTrainingJobOutput) SetStatus(v string) *GetMLModelTrainingJobOutput {
	s.Status = &v
	return s
}

type GetMLModelTransformJobInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The unique identifier of the model-transform job to be reetrieved.
	//
	// Id is a required field
	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLModelTransformJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLModelTransformJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *GetMLModelTransformJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "GetMLModelTransformJobInput"}
	if s.Id == nil {
		invalidParams.Add(request.NewErrParamRequired("Id"))
	}
	if s.Id != nil && len(*s.Id) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetId sets the Id field's value.
func (s *GetMLModelTransformJobInput) SetId(v string) *GetMLModelTransformJobInput {
	s.Id = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *GetMLModelTransformJobInput) SetNeptuneIamRoleArn(v string) *GetMLModelTransformJobInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type GetMLModelTransformJobOutput struct {
	_ struct{} `type:"structure"`

	// The base data processing job.
	BaseProcessingJob *MlResourceDefinition `locationName:"baseProcessingJob" type:"structure"`

	// The unique identifier of the model-transform job to be retrieved.
	Id *string `locationName:"id" type:"string"`

	// A list of the configuration information for the models being used.
	Models []*MlConfigDefinition `locationName:"models" type:"list"`

	// The remote model transform job.
	RemoteModelTransformJob *MlResourceDefinition `locationName:"remoteModelTransformJob" type:"structure"`

	// The status of the model-transform job.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLModelTransformJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMLModelTransformJobOutput) GoString() string {
	return s.String()
}

// SetBaseProcessingJob sets the BaseProcessingJob field's value.
func (s *GetMLModelTransformJobOutput) SetBaseProcessingJob(v *MlResourceDefinition) *GetMLModelTransformJobOutput {
	s.BaseProcessingJob = v
	return s
}

// SetId sets the Id field's value.
func (s *GetMLModelTransformJobOutput) SetId(v string) *GetMLModelTransformJobOutput {
	s.Id = &v
	return s
}

// SetModels sets the Models field's value.
func (s *GetMLModelTransformJobOutput) SetModels(v []*MlConfigDefinition) *GetMLModelTransformJobOutput {
	s.Models = v
	return s
}

// SetRemoteModelTransformJob sets the RemoteModelTransformJob field's value.
func (s *GetMLModelTransformJobOutput) SetRemoteModelTransformJob(v *MlResourceDefinition) *GetMLModelTransformJobOutput {
	s.RemoteModelTransformJob = v
	return s
}

// SetStatus sets the Status field's value.
func (s *GetMLModelTransformJobOutput) SetStatus(v string) *GetMLModelTransformJobOutput {
	s.Status = &v
	return s
}

type GetOpenCypherQueryStatusInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The unique ID of the openCypher query for which to retrieve the query status.
	//
	// QueryId is a required field
	QueryId *string `location:"uri" locationName:"queryId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetOpenCypherQueryStatusInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetOpenCypherQueryStatusInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *GetOpenCypherQueryStatusInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "GetOpenCypherQueryStatusInput"}
	if s.QueryId == nil {
		invalidParams.Add(request.NewErrParamRequired("QueryId"))
	}
	if s.QueryId != nil && len(*s.QueryId) < 1 {
		invalidParams.Add(request.NewErrParamMinLen("QueryId", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetQueryId sets the QueryId field's value.
func (s *GetOpenCypherQueryStatusInput) SetQueryId(v string) *GetOpenCypherQueryStatusInput {
	s.QueryId = &v
	return s
}

type GetOpenCypherQueryStatusOutput struct {
	_ struct{} `type:"structure"`

	// The openCypher query evaluation status.
	QueryEvalStats *QueryEvalStats `locationName:"queryEvalStats" type:"structure"`

	// The unique ID of the query for which status is being returned.
	QueryId *string `locationName:"queryId" type:"string"`

	// The openCypher query string.
	QueryString *string `locationName:"queryString" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetOpenCypherQueryStatusOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetOpenCypherQueryStatusOutput) GoString() string {
	return s.String()
}

// SetQueryEvalStats sets the QueryEvalStats field's value.
func (s *GetOpenCypherQueryStatusOutput) SetQueryEvalStats(v *QueryEvalStats) *GetOpenCypherQueryStatusOutput {
	s.QueryEvalStats = v
	return s
}

// SetQueryId sets the QueryId field's value.
func (s *GetOpenCypherQueryStatusOutput) SetQueryId(v string) *GetOpenCypherQueryStatusOutput {
	s.QueryId = &v
	return s
}

// SetQueryString sets the QueryString field's value.
func (s *GetOpenCypherQueryStatusOutput) SetQueryString(v string) *GetOpenCypherQueryStatusOutput {
	s.QueryString = &v
	return s
}

type GetPropertygraphStatisticsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetPropertygraphStatisticsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetPropertygraphStatisticsInput) GoString() string {
	return s.String()
}

type GetPropertygraphStatisticsOutput struct {
	_ struct{} `type:"structure"`

	// Statistics for property-graph data.
	//
	// Payload is a required field
	Payload *Statistics `locationName:"payload" type:"structure" required:"true"`

	// The HTTP return code of the request. If the request succeeded, the code is
	// 200. See Common error codes for DFE statistics request (https://docs.aws.amazon.com/neptune/latest/userguide/neptune-dfe-statistics.html#neptune-dfe-statistics-errors)
	// for a list of common errors.
	//
	// Status is a required field
	Status *string `locationName:"status" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetPropertygraphStatisticsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetPropertygraphStatisticsOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *GetPropertygraphStatisticsOutput) SetPayload(v *Statistics) *GetPropertygraphStatisticsOutput {
	s.Payload = v
	return s
}

// SetStatus sets the Status field's value.
func (s *GetPropertygraphStatisticsOutput) SetStatus(v string) *GetPropertygraphStatisticsOutput {
	s.Status = &v
	return s
}

type GetPropertygraphSummaryInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// Mode can take one of two values: BASIC (the default), and DETAILED.
	Mode *string `location:"querystring" locationName:"mode" type:"string" enum:"GraphSummaryType"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetPropertygraphSummaryInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetPropertygraphSummaryInput) GoString() string {
	return s.String()
}

// SetMode sets the Mode field's value.
func (s *GetPropertygraphSummaryInput) SetMode(v string) *GetPropertygraphSummaryInput {
	s.Mode = &v
	return s
}

type GetPropertygraphSummaryOutput struct {
	_ struct{} `type:"structure"`

	// Payload containing the property graph summary response.
	Payload *PropertygraphSummaryValueMap `locationName:"payload" type:"structure"`

	// The HTTP return code of the request. If the request succeeded, the code is
	// 200.
	StatusCode *int64 `location:"statusCode" locationName:"statusCode" type:"integer"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetPropertygraphSummaryOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetPropertygraphSummaryOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *GetPropertygraphSummaryOutput) SetPayload(v *PropertygraphSummaryValueMap) *GetPropertygraphSummaryOutput {
	s.Payload = v
	return s
}

// SetStatusCode sets the StatusCode field's value.
func (s *GetPropertygraphSummaryOutput) SetStatusCode(v int64) *GetPropertygraphSummaryOutput {
	s.StatusCode = &v
	return s
}

type GetRDFGraphSummaryInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// Mode can take one of two values: BASIC (the default), and DETAILED.
	Mode *string `location:"querystring" locationName:"mode" type:"string" enum:"GraphSummaryType"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDFGraphSummaryInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDFGraphSummaryInput) GoString() string {
	return s.String()
}

// SetMode sets the Mode field's value.
func (s *GetRDFGraphSummaryInput) SetMode(v string) *GetRDFGraphSummaryInput {
	s.Mode = &v
	return s
}

type GetRDFGraphSummaryOutput struct {
	_ struct{} `type:"structure"`

	// Payload for an RDF graph summary response
	Payload *RDFGraphSummaryValueMap `locationName:"payload" type:"structure"`

	// The HTTP return code of the request. If the request succeeded, the code is
	// 200.
	StatusCode *int64 `location:"statusCode" locationName:"statusCode" type:"integer"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDFGraphSummaryOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetRDFGraphSummaryOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *GetRDFGraphSummaryOutput) SetPayload(v *RDFGraphSummaryValueMap) *GetRDFGraphSummaryOutput {
	s.Payload = v
	return s
}

// SetStatusCode sets the StatusCode field's value.
func (s *GetRDFGraphSummaryOutput) SetStatusCode(v int64) *GetRDFGraphSummaryOutput {
	s.StatusCode = &v
	return s
}

type GetSparqlStatisticsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetSparqlStatisticsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetSparqlStatisticsInput) GoString() string {
	return s.String()
}

type GetSparqlStatisticsOutput struct {
	_ struct{} `type:"structure"`

	// Statistics for RDF data.
	//
	// Payload is a required field
	Payload *Statistics `locationName:"payload" type:"structure" required:"true"`

	// The HTTP return code of the request. If the request succeeded, the code is
	// 200. See Common error codes for DFE statistics request (https://docs.aws.amazon.com/neptune/latest/userguide/neptune-dfe-statistics.html#neptune-dfe-statistics-errors)
	// for a list of common errors.
	//
	// When invoking this operation in a Neptune cluster that has IAM authentication
	// enabled, the IAM user or role making the request must have a policy attached
	// that allows the neptune-db:GetStatisticsStatus (https://docs.aws.amazon.com/neptune/latest/userguide/iam-dp-actions.html#getstatisticsstatus)
	// IAM action in that cluster.
	//
	// Status is a required field
	Status *string `locationName:"status" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetSparqlStatisticsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetSparqlStatisticsOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *GetSparqlStatisticsOutput) SetPayload(v *Statistics) *GetSparqlStatisticsOutput {
	s.Payload = v
	return s
}

// SetStatus sets the Status field's value.
func (s *GetSparqlStatisticsOutput) SetStatus(v string) *GetSparqlStatisticsOutput {
	s.Status = &v
	return s
}

type GetSparqlStreamInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The commit number of the starting record to read from the change-log stream.
	// This parameter is required when iteratorType isAT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER,
	// and ignored when iteratorType is TRIM_HORIZON or LATEST.
	CommitNum *int64 `location:"querystring" locationName:"commitNum" type:"long"`

	// If set to TRUE, Neptune compresses the response using gzip encoding.
	Encoding *string `location:"header" locationName:"Accept-Encoding" type:"string" enum:"Encoding"`

	// Can be one of:
	//
	//    * AT_SEQUENCE_NUMBER – Indicates that reading should start from the
	//    event sequence number specified jointly by the commitNum and opNum parameters.
	//
	//    * AFTER_SEQUENCE_NUMBER – Indicates that reading should start right
	//    after the event sequence number specified jointly by the commitNum and
	//    opNum parameters.
	//
	//    * TRIM_HORIZON – Indicates that reading should start at the last untrimmed
	//    record in the system, which is the oldest unexpired (not yet deleted)
	//    record in the change-log stream.
	//
	//    * LATEST – Indicates that reading should start at the most recent record
	//    in the system, which is the latest unexpired (not yet deleted) record
	//    in the change-log stream.
	IteratorType *string `location:"querystring" locationName:"iteratorType" type:"string" enum:"IteratorType"`

	// Specifies the maximum number of records to return. There is also a size limit
	// of 10 MB on the response that can't be modified and that takes precedence
	// over the number of records specified in the limit parameter. The response
	// does include a threshold-breaching record if the 10 MB limit was reached.
	//
	// The range for limit is 1 to 100,000, with a default of 10.
	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"long"`

	// The operation sequence number within the specified commit to start reading
	// from in the change-log stream data. The default is 1.
	OpNum *int64 `location:"querystring" locationName:"opNum" type:"long"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetSparqlStreamInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetSparqlStreamInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *GetSparqlStreamInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "GetSparqlStreamInput"}
	if s.Limit != nil && *s.Limit < 1 {
		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetCommitNum sets the CommitNum field's value.
func (s *GetSparqlStreamInput) SetCommitNum(v int64) *GetSparqlStreamInput {
	s.CommitNum = &v
	return s
}

// SetEncoding sets the Encoding field's value.
func (s *GetSparqlStreamInput) SetEncoding(v string) *GetSparqlStreamInput {
	s.Encoding = &v
	return s
}

// SetIteratorType sets the IteratorType field's value.
func (s *GetSparqlStreamInput) SetIteratorType(v string) *GetSparqlStreamInput {
	s.IteratorType = &v
	return s
}

// SetLimit sets the Limit field's value.
func (s *GetSparqlStreamInput) SetLimit(v int64) *GetSparqlStreamInput {
	s.Limit = &v
	return s
}

// SetOpNum sets the OpNum field's value.
func (s *GetSparqlStreamInput) SetOpNum(v int64) *GetSparqlStreamInput {
	s.OpNum = &v
	return s
}

type GetSparqlStreamOutput struct {
	_ struct{} `type:"structure"`

	// Serialization format for the change records being returned. Currently, the
	// only supported value is NQUADS.
	//
	// Format is a required field
	Format *string `locationName:"format" type:"string" required:"true"`

	// Sequence identifier of the last change in the stream response.
	//
	// An event ID is composed of two fields: a commitNum, which identifies a transaction
	// that changed the graph, and an opNum, which identifies a specific operation
	// within that transaction:
	//
	// LastEventId is a required field
	LastEventId map[string]*string `locationName:"lastEventId" type:"map" required:"true"`

	// The time at which the commit for the transaction was requested, in milliseconds
	// from the Unix epoch.
	//
	// LastTrxTimestampInMillis is a required field
	LastTrxTimestampInMillis *int64 `locationName:"lastTrxTimestamp" type:"long" required:"true"`

	// An array of serialized change-log stream records included in the response.
	//
	// Records is a required field
	Records []*SparqlRecord `locationName:"records" type:"list" required:"true"`

	// The total number of records in the response.
	//
	// TotalRecords is a required field
	TotalRecords *int64 `locationName:"totalRecords" type:"integer" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetSparqlStreamOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetSparqlStreamOutput) GoString() string {
	return s.String()
}

// SetFormat sets the Format field's value.
func (s *GetSparqlStreamOutput) SetFormat(v string) *GetSparqlStreamOutput {
	s.Format = &v
	return s
}

// SetLastEventId sets the LastEventId field's value.
func (s *GetSparqlStreamOutput) SetLastEventId(v map[string]*string) *GetSparqlStreamOutput {
	s.LastEventId = v
	return s
}

// SetLastTrxTimestampInMillis sets the LastTrxTimestampInMillis field's value.
func (s *GetSparqlStreamOutput) SetLastTrxTimestampInMillis(v int64) *GetSparqlStreamOutput {
	s.LastTrxTimestampInMillis = &v
	return s
}

// SetRecords sets the Records field's value.
func (s *GetSparqlStreamOutput) SetRecords(v []*SparqlRecord) *GetSparqlStreamOutput {
	s.Records = v
	return s
}

// SetTotalRecords sets the TotalRecords field's value.
func (s *GetSparqlStreamOutput) SetTotalRecords(v int64) *GetSparqlStreamOutput {
	s.TotalRecords = &v
	return s
}

// Captures the status of a Gremlin query (see the Gremlin query status API
// (https://docs.aws.amazon.com/neptune/latest/userguide/gremlin-api-status.html)
// page).
type GremlinQueryStatus struct {
	_ struct{} `type:"structure"`

	// The query statistics of the Gremlin query.
	QueryEvalStats *QueryEvalStats `locationName:"queryEvalStats" type:"structure"`

	// The ID of the Gremlin query.
	QueryId *string `locationName:"queryId" type:"string"`

	// The query string of the Gremlin query.
	QueryString *string `locationName:"queryString" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GremlinQueryStatus) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GremlinQueryStatus) GoString() string {
	return s.String()
}

// SetQueryEvalStats sets the QueryEvalStats field's value.
func (s *GremlinQueryStatus) SetQueryEvalStats(v *QueryEvalStats) *GremlinQueryStatus {
	s.QueryEvalStats = v
	return s
}

// SetQueryId sets the QueryId field's value.
func (s *GremlinQueryStatus) SetQueryId(v string) *GremlinQueryStatus {
	s.QueryId = &v
	return s
}

// SetQueryString sets the QueryString field's value.
func (s *GremlinQueryStatus) SetQueryString(v string) *GremlinQueryStatus {
	s.QueryString = &v
	return s
}

// Contains status components of a Gremlin query.
type GremlinQueryStatusAttributes struct {
	_ struct{} `type:"structure"`

	// The HTTP response code returned fro the Gremlin query request..
	Code *int64 `locationName:"code" type:"integer"`

	// The status message.
	Message *string `locationName:"message" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GremlinQueryStatusAttributes) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GremlinQueryStatusAttributes) GoString() string {
	return s.String()
}

// SetCode sets the Code field's value.
func (s *GremlinQueryStatusAttributes) SetCode(v int64) *GremlinQueryStatusAttributes {
	s.Code = &v
	return s
}

// SetMessage sets the Message field's value.
func (s *GremlinQueryStatusAttributes) SetMessage(v string) *GremlinQueryStatusAttributes {
	s.Message = &v
	return s
}

// Raised when an argument in a request is not supported.
type IllegalArgumentException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s IllegalArgumentException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s IllegalArgumentException) GoString() string {
	return s.String()
}

func newErrorIllegalArgumentException(v protocol.ResponseMetadata) error {
	return &IllegalArgumentException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *IllegalArgumentException) Code() string {
	return "IllegalArgumentException"
}

// Message returns the exception's message.
func (s *IllegalArgumentException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *IllegalArgumentException) OrigErr() error {
	return nil
}

func (s *IllegalArgumentException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *IllegalArgumentException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *IllegalArgumentException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when the processing of the request failed unexpectedly.
type InternalFailureException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalFailureException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalFailureException) GoString() string {
	return s.String()
}

func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
	return &InternalFailureException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *InternalFailureException) Code() string {
	return "InternalFailureException"
}

// Message returns the exception's message.
func (s *InternalFailureException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InternalFailureException) OrigErr() error {
	return nil
}

func (s *InternalFailureException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *InternalFailureException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *InternalFailureException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when an argument in a request has an invalid value.
type InvalidArgumentException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvalidArgumentException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvalidArgumentException) GoString() string {
	return s.String()
}

func newErrorInvalidArgumentException(v protocol.ResponseMetadata) error {
	return &InvalidArgumentException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *InvalidArgumentException) Code() string {
	return "InvalidArgumentException"
}

// Message returns the exception's message.
func (s *InvalidArgumentException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InvalidArgumentException) OrigErr() error {
	return nil
}

func (s *InvalidArgumentException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *InvalidArgumentException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *InvalidArgumentException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when invalid numerical data is encountered when servicing a request.
type InvalidNumericDataException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvalidNumericDataException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvalidNumericDataException) GoString() string {
	return s.String()
}

func newErrorInvalidNumericDataException(v protocol.ResponseMetadata) error {
	return &InvalidNumericDataException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *InvalidNumericDataException) Code() string {
	return "InvalidNumericDataException"
}

// Message returns the exception's message.
func (s *InvalidNumericDataException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InvalidNumericDataException) OrigErr() error {
	return nil
}

func (s *InvalidNumericDataException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *InvalidNumericDataException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *InvalidNumericDataException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a parameter value is not valid.
type InvalidParameterException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request that includes an invalid parameter.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvalidParameterException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvalidParameterException) GoString() string {
	return s.String()
}

func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
	return &InvalidParameterException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *InvalidParameterException) Code() string {
	return "InvalidParameterException"
}

// Message returns the exception's message.
func (s *InvalidParameterException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InvalidParameterException) OrigErr() error {
	return nil
}

func (s *InvalidParameterException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *InvalidParameterException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *InvalidParameterException) RequestID() string {
	return s.RespMetadata.RequestID
}

type ListGremlinQueriesInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// If set to TRUE, the list returned includes waiting queries. The default is
	// FALSE;
	IncludeWaiting *bool `location:"querystring" locationName:"includeWaiting" type:"boolean"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListGremlinQueriesInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListGremlinQueriesInput) GoString() string {
	return s.String()
}

// SetIncludeWaiting sets the IncludeWaiting field's value.
func (s *ListGremlinQueriesInput) SetIncludeWaiting(v bool) *ListGremlinQueriesInput {
	s.IncludeWaiting = &v
	return s
}

type ListGremlinQueriesOutput struct {
	_ struct{} `type:"structure"`

	// The number of queries that have been accepted but not yet completed, including
	// queries in the queue.
	AcceptedQueryCount *int64 `locationName:"acceptedQueryCount" type:"integer"`

	// A list of the current queries.
	Queries []*GremlinQueryStatus `locationName:"queries" type:"list"`

	// The number of Gremlin queries currently running.
	RunningQueryCount *int64 `locationName:"runningQueryCount" type:"integer"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListGremlinQueriesOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListGremlinQueriesOutput) GoString() string {
	return s.String()
}

// SetAcceptedQueryCount sets the AcceptedQueryCount field's value.
func (s *ListGremlinQueriesOutput) SetAcceptedQueryCount(v int64) *ListGremlinQueriesOutput {
	s.AcceptedQueryCount = &v
	return s
}

// SetQueries sets the Queries field's value.
func (s *ListGremlinQueriesOutput) SetQueries(v []*GremlinQueryStatus) *ListGremlinQueriesOutput {
	s.Queries = v
	return s
}

// SetRunningQueryCount sets the RunningQueryCount field's value.
func (s *ListGremlinQueriesOutput) SetRunningQueryCount(v int64) *ListGremlinQueriesOutput {
	s.RunningQueryCount = &v
	return s
}

type ListLoaderJobsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// An optional parameter that can be used to exclude the load IDs of queued
	// load requests when requesting a list of load IDs by setting the parameter
	// to FALSE. The default value is TRUE.
	IncludeQueuedLoads *bool `location:"querystring" locationName:"includeQueuedLoads" type:"boolean"`

	// The number of load IDs to list. Must be a positive integer greater than zero
	// and not more than 100 (which is the default).
	Limit *int64 `location:"querystring" locationName:"limit" min:"1" type:"integer"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLoaderJobsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLoaderJobsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListLoaderJobsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListLoaderJobsInput"}
	if s.Limit != nil && *s.Limit < 1 {
		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetIncludeQueuedLoads sets the IncludeQueuedLoads field's value.
func (s *ListLoaderJobsInput) SetIncludeQueuedLoads(v bool) *ListLoaderJobsInput {
	s.IncludeQueuedLoads = &v
	return s
}

// SetLimit sets the Limit field's value.
func (s *ListLoaderJobsInput) SetLimit(v int64) *ListLoaderJobsInput {
	s.Limit = &v
	return s
}

type ListLoaderJobsOutput struct {
	_ struct{} `type:"structure"`

	// The requested list of job IDs.
	//
	// Payload is a required field
	Payload *LoaderIdResult `locationName:"payload" type:"structure" required:"true"`

	// Returns the status of the job list request.
	//
	// Status is a required field
	Status *string `locationName:"status" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLoaderJobsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListLoaderJobsOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *ListLoaderJobsOutput) SetPayload(v *LoaderIdResult) *ListLoaderJobsOutput {
	s.Payload = v
	return s
}

// SetStatus sets the Status field's value.
func (s *ListLoaderJobsOutput) SetStatus(v string) *ListLoaderJobsOutput {
	s.Status = &v
	return s
}

type ListMLDataProcessingJobsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The maximum number of items to return (from 1 to 1024; the default is 10).
	MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLDataProcessingJobsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLDataProcessingJobsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListMLDataProcessingJobsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListMLDataProcessingJobsInput"}
	if s.MaxItems != nil && *s.MaxItems < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetMaxItems sets the MaxItems field's value.
func (s *ListMLDataProcessingJobsInput) SetMaxItems(v int64) *ListMLDataProcessingJobsInput {
	s.MaxItems = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *ListMLDataProcessingJobsInput) SetNeptuneIamRoleArn(v string) *ListMLDataProcessingJobsInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type ListMLDataProcessingJobsOutput struct {
	_ struct{} `type:"structure"`

	// A page listing data processing job IDs.
	Ids []*string `locationName:"ids" type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLDataProcessingJobsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLDataProcessingJobsOutput) GoString() string {
	return s.String()
}

// SetIds sets the Ids field's value.
func (s *ListMLDataProcessingJobsOutput) SetIds(v []*string) *ListMLDataProcessingJobsOutput {
	s.Ids = v
	return s
}

type ListMLEndpointsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The maximum number of items to return (from 1 to 1024; the default is 10.
	MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLEndpointsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLEndpointsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListMLEndpointsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListMLEndpointsInput"}
	if s.MaxItems != nil && *s.MaxItems < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetMaxItems sets the MaxItems field's value.
func (s *ListMLEndpointsInput) SetMaxItems(v int64) *ListMLEndpointsInput {
	s.MaxItems = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *ListMLEndpointsInput) SetNeptuneIamRoleArn(v string) *ListMLEndpointsInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type ListMLEndpointsOutput struct {
	_ struct{} `type:"structure"`

	// A page from the list of inference endpoint IDs.
	Ids []*string `locationName:"ids" type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLEndpointsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLEndpointsOutput) GoString() string {
	return s.String()
}

// SetIds sets the Ids field's value.
func (s *ListMLEndpointsOutput) SetIds(v []*string) *ListMLEndpointsOutput {
	s.Ids = v
	return s
}

type ListMLModelTrainingJobsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The maximum number of items to return (from 1 to 1024; the default is 10).
	MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLModelTrainingJobsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLModelTrainingJobsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListMLModelTrainingJobsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListMLModelTrainingJobsInput"}
	if s.MaxItems != nil && *s.MaxItems < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetMaxItems sets the MaxItems field's value.
func (s *ListMLModelTrainingJobsInput) SetMaxItems(v int64) *ListMLModelTrainingJobsInput {
	s.MaxItems = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *ListMLModelTrainingJobsInput) SetNeptuneIamRoleArn(v string) *ListMLModelTrainingJobsInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type ListMLModelTrainingJobsOutput struct {
	_ struct{} `type:"structure"`

	// A page of the list of model training job IDs.
	Ids []*string `locationName:"ids" type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLModelTrainingJobsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLModelTrainingJobsOutput) GoString() string {
	return s.String()
}

// SetIds sets the Ids field's value.
func (s *ListMLModelTrainingJobsOutput) SetIds(v []*string) *ListMLModelTrainingJobsOutput {
	s.Ids = v
	return s
}

type ListMLModelTransformJobsInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// The maximum number of items to return (from 1 to 1024; the default is 10).
	MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `location:"querystring" locationName:"neptuneIamRoleArn" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLModelTransformJobsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLModelTransformJobsInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *ListMLModelTransformJobsInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "ListMLModelTransformJobsInput"}
	if s.MaxItems != nil && *s.MaxItems < 1 {
		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetMaxItems sets the MaxItems field's value.
func (s *ListMLModelTransformJobsInput) SetMaxItems(v int64) *ListMLModelTransformJobsInput {
	s.MaxItems = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *ListMLModelTransformJobsInput) SetNeptuneIamRoleArn(v string) *ListMLModelTransformJobsInput {
	s.NeptuneIamRoleArn = &v
	return s
}

type ListMLModelTransformJobsOutput struct {
	_ struct{} `type:"structure"`

	// A page from the list of model transform IDs.
	Ids []*string `locationName:"ids" type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLModelTransformJobsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMLModelTransformJobsOutput) GoString() string {
	return s.String()
}

// SetIds sets the Ids field's value.
func (s *ListMLModelTransformJobsOutput) SetIds(v []*string) *ListMLModelTransformJobsOutput {
	s.Ids = v
	return s
}

type ListOpenCypherQueriesInput struct {
	_ struct{} `type:"structure" nopayload:"true"`

	// When set to TRUE and other parameters are not present, causes status information
	// to be returned for waiting queries as well as for running queries.
	IncludeWaiting *bool `location:"querystring" locationName:"includeWaiting" type:"boolean"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListOpenCypherQueriesInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListOpenCypherQueriesInput) GoString() string {
	return s.String()
}

// SetIncludeWaiting sets the IncludeWaiting field's value.
func (s *ListOpenCypherQueriesInput) SetIncludeWaiting(v bool) *ListOpenCypherQueriesInput {
	s.IncludeWaiting = &v
	return s
}

type ListOpenCypherQueriesOutput struct {
	_ struct{} `type:"structure"`

	// The number of queries that have been accepted but not yet completed, including
	// queries in the queue.
	AcceptedQueryCount *int64 `locationName:"acceptedQueryCount" type:"integer"`

	// A list of current openCypher queries.
	Queries []*GremlinQueryStatus `locationName:"queries" type:"list"`

	// The number of currently running openCypher queries.
	RunningQueryCount *int64 `locationName:"runningQueryCount" type:"integer"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListOpenCypherQueriesOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListOpenCypherQueriesOutput) GoString() string {
	return s.String()
}

// SetAcceptedQueryCount sets the AcceptedQueryCount field's value.
func (s *ListOpenCypherQueriesOutput) SetAcceptedQueryCount(v int64) *ListOpenCypherQueriesOutput {
	s.AcceptedQueryCount = &v
	return s
}

// SetQueries sets the Queries field's value.
func (s *ListOpenCypherQueriesOutput) SetQueries(v []*GremlinQueryStatus) *ListOpenCypherQueriesOutput {
	s.Queries = v
	return s
}

// SetRunningQueryCount sets the RunningQueryCount field's value.
func (s *ListOpenCypherQueriesOutput) SetRunningQueryCount(v int64) *ListOpenCypherQueriesOutput {
	s.RunningQueryCount = &v
	return s
}

// Raised when access is denied to a specified load URL.
type LoadUrlAccessDeniedException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LoadUrlAccessDeniedException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LoadUrlAccessDeniedException) GoString() string {
	return s.String()
}

func newErrorLoadUrlAccessDeniedException(v protocol.ResponseMetadata) error {
	return &LoadUrlAccessDeniedException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *LoadUrlAccessDeniedException) Code() string {
	return "LoadUrlAccessDeniedException"
}

// Message returns the exception's message.
func (s *LoadUrlAccessDeniedException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *LoadUrlAccessDeniedException) OrigErr() error {
	return nil
}

func (s *LoadUrlAccessDeniedException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *LoadUrlAccessDeniedException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *LoadUrlAccessDeniedException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Contains a list of load IDs.
type LoaderIdResult struct {
	_ struct{} `type:"structure"`

	// A list of load IDs.
	LoadIds []*string `locationName:"loadIds" type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LoaderIdResult) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s LoaderIdResult) GoString() string {
	return s.String()
}

// SetLoadIds sets the LoadIds field's value.
func (s *LoaderIdResult) SetLoadIds(v []*string) *LoaderIdResult {
	s.LoadIds = v
	return s
}

// Raised when a specified machine-learning resource could not be found.
type MLResourceNotFoundException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MLResourceNotFoundException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MLResourceNotFoundException) GoString() string {
	return s.String()
}

func newErrorMLResourceNotFoundException(v protocol.ResponseMetadata) error {
	return &MLResourceNotFoundException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *MLResourceNotFoundException) Code() string {
	return "MLResourceNotFoundException"
}

// Message returns the exception's message.
func (s *MLResourceNotFoundException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *MLResourceNotFoundException) OrigErr() error {
	return nil
}

func (s *MLResourceNotFoundException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *MLResourceNotFoundException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *MLResourceNotFoundException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a query is submitted that is syntactically incorrect or does
// not pass additional validation.
type MalformedQueryException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the malformed query request.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MalformedQueryException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MalformedQueryException) GoString() string {
	return s.String()
}

func newErrorMalformedQueryException(v protocol.ResponseMetadata) error {
	return &MalformedQueryException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *MalformedQueryException) Code() string {
	return "MalformedQueryException"
}

// Message returns the exception's message.
func (s *MalformedQueryException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *MalformedQueryException) OrigErr() error {
	return nil
}

func (s *MalformedQueryException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *MalformedQueryException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *MalformedQueryException) RequestID() string {
	return s.RespMetadata.RequestID
}

type ManagePropertygraphStatisticsInput struct {
	_ struct{} `type:"structure"`

	// The statistics generation mode. One of: DISABLE_AUTOCOMPUTE, ENABLE_AUTOCOMPUTE,
	// or REFRESH, the last of which manually triggers DFE statistics generation.
	Mode *string `locationName:"mode" type:"string" enum:"StatisticsAutoGenerationMode"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ManagePropertygraphStatisticsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ManagePropertygraphStatisticsInput) GoString() string {
	return s.String()
}

// SetMode sets the Mode field's value.
func (s *ManagePropertygraphStatisticsInput) SetMode(v string) *ManagePropertygraphStatisticsInput {
	s.Mode = &v
	return s
}

type ManagePropertygraphStatisticsOutput struct {
	_ struct{} `type:"structure"`

	// This is only returned for refresh mode.
	Payload *RefreshStatisticsIdMap `locationName:"payload" type:"structure"`

	// The HTTP return code of the request. If the request succeeded, the code is
	// 200.
	//
	// Status is a required field
	Status *string `locationName:"status" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ManagePropertygraphStatisticsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ManagePropertygraphStatisticsOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *ManagePropertygraphStatisticsOutput) SetPayload(v *RefreshStatisticsIdMap) *ManagePropertygraphStatisticsOutput {
	s.Payload = v
	return s
}

// SetStatus sets the Status field's value.
func (s *ManagePropertygraphStatisticsOutput) SetStatus(v string) *ManagePropertygraphStatisticsOutput {
	s.Status = &v
	return s
}

type ManageSparqlStatisticsInput struct {
	_ struct{} `type:"structure"`

	// The statistics generation mode. One of: DISABLE_AUTOCOMPUTE, ENABLE_AUTOCOMPUTE,
	// or REFRESH, the last of which manually triggers DFE statistics generation.
	Mode *string `locationName:"mode" type:"string" enum:"StatisticsAutoGenerationMode"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ManageSparqlStatisticsInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ManageSparqlStatisticsInput) GoString() string {
	return s.String()
}

// SetMode sets the Mode field's value.
func (s *ManageSparqlStatisticsInput) SetMode(v string) *ManageSparqlStatisticsInput {
	s.Mode = &v
	return s
}

type ManageSparqlStatisticsOutput struct {
	_ struct{} `type:"structure"`

	// This is only returned for refresh mode.
	Payload *RefreshStatisticsIdMap `locationName:"payload" type:"structure"`

	// The HTTP return code of the request. If the request succeeded, the code is
	// 200.
	//
	// Status is a required field
	Status *string `locationName:"status" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ManageSparqlStatisticsOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ManageSparqlStatisticsOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *ManageSparqlStatisticsOutput) SetPayload(v *RefreshStatisticsIdMap) *ManageSparqlStatisticsOutput {
	s.Payload = v
	return s
}

// SetStatus sets the Status field's value.
func (s *ManageSparqlStatisticsOutput) SetStatus(v string) *ManageSparqlStatisticsOutput {
	s.Status = &v
	return s
}

// Raised when a request fails because of insufficient memory resources. The
// request can be retried.
type MemoryLimitExceededException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request that failed.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MemoryLimitExceededException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MemoryLimitExceededException) GoString() string {
	return s.String()
}

func newErrorMemoryLimitExceededException(v protocol.ResponseMetadata) error {
	return &MemoryLimitExceededException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *MemoryLimitExceededException) Code() string {
	return "MemoryLimitExceededException"
}

// Message returns the exception's message.
func (s *MemoryLimitExceededException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *MemoryLimitExceededException) OrigErr() error {
	return nil
}

func (s *MemoryLimitExceededException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *MemoryLimitExceededException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *MemoryLimitExceededException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when the HTTP method used by a request is not supported by the endpoint
// being used.
type MethodNotAllowedException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MethodNotAllowedException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MethodNotAllowedException) GoString() string {
	return s.String()
}

func newErrorMethodNotAllowedException(v protocol.ResponseMetadata) error {
	return &MethodNotAllowedException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *MethodNotAllowedException) Code() string {
	return "MethodNotAllowedException"
}

// Message returns the exception's message.
func (s *MethodNotAllowedException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *MethodNotAllowedException) OrigErr() error {
	return nil
}

func (s *MethodNotAllowedException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *MethodNotAllowedException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *MethodNotAllowedException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a required parameter is missing.
type MissingParameterException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in which the parameter is missing.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MissingParameterException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MissingParameterException) GoString() string {
	return s.String()
}

func newErrorMissingParameterException(v protocol.ResponseMetadata) error {
	return &MissingParameterException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *MissingParameterException) Code() string {
	return "MissingParameterException"
}

// Message returns the exception's message.
func (s *MissingParameterException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *MissingParameterException) OrigErr() error {
	return nil
}

func (s *MissingParameterException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *MissingParameterException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *MissingParameterException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Contains a Neptune ML configuration.
type MlConfigDefinition struct {
	_ struct{} `type:"structure"`

	// The ARN for the configuration.
	Arn *string `locationName:"arn" type:"string"`

	// The configuration name.
	Name *string `locationName:"name" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MlConfigDefinition) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MlConfigDefinition) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *MlConfigDefinition) SetArn(v string) *MlConfigDefinition {
	s.Arn = &v
	return s
}

// SetName sets the Name field's value.
func (s *MlConfigDefinition) SetName(v string) *MlConfigDefinition {
	s.Name = &v
	return s
}

// Defines a Neptune ML resource.
type MlResourceDefinition struct {
	_ struct{} `type:"structure"`

	// The resource ARN.
	Arn *string `locationName:"arn" type:"string"`

	// The CloudWatch log URL for the resource.
	CloudwatchLogUrl *string `locationName:"cloudwatchLogUrl" type:"string"`

	// The failure reason, in case of a failure.
	FailureReason *string `locationName:"failureReason" type:"string"`

	// The resource name.
	Name *string `locationName:"name" type:"string"`

	// The output location.
	OutputLocation *string `locationName:"outputLocation" type:"string"`

	// The resource status.
	Status *string `locationName:"status" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MlResourceDefinition) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MlResourceDefinition) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *MlResourceDefinition) SetArn(v string) *MlResourceDefinition {
	s.Arn = &v
	return s
}

// SetCloudwatchLogUrl sets the CloudwatchLogUrl field's value.
func (s *MlResourceDefinition) SetCloudwatchLogUrl(v string) *MlResourceDefinition {
	s.CloudwatchLogUrl = &v
	return s
}

// SetFailureReason sets the FailureReason field's value.
func (s *MlResourceDefinition) SetFailureReason(v string) *MlResourceDefinition {
	s.FailureReason = &v
	return s
}

// SetName sets the Name field's value.
func (s *MlResourceDefinition) SetName(v string) *MlResourceDefinition {
	s.Name = &v
	return s
}

// SetOutputLocation sets the OutputLocation field's value.
func (s *MlResourceDefinition) SetOutputLocation(v string) *MlResourceDefinition {
	s.OutputLocation = &v
	return s
}

// SetStatus sets the Status field's value.
func (s *MlResourceDefinition) SetStatus(v string) *MlResourceDefinition {
	s.Status = &v
	return s
}

// A node structure.
type NodeStructure struct {
	_ struct{} `type:"structure"`

	// Number of nodes that have this specific structure.
	Count *int64 `locationName:"count" type:"long"`

	// A list of distinct outgoing edge labels present in this specific structure.
	DistinctOutgoingEdgeLabels []*string `locationName:"distinctOutgoingEdgeLabels" type:"list"`

	// A list of the node properties present in this specific structure.
	NodeProperties []*string `locationName:"nodeProperties" type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NodeStructure) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NodeStructure) GoString() string {
	return s.String()
}

// SetCount sets the Count field's value.
func (s *NodeStructure) SetCount(v int64) *NodeStructure {
	s.Count = &v
	return s
}

// SetDistinctOutgoingEdgeLabels sets the DistinctOutgoingEdgeLabels field's value.
func (s *NodeStructure) SetDistinctOutgoingEdgeLabels(v []*string) *NodeStructure {
	s.DistinctOutgoingEdgeLabels = v
	return s
}

// SetNodeProperties sets the NodeProperties field's value.
func (s *NodeStructure) SetNodeProperties(v []*string) *NodeStructure {
	s.NodeProperties = v
	return s
}

// Raised when a parsing issue is encountered.
type ParsingException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ParsingException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ParsingException) GoString() string {
	return s.String()
}

func newErrorParsingException(v protocol.ResponseMetadata) error {
	return &ParsingException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ParsingException) Code() string {
	return "ParsingException"
}

// Message returns the exception's message.
func (s *ParsingException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ParsingException) OrigErr() error {
	return nil
}

func (s *ParsingException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ParsingException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ParsingException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a precondition for processing a request is not satisfied.
type PreconditionsFailedException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PreconditionsFailedException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PreconditionsFailedException) GoString() string {
	return s.String()
}

func newErrorPreconditionsFailedException(v protocol.ResponseMetadata) error {
	return &PreconditionsFailedException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *PreconditionsFailedException) Code() string {
	return "PreconditionsFailedException"
}

// Message returns the exception's message.
func (s *PreconditionsFailedException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *PreconditionsFailedException) OrigErr() error {
	return nil
}

func (s *PreconditionsFailedException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *PreconditionsFailedException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *PreconditionsFailedException) RequestID() string {
	return s.RespMetadata.RequestID
}

// The graph summary API returns a read-only list of node and edge labels and
// property keys, along with counts of nodes, edges, and properties. See Graph
// summary response for a property graph (PG) (https://docs.aws.amazon.com/neptune/latest/userguide/neptune-graph-summary.html#neptune-graph-summary-pg-response).
type PropertygraphSummary struct {
	_ struct{} `type:"structure"`

	// A list of the distinct edge labels in the graph.
	EdgeLabels []*string `locationName:"edgeLabels" type:"list"`

	// A list of the distinct edge properties in the graph, along with the count
	// of edges where each property is used.
	EdgeProperties []map[string]*int64 `locationName:"edgeProperties" type:"list"`

	// This field is only present when the requested mode is DETAILED. It contains
	// a list of edge structures.
	EdgeStructures []*EdgeStructure `locationName:"edgeStructures" type:"list"`

	// A list of the distinct node labels in the graph.
	NodeLabels []*string `locationName:"nodeLabels" type:"list"`

	// The number of distinct node properties in the graph.
	NodeProperties []map[string]*int64 `locationName:"nodeProperties" type:"list"`

	// This field is only present when the requested mode is DETAILED. It contains
	// a list of node structures.
	NodeStructures []*NodeStructure `locationName:"nodeStructures" type:"list"`

	// The number of distinct edge labels in the graph.
	NumEdgeLabels *int64 `locationName:"numEdgeLabels" type:"long"`

	// The number of distinct edge properties in the graph.
	NumEdgeProperties *int64 `locationName:"numEdgeProperties" type:"long"`

	// The number of edges in the graph.
	NumEdges *int64 `locationName:"numEdges" type:"long"`

	// The number of distinct node labels in the graph.
	NumNodeLabels *int64 `locationName:"numNodeLabels" type:"long"`

	// A list of the distinct node properties in the graph, along with the count
	// of nodes where each property is used.
	NumNodeProperties *int64 `locationName:"numNodeProperties" type:"long"`

	// The number of nodes in the graph.
	NumNodes *int64 `locationName:"numNodes" type:"long"`

	// The total number of usages of all edge properties.
	TotalEdgePropertyValues *int64 `locationName:"totalEdgePropertyValues" type:"long"`

	// The total number of usages of all node properties.
	TotalNodePropertyValues *int64 `locationName:"totalNodePropertyValues" type:"long"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PropertygraphSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PropertygraphSummary) GoString() string {
	return s.String()
}

// SetEdgeLabels sets the EdgeLabels field's value.
func (s *PropertygraphSummary) SetEdgeLabels(v []*string) *PropertygraphSummary {
	s.EdgeLabels = v
	return s
}

// SetEdgeProperties sets the EdgeProperties field's value.
func (s *PropertygraphSummary) SetEdgeProperties(v []map[string]*int64) *PropertygraphSummary {
	s.EdgeProperties = v
	return s
}

// SetEdgeStructures sets the EdgeStructures field's value.
func (s *PropertygraphSummary) SetEdgeStructures(v []*EdgeStructure) *PropertygraphSummary {
	s.EdgeStructures = v
	return s
}

// SetNodeLabels sets the NodeLabels field's value.
func (s *PropertygraphSummary) SetNodeLabels(v []*string) *PropertygraphSummary {
	s.NodeLabels = v
	return s
}

// SetNodeProperties sets the NodeProperties field's value.
func (s *PropertygraphSummary) SetNodeProperties(v []map[string]*int64) *PropertygraphSummary {
	s.NodeProperties = v
	return s
}

// SetNodeStructures sets the NodeStructures field's value.
func (s *PropertygraphSummary) SetNodeStructures(v []*NodeStructure) *PropertygraphSummary {
	s.NodeStructures = v
	return s
}

// SetNumEdgeLabels sets the NumEdgeLabels field's value.
func (s *PropertygraphSummary) SetNumEdgeLabels(v int64) *PropertygraphSummary {
	s.NumEdgeLabels = &v
	return s
}

// SetNumEdgeProperties sets the NumEdgeProperties field's value.
func (s *PropertygraphSummary) SetNumEdgeProperties(v int64) *PropertygraphSummary {
	s.NumEdgeProperties = &v
	return s
}

// SetNumEdges sets the NumEdges field's value.
func (s *PropertygraphSummary) SetNumEdges(v int64) *PropertygraphSummary {
	s.NumEdges = &v
	return s
}

// SetNumNodeLabels sets the NumNodeLabels field's value.
func (s *PropertygraphSummary) SetNumNodeLabels(v int64) *PropertygraphSummary {
	s.NumNodeLabels = &v
	return s
}

// SetNumNodeProperties sets the NumNodeProperties field's value.
func (s *PropertygraphSummary) SetNumNodeProperties(v int64) *PropertygraphSummary {
	s.NumNodeProperties = &v
	return s
}

// SetNumNodes sets the NumNodes field's value.
func (s *PropertygraphSummary) SetNumNodes(v int64) *PropertygraphSummary {
	s.NumNodes = &v
	return s
}

// SetTotalEdgePropertyValues sets the TotalEdgePropertyValues field's value.
func (s *PropertygraphSummary) SetTotalEdgePropertyValues(v int64) *PropertygraphSummary {
	s.TotalEdgePropertyValues = &v
	return s
}

// SetTotalNodePropertyValues sets the TotalNodePropertyValues field's value.
func (s *PropertygraphSummary) SetTotalNodePropertyValues(v int64) *PropertygraphSummary {
	s.TotalNodePropertyValues = &v
	return s
}

// Payload for the property graph summary response.
type PropertygraphSummaryValueMap struct {
	_ struct{} `type:"structure"`

	// The graph summary.
	GraphSummary *PropertygraphSummary `locationName:"graphSummary" type:"structure"`

	// The timestamp, in ISO 8601 format, of the time at which Neptune last computed
	// statistics.
	LastStatisticsComputationTime *time.Time `locationName:"lastStatisticsComputationTime" type:"timestamp" timestampFormat:"iso8601"`

	// The version of this graph summary response.
	Version *string `locationName:"version" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PropertygraphSummaryValueMap) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s PropertygraphSummaryValueMap) GoString() string {
	return s.String()
}

// SetGraphSummary sets the GraphSummary field's value.
func (s *PropertygraphSummaryValueMap) SetGraphSummary(v *PropertygraphSummary) *PropertygraphSummaryValueMap {
	s.GraphSummary = v
	return s
}

// SetLastStatisticsComputationTime sets the LastStatisticsComputationTime field's value.
func (s *PropertygraphSummaryValueMap) SetLastStatisticsComputationTime(v time.Time) *PropertygraphSummaryValueMap {
	s.LastStatisticsComputationTime = &v
	return s
}

// SetVersion sets the Version field's value.
func (s *PropertygraphSummaryValueMap) SetVersion(v string) *PropertygraphSummaryValueMap {
	s.Version = &v
	return s
}

// Structure to capture query statistics such as how many queries are running,
// accepted or waiting and their details.
type QueryEvalStats struct {
	_ struct{} `type:"structure"`

	// Set to TRUE if the query was cancelled, or FALSE otherwise.
	Cancelled *bool `locationName:"cancelled" type:"boolean"`

	// The number of milliseconds the query has been running so far.
	Elapsed *int64 `locationName:"elapsed" type:"integer"`

	// Indicates how long the query waited, in milliseconds.
	Waited *int64 `locationName:"waited" type:"integer"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryEvalStats) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryEvalStats) GoString() string {
	return s.String()
}

// SetCancelled sets the Cancelled field's value.
func (s *QueryEvalStats) SetCancelled(v bool) *QueryEvalStats {
	s.Cancelled = &v
	return s
}

// SetElapsed sets the Elapsed field's value.
func (s *QueryEvalStats) SetElapsed(v int64) *QueryEvalStats {
	s.Elapsed = &v
	return s
}

// SetWaited sets the Waited field's value.
func (s *QueryEvalStats) SetWaited(v int64) *QueryEvalStats {
	s.Waited = &v
	return s
}

// Structure for expressing the query language version.
type QueryLanguageVersion struct {
	_ struct{} `type:"structure"`

	// The version of the query language.
	//
	// Version is a required field
	Version *string `locationName:"version" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryLanguageVersion) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryLanguageVersion) GoString() string {
	return s.String()
}

// SetVersion sets the Version field's value.
func (s *QueryLanguageVersion) SetVersion(v string) *QueryLanguageVersion {
	s.Version = &v
	return s
}

// Raised when the number of active queries exceeds what the server can process.
// The query in question can be retried when the system is less busy.
type QueryLimitExceededException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request which exceeded the limit.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryLimitExceededException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryLimitExceededException) GoString() string {
	return s.String()
}

func newErrorQueryLimitExceededException(v protocol.ResponseMetadata) error {
	return &QueryLimitExceededException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *QueryLimitExceededException) Code() string {
	return "QueryLimitExceededException"
}

// Message returns the exception's message.
func (s *QueryLimitExceededException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *QueryLimitExceededException) OrigErr() error {
	return nil
}

func (s *QueryLimitExceededException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *QueryLimitExceededException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *QueryLimitExceededException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when the size of a query exceeds the system limit.
type QueryLimitException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request that exceeded the limit.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryLimitException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryLimitException) GoString() string {
	return s.String()
}

func newErrorQueryLimitException(v protocol.ResponseMetadata) error {
	return &QueryLimitException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *QueryLimitException) Code() string {
	return "QueryLimitException"
}

// Message returns the exception's message.
func (s *QueryLimitException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *QueryLimitException) OrigErr() error {
	return nil
}

func (s *QueryLimitException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *QueryLimitException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *QueryLimitException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when the body of a query is too large.
type QueryTooLargeException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request that is too large.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryTooLargeException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s QueryTooLargeException) GoString() string {
	return s.String()
}

func newErrorQueryTooLargeException(v protocol.ResponseMetadata) error {
	return &QueryTooLargeException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *QueryTooLargeException) Code() string {
	return "QueryTooLargeException"
}

// Message returns the exception's message.
func (s *QueryTooLargeException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *QueryTooLargeException) OrigErr() error {
	return nil
}

func (s *QueryTooLargeException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *QueryTooLargeException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *QueryTooLargeException) RequestID() string {
	return s.RespMetadata.RequestID
}

// The RDF graph summary API returns a read-only list of classes and predicate
// keys, along with counts of quads, subjects, and predicates.
type RDFGraphSummary struct {
	_ struct{} `type:"structure"`

	// A list of the classes in the graph.
	Classes []*string `locationName:"classes" type:"list"`

	// The number of classes in the graph.
	NumClasses *int64 `locationName:"numClasses" type:"long"`

	// The number of distinct predicates in the graph.
	NumDistinctPredicates *int64 `locationName:"numDistinctPredicates" type:"long"`

	// The number of distinct subjects in the graph.
	NumDistinctSubjects *int64 `locationName:"numDistinctSubjects" type:"long"`

	// The number of quads in the graph.
	NumQuads *int64 `locationName:"numQuads" type:"long"`

	// "A list of predicates in the graph, along with the predicate counts.
	Predicates []map[string]*int64 `locationName:"predicates" type:"list"`

	// This field is only present when the request mode is DETAILED. It contains
	// a list of subject structures.
	SubjectStructures []*SubjectStructure `locationName:"subjectStructures" type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDFGraphSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDFGraphSummary) GoString() string {
	return s.String()
}

// SetClasses sets the Classes field's value.
func (s *RDFGraphSummary) SetClasses(v []*string) *RDFGraphSummary {
	s.Classes = v
	return s
}

// SetNumClasses sets the NumClasses field's value.
func (s *RDFGraphSummary) SetNumClasses(v int64) *RDFGraphSummary {
	s.NumClasses = &v
	return s
}

// SetNumDistinctPredicates sets the NumDistinctPredicates field's value.
func (s *RDFGraphSummary) SetNumDistinctPredicates(v int64) *RDFGraphSummary {
	s.NumDistinctPredicates = &v
	return s
}

// SetNumDistinctSubjects sets the NumDistinctSubjects field's value.
func (s *RDFGraphSummary) SetNumDistinctSubjects(v int64) *RDFGraphSummary {
	s.NumDistinctSubjects = &v
	return s
}

// SetNumQuads sets the NumQuads field's value.
func (s *RDFGraphSummary) SetNumQuads(v int64) *RDFGraphSummary {
	s.NumQuads = &v
	return s
}

// SetPredicates sets the Predicates field's value.
func (s *RDFGraphSummary) SetPredicates(v []map[string]*int64) *RDFGraphSummary {
	s.Predicates = v
	return s
}

// SetSubjectStructures sets the SubjectStructures field's value.
func (s *RDFGraphSummary) SetSubjectStructures(v []*SubjectStructure) *RDFGraphSummary {
	s.SubjectStructures = v
	return s
}

// Payload for an RDF graph summary response.
type RDFGraphSummaryValueMap struct {
	_ struct{} `type:"structure"`

	// The graph summary of an RDF graph. See Graph summary response for an RDF
	// graph (https://docs.aws.amazon.com/neptune/latest/userguide/neptune-graph-summary.html#neptune-graph-summary-rdf-response).
	GraphSummary *RDFGraphSummary `locationName:"graphSummary" type:"structure"`

	// The timestamp, in ISO 8601 format, of the time at which Neptune last computed
	// statistics.
	LastStatisticsComputationTime *time.Time `locationName:"lastStatisticsComputationTime" type:"timestamp" timestampFormat:"iso8601"`

	// The version of this graph summary response.
	Version *string `locationName:"version" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDFGraphSummaryValueMap) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RDFGraphSummaryValueMap) GoString() string {
	return s.String()
}

// SetGraphSummary sets the GraphSummary field's value.
func (s *RDFGraphSummaryValueMap) SetGraphSummary(v *RDFGraphSummary) *RDFGraphSummaryValueMap {
	s.GraphSummary = v
	return s
}

// SetLastStatisticsComputationTime sets the LastStatisticsComputationTime field's value.
func (s *RDFGraphSummaryValueMap) SetLastStatisticsComputationTime(v time.Time) *RDFGraphSummaryValueMap {
	s.LastStatisticsComputationTime = &v
	return s
}

// SetVersion sets the Version field's value.
func (s *RDFGraphSummaryValueMap) SetVersion(v string) *RDFGraphSummaryValueMap {
	s.Version = &v
	return s
}

// Raised when a request attempts to write to a read-only resource.
type ReadOnlyViolationException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in which the parameter is missing.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ReadOnlyViolationException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ReadOnlyViolationException) GoString() string {
	return s.String()
}

func newErrorReadOnlyViolationException(v protocol.ResponseMetadata) error {
	return &ReadOnlyViolationException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ReadOnlyViolationException) Code() string {
	return "ReadOnlyViolationException"
}

// Message returns the exception's message.
func (s *ReadOnlyViolationException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ReadOnlyViolationException) OrigErr() error {
	return nil
}

func (s *ReadOnlyViolationException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ReadOnlyViolationException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ReadOnlyViolationException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Statistics for REFRESH mode.
type RefreshStatisticsIdMap struct {
	_ struct{} `type:"structure"`

	// The ID of the statistics generation run that is currently occurring.
	StatisticsId *string `locationName:"statisticsId" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RefreshStatisticsIdMap) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RefreshStatisticsIdMap) GoString() string {
	return s.String()
}

// SetStatisticsId sets the StatisticsId field's value.
func (s *RefreshStatisticsIdMap) SetStatisticsId(v string) *RefreshStatisticsIdMap {
	s.StatisticsId = &v
	return s
}

// Raised when there is a problem accessing Amazon S3.
type S3Exception struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3Exception) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s S3Exception) GoString() string {
	return s.String()
}

func newErrorS3Exception(v protocol.ResponseMetadata) error {
	return &S3Exception{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *S3Exception) Code() string {
	return "S3Exception"
}

// Message returns the exception's message.
func (s *S3Exception) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *S3Exception) OrigErr() error {
	return nil
}

func (s *S3Exception) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *S3Exception) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *S3Exception) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when the server shuts down while processing a request.
type ServerShutdownException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServerShutdownException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServerShutdownException) GoString() string {
	return s.String()
}

func newErrorServerShutdownException(v protocol.ResponseMetadata) error {
	return &ServerShutdownException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ServerShutdownException) Code() string {
	return "ServerShutdownException"
}

// Message returns the exception's message.
func (s *ServerShutdownException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ServerShutdownException) OrigErr() error {
	return nil
}

func (s *ServerShutdownException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ServerShutdownException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ServerShutdownException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Neptune logs are converted to SPARQL quads in the graph using the Resource
// Description Framework (RDF) N-QUADS (https://www.w3.org/TR/n-quads/) language
// defined in the W3C RDF 1.1 N-Quads specification
type SparqlData struct {
	_ struct{} `type:"structure"`

	// Holds an N-QUADS (https://www.w3.org/TR/n-quads/) statement expressing the
	// changed quad.
	//
	// Stmt is a required field
	Stmt *string `locationName:"stmt" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SparqlData) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SparqlData) GoString() string {
	return s.String()
}

// SetStmt sets the Stmt field's value.
func (s *SparqlData) SetStmt(v string) *SparqlData {
	s.Stmt = &v
	return s
}

// A serialized SPARQL stream record capturing a change-log entry for the RDF
// graph.
type SparqlRecord struct {
	_ struct{} `type:"structure"`

	// The time at which the commit for the transaction was requested, in milliseconds
	// from the Unix epoch.
	//
	// CommitTimestampInMillis is a required field
	CommitTimestampInMillis *int64 `locationName:"commitTimestamp" type:"long" required:"true"`

	// The serialized SPARQL change record. The serialization formats of each record
	// are described in more detail in Serialization Formats in Neptune Streams
	// (https://docs.aws.amazon.com/neptune/latest/userguide/streams-change-formats.html).
	//
	// Data is a required field
	Data *SparqlData `locationName:"data" type:"structure" required:"true"`

	// The sequence identifier of the stream change record.
	//
	// EventId is a required field
	EventId map[string]*string `locationName:"eventId" type:"map" required:"true"`

	// Only present if this operation is the last one in its transaction. If present,
	// it is set to true. It is useful for ensuring that an entire transaction is
	// consumed.
	IsLastOp *bool `locationName:"isLastOp" type:"boolean"`

	// The operation that created the change.
	//
	// Op is a required field
	Op *string `locationName:"op" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SparqlRecord) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SparqlRecord) GoString() string {
	return s.String()
}

// SetCommitTimestampInMillis sets the CommitTimestampInMillis field's value.
func (s *SparqlRecord) SetCommitTimestampInMillis(v int64) *SparqlRecord {
	s.CommitTimestampInMillis = &v
	return s
}

// SetData sets the Data field's value.
func (s *SparqlRecord) SetData(v *SparqlData) *SparqlRecord {
	s.Data = v
	return s
}

// SetEventId sets the EventId field's value.
func (s *SparqlRecord) SetEventId(v map[string]*string) *SparqlRecord {
	s.EventId = v
	return s
}

// SetIsLastOp sets the IsLastOp field's value.
func (s *SparqlRecord) SetIsLastOp(v bool) *SparqlRecord {
	s.IsLastOp = &v
	return s
}

// SetOp sets the Op field's value.
func (s *SparqlRecord) SetOp(v string) *SparqlRecord {
	s.Op = &v
	return s
}

type StartLoaderJobInput struct {
	_ struct{} `type:"structure"`

	// This is an optional parameter that can make a queued load request contingent
	// on the successful completion of one or more previous jobs in the queue.
	//
	// Neptune can queue up as many as 64 load requests at a time, if their queueRequest
	// parameters are set to "TRUE". The dependencies parameter lets you make execution
	// of such a queued request dependent on the successful completion of one or
	// more specified previous requests in the queue.
	//
	// For example, if load Job-A and Job-B are independent of each other, but load
	// Job-C needs Job-A and Job-B to be finished before it begins, proceed as follows:
	//
	// Submit load-job-A and load-job-B one after another in any order, and save
	// their load-ids.
	//
	// Submit load-job-C with the load-ids of the two jobs in its dependencies field:
	//
	// Because of the dependencies parameter, the bulk loader will not start Job-C
	// until Job-A and Job-B have completed successfully. If either one of them
	// fails, Job-C will not be executed, and its status will be set to LOAD_FAILED_BECAUSE_DEPENDENCY_NOT_SATISFIED.
	//
	// You can set up multiple levels of dependency in this way, so that the failure
	// of one job will cause all requests that are directly or indirectly dependent
	// on it to be cancelled.
	Dependencies []*string `locationName:"dependencies" type:"list"`

	//  failOnError – A flag to toggle a complete stop on an error.
	//
	// Allowed values: "TRUE", "FALSE".
	//
	// Default value: "TRUE".
	//
	// When this parameter is set to "FALSE", the loader tries to load all the data
	// in the location specified, skipping any entries with errors.
	//
	// When this parameter is set to "TRUE", the loader stops as soon as it encounters
	// an error. Data loaded up to that point persists.
	FailOnError *bool `locationName:"failOnError" type:"boolean"`

	// The format of the data. For more information about data formats for the Neptune
	// Loader command, see Load Data Formats (https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-format.html).
	//
	// Allowed values
	//
	//    * csv for the Gremlin CSV data format (https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-format-gremlin.html).
	//
	//    * opencypher for the openCypher CSV data format (https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-format-opencypher.html).
	//
	//    * ntriples for the N-Triples RDF data format (https://www.w3.org/TR/n-triples/).
	//
	//    * nquads for the N-Quads RDF data format (https://www.w3.org/TR/n-quads/).
	//
	//    * rdfxml for the RDF\XML RDF data format (https://www.w3.org/TR/rdf-syntax-grammar/).
	//
	//    * turtle for the Turtle RDF data format (https://www.w3.org/TR/turtle/).
	//
	// Format is a required field
	Format *string `locationName:"format" type:"string" required:"true" enum:"Format"`

	// The Amazon Resource Name (ARN) for an IAM role to be assumed by the Neptune
	// DB instance for access to the S3 bucket. The IAM role ARN provided here should
	// be attached to the DB cluster (see Adding the IAM Role to an Amazon Neptune
	// Cluster (https://docs.aws.amazon.com/neptune/latest/userguide/bulk-load-tutorial-IAM-add-role-cluster.html).
	//
	// IamRoleArn is a required field
	IamRoleArn *string `locationName:"iamRoleArn" type:"string" required:"true"`

	// The load job mode.
	//
	// Allowed values: RESUME, NEW, AUTO.
	//
	// Default value: AUTO.
	//
	//    * RESUME – In RESUME mode, the loader looks for a previous load from
	//    this source, and if it finds one, resumes that load job. If no previous
	//    load job is found, the loader stops. The loader avoids reloading files
	//    that were successfully loaded in a previous job. It only tries to process
	//    failed files. If you dropped previously loaded data from your Neptune
	//    cluster, that data is not reloaded in this mode. If a previous load job
	//    loaded all files from the same source successfully, nothing is reloaded,
	//    and the loader returns success.
	//
	//    * NEW – In NEW mode, the creates a new load request regardless of any
	//    previous loads. You can use this mode to reload all the data from a source
	//    after dropping previously loaded data from your Neptune cluster, or to
	//    load new data available at the same source.
	//
	//    * AUTO – In AUTO mode, the loader looks for a previous load job from
	//    the same source, and if it finds one, resumes that job, just as in RESUME
	//    mode. If the loader doesn't find a previous load job from the same source,
	//    it loads all data from the source, just as in NEW mode.
	Mode *string `locationName:"mode" type:"string" enum:"Mode"`

	// The optional parallelism parameter can be set to reduce the number of threads
	// used by the bulk load process.
	//
	// Allowed values:
	//
	//    * LOW – The number of threads used is the number of available vCPUs
	//    divided by 8.
	//
	//    * MEDIUM – The number of threads used is the number of available vCPUs
	//    divided by 2.
	//
	//    * HIGH – The number of threads used is the same as the number of available
	//    vCPUs.
	//
	//    * OVERSUBSCRIBE – The number of threads used is the number of available
	//    vCPUs multiplied by 2. If this value is used, the bulk loader takes up
	//    all available resources. This does not mean, however, that the OVERSUBSCRIBE
	//    setting results in 100% CPU utilization. Because the load operation is
	//    I/O bound, the highest CPU utilization to expect is in the 60% to 70%
	//    range.
	//
	// Default value: HIGH
	//
	// The parallelism setting can sometimes result in a deadlock between threads
	// when loading openCypher data. When this happens, Neptune returns the LOAD_DATA_DEADLOCK
	// error. You can generally fix the issue by setting parallelism to a lower
	// setting and retrying the load command.
	Parallelism *string `locationName:"parallelism" type:"string" enum:"Parallelism"`

	//  parserConfiguration – An optional object with additional parser configuration
	//  values. Each of the child parameters is also optional:
	//
	//    * namedGraphUri – The default graph for all RDF formats when no graph
	//    is specified (for non-quads formats and NQUAD entries with no graph).
	//    The default is https://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph.
	//
	//    * baseUri – The base URI for RDF/XML and Turtle formats. The default
	//    is https://aws.amazon.com/neptune/default.
	//
	//    * allowEmptyStrings – Gremlin users need to be able to pass empty string
	//    values("") as node and edge properties when loading CSV data. If allowEmptyStrings
	//    is set to false (the default), such empty strings are treated as nulls
	//    and are not loaded. If allowEmptyStrings is set to true, the loader treats
	//    empty strings as valid property values and loads them accordingly.
	ParserConfiguration map[string]*string `locationName:"parserConfiguration" type:"map"`

	// This is an optional flag parameter that indicates whether the load request
	// can be queued up or not.
	//
	// You don't have to wait for one load job to complete before issuing the next
	// one, because Neptune can queue up as many as 64 jobs at a time, provided
	// that their queueRequest parameters are all set to "TRUE". The queue order
	// of the jobs will be first-in-first-out (FIFO).
	//
	// If the queueRequest parameter is omitted or set to "FALSE", the load request
	// will fail if another load job is already running.
	//
	// Allowed values: "TRUE", "FALSE".
	//
	// Default value: "FALSE".
	QueueRequest *bool `locationName:"queueRequest" type:"boolean"`

	// The Amazon region of the S3 bucket. This must match the Amazon Region of
	// the DB cluster.
	//
	// S3BucketRegion is a required field
	S3BucketRegion *string `locationName:"region" type:"string" required:"true" enum:"S3BucketRegion"`

	// The source parameter accepts an S3 URI that identifies a single file, multiple
	// files, a folder, or multiple folders. Neptune loads every data file in any
	// folder that is specified.
	//
	// The URI can be in any of the following formats.
	//
	//    * s3://(bucket_name)/(object-key-name)
	//
	//    * https://s3.amazonaws.com/(bucket_name)/(object-key-name)
	//
	//    * https://s3.us-east-1.amazonaws.com/(bucket_name)/(object-key-name)
	//
	// The object-key-name element of the URI is equivalent to the prefix (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html#API_ListObjects_RequestParameters)
	// parameter in an S3 ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)
	// API call. It identifies all the objects in the specified S3 bucket whose
	// names begin with that prefix. That can be a single file or folder, or multiple
	// files and/or folders.
	//
	// The specified folder or folders can contain multiple vertex files and multiple
	// edge files.
	//
	// Source is a required field
	Source *string `locationName:"source" type:"string" required:"true"`

	// updateSingleCardinalityProperties is an optional parameter that controls
	// how the bulk loader treats a new value for single-cardinality vertex or edge
	// properties. This is not supported for loading openCypher data.
	//
	// Allowed values: "TRUE", "FALSE".
	//
	// Default value: "FALSE".
	//
	// By default, or when updateSingleCardinalityProperties is explicitly set to
	// "FALSE", the loader treats a new value as an error, because it violates single
	// cardinality.
	//
	// When updateSingleCardinalityProperties is set to "TRUE", on the other hand,
	// the bulk loader replaces the existing value with the new one. If multiple
	// edge or single-cardinality vertex property values are provided in the source
	// file(s) being loaded, the final value at the end of the bulk load could be
	// any one of those new values. The loader only guarantees that the existing
	// value has been replaced by one of the new ones.
	UpdateSingleCardinalityProperties *bool `locationName:"updateSingleCardinalityProperties" type:"boolean"`

	// This parameter is required only when loading openCypher data that contains
	// relationship IDs. It must be included and set to True when openCypher relationship
	// IDs are explicitly provided in the load data (recommended).
	//
	// When userProvidedEdgeIds is absent or set to True, an :ID column must be
	// present in every relationship file in the load.
	//
	// When userProvidedEdgeIds is present and set to False, relationship files
	// in the load must not contain an :ID column. Instead, the Neptune loader automatically
	// generates an ID for each relationship.
	//
	// It's useful to provide relationship IDs explicitly so that the loader can
	// resume loading after error in the CSV data have been fixed, without having
	// to reload any relationships that have already been loaded. If relationship
	// IDs have not been explicitly assigned, the loader cannot resume a failed
	// load if any relationship file has had to be corrected, and must instead reload
	// all the relationships.
	UserProvidedEdgeIds *bool `locationName:"userProvidedEdgeIds" type:"boolean"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartLoaderJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartLoaderJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *StartLoaderJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "StartLoaderJobInput"}
	if s.Format == nil {
		invalidParams.Add(request.NewErrParamRequired("Format"))
	}
	if s.IamRoleArn == nil {
		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
	}
	if s.S3BucketRegion == nil {
		invalidParams.Add(request.NewErrParamRequired("S3BucketRegion"))
	}
	if s.Source == nil {
		invalidParams.Add(request.NewErrParamRequired("Source"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetDependencies sets the Dependencies field's value.
func (s *StartLoaderJobInput) SetDependencies(v []*string) *StartLoaderJobInput {
	s.Dependencies = v
	return s
}

// SetFailOnError sets the FailOnError field's value.
func (s *StartLoaderJobInput) SetFailOnError(v bool) *StartLoaderJobInput {
	s.FailOnError = &v
	return s
}

// SetFormat sets the Format field's value.
func (s *StartLoaderJobInput) SetFormat(v string) *StartLoaderJobInput {
	s.Format = &v
	return s
}

// SetIamRoleArn sets the IamRoleArn field's value.
func (s *StartLoaderJobInput) SetIamRoleArn(v string) *StartLoaderJobInput {
	s.IamRoleArn = &v
	return s
}

// SetMode sets the Mode field's value.
func (s *StartLoaderJobInput) SetMode(v string) *StartLoaderJobInput {
	s.Mode = &v
	return s
}

// SetParallelism sets the Parallelism field's value.
func (s *StartLoaderJobInput) SetParallelism(v string) *StartLoaderJobInput {
	s.Parallelism = &v
	return s
}

// SetParserConfiguration sets the ParserConfiguration field's value.
func (s *StartLoaderJobInput) SetParserConfiguration(v map[string]*string) *StartLoaderJobInput {
	s.ParserConfiguration = v
	return s
}

// SetQueueRequest sets the QueueRequest field's value.
func (s *StartLoaderJobInput) SetQueueRequest(v bool) *StartLoaderJobInput {
	s.QueueRequest = &v
	return s
}

// SetS3BucketRegion sets the S3BucketRegion field's value.
func (s *StartLoaderJobInput) SetS3BucketRegion(v string) *StartLoaderJobInput {
	s.S3BucketRegion = &v
	return s
}

// SetSource sets the Source field's value.
func (s *StartLoaderJobInput) SetSource(v string) *StartLoaderJobInput {
	s.Source = &v
	return s
}

// SetUpdateSingleCardinalityProperties sets the UpdateSingleCardinalityProperties field's value.
func (s *StartLoaderJobInput) SetUpdateSingleCardinalityProperties(v bool) *StartLoaderJobInput {
	s.UpdateSingleCardinalityProperties = &v
	return s
}

// SetUserProvidedEdgeIds sets the UserProvidedEdgeIds field's value.
func (s *StartLoaderJobInput) SetUserProvidedEdgeIds(v bool) *StartLoaderJobInput {
	s.UserProvidedEdgeIds = &v
	return s
}

type StartLoaderJobOutput struct {
	_ struct{} `type:"structure"`

	// Contains a loadId name-value pair that provides an identifier for the load
	// operation.
	//
	// Payload is a required field
	Payload map[string]*string `locationName:"payload" type:"map" required:"true"`

	// The HTTP return code indicating the status of the load job.
	//
	// Status is a required field
	Status *string `locationName:"status" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartLoaderJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartLoaderJobOutput) GoString() string {
	return s.String()
}

// SetPayload sets the Payload field's value.
func (s *StartLoaderJobOutput) SetPayload(v map[string]*string) *StartLoaderJobOutput {
	s.Payload = v
	return s
}

// SetStatus sets the Status field's value.
func (s *StartLoaderJobOutput) SetStatus(v string) *StartLoaderJobOutput {
	s.Status = &v
	return s
}

type StartMLDataProcessingJobInput struct {
	_ struct{} `type:"structure"`

	// A data specification file that describes how to load the exported graph data
	// for training. The file is automatically generated by the Neptune export toolkit.
	// The default is training-data-configuration.json.
	ConfigFileName *string `locationName:"configFileName" type:"string"`

	// A unique identifier for the new job. The default is an autogenerated UUID.
	Id *string `locationName:"id" type:"string"`

	// The URI of the Amazon S3 location where you want SageMaker to download the
	// data needed to run the data processing job.
	//
	// InputDataS3Location is a required field
	InputDataS3Location *string `locationName:"inputDataS3Location" type:"string" required:"true"`

	// One of the two model types that Neptune ML currently supports: heterogeneous
	// graph models (heterogeneous), and knowledge graph (kge). The default is none.
	// If not specified, Neptune ML chooses the model type automatically based on
	// the data.
	ModelType *string `locationName:"modelType" type:"string"`

	// The Amazon Resource Name (ARN) of an IAM role that SageMaker can assume to
	// perform tasks on your behalf. This must be listed in your DB cluster parameter
	// group or an error will occur.
	NeptuneIamRoleArn *string `locationName:"neptuneIamRoleArn" type:"string"`

	// The job ID of a completed data processing job run on an earlier version of
	// the data.
	PreviousDataProcessingJobId *string `locationName:"previousDataProcessingJobId" type:"string"`

	// The URI of the Amazon S3 location where you want SageMaker to save the results
	// of a data processing job.
	//
	// ProcessedDataS3Location is a required field
	ProcessedDataS3Location *string `locationName:"processedDataS3Location" type:"string" required:"true"`

	// The type of ML instance used during data processing. Its memory should be
	// large enough to hold the processed dataset. The default is the smallest ml.r5
	// type whose memory is ten times larger than the size of the exported graph
	// data on disk.
	ProcessingInstanceType *string `locationName:"processingInstanceType" type:"string"`

	// The disk volume size of the processing instance. Both input data and processed
	// data are stored on disk, so the volume size must be large enough to hold
	// both data sets. The default is 0. If not specified or 0, Neptune ML chooses
	// the volume size automatically based on the data size.
	ProcessingInstanceVolumeSizeInGB *int64 `locationName:"processingInstanceVolumeSizeInGB" type:"integer"`

	// Timeout in seconds for the data processing job. The default is 86,400 (1
	// day).
	ProcessingTimeOutInSeconds *int64 `locationName:"processingTimeOutInSeconds" type:"integer"`

	// The Amazon Key Management Service (Amazon KMS) key that SageMaker uses to
	// encrypt the output of the processing job. The default is none.
	S3OutputEncryptionKMSKey *string `locationName:"s3OutputEncryptionKMSKey" type:"string"`

	// The ARN of an IAM role for SageMaker execution. This must be listed in your
	// DB cluster parameter group or an error will occur.
	SagemakerIamRoleArn *string `locationName:"sagemakerIamRoleArn" type:"string"`

	// The VPC security group IDs. The default is None.
	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`

	// The IDs of the subnets in the Neptune VPC. The default is None.
	Subnets []*string `locationName:"subnets" type:"list"`

	// The Amazon Key Management Service (Amazon KMS) key that SageMaker uses to
	// encrypt data on the storage volume attached to the ML compute instances that
	// run the training job. The default is None.
	VolumeEncryptionKMSKey *string `locationName:"volumeEncryptionKMSKey" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLDataProcessingJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLDataProcessingJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *StartMLDataProcessingJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "StartMLDataProcessingJobInput"}
	if s.InputDataS3Location == nil {
		invalidParams.Add(request.NewErrParamRequired("InputDataS3Location"))
	}
	if s.ProcessedDataS3Location == nil {
		invalidParams.Add(request.NewErrParamRequired("ProcessedDataS3Location"))
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetConfigFileName sets the ConfigFileName field's value.
func (s *StartMLDataProcessingJobInput) SetConfigFileName(v string) *StartMLDataProcessingJobInput {
	s.ConfigFileName = &v
	return s
}

// SetId sets the Id field's value.
func (s *StartMLDataProcessingJobInput) SetId(v string) *StartMLDataProcessingJobInput {
	s.Id = &v
	return s
}

// SetInputDataS3Location sets the InputDataS3Location field's value.
func (s *StartMLDataProcessingJobInput) SetInputDataS3Location(v string) *StartMLDataProcessingJobInput {
	s.InputDataS3Location = &v
	return s
}

// SetModelType sets the ModelType field's value.
func (s *StartMLDataProcessingJobInput) SetModelType(v string) *StartMLDataProcessingJobInput {
	s.ModelType = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *StartMLDataProcessingJobInput) SetNeptuneIamRoleArn(v string) *StartMLDataProcessingJobInput {
	s.NeptuneIamRoleArn = &v
	return s
}

// SetPreviousDataProcessingJobId sets the PreviousDataProcessingJobId field's value.
func (s *StartMLDataProcessingJobInput) SetPreviousDataProcessingJobId(v string) *StartMLDataProcessingJobInput {
	s.PreviousDataProcessingJobId = &v
	return s
}

// SetProcessedDataS3Location sets the ProcessedDataS3Location field's value.
func (s *StartMLDataProcessingJobInput) SetProcessedDataS3Location(v string) *StartMLDataProcessingJobInput {
	s.ProcessedDataS3Location = &v
	return s
}

// SetProcessingInstanceType sets the ProcessingInstanceType field's value.
func (s *StartMLDataProcessingJobInput) SetProcessingInstanceType(v string) *StartMLDataProcessingJobInput {
	s.ProcessingInstanceType = &v
	return s
}

// SetProcessingInstanceVolumeSizeInGB sets the ProcessingInstanceVolumeSizeInGB field's value.
func (s *StartMLDataProcessingJobInput) SetProcessingInstanceVolumeSizeInGB(v int64) *StartMLDataProcessingJobInput {
	s.ProcessingInstanceVolumeSizeInGB = &v
	return s
}

// SetProcessingTimeOutInSeconds sets the ProcessingTimeOutInSeconds field's value.
func (s *StartMLDataProcessingJobInput) SetProcessingTimeOutInSeconds(v int64) *StartMLDataProcessingJobInput {
	s.ProcessingTimeOutInSeconds = &v
	return s
}

// SetS3OutputEncryptionKMSKey sets the S3OutputEncryptionKMSKey field's value.
func (s *StartMLDataProcessingJobInput) SetS3OutputEncryptionKMSKey(v string) *StartMLDataProcessingJobInput {
	s.S3OutputEncryptionKMSKey = &v
	return s
}

// SetSagemakerIamRoleArn sets the SagemakerIamRoleArn field's value.
func (s *StartMLDataProcessingJobInput) SetSagemakerIamRoleArn(v string) *StartMLDataProcessingJobInput {
	s.SagemakerIamRoleArn = &v
	return s
}

// SetSecurityGroupIds sets the SecurityGroupIds field's value.
func (s *StartMLDataProcessingJobInput) SetSecurityGroupIds(v []*string) *StartMLDataProcessingJobInput {
	s.SecurityGroupIds = v
	return s
}

// SetSubnets sets the Subnets field's value.
func (s *StartMLDataProcessingJobInput) SetSubnets(v []*string) *StartMLDataProcessingJobInput {
	s.Subnets = v
	return s
}

// SetVolumeEncryptionKMSKey sets the VolumeEncryptionKMSKey field's value.
func (s *StartMLDataProcessingJobInput) SetVolumeEncryptionKMSKey(v string) *StartMLDataProcessingJobInput {
	s.VolumeEncryptionKMSKey = &v
	return s
}

type StartMLDataProcessingJobOutput struct {
	_ struct{} `type:"structure"`

	// The ARN of the data processing job.
	Arn *string `locationName:"arn" type:"string"`

	// The time it took to create the new processing job, in milliseconds.
	CreationTimeInMillis *int64 `locationName:"creationTimeInMillis" type:"long"`

	// The unique ID of the new data processing job.
	Id *string `locationName:"id" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLDataProcessingJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLDataProcessingJobOutput) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *StartMLDataProcessingJobOutput) SetArn(v string) *StartMLDataProcessingJobOutput {
	s.Arn = &v
	return s
}

// SetCreationTimeInMillis sets the CreationTimeInMillis field's value.
func (s *StartMLDataProcessingJobOutput) SetCreationTimeInMillis(v int64) *StartMLDataProcessingJobOutput {
	s.CreationTimeInMillis = &v
	return s
}

// SetId sets the Id field's value.
func (s *StartMLDataProcessingJobOutput) SetId(v string) *StartMLDataProcessingJobOutput {
	s.Id = &v
	return s
}

type StartMLModelTrainingJobInput struct {
	_ struct{} `type:"structure"`

	// The type of ML instance used in preparing and managing training of ML models.
	// This is a CPU instance chosen based on memory requirements for processing
	// the training data and model.
	BaseProcessingInstanceType *string `locationName:"baseProcessingInstanceType" type:"string"`

	// The configuration for custom model training. This is a JSON object.
	CustomModelTrainingParameters *CustomModelTrainingParameters `locationName:"customModelTrainingParameters" type:"structure"`

	// The job ID of the completed data-processing job that has created the data
	// that the training will work with.
	//
	// DataProcessingJobId is a required field
	DataProcessingJobId *string `locationName:"dataProcessingJobId" type:"string" required:"true"`

	// Optimizes the cost of training machine-learning models by using Amazon Elastic
	// Compute Cloud spot instances. The default is False.
	EnableManagedSpotTraining *bool `locationName:"enableManagedSpotTraining" type:"boolean"`

	// A unique identifier for the new job. The default is An autogenerated UUID.
	Id *string `locationName:"id" type:"string"`

	// Maximum total number of training jobs to start for the hyperparameter tuning
	// job. The default is 2. Neptune ML automatically tunes the hyperparameters
	// of the machine learning model. To obtain a model that performs well, use
	// at least 10 jobs (in other words, set maxHPONumberOfTrainingJobs to 10).
	// In general, the more tuning runs, the better the results.
	MaxHPONumberOfTrainingJobs *int64 `locationName:"maxHPONumberOfTrainingJobs" type:"integer"`

	// Maximum number of parallel training jobs to start for the hyperparameter
	// tuning job. The default is 2. The number of parallel jobs you can run is
	// limited by the available resources on your training instance.
	MaxHPOParallelTrainingJobs *int64 `locationName:"maxHPOParallelTrainingJobs" type:"integer"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `locationName:"neptuneIamRoleArn" type:"string"`

	// The job ID of a completed model-training job that you want to update incrementally
	// based on updated data.
	PreviousModelTrainingJobId *string `locationName:"previousModelTrainingJobId" type:"string"`

	// The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt
	// the output of the processing job. The default is none.
	S3OutputEncryptionKMSKey *string `locationName:"s3OutputEncryptionKMSKey" type:"string"`

	// The ARN of an IAM role for SageMaker execution.This must be listed in your
	// DB cluster parameter group or an error will occur.
	SagemakerIamRoleArn *string `locationName:"sagemakerIamRoleArn" type:"string"`

	// The VPC security group IDs. The default is None.
	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`

	// The IDs of the subnets in the Neptune VPC. The default is None.
	Subnets []*string `locationName:"subnets" type:"list"`

	// The location in Amazon S3 where the model artifacts are to be stored.
	//
	// TrainModelS3Location is a required field
	TrainModelS3Location *string `locationName:"trainModelS3Location" type:"string" required:"true"`

	// The type of ML instance used for model training. All Neptune ML models support
	// CPU, GPU, and multiGPU training. The default is ml.p3.2xlarge. Choosing the
	// right instance type for training depends on the task type, graph size, and
	// your budget.
	TrainingInstanceType *string `locationName:"trainingInstanceType" type:"string"`

	// The disk volume size of the training instance. Both input data and the output
	// model are stored on disk, so the volume size must be large enough to hold
	// both data sets. The default is 0. If not specified or 0, Neptune ML selects
	// a disk volume size based on the recommendation generated in the data processing
	// step.
	TrainingInstanceVolumeSizeInGB *int64 `locationName:"trainingInstanceVolumeSizeInGB" type:"integer"`

	// Timeout in seconds for the training job. The default is 86,400 (1 day).
	TrainingTimeOutInSeconds *int64 `locationName:"trainingTimeOutInSeconds" type:"integer"`

	// The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt
	// data on the storage volume attached to the ML compute instances that run
	// the training job. The default is None.
	VolumeEncryptionKMSKey *string `locationName:"volumeEncryptionKMSKey" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLModelTrainingJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLModelTrainingJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *StartMLModelTrainingJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "StartMLModelTrainingJobInput"}
	if s.DataProcessingJobId == nil {
		invalidParams.Add(request.NewErrParamRequired("DataProcessingJobId"))
	}
	if s.TrainModelS3Location == nil {
		invalidParams.Add(request.NewErrParamRequired("TrainModelS3Location"))
	}
	if s.CustomModelTrainingParameters != nil {
		if err := s.CustomModelTrainingParameters.Validate(); err != nil {
			invalidParams.AddNested("CustomModelTrainingParameters", err.(request.ErrInvalidParams))
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetBaseProcessingInstanceType sets the BaseProcessingInstanceType field's value.
func (s *StartMLModelTrainingJobInput) SetBaseProcessingInstanceType(v string) *StartMLModelTrainingJobInput {
	s.BaseProcessingInstanceType = &v
	return s
}

// SetCustomModelTrainingParameters sets the CustomModelTrainingParameters field's value.
func (s *StartMLModelTrainingJobInput) SetCustomModelTrainingParameters(v *CustomModelTrainingParameters) *StartMLModelTrainingJobInput {
	s.CustomModelTrainingParameters = v
	return s
}

// SetDataProcessingJobId sets the DataProcessingJobId field's value.
func (s *StartMLModelTrainingJobInput) SetDataProcessingJobId(v string) *StartMLModelTrainingJobInput {
	s.DataProcessingJobId = &v
	return s
}

// SetEnableManagedSpotTraining sets the EnableManagedSpotTraining field's value.
func (s *StartMLModelTrainingJobInput) SetEnableManagedSpotTraining(v bool) *StartMLModelTrainingJobInput {
	s.EnableManagedSpotTraining = &v
	return s
}

// SetId sets the Id field's value.
func (s *StartMLModelTrainingJobInput) SetId(v string) *StartMLModelTrainingJobInput {
	s.Id = &v
	return s
}

// SetMaxHPONumberOfTrainingJobs sets the MaxHPONumberOfTrainingJobs field's value.
func (s *StartMLModelTrainingJobInput) SetMaxHPONumberOfTrainingJobs(v int64) *StartMLModelTrainingJobInput {
	s.MaxHPONumberOfTrainingJobs = &v
	return s
}

// SetMaxHPOParallelTrainingJobs sets the MaxHPOParallelTrainingJobs field's value.
func (s *StartMLModelTrainingJobInput) SetMaxHPOParallelTrainingJobs(v int64) *StartMLModelTrainingJobInput {
	s.MaxHPOParallelTrainingJobs = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *StartMLModelTrainingJobInput) SetNeptuneIamRoleArn(v string) *StartMLModelTrainingJobInput {
	s.NeptuneIamRoleArn = &v
	return s
}

// SetPreviousModelTrainingJobId sets the PreviousModelTrainingJobId field's value.
func (s *StartMLModelTrainingJobInput) SetPreviousModelTrainingJobId(v string) *StartMLModelTrainingJobInput {
	s.PreviousModelTrainingJobId = &v
	return s
}

// SetS3OutputEncryptionKMSKey sets the S3OutputEncryptionKMSKey field's value.
func (s *StartMLModelTrainingJobInput) SetS3OutputEncryptionKMSKey(v string) *StartMLModelTrainingJobInput {
	s.S3OutputEncryptionKMSKey = &v
	return s
}

// SetSagemakerIamRoleArn sets the SagemakerIamRoleArn field's value.
func (s *StartMLModelTrainingJobInput) SetSagemakerIamRoleArn(v string) *StartMLModelTrainingJobInput {
	s.SagemakerIamRoleArn = &v
	return s
}

// SetSecurityGroupIds sets the SecurityGroupIds field's value.
func (s *StartMLModelTrainingJobInput) SetSecurityGroupIds(v []*string) *StartMLModelTrainingJobInput {
	s.SecurityGroupIds = v
	return s
}

// SetSubnets sets the Subnets field's value.
func (s *StartMLModelTrainingJobInput) SetSubnets(v []*string) *StartMLModelTrainingJobInput {
	s.Subnets = v
	return s
}

// SetTrainModelS3Location sets the TrainModelS3Location field's value.
func (s *StartMLModelTrainingJobInput) SetTrainModelS3Location(v string) *StartMLModelTrainingJobInput {
	s.TrainModelS3Location = &v
	return s
}

// SetTrainingInstanceType sets the TrainingInstanceType field's value.
func (s *StartMLModelTrainingJobInput) SetTrainingInstanceType(v string) *StartMLModelTrainingJobInput {
	s.TrainingInstanceType = &v
	return s
}

// SetTrainingInstanceVolumeSizeInGB sets the TrainingInstanceVolumeSizeInGB field's value.
func (s *StartMLModelTrainingJobInput) SetTrainingInstanceVolumeSizeInGB(v int64) *StartMLModelTrainingJobInput {
	s.TrainingInstanceVolumeSizeInGB = &v
	return s
}

// SetTrainingTimeOutInSeconds sets the TrainingTimeOutInSeconds field's value.
func (s *StartMLModelTrainingJobInput) SetTrainingTimeOutInSeconds(v int64) *StartMLModelTrainingJobInput {
	s.TrainingTimeOutInSeconds = &v
	return s
}

// SetVolumeEncryptionKMSKey sets the VolumeEncryptionKMSKey field's value.
func (s *StartMLModelTrainingJobInput) SetVolumeEncryptionKMSKey(v string) *StartMLModelTrainingJobInput {
	s.VolumeEncryptionKMSKey = &v
	return s
}

type StartMLModelTrainingJobOutput struct {
	_ struct{} `type:"structure"`

	// The ARN of the new model training job.
	Arn *string `locationName:"arn" type:"string"`

	// The model training job creation time, in milliseconds.
	CreationTimeInMillis *int64 `locationName:"creationTimeInMillis" type:"long"`

	// The unique ID of the new model training job.
	Id *string `locationName:"id" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLModelTrainingJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLModelTrainingJobOutput) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *StartMLModelTrainingJobOutput) SetArn(v string) *StartMLModelTrainingJobOutput {
	s.Arn = &v
	return s
}

// SetCreationTimeInMillis sets the CreationTimeInMillis field's value.
func (s *StartMLModelTrainingJobOutput) SetCreationTimeInMillis(v int64) *StartMLModelTrainingJobOutput {
	s.CreationTimeInMillis = &v
	return s
}

// SetId sets the Id field's value.
func (s *StartMLModelTrainingJobOutput) SetId(v string) *StartMLModelTrainingJobOutput {
	s.Id = &v
	return s
}

type StartMLModelTransformJobInput struct {
	_ struct{} `type:"structure"`

	// The type of ML instance used in preparing and managing training of ML models.
	// This is an ML compute instance chosen based on memory requirements for processing
	// the training data and model.
	BaseProcessingInstanceType *string `locationName:"baseProcessingInstanceType" type:"string"`

	// The disk volume size of the training instance in gigabytes. The default is
	// 0. Both input data and the output model are stored on disk, so the volume
	// size must be large enough to hold both data sets. If not specified or 0,
	// Neptune ML selects a disk volume size based on the recommendation generated
	// in the data processing step.
	BaseProcessingInstanceVolumeSizeInGB *int64 `locationName:"baseProcessingInstanceVolumeSizeInGB" type:"integer"`

	// Configuration information for a model transform using a custom model. The
	// customModelTransformParameters object contains the following fields, which
	// must have values compatible with the saved model parameters from the training
	// job:
	CustomModelTransformParameters *CustomModelTransformParameters `locationName:"customModelTransformParameters" type:"structure"`

	// The job ID of a completed data-processing job. You must include either dataProcessingJobId
	// and a mlModelTrainingJobId, or a trainingJobName.
	DataProcessingJobId *string `locationName:"dataProcessingJobId" type:"string"`

	// A unique identifier for the new job. The default is an autogenerated UUID.
	Id *string `locationName:"id" type:"string"`

	// The job ID of a completed model-training job. You must include either dataProcessingJobId
	// and a mlModelTrainingJobId, or a trainingJobName.
	MlModelTrainingJobId *string `locationName:"mlModelTrainingJobId" type:"string"`

	// The location in Amazon S3 where the model artifacts are to be stored.
	//
	// ModelTransformOutputS3Location is a required field
	ModelTransformOutputS3Location *string `locationName:"modelTransformOutputS3Location" type:"string" required:"true"`

	// The ARN of an IAM role that provides Neptune access to SageMaker and Amazon
	// S3 resources. This must be listed in your DB cluster parameter group or an
	// error will occur.
	NeptuneIamRoleArn *string `locationName:"neptuneIamRoleArn" type:"string"`

	// The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt
	// the output of the processing job. The default is none.
	S3OutputEncryptionKMSKey *string `locationName:"s3OutputEncryptionKMSKey" type:"string"`

	// The ARN of an IAM role for SageMaker execution. This must be listed in your
	// DB cluster parameter group or an error will occur.
	SagemakerIamRoleArn *string `locationName:"sagemakerIamRoleArn" type:"string"`

	// The VPC security group IDs. The default is None.
	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`

	// The IDs of the subnets in the Neptune VPC. The default is None.
	Subnets []*string `locationName:"subnets" type:"list"`

	// The name of a completed SageMaker training job. You must include either dataProcessingJobId
	// and a mlModelTrainingJobId, or a trainingJobName.
	TrainingJobName *string `locationName:"trainingJobName" type:"string"`

	// The Amazon Key Management Service (KMS) key that SageMaker uses to encrypt
	// data on the storage volume attached to the ML compute instances that run
	// the training job. The default is None.
	VolumeEncryptionKMSKey *string `locationName:"volumeEncryptionKMSKey" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLModelTransformJobInput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLModelTransformJobInput) GoString() string {
	return s.String()
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *StartMLModelTransformJobInput) Validate() error {
	invalidParams := request.ErrInvalidParams{Context: "StartMLModelTransformJobInput"}
	if s.ModelTransformOutputS3Location == nil {
		invalidParams.Add(request.NewErrParamRequired("ModelTransformOutputS3Location"))
	}
	if s.CustomModelTransformParameters != nil {
		if err := s.CustomModelTransformParameters.Validate(); err != nil {
			invalidParams.AddNested("CustomModelTransformParameters", err.(request.ErrInvalidParams))
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

// SetBaseProcessingInstanceType sets the BaseProcessingInstanceType field's value.
func (s *StartMLModelTransformJobInput) SetBaseProcessingInstanceType(v string) *StartMLModelTransformJobInput {
	s.BaseProcessingInstanceType = &v
	return s
}

// SetBaseProcessingInstanceVolumeSizeInGB sets the BaseProcessingInstanceVolumeSizeInGB field's value.
func (s *StartMLModelTransformJobInput) SetBaseProcessingInstanceVolumeSizeInGB(v int64) *StartMLModelTransformJobInput {
	s.BaseProcessingInstanceVolumeSizeInGB = &v
	return s
}

// SetCustomModelTransformParameters sets the CustomModelTransformParameters field's value.
func (s *StartMLModelTransformJobInput) SetCustomModelTransformParameters(v *CustomModelTransformParameters) *StartMLModelTransformJobInput {
	s.CustomModelTransformParameters = v
	return s
}

// SetDataProcessingJobId sets the DataProcessingJobId field's value.
func (s *StartMLModelTransformJobInput) SetDataProcessingJobId(v string) *StartMLModelTransformJobInput {
	s.DataProcessingJobId = &v
	return s
}

// SetId sets the Id field's value.
func (s *StartMLModelTransformJobInput) SetId(v string) *StartMLModelTransformJobInput {
	s.Id = &v
	return s
}

// SetMlModelTrainingJobId sets the MlModelTrainingJobId field's value.
func (s *StartMLModelTransformJobInput) SetMlModelTrainingJobId(v string) *StartMLModelTransformJobInput {
	s.MlModelTrainingJobId = &v
	return s
}

// SetModelTransformOutputS3Location sets the ModelTransformOutputS3Location field's value.
func (s *StartMLModelTransformJobInput) SetModelTransformOutputS3Location(v string) *StartMLModelTransformJobInput {
	s.ModelTransformOutputS3Location = &v
	return s
}

// SetNeptuneIamRoleArn sets the NeptuneIamRoleArn field's value.
func (s *StartMLModelTransformJobInput) SetNeptuneIamRoleArn(v string) *StartMLModelTransformJobInput {
	s.NeptuneIamRoleArn = &v
	return s
}

// SetS3OutputEncryptionKMSKey sets the S3OutputEncryptionKMSKey field's value.
func (s *StartMLModelTransformJobInput) SetS3OutputEncryptionKMSKey(v string) *StartMLModelTransformJobInput {
	s.S3OutputEncryptionKMSKey = &v
	return s
}

// SetSagemakerIamRoleArn sets the SagemakerIamRoleArn field's value.
func (s *StartMLModelTransformJobInput) SetSagemakerIamRoleArn(v string) *StartMLModelTransformJobInput {
	s.SagemakerIamRoleArn = &v
	return s
}

// SetSecurityGroupIds sets the SecurityGroupIds field's value.
func (s *StartMLModelTransformJobInput) SetSecurityGroupIds(v []*string) *StartMLModelTransformJobInput {
	s.SecurityGroupIds = v
	return s
}

// SetSubnets sets the Subnets field's value.
func (s *StartMLModelTransformJobInput) SetSubnets(v []*string) *StartMLModelTransformJobInput {
	s.Subnets = v
	return s
}

// SetTrainingJobName sets the TrainingJobName field's value.
func (s *StartMLModelTransformJobInput) SetTrainingJobName(v string) *StartMLModelTransformJobInput {
	s.TrainingJobName = &v
	return s
}

// SetVolumeEncryptionKMSKey sets the VolumeEncryptionKMSKey field's value.
func (s *StartMLModelTransformJobInput) SetVolumeEncryptionKMSKey(v string) *StartMLModelTransformJobInput {
	s.VolumeEncryptionKMSKey = &v
	return s
}

type StartMLModelTransformJobOutput struct {
	_ struct{} `type:"structure"`

	// The ARN of the model transform job.
	Arn *string `locationName:"arn" type:"string"`

	// The creation time of the model transform job, in milliseconds.
	CreationTimeInMillis *int64 `locationName:"creationTimeInMillis" type:"long"`

	// The unique ID of the new model transform job.
	Id *string `locationName:"id" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLModelTransformJobOutput) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMLModelTransformJobOutput) GoString() string {
	return s.String()
}

// SetArn sets the Arn field's value.
func (s *StartMLModelTransformJobOutput) SetArn(v string) *StartMLModelTransformJobOutput {
	s.Arn = &v
	return s
}

// SetCreationTimeInMillis sets the CreationTimeInMillis field's value.
func (s *StartMLModelTransformJobOutput) SetCreationTimeInMillis(v int64) *StartMLModelTransformJobOutput {
	s.CreationTimeInMillis = &v
	return s
}

// SetId sets the Id field's value.
func (s *StartMLModelTransformJobOutput) SetId(v string) *StartMLModelTransformJobOutput {
	s.Id = &v
	return s
}

// Contains statistics information. The DFE engine uses information about the
// data in your Neptune graph to make effective trade-offs when planning query
// execution. This information takes the form of statistics that include so-called
// characteristic sets and predicate statistics that can guide query planning.
// See Managing statistics for the Neptune DFE to use (https://docs.aws.amazon.com/neptune/latest/userguide/neptune-dfe-statistics.html).
type Statistics struct {
	_ struct{} `type:"structure"`

	// Indicates whether or not DFE statistics generation is enabled at all.
	Active *bool `locationName:"active" type:"boolean"`

	// Indicates whether or not automatic statistics generation is enabled.
	AutoCompute *bool `locationName:"autoCompute" type:"boolean"`

	// The UTC time at which DFE statistics have most recently been generated.
	Date *time.Time `locationName:"date" type:"timestamp" timestampFormat:"iso8601"`

	// A note about problems in the case where statistics are invalid.
	Note *string `locationName:"note" type:"string"`

	// A StatisticsSummary structure that contains:
	//
	//    * signatureCount - The total number of signatures across all characteristic
	//    sets.
	//
	//    * instanceCount - The total number of characteristic-set instances.
	//
	//    * predicateCount - The total number of unique predicates.
	SignatureInfo *StatisticsSummary `locationName:"signatureInfo" type:"structure"`

	// Reports the ID of the current statistics generation run. A value of -1 indicates
	// that no statistics have been generated.
	StatisticsId *string `locationName:"statisticsId" type:"string"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Statistics) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Statistics) GoString() string {
	return s.String()
}

// SetActive sets the Active field's value.
func (s *Statistics) SetActive(v bool) *Statistics {
	s.Active = &v
	return s
}

// SetAutoCompute sets the AutoCompute field's value.
func (s *Statistics) SetAutoCompute(v bool) *Statistics {
	s.AutoCompute = &v
	return s
}

// SetDate sets the Date field's value.
func (s *Statistics) SetDate(v time.Time) *Statistics {
	s.Date = &v
	return s
}

// SetNote sets the Note field's value.
func (s *Statistics) SetNote(v string) *Statistics {
	s.Note = &v
	return s
}

// SetSignatureInfo sets the SignatureInfo field's value.
func (s *Statistics) SetSignatureInfo(v *StatisticsSummary) *Statistics {
	s.SignatureInfo = v
	return s
}

// SetStatisticsId sets the StatisticsId field's value.
func (s *Statistics) SetStatisticsId(v string) *Statistics {
	s.StatisticsId = &v
	return s
}

// Raised when statistics needed to satisfy a request are not available.
type StatisticsNotAvailableException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StatisticsNotAvailableException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StatisticsNotAvailableException) GoString() string {
	return s.String()
}

func newErrorStatisticsNotAvailableException(v protocol.ResponseMetadata) error {
	return &StatisticsNotAvailableException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *StatisticsNotAvailableException) Code() string {
	return "StatisticsNotAvailableException"
}

// Message returns the exception's message.
func (s *StatisticsNotAvailableException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *StatisticsNotAvailableException) OrigErr() error {
	return nil
}

func (s *StatisticsNotAvailableException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *StatisticsNotAvailableException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *StatisticsNotAvailableException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Information about the characteristic sets generated in the statistics.
type StatisticsSummary struct {
	_ struct{} `type:"structure"`

	// The total number of characteristic-set instances.
	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`

	// The total number of unique predicates.
	PredicateCount *int64 `locationName:"predicateCount" type:"integer"`

	// The total number of signatures across all characteristic sets.
	SignatureCount *int64 `locationName:"signatureCount" type:"integer"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StatisticsSummary) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StatisticsSummary) GoString() string {
	return s.String()
}

// SetInstanceCount sets the InstanceCount field's value.
func (s *StatisticsSummary) SetInstanceCount(v int64) *StatisticsSummary {
	s.InstanceCount = &v
	return s
}

// SetPredicateCount sets the PredicateCount field's value.
func (s *StatisticsSummary) SetPredicateCount(v int64) *StatisticsSummary {
	s.PredicateCount = &v
	return s
}

// SetSignatureCount sets the SignatureCount field's value.
func (s *StatisticsSummary) SetSignatureCount(v int64) *StatisticsSummary {
	s.SignatureCount = &v
	return s
}

// Raised when stream records requested by a query cannot be found.
type StreamRecordsNotFoundException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StreamRecordsNotFoundException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StreamRecordsNotFoundException) GoString() string {
	return s.String()
}

func newErrorStreamRecordsNotFoundException(v protocol.ResponseMetadata) error {
	return &StreamRecordsNotFoundException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *StreamRecordsNotFoundException) Code() string {
	return "StreamRecordsNotFoundException"
}

// Message returns the exception's message.
func (s *StreamRecordsNotFoundException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *StreamRecordsNotFoundException) OrigErr() error {
	return nil
}

func (s *StreamRecordsNotFoundException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *StreamRecordsNotFoundException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *StreamRecordsNotFoundException) RequestID() string {
	return s.RespMetadata.RequestID
}

// A subject structure.
type SubjectStructure struct {
	_ struct{} `type:"structure"`

	// Number of occurrences of this specific structure.
	Count *int64 `locationName:"count" type:"long"`

	// A list of predicates present in this specific structure.
	Predicates []*string `locationName:"predicates" type:"list"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SubjectStructure) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SubjectStructure) GoString() string {
	return s.String()
}

// SetCount sets the Count field's value.
func (s *SubjectStructure) SetCount(v int64) *SubjectStructure {
	s.Count = &v
	return s
}

// SetPredicates sets the Predicates field's value.
func (s *SubjectStructure) SetPredicates(v []*string) *SubjectStructure {
	s.Predicates = v
	return s
}

// Raised when the rate of requests exceeds the maximum throughput. Requests
// can be retried after encountering this exception.
type ThrottlingException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request that could not be processed for this reason.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ThrottlingException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ThrottlingException) GoString() string {
	return s.String()
}

func newErrorThrottlingException(v protocol.ResponseMetadata) error {
	return &ThrottlingException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *ThrottlingException) Code() string {
	return "ThrottlingException"
}

// Message returns the exception's message.
func (s *ThrottlingException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ThrottlingException) OrigErr() error {
	return nil
}

func (s *ThrottlingException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *ThrottlingException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *ThrottlingException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when the an operation exceeds the time limit allowed for it.
type TimeLimitExceededException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request that could not be processed for this reason.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TimeLimitExceededException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TimeLimitExceededException) GoString() string {
	return s.String()
}

func newErrorTimeLimitExceededException(v protocol.ResponseMetadata) error {
	return &TimeLimitExceededException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *TimeLimitExceededException) Code() string {
	return "TimeLimitExceededException"
}

// Message returns the exception's message.
func (s *TimeLimitExceededException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *TimeLimitExceededException) OrigErr() error {
	return nil
}

func (s *TimeLimitExceededException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *TimeLimitExceededException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *TimeLimitExceededException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when the number of requests being processed exceeds the limit.
type TooManyRequestsException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request that could not be processed for this reason.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TooManyRequestsException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TooManyRequestsException) GoString() string {
	return s.String()
}

func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
	return &TooManyRequestsException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *TooManyRequestsException) Code() string {
	return "TooManyRequestsException"
}

// Message returns the exception's message.
func (s *TooManyRequestsException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *TooManyRequestsException) OrigErr() error {
	return nil
}

func (s *TooManyRequestsException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *TooManyRequestsException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *TooManyRequestsException) RequestID() string {
	return s.RespMetadata.RequestID
}

// Raised when a request attempts to initiate an operation that is not supported.
type UnsupportedOperationException struct {
	_            struct{}                  `type:"structure"`
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	// The HTTP status code returned with the exception.
	Code_ *string `locationName:"code" type:"string"`

	// A detailed message describing the problem.
	//
	// DetailedMessage is a required field
	DetailedMessage *string `locationName:"detailedMessage" type:"string" required:"true"`

	Message_ *string `locationName:"message" type:"string"`

	// The ID of the request in question.
	//
	// RequestId is a required field
	RequestId *string `locationName:"requestId" type:"string" required:"true"`
}

// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UnsupportedOperationException) String() string {
	return awsutil.Prettify(s)
}

// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UnsupportedOperationException) GoString() string {
	return s.String()
}

func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error {
	return &UnsupportedOperationException{
		RespMetadata: v,
	}
}

// Code returns the exception type name.
func (s *UnsupportedOperationException) Code() string {
	return "UnsupportedOperationException"
}

// Message returns the exception's message.
func (s *UnsupportedOperationException) Message() string {
	if s.Message_ != nil {
		return *s.Message_
	}
	return ""
}

// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *UnsupportedOperationException) OrigErr() error {
	return nil
}

func (s *UnsupportedOperationException) Error() string {
	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}

// Status code returns the HTTP status code for the request's response error.
func (s *UnsupportedOperationException) StatusCode() int {
	return s.RespMetadata.StatusCode
}

// RequestID returns the service's response RequestID for request.
func (s *UnsupportedOperationException) RequestID() string {
	return s.RespMetadata.RequestID
}

const (
	// ActionInitiateDatabaseReset is a Action enum value
	ActionInitiateDatabaseReset = "initiateDatabaseReset"

	// ActionPerformDatabaseReset is a Action enum value
	ActionPerformDatabaseReset = "performDatabaseReset"
)

// Action_Values returns all elements of the Action enum
func Action_Values() []string {
	return []string{
		ActionInitiateDatabaseReset,
		ActionPerformDatabaseReset,
	}
}

const (
	// EncodingGzip is a Encoding enum value
	EncodingGzip = "gzip"
)

// Encoding_Values returns all elements of the Encoding enum
func Encoding_Values() []string {
	return []string{
		EncodingGzip,
	}
}

const (
	// FormatCsv is a Format enum value
	FormatCsv = "csv"

	// FormatOpencypher is a Format enum value
	FormatOpencypher = "opencypher"

	// FormatNtriples is a Format enum value
	FormatNtriples = "ntriples"

	// FormatNquads is a Format enum value
	FormatNquads = "nquads"

	// FormatRdfxml is a Format enum value
	FormatRdfxml = "rdfxml"

	// FormatTurtle is a Format enum value
	FormatTurtle = "turtle"
)

// Format_Values returns all elements of the Format enum
func Format_Values() []string {
	return []string{
		FormatCsv,
		FormatOpencypher,
		FormatNtriples,
		FormatNquads,
		FormatRdfxml,
		FormatTurtle,
	}
}

const (
	// GraphSummaryTypeBasic is a GraphSummaryType enum value
	GraphSummaryTypeBasic = "basic"

	// GraphSummaryTypeDetailed is a GraphSummaryType enum value
	GraphSummaryTypeDetailed = "detailed"
)

// GraphSummaryType_Values returns all elements of the GraphSummaryType enum
func GraphSummaryType_Values() []string {
	return []string{
		GraphSummaryTypeBasic,
		GraphSummaryTypeDetailed,
	}
}

const (
	// IteratorTypeAtSequenceNumber is a IteratorType enum value
	IteratorTypeAtSequenceNumber = "AT_SEQUENCE_NUMBER"

	// IteratorTypeAfterSequenceNumber is a IteratorType enum value
	IteratorTypeAfterSequenceNumber = "AFTER_SEQUENCE_NUMBER"

	// IteratorTypeTrimHorizon is a IteratorType enum value
	IteratorTypeTrimHorizon = "TRIM_HORIZON"

	// IteratorTypeLatest is a IteratorType enum value
	IteratorTypeLatest = "LATEST"
)

// IteratorType_Values returns all elements of the IteratorType enum
func IteratorType_Values() []string {
	return []string{
		IteratorTypeAtSequenceNumber,
		IteratorTypeAfterSequenceNumber,
		IteratorTypeTrimHorizon,
		IteratorTypeLatest,
	}
}

const (
	// ModeResume is a Mode enum value
	ModeResume = "RESUME"

	// ModeNew is a Mode enum value
	ModeNew = "NEW"

	// ModeAuto is a Mode enum value
	ModeAuto = "AUTO"
)

// Mode_Values returns all elements of the Mode enum
func Mode_Values() []string {
	return []string{
		ModeResume,
		ModeNew,
		ModeAuto,
	}
}

const (
	// OpenCypherExplainModeStatic is a OpenCypherExplainMode enum value
	OpenCypherExplainModeStatic = "static"

	// OpenCypherExplainModeDynamic is a OpenCypherExplainMode enum value
	OpenCypherExplainModeDynamic = "dynamic"

	// OpenCypherExplainModeDetails is a OpenCypherExplainMode enum value
	OpenCypherExplainModeDetails = "details"
)

// OpenCypherExplainMode_Values returns all elements of the OpenCypherExplainMode enum
func OpenCypherExplainMode_Values() []string {
	return []string{
		OpenCypherExplainModeStatic,
		OpenCypherExplainModeDynamic,
		OpenCypherExplainModeDetails,
	}
}

const (
	// ParallelismLow is a Parallelism enum value
	ParallelismLow = "LOW"

	// ParallelismMedium is a Parallelism enum value
	ParallelismMedium = "MEDIUM"

	// ParallelismHigh is a Parallelism enum value
	ParallelismHigh = "HIGH"

	// ParallelismOversubscribe is a Parallelism enum value
	ParallelismOversubscribe = "OVERSUBSCRIBE"
)

// Parallelism_Values returns all elements of the Parallelism enum
func Parallelism_Values() []string {
	return []string{
		ParallelismLow,
		ParallelismMedium,
		ParallelismHigh,
		ParallelismOversubscribe,
	}
}

const (
	// S3BucketRegionUsEast1 is a S3BucketRegion enum value
	S3BucketRegionUsEast1 = "us-east-1"

	// S3BucketRegionUsEast2 is a S3BucketRegion enum value
	S3BucketRegionUsEast2 = "us-east-2"

	// S3BucketRegionUsWest1 is a S3BucketRegion enum value
	S3BucketRegionUsWest1 = "us-west-1"

	// S3BucketRegionUsWest2 is a S3BucketRegion enum value
	S3BucketRegionUsWest2 = "us-west-2"

	// S3BucketRegionCaCentral1 is a S3BucketRegion enum value
	S3BucketRegionCaCentral1 = "ca-central-1"

	// S3BucketRegionSaEast1 is a S3BucketRegion enum value
	S3BucketRegionSaEast1 = "sa-east-1"

	// S3BucketRegionEuNorth1 is a S3BucketRegion enum value
	S3BucketRegionEuNorth1 = "eu-north-1"

	// S3BucketRegionEuWest1 is a S3BucketRegion enum value
	S3BucketRegionEuWest1 = "eu-west-1"

	// S3BucketRegionEuWest2 is a S3BucketRegion enum value
	S3BucketRegionEuWest2 = "eu-west-2"

	// S3BucketRegionEuWest3 is a S3BucketRegion enum value
	S3BucketRegionEuWest3 = "eu-west-3"

	// S3BucketRegionEuCentral1 is a S3BucketRegion enum value
	S3BucketRegionEuCentral1 = "eu-central-1"

	// S3BucketRegionMeSouth1 is a S3BucketRegion enum value
	S3BucketRegionMeSouth1 = "me-south-1"

	// S3BucketRegionAfSouth1 is a S3BucketRegion enum value
	S3BucketRegionAfSouth1 = "af-south-1"

	// S3BucketRegionApEast1 is a S3BucketRegion enum value
	S3BucketRegionApEast1 = "ap-east-1"

	// S3BucketRegionApNortheast1 is a S3BucketRegion enum value
	S3BucketRegionApNortheast1 = "ap-northeast-1"

	// S3BucketRegionApNortheast2 is a S3BucketRegion enum value
	S3BucketRegionApNortheast2 = "ap-northeast-2"

	// S3BucketRegionApSoutheast1 is a S3BucketRegion enum value
	S3BucketRegionApSoutheast1 = "ap-southeast-1"

	// S3BucketRegionApSoutheast2 is a S3BucketRegion enum value
	S3BucketRegionApSoutheast2 = "ap-southeast-2"

	// S3BucketRegionApSouth1 is a S3BucketRegion enum value
	S3BucketRegionApSouth1 = "ap-south-1"

	// S3BucketRegionCnNorth1 is a S3BucketRegion enum value
	S3BucketRegionCnNorth1 = "cn-north-1"

	// S3BucketRegionCnNorthwest1 is a S3BucketRegion enum value
	S3BucketRegionCnNorthwest1 = "cn-northwest-1"

	// S3BucketRegionUsGovWest1 is a S3BucketRegion enum value
	S3BucketRegionUsGovWest1 = "us-gov-west-1"

	// S3BucketRegionUsGovEast1 is a S3BucketRegion enum value
	S3BucketRegionUsGovEast1 = "us-gov-east-1"
)

// S3BucketRegion_Values returns all elements of the S3BucketRegion enum
func S3BucketRegion_Values() []string {
	return []string{
		S3BucketRegionUsEast1,
		S3BucketRegionUsEast2,
		S3BucketRegionUsWest1,
		S3BucketRegionUsWest2,
		S3BucketRegionCaCentral1,
		S3BucketRegionSaEast1,
		S3BucketRegionEuNorth1,
		S3BucketRegionEuWest1,
		S3BucketRegionEuWest2,
		S3BucketRegionEuWest3,
		S3BucketRegionEuCentral1,
		S3BucketRegionMeSouth1,
		S3BucketRegionAfSouth1,
		S3BucketRegionApEast1,
		S3BucketRegionApNortheast1,
		S3BucketRegionApNortheast2,
		S3BucketRegionApSoutheast1,
		S3BucketRegionApSoutheast2,
		S3BucketRegionApSouth1,
		S3BucketRegionCnNorth1,
		S3BucketRegionCnNorthwest1,
		S3BucketRegionUsGovWest1,
		S3BucketRegionUsGovEast1,
	}
}

const (
	// StatisticsAutoGenerationModeDisableAutoCompute is a StatisticsAutoGenerationMode enum value
	StatisticsAutoGenerationModeDisableAutoCompute = "disableAutoCompute"

	// StatisticsAutoGenerationModeEnableAutoCompute is a StatisticsAutoGenerationMode enum value
	StatisticsAutoGenerationModeEnableAutoCompute = "enableAutoCompute"

	// StatisticsAutoGenerationModeRefresh is a StatisticsAutoGenerationMode enum value
	StatisticsAutoGenerationModeRefresh = "refresh"
)

// StatisticsAutoGenerationMode_Values returns all elements of the StatisticsAutoGenerationMode enum
func StatisticsAutoGenerationMode_Values() []string {
	return []string{
		StatisticsAutoGenerationModeDisableAutoCompute,
		StatisticsAutoGenerationModeEnableAutoCompute,
		StatisticsAutoGenerationModeRefresh,
	}
}
© 2026 GrazzMean
Beegazpacho


Let’s  Start  Your  Online  Journey  with  Beegazpacho 

Welcome to Beegazpacho,
where creativity meets strategy,
and innovation drives success.


Contact
Now


OUR CLIENTS

WhatsApp-Image-2021-12-06.png
Untitled-design-11.png
niaf-logo.png
20220406-163308-scaled.jpg
karchi-logo.png
20220405-171252.png
20220405-171309.png
20220321-161603.png
20220321-161611.png
20220321-161628.png
20220321-161244.png
20220321-161256.png
20220321-161450.png
20220321-161205.png
20220226-170222.png
20220321-161051.png
20211202-170852.png
Untitled-design-9
pidilite-png-logo-colour
logo-black-e1706125740216-qisosldqhzgcaerhdt6n4t3m4s50jr0iik48z0h5vk
Fraikin-Dayim-logo-1
hpcl-logo-2-1
services

Transforming Ideas into
Success

.01
Digital Marketing

We drive growth through data-driven strategies and cutting-edge techniques.

Learn More

.02
SEO

Improve your online visibility and rank higher on search engines with our expert SEO services.

Learn More

.03
Website Designing

We design websites that are not only visually stunning but also user-centric, ensuring seamless navigation and enhanced user experience.

Learn More

.04
App Development

Our apps are crafted to be intuitive, engaging, and functional, providing your users with an exceptional mobile experience.

Learn More

.05
Social Media Ads

Target the right audience with precision and creativity to maximize engagement and conversions.

Learn More

.06
Google Ads

Maximize ROI with precision-targeted campaigns on Google’s powerful ad platform.

Learn More

.07
Google My Business

Optimize your local presence with strategies that put your business on the map and attract more customers.

Learn More

.08
Graphic Designing

Our designs tell your brand’s story in a visually compelling way.

Learn More

.09
3D Videos

Bring your product to life with immersive and dynamic 3D explainer videos.

Learn More

about BEEGAZPACHO

creating special Things
For special brands

Join the ranks of successful brands by partnering with Beegazpacho

00+

Happy Customer

00+

Continents

Our vision is not just to be a service provider but to be your partner in growth. We see ourselves as an extension of your team, working tirelessly to ensure that your brand not only meets its goals but surpasses them.

Explore
more

Our Recent Work

Crafted with Passion and Precision

Connect now


Web Design
Design, Development & Identity

Logo Design
Design, Development & Identity

Creative Brand design
Design, Development & Identity

Product Design Marketing
Design, Development & Identity

DIGITAL MARKETING
SEO
WEBSITE DESIGNING
APP DEVELOPMENT
SOCIAL MEDIA ADS
GOOGLE ADS
GOOGLE MY BUSINESS
GRAPHIC DESINING
3D VIDEOS
Client Stories

Hear It from Those Who Know Us Best

Our clients’ success stories speak volumes about our commitment to excellence. Don’t just take our word for it—hear directly from the brands we’ve partnered with. Their testimonials highlight our ability to bring visions to life and create a lasting impact on their businesses.

“Beegazpacho feels like an extension of our team. Their content marketing and social media expertise have elevated our brand. They listen, adapt, and always deliver on time. We look forward to continuing this partnership.”

— Sarah Williams

Head of Marketing, GreenPlanet Apparel

“Beegazpacho’s data-driven strategies helped us improve our online ads, optimize our website, and enhance branding. We’ve seen great ROI and increased visibility. Their professionalism is unmatched.”

— Arvind Shah

CEO, InnovateTech Solutions

“Partnering with Beegazpacho has been a game-changer for our brand. Their creative ad campaigns and SEO services have boosted our online presence and significantly increased leads and sales. We couldn’t ask for a better partner!”

— Rina Kapoor

Marketing Director, Luxury Home Interiors

“Beegazpacho feels like an extension of our team. Their content marketing and social media expertise have elevated our brand. They listen, adapt, and always deliver on time. We look forward to continuing this partnership.”

— Sarah Williams

Head of Marketing, GreenPlanet Apparel

“Beegazpacho’s data-driven strategies helped us improve our online ads, optimize our website, and enhance branding. We’ve seen great ROI and increased visibility. Their professionalism is unmatched.”

— Arvind Shah

CEO, InnovateTech Solutions

“Partnering with Beegazpacho has been a game-changer for our brand. Their creative ad campaigns and SEO services have boosted our online presence and significantly increased leads and sales. We couldn’t ask for a better partner!”

— Rina Kapoor

Marketing Director, Luxury Home Interiors