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

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