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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package greengrass
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    13  )
    14  
    15  const opAssociateRoleToGroup = "AssociateRoleToGroup"
    16  
    17  // AssociateRoleToGroupRequest generates a "aws/request.Request" representing the
    18  // client's request for the AssociateRoleToGroup operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See AssociateRoleToGroup for more information on using the AssociateRoleToGroup
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the AssociateRoleToGroupRequest method.
    33  //    req, resp := client.AssociateRoleToGroupRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/AssociateRoleToGroup
    41  func (c *Greengrass) AssociateRoleToGroupRequest(input *AssociateRoleToGroupInput) (req *request.Request, output *AssociateRoleToGroupOutput) {
    42  	op := &request.Operation{
    43  		Name:       opAssociateRoleToGroup,
    44  		HTTPMethod: "PUT",
    45  		HTTPPath:   "/greengrass/groups/{GroupId}/role",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &AssociateRoleToGroupInput{}
    50  	}
    51  
    52  	output = &AssociateRoleToGroupOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	return
    55  }
    56  
    57  // AssociateRoleToGroup API operation for AWS Greengrass.
    58  //
    59  // Associates a role with a group. Your Greengrass core will use the role to
    60  // access AWS cloud services. The role's permissions should allow Greengrass
    61  // core Lambda functions to perform actions against the cloud.
    62  //
    63  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    64  // with awserr.Error's Code and Message methods to get detailed information about
    65  // the error.
    66  //
    67  // See the AWS API reference guide for AWS Greengrass's
    68  // API operation AssociateRoleToGroup for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * BadRequestException
    72  //   General error information.
    73  //
    74  //   * InternalServerErrorException
    75  //   General error information.
    76  //
    77  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/AssociateRoleToGroup
    78  func (c *Greengrass) AssociateRoleToGroup(input *AssociateRoleToGroupInput) (*AssociateRoleToGroupOutput, error) {
    79  	req, out := c.AssociateRoleToGroupRequest(input)
    80  	return out, req.Send()
    81  }
    82  
    83  // AssociateRoleToGroupWithContext is the same as AssociateRoleToGroup with the addition of
    84  // the ability to pass a context and additional request options.
    85  //
    86  // See AssociateRoleToGroup for details on how to use this API operation.
    87  //
    88  // The context must be non-nil and will be used for request cancellation. If
    89  // the context is nil a panic will occur. In the future the SDK may create
    90  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    91  // for more information on using Contexts.
    92  func (c *Greengrass) AssociateRoleToGroupWithContext(ctx aws.Context, input *AssociateRoleToGroupInput, opts ...request.Option) (*AssociateRoleToGroupOutput, error) {
    93  	req, out := c.AssociateRoleToGroupRequest(input)
    94  	req.SetContext(ctx)
    95  	req.ApplyOptions(opts...)
    96  	return out, req.Send()
    97  }
    98  
    99  const opAssociateServiceRoleToAccount = "AssociateServiceRoleToAccount"
   100  
   101  // AssociateServiceRoleToAccountRequest generates a "aws/request.Request" representing the
   102  // client's request for the AssociateServiceRoleToAccount operation. The "output" return
   103  // value will be populated with the request's response once the request completes
   104  // successfully.
   105  //
   106  // Use "Send" method on the returned Request to send the API call to the service.
   107  // the "output" return value is not valid until after Send returns without error.
   108  //
   109  // See AssociateServiceRoleToAccount for more information on using the AssociateServiceRoleToAccount
   110  // API call, and error handling.
   111  //
   112  // This method is useful when you want to inject custom logic or configuration
   113  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   114  //
   115  //
   116  //    // Example sending a request using the AssociateServiceRoleToAccountRequest method.
   117  //    req, resp := client.AssociateServiceRoleToAccountRequest(params)
   118  //
   119  //    err := req.Send()
   120  //    if err == nil { // resp is now filled
   121  //        fmt.Println(resp)
   122  //    }
   123  //
   124  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/AssociateServiceRoleToAccount
   125  func (c *Greengrass) AssociateServiceRoleToAccountRequest(input *AssociateServiceRoleToAccountInput) (req *request.Request, output *AssociateServiceRoleToAccountOutput) {
   126  	op := &request.Operation{
   127  		Name:       opAssociateServiceRoleToAccount,
   128  		HTTPMethod: "PUT",
   129  		HTTPPath:   "/greengrass/servicerole",
   130  	}
   131  
   132  	if input == nil {
   133  		input = &AssociateServiceRoleToAccountInput{}
   134  	}
   135  
   136  	output = &AssociateServiceRoleToAccountOutput{}
   137  	req = c.newRequest(op, input, output)
   138  	return
   139  }
   140  
   141  // AssociateServiceRoleToAccount API operation for AWS Greengrass.
   142  //
   143  // Associates a role with your account. AWS IoT Greengrass will use the role
   144  // to access your Lambda functions and AWS IoT resources. This is necessary
   145  // for deployments to succeed. The role must have at least minimum permissions
   146  // in the policy ''AWSGreengrassResourceAccessRolePolicy''.
   147  //
   148  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   149  // with awserr.Error's Code and Message methods to get detailed information about
   150  // the error.
   151  //
   152  // See the AWS API reference guide for AWS Greengrass's
   153  // API operation AssociateServiceRoleToAccount for usage and error information.
   154  //
   155  // Returned Error Types:
   156  //   * BadRequestException
   157  //   General error information.
   158  //
   159  //   * InternalServerErrorException
   160  //   General error information.
   161  //
   162  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/AssociateServiceRoleToAccount
   163  func (c *Greengrass) AssociateServiceRoleToAccount(input *AssociateServiceRoleToAccountInput) (*AssociateServiceRoleToAccountOutput, error) {
   164  	req, out := c.AssociateServiceRoleToAccountRequest(input)
   165  	return out, req.Send()
   166  }
   167  
   168  // AssociateServiceRoleToAccountWithContext is the same as AssociateServiceRoleToAccount with the addition of
   169  // the ability to pass a context and additional request options.
   170  //
   171  // See AssociateServiceRoleToAccount for details on how to use this API operation.
   172  //
   173  // The context must be non-nil and will be used for request cancellation. If
   174  // the context is nil a panic will occur. In the future the SDK may create
   175  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   176  // for more information on using Contexts.
   177  func (c *Greengrass) AssociateServiceRoleToAccountWithContext(ctx aws.Context, input *AssociateServiceRoleToAccountInput, opts ...request.Option) (*AssociateServiceRoleToAccountOutput, error) {
   178  	req, out := c.AssociateServiceRoleToAccountRequest(input)
   179  	req.SetContext(ctx)
   180  	req.ApplyOptions(opts...)
   181  	return out, req.Send()
   182  }
   183  
   184  const opCreateConnectorDefinition = "CreateConnectorDefinition"
   185  
   186  // CreateConnectorDefinitionRequest generates a "aws/request.Request" representing the
   187  // client's request for the CreateConnectorDefinition operation. The "output" return
   188  // value will be populated with the request's response once the request completes
   189  // successfully.
   190  //
   191  // Use "Send" method on the returned Request to send the API call to the service.
   192  // the "output" return value is not valid until after Send returns without error.
   193  //
   194  // See CreateConnectorDefinition for more information on using the CreateConnectorDefinition
   195  // API call, and error handling.
   196  //
   197  // This method is useful when you want to inject custom logic or configuration
   198  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   199  //
   200  //
   201  //    // Example sending a request using the CreateConnectorDefinitionRequest method.
   202  //    req, resp := client.CreateConnectorDefinitionRequest(params)
   203  //
   204  //    err := req.Send()
   205  //    if err == nil { // resp is now filled
   206  //        fmt.Println(resp)
   207  //    }
   208  //
   209  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateConnectorDefinition
   210  func (c *Greengrass) CreateConnectorDefinitionRequest(input *CreateConnectorDefinitionInput) (req *request.Request, output *CreateConnectorDefinitionOutput) {
   211  	op := &request.Operation{
   212  		Name:       opCreateConnectorDefinition,
   213  		HTTPMethod: "POST",
   214  		HTTPPath:   "/greengrass/definition/connectors",
   215  	}
   216  
   217  	if input == nil {
   218  		input = &CreateConnectorDefinitionInput{}
   219  	}
   220  
   221  	output = &CreateConnectorDefinitionOutput{}
   222  	req = c.newRequest(op, input, output)
   223  	return
   224  }
   225  
   226  // CreateConnectorDefinition API operation for AWS Greengrass.
   227  //
   228  // Creates a connector definition. You may provide the initial version of the
   229  // connector definition now or use ''CreateConnectorDefinitionVersion'' at a
   230  // later time.
   231  //
   232  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   233  // with awserr.Error's Code and Message methods to get detailed information about
   234  // the error.
   235  //
   236  // See the AWS API reference guide for AWS Greengrass's
   237  // API operation CreateConnectorDefinition for usage and error information.
   238  //
   239  // Returned Error Types:
   240  //   * BadRequestException
   241  //   General error information.
   242  //
   243  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateConnectorDefinition
   244  func (c *Greengrass) CreateConnectorDefinition(input *CreateConnectorDefinitionInput) (*CreateConnectorDefinitionOutput, error) {
   245  	req, out := c.CreateConnectorDefinitionRequest(input)
   246  	return out, req.Send()
   247  }
   248  
   249  // CreateConnectorDefinitionWithContext is the same as CreateConnectorDefinition with the addition of
   250  // the ability to pass a context and additional request options.
   251  //
   252  // See CreateConnectorDefinition for details on how to use this API operation.
   253  //
   254  // The context must be non-nil and will be used for request cancellation. If
   255  // the context is nil a panic will occur. In the future the SDK may create
   256  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   257  // for more information on using Contexts.
   258  func (c *Greengrass) CreateConnectorDefinitionWithContext(ctx aws.Context, input *CreateConnectorDefinitionInput, opts ...request.Option) (*CreateConnectorDefinitionOutput, error) {
   259  	req, out := c.CreateConnectorDefinitionRequest(input)
   260  	req.SetContext(ctx)
   261  	req.ApplyOptions(opts...)
   262  	return out, req.Send()
   263  }
   264  
   265  const opCreateConnectorDefinitionVersion = "CreateConnectorDefinitionVersion"
   266  
   267  // CreateConnectorDefinitionVersionRequest generates a "aws/request.Request" representing the
   268  // client's request for the CreateConnectorDefinitionVersion operation. The "output" return
   269  // value will be populated with the request's response once the request completes
   270  // successfully.
   271  //
   272  // Use "Send" method on the returned Request to send the API call to the service.
   273  // the "output" return value is not valid until after Send returns without error.
   274  //
   275  // See CreateConnectorDefinitionVersion for more information on using the CreateConnectorDefinitionVersion
   276  // API call, and error handling.
   277  //
   278  // This method is useful when you want to inject custom logic or configuration
   279  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   280  //
   281  //
   282  //    // Example sending a request using the CreateConnectorDefinitionVersionRequest method.
   283  //    req, resp := client.CreateConnectorDefinitionVersionRequest(params)
   284  //
   285  //    err := req.Send()
   286  //    if err == nil { // resp is now filled
   287  //        fmt.Println(resp)
   288  //    }
   289  //
   290  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateConnectorDefinitionVersion
   291  func (c *Greengrass) CreateConnectorDefinitionVersionRequest(input *CreateConnectorDefinitionVersionInput) (req *request.Request, output *CreateConnectorDefinitionVersionOutput) {
   292  	op := &request.Operation{
   293  		Name:       opCreateConnectorDefinitionVersion,
   294  		HTTPMethod: "POST",
   295  		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions",
   296  	}
   297  
   298  	if input == nil {
   299  		input = &CreateConnectorDefinitionVersionInput{}
   300  	}
   301  
   302  	output = &CreateConnectorDefinitionVersionOutput{}
   303  	req = c.newRequest(op, input, output)
   304  	return
   305  }
   306  
   307  // CreateConnectorDefinitionVersion API operation for AWS Greengrass.
   308  //
   309  // Creates a version of a connector definition which has already been defined.
   310  //
   311  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   312  // with awserr.Error's Code and Message methods to get detailed information about
   313  // the error.
   314  //
   315  // See the AWS API reference guide for AWS Greengrass's
   316  // API operation CreateConnectorDefinitionVersion for usage and error information.
   317  //
   318  // Returned Error Types:
   319  //   * BadRequestException
   320  //   General error information.
   321  //
   322  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateConnectorDefinitionVersion
   323  func (c *Greengrass) CreateConnectorDefinitionVersion(input *CreateConnectorDefinitionVersionInput) (*CreateConnectorDefinitionVersionOutput, error) {
   324  	req, out := c.CreateConnectorDefinitionVersionRequest(input)
   325  	return out, req.Send()
   326  }
   327  
   328  // CreateConnectorDefinitionVersionWithContext is the same as CreateConnectorDefinitionVersion with the addition of
   329  // the ability to pass a context and additional request options.
   330  //
   331  // See CreateConnectorDefinitionVersion for details on how to use this API operation.
   332  //
   333  // The context must be non-nil and will be used for request cancellation. If
   334  // the context is nil a panic will occur. In the future the SDK may create
   335  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   336  // for more information on using Contexts.
   337  func (c *Greengrass) CreateConnectorDefinitionVersionWithContext(ctx aws.Context, input *CreateConnectorDefinitionVersionInput, opts ...request.Option) (*CreateConnectorDefinitionVersionOutput, error) {
   338  	req, out := c.CreateConnectorDefinitionVersionRequest(input)
   339  	req.SetContext(ctx)
   340  	req.ApplyOptions(opts...)
   341  	return out, req.Send()
   342  }
   343  
   344  const opCreateCoreDefinition = "CreateCoreDefinition"
   345  
   346  // CreateCoreDefinitionRequest generates a "aws/request.Request" representing the
   347  // client's request for the CreateCoreDefinition operation. The "output" return
   348  // value will be populated with the request's response once the request completes
   349  // successfully.
   350  //
   351  // Use "Send" method on the returned Request to send the API call to the service.
   352  // the "output" return value is not valid until after Send returns without error.
   353  //
   354  // See CreateCoreDefinition for more information on using the CreateCoreDefinition
   355  // API call, and error handling.
   356  //
   357  // This method is useful when you want to inject custom logic or configuration
   358  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   359  //
   360  //
   361  //    // Example sending a request using the CreateCoreDefinitionRequest method.
   362  //    req, resp := client.CreateCoreDefinitionRequest(params)
   363  //
   364  //    err := req.Send()
   365  //    if err == nil { // resp is now filled
   366  //        fmt.Println(resp)
   367  //    }
   368  //
   369  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateCoreDefinition
   370  func (c *Greengrass) CreateCoreDefinitionRequest(input *CreateCoreDefinitionInput) (req *request.Request, output *CreateCoreDefinitionOutput) {
   371  	op := &request.Operation{
   372  		Name:       opCreateCoreDefinition,
   373  		HTTPMethod: "POST",
   374  		HTTPPath:   "/greengrass/definition/cores",
   375  	}
   376  
   377  	if input == nil {
   378  		input = &CreateCoreDefinitionInput{}
   379  	}
   380  
   381  	output = &CreateCoreDefinitionOutput{}
   382  	req = c.newRequest(op, input, output)
   383  	return
   384  }
   385  
   386  // CreateCoreDefinition API operation for AWS Greengrass.
   387  //
   388  // Creates a core definition. You may provide the initial version of the core
   389  // definition now or use ''CreateCoreDefinitionVersion'' at a later time. Greengrass
   390  // groups must each contain exactly one Greengrass core.
   391  //
   392  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   393  // with awserr.Error's Code and Message methods to get detailed information about
   394  // the error.
   395  //
   396  // See the AWS API reference guide for AWS Greengrass's
   397  // API operation CreateCoreDefinition for usage and error information.
   398  //
   399  // Returned Error Types:
   400  //   * BadRequestException
   401  //   General error information.
   402  //
   403  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateCoreDefinition
   404  func (c *Greengrass) CreateCoreDefinition(input *CreateCoreDefinitionInput) (*CreateCoreDefinitionOutput, error) {
   405  	req, out := c.CreateCoreDefinitionRequest(input)
   406  	return out, req.Send()
   407  }
   408  
   409  // CreateCoreDefinitionWithContext is the same as CreateCoreDefinition with the addition of
   410  // the ability to pass a context and additional request options.
   411  //
   412  // See CreateCoreDefinition for details on how to use this API operation.
   413  //
   414  // The context must be non-nil and will be used for request cancellation. If
   415  // the context is nil a panic will occur. In the future the SDK may create
   416  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   417  // for more information on using Contexts.
   418  func (c *Greengrass) CreateCoreDefinitionWithContext(ctx aws.Context, input *CreateCoreDefinitionInput, opts ...request.Option) (*CreateCoreDefinitionOutput, error) {
   419  	req, out := c.CreateCoreDefinitionRequest(input)
   420  	req.SetContext(ctx)
   421  	req.ApplyOptions(opts...)
   422  	return out, req.Send()
   423  }
   424  
   425  const opCreateCoreDefinitionVersion = "CreateCoreDefinitionVersion"
   426  
   427  // CreateCoreDefinitionVersionRequest generates a "aws/request.Request" representing the
   428  // client's request for the CreateCoreDefinitionVersion operation. The "output" return
   429  // value will be populated with the request's response once the request completes
   430  // successfully.
   431  //
   432  // Use "Send" method on the returned Request to send the API call to the service.
   433  // the "output" return value is not valid until after Send returns without error.
   434  //
   435  // See CreateCoreDefinitionVersion for more information on using the CreateCoreDefinitionVersion
   436  // API call, and error handling.
   437  //
   438  // This method is useful when you want to inject custom logic or configuration
   439  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   440  //
   441  //
   442  //    // Example sending a request using the CreateCoreDefinitionVersionRequest method.
   443  //    req, resp := client.CreateCoreDefinitionVersionRequest(params)
   444  //
   445  //    err := req.Send()
   446  //    if err == nil { // resp is now filled
   447  //        fmt.Println(resp)
   448  //    }
   449  //
   450  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateCoreDefinitionVersion
   451  func (c *Greengrass) CreateCoreDefinitionVersionRequest(input *CreateCoreDefinitionVersionInput) (req *request.Request, output *CreateCoreDefinitionVersionOutput) {
   452  	op := &request.Operation{
   453  		Name:       opCreateCoreDefinitionVersion,
   454  		HTTPMethod: "POST",
   455  		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}/versions",
   456  	}
   457  
   458  	if input == nil {
   459  		input = &CreateCoreDefinitionVersionInput{}
   460  	}
   461  
   462  	output = &CreateCoreDefinitionVersionOutput{}
   463  	req = c.newRequest(op, input, output)
   464  	return
   465  }
   466  
   467  // CreateCoreDefinitionVersion API operation for AWS Greengrass.
   468  //
   469  // Creates a version of a core definition that has already been defined. Greengrass
   470  // groups must each contain exactly one Greengrass core.
   471  //
   472  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   473  // with awserr.Error's Code and Message methods to get detailed information about
   474  // the error.
   475  //
   476  // See the AWS API reference guide for AWS Greengrass's
   477  // API operation CreateCoreDefinitionVersion for usage and error information.
   478  //
   479  // Returned Error Types:
   480  //   * BadRequestException
   481  //   General error information.
   482  //
   483  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateCoreDefinitionVersion
   484  func (c *Greengrass) CreateCoreDefinitionVersion(input *CreateCoreDefinitionVersionInput) (*CreateCoreDefinitionVersionOutput, error) {
   485  	req, out := c.CreateCoreDefinitionVersionRequest(input)
   486  	return out, req.Send()
   487  }
   488  
   489  // CreateCoreDefinitionVersionWithContext is the same as CreateCoreDefinitionVersion with the addition of
   490  // the ability to pass a context and additional request options.
   491  //
   492  // See CreateCoreDefinitionVersion for details on how to use this API operation.
   493  //
   494  // The context must be non-nil and will be used for request cancellation. If
   495  // the context is nil a panic will occur. In the future the SDK may create
   496  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   497  // for more information on using Contexts.
   498  func (c *Greengrass) CreateCoreDefinitionVersionWithContext(ctx aws.Context, input *CreateCoreDefinitionVersionInput, opts ...request.Option) (*CreateCoreDefinitionVersionOutput, error) {
   499  	req, out := c.CreateCoreDefinitionVersionRequest(input)
   500  	req.SetContext(ctx)
   501  	req.ApplyOptions(opts...)
   502  	return out, req.Send()
   503  }
   504  
   505  const opCreateDeployment = "CreateDeployment"
   506  
   507  // CreateDeploymentRequest generates a "aws/request.Request" representing the
   508  // client's request for the CreateDeployment operation. The "output" return
   509  // value will be populated with the request's response once the request completes
   510  // successfully.
   511  //
   512  // Use "Send" method on the returned Request to send the API call to the service.
   513  // the "output" return value is not valid until after Send returns without error.
   514  //
   515  // See CreateDeployment for more information on using the CreateDeployment
   516  // API call, and error handling.
   517  //
   518  // This method is useful when you want to inject custom logic or configuration
   519  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   520  //
   521  //
   522  //    // Example sending a request using the CreateDeploymentRequest method.
   523  //    req, resp := client.CreateDeploymentRequest(params)
   524  //
   525  //    err := req.Send()
   526  //    if err == nil { // resp is now filled
   527  //        fmt.Println(resp)
   528  //    }
   529  //
   530  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeployment
   531  func (c *Greengrass) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) {
   532  	op := &request.Operation{
   533  		Name:       opCreateDeployment,
   534  		HTTPMethod: "POST",
   535  		HTTPPath:   "/greengrass/groups/{GroupId}/deployments",
   536  	}
   537  
   538  	if input == nil {
   539  		input = &CreateDeploymentInput{}
   540  	}
   541  
   542  	output = &CreateDeploymentOutput{}
   543  	req = c.newRequest(op, input, output)
   544  	return
   545  }
   546  
   547  // CreateDeployment API operation for AWS Greengrass.
   548  //
   549  // Creates a deployment. ''CreateDeployment'' requests are idempotent with respect
   550  // to the ''X-Amzn-Client-Token'' token and the request parameters.
   551  //
   552  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   553  // with awserr.Error's Code and Message methods to get detailed information about
   554  // the error.
   555  //
   556  // See the AWS API reference guide for AWS Greengrass's
   557  // API operation CreateDeployment for usage and error information.
   558  //
   559  // Returned Error Types:
   560  //   * BadRequestException
   561  //   General error information.
   562  //
   563  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeployment
   564  func (c *Greengrass) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) {
   565  	req, out := c.CreateDeploymentRequest(input)
   566  	return out, req.Send()
   567  }
   568  
   569  // CreateDeploymentWithContext is the same as CreateDeployment with the addition of
   570  // the ability to pass a context and additional request options.
   571  //
   572  // See CreateDeployment for details on how to use this API operation.
   573  //
   574  // The context must be non-nil and will be used for request cancellation. If
   575  // the context is nil a panic will occur. In the future the SDK may create
   576  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   577  // for more information on using Contexts.
   578  func (c *Greengrass) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) {
   579  	req, out := c.CreateDeploymentRequest(input)
   580  	req.SetContext(ctx)
   581  	req.ApplyOptions(opts...)
   582  	return out, req.Send()
   583  }
   584  
   585  const opCreateDeviceDefinition = "CreateDeviceDefinition"
   586  
   587  // CreateDeviceDefinitionRequest generates a "aws/request.Request" representing the
   588  // client's request for the CreateDeviceDefinition operation. The "output" return
   589  // value will be populated with the request's response once the request completes
   590  // successfully.
   591  //
   592  // Use "Send" method on the returned Request to send the API call to the service.
   593  // the "output" return value is not valid until after Send returns without error.
   594  //
   595  // See CreateDeviceDefinition for more information on using the CreateDeviceDefinition
   596  // API call, and error handling.
   597  //
   598  // This method is useful when you want to inject custom logic or configuration
   599  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   600  //
   601  //
   602  //    // Example sending a request using the CreateDeviceDefinitionRequest method.
   603  //    req, resp := client.CreateDeviceDefinitionRequest(params)
   604  //
   605  //    err := req.Send()
   606  //    if err == nil { // resp is now filled
   607  //        fmt.Println(resp)
   608  //    }
   609  //
   610  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeviceDefinition
   611  func (c *Greengrass) CreateDeviceDefinitionRequest(input *CreateDeviceDefinitionInput) (req *request.Request, output *CreateDeviceDefinitionOutput) {
   612  	op := &request.Operation{
   613  		Name:       opCreateDeviceDefinition,
   614  		HTTPMethod: "POST",
   615  		HTTPPath:   "/greengrass/definition/devices",
   616  	}
   617  
   618  	if input == nil {
   619  		input = &CreateDeviceDefinitionInput{}
   620  	}
   621  
   622  	output = &CreateDeviceDefinitionOutput{}
   623  	req = c.newRequest(op, input, output)
   624  	return
   625  }
   626  
   627  // CreateDeviceDefinition API operation for AWS Greengrass.
   628  //
   629  // Creates a device definition. You may provide the initial version of the device
   630  // definition now or use ''CreateDeviceDefinitionVersion'' at a later time.
   631  //
   632  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   633  // with awserr.Error's Code and Message methods to get detailed information about
   634  // the error.
   635  //
   636  // See the AWS API reference guide for AWS Greengrass's
   637  // API operation CreateDeviceDefinition for usage and error information.
   638  //
   639  // Returned Error Types:
   640  //   * BadRequestException
   641  //   General error information.
   642  //
   643  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeviceDefinition
   644  func (c *Greengrass) CreateDeviceDefinition(input *CreateDeviceDefinitionInput) (*CreateDeviceDefinitionOutput, error) {
   645  	req, out := c.CreateDeviceDefinitionRequest(input)
   646  	return out, req.Send()
   647  }
   648  
   649  // CreateDeviceDefinitionWithContext is the same as CreateDeviceDefinition with the addition of
   650  // the ability to pass a context and additional request options.
   651  //
   652  // See CreateDeviceDefinition for details on how to use this API operation.
   653  //
   654  // The context must be non-nil and will be used for request cancellation. If
   655  // the context is nil a panic will occur. In the future the SDK may create
   656  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   657  // for more information on using Contexts.
   658  func (c *Greengrass) CreateDeviceDefinitionWithContext(ctx aws.Context, input *CreateDeviceDefinitionInput, opts ...request.Option) (*CreateDeviceDefinitionOutput, error) {
   659  	req, out := c.CreateDeviceDefinitionRequest(input)
   660  	req.SetContext(ctx)
   661  	req.ApplyOptions(opts...)
   662  	return out, req.Send()
   663  }
   664  
   665  const opCreateDeviceDefinitionVersion = "CreateDeviceDefinitionVersion"
   666  
   667  // CreateDeviceDefinitionVersionRequest generates a "aws/request.Request" representing the
   668  // client's request for the CreateDeviceDefinitionVersion operation. The "output" return
   669  // value will be populated with the request's response once the request completes
   670  // successfully.
   671  //
   672  // Use "Send" method on the returned Request to send the API call to the service.
   673  // the "output" return value is not valid until after Send returns without error.
   674  //
   675  // See CreateDeviceDefinitionVersion for more information on using the CreateDeviceDefinitionVersion
   676  // API call, and error handling.
   677  //
   678  // This method is useful when you want to inject custom logic or configuration
   679  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   680  //
   681  //
   682  //    // Example sending a request using the CreateDeviceDefinitionVersionRequest method.
   683  //    req, resp := client.CreateDeviceDefinitionVersionRequest(params)
   684  //
   685  //    err := req.Send()
   686  //    if err == nil { // resp is now filled
   687  //        fmt.Println(resp)
   688  //    }
   689  //
   690  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeviceDefinitionVersion
   691  func (c *Greengrass) CreateDeviceDefinitionVersionRequest(input *CreateDeviceDefinitionVersionInput) (req *request.Request, output *CreateDeviceDefinitionVersionOutput) {
   692  	op := &request.Operation{
   693  		Name:       opCreateDeviceDefinitionVersion,
   694  		HTTPMethod: "POST",
   695  		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}/versions",
   696  	}
   697  
   698  	if input == nil {
   699  		input = &CreateDeviceDefinitionVersionInput{}
   700  	}
   701  
   702  	output = &CreateDeviceDefinitionVersionOutput{}
   703  	req = c.newRequest(op, input, output)
   704  	return
   705  }
   706  
   707  // CreateDeviceDefinitionVersion API operation for AWS Greengrass.
   708  //
   709  // Creates a version of a device definition that has already been defined.
   710  //
   711  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   712  // with awserr.Error's Code and Message methods to get detailed information about
   713  // the error.
   714  //
   715  // See the AWS API reference guide for AWS Greengrass's
   716  // API operation CreateDeviceDefinitionVersion for usage and error information.
   717  //
   718  // Returned Error Types:
   719  //   * BadRequestException
   720  //   General error information.
   721  //
   722  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateDeviceDefinitionVersion
   723  func (c *Greengrass) CreateDeviceDefinitionVersion(input *CreateDeviceDefinitionVersionInput) (*CreateDeviceDefinitionVersionOutput, error) {
   724  	req, out := c.CreateDeviceDefinitionVersionRequest(input)
   725  	return out, req.Send()
   726  }
   727  
   728  // CreateDeviceDefinitionVersionWithContext is the same as CreateDeviceDefinitionVersion with the addition of
   729  // the ability to pass a context and additional request options.
   730  //
   731  // See CreateDeviceDefinitionVersion for details on how to use this API operation.
   732  //
   733  // The context must be non-nil and will be used for request cancellation. If
   734  // the context is nil a panic will occur. In the future the SDK may create
   735  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   736  // for more information on using Contexts.
   737  func (c *Greengrass) CreateDeviceDefinitionVersionWithContext(ctx aws.Context, input *CreateDeviceDefinitionVersionInput, opts ...request.Option) (*CreateDeviceDefinitionVersionOutput, error) {
   738  	req, out := c.CreateDeviceDefinitionVersionRequest(input)
   739  	req.SetContext(ctx)
   740  	req.ApplyOptions(opts...)
   741  	return out, req.Send()
   742  }
   743  
   744  const opCreateFunctionDefinition = "CreateFunctionDefinition"
   745  
   746  // CreateFunctionDefinitionRequest generates a "aws/request.Request" representing the
   747  // client's request for the CreateFunctionDefinition operation. The "output" return
   748  // value will be populated with the request's response once the request completes
   749  // successfully.
   750  //
   751  // Use "Send" method on the returned Request to send the API call to the service.
   752  // the "output" return value is not valid until after Send returns without error.
   753  //
   754  // See CreateFunctionDefinition for more information on using the CreateFunctionDefinition
   755  // API call, and error handling.
   756  //
   757  // This method is useful when you want to inject custom logic or configuration
   758  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   759  //
   760  //
   761  //    // Example sending a request using the CreateFunctionDefinitionRequest method.
   762  //    req, resp := client.CreateFunctionDefinitionRequest(params)
   763  //
   764  //    err := req.Send()
   765  //    if err == nil { // resp is now filled
   766  //        fmt.Println(resp)
   767  //    }
   768  //
   769  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateFunctionDefinition
   770  func (c *Greengrass) CreateFunctionDefinitionRequest(input *CreateFunctionDefinitionInput) (req *request.Request, output *CreateFunctionDefinitionOutput) {
   771  	op := &request.Operation{
   772  		Name:       opCreateFunctionDefinition,
   773  		HTTPMethod: "POST",
   774  		HTTPPath:   "/greengrass/definition/functions",
   775  	}
   776  
   777  	if input == nil {
   778  		input = &CreateFunctionDefinitionInput{}
   779  	}
   780  
   781  	output = &CreateFunctionDefinitionOutput{}
   782  	req = c.newRequest(op, input, output)
   783  	return
   784  }
   785  
   786  // CreateFunctionDefinition API operation for AWS Greengrass.
   787  //
   788  // Creates a Lambda function definition which contains a list of Lambda functions
   789  // and their configurations to be used in a group. You can create an initial
   790  // version of the definition by providing a list of Lambda functions and their
   791  // configurations now, or use ''CreateFunctionDefinitionVersion'' later.
   792  //
   793  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   794  // with awserr.Error's Code and Message methods to get detailed information about
   795  // the error.
   796  //
   797  // See the AWS API reference guide for AWS Greengrass's
   798  // API operation CreateFunctionDefinition for usage and error information.
   799  //
   800  // Returned Error Types:
   801  //   * BadRequestException
   802  //   General error information.
   803  //
   804  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateFunctionDefinition
   805  func (c *Greengrass) CreateFunctionDefinition(input *CreateFunctionDefinitionInput) (*CreateFunctionDefinitionOutput, error) {
   806  	req, out := c.CreateFunctionDefinitionRequest(input)
   807  	return out, req.Send()
   808  }
   809  
   810  // CreateFunctionDefinitionWithContext is the same as CreateFunctionDefinition with the addition of
   811  // the ability to pass a context and additional request options.
   812  //
   813  // See CreateFunctionDefinition for details on how to use this API operation.
   814  //
   815  // The context must be non-nil and will be used for request cancellation. If
   816  // the context is nil a panic will occur. In the future the SDK may create
   817  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   818  // for more information on using Contexts.
   819  func (c *Greengrass) CreateFunctionDefinitionWithContext(ctx aws.Context, input *CreateFunctionDefinitionInput, opts ...request.Option) (*CreateFunctionDefinitionOutput, error) {
   820  	req, out := c.CreateFunctionDefinitionRequest(input)
   821  	req.SetContext(ctx)
   822  	req.ApplyOptions(opts...)
   823  	return out, req.Send()
   824  }
   825  
   826  const opCreateFunctionDefinitionVersion = "CreateFunctionDefinitionVersion"
   827  
   828  // CreateFunctionDefinitionVersionRequest generates a "aws/request.Request" representing the
   829  // client's request for the CreateFunctionDefinitionVersion operation. The "output" return
   830  // value will be populated with the request's response once the request completes
   831  // successfully.
   832  //
   833  // Use "Send" method on the returned Request to send the API call to the service.
   834  // the "output" return value is not valid until after Send returns without error.
   835  //
   836  // See CreateFunctionDefinitionVersion for more information on using the CreateFunctionDefinitionVersion
   837  // API call, and error handling.
   838  //
   839  // This method is useful when you want to inject custom logic or configuration
   840  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   841  //
   842  //
   843  //    // Example sending a request using the CreateFunctionDefinitionVersionRequest method.
   844  //    req, resp := client.CreateFunctionDefinitionVersionRequest(params)
   845  //
   846  //    err := req.Send()
   847  //    if err == nil { // resp is now filled
   848  //        fmt.Println(resp)
   849  //    }
   850  //
   851  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateFunctionDefinitionVersion
   852  func (c *Greengrass) CreateFunctionDefinitionVersionRequest(input *CreateFunctionDefinitionVersionInput) (req *request.Request, output *CreateFunctionDefinitionVersionOutput) {
   853  	op := &request.Operation{
   854  		Name:       opCreateFunctionDefinitionVersion,
   855  		HTTPMethod: "POST",
   856  		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}/versions",
   857  	}
   858  
   859  	if input == nil {
   860  		input = &CreateFunctionDefinitionVersionInput{}
   861  	}
   862  
   863  	output = &CreateFunctionDefinitionVersionOutput{}
   864  	req = c.newRequest(op, input, output)
   865  	return
   866  }
   867  
   868  // CreateFunctionDefinitionVersion API operation for AWS Greengrass.
   869  //
   870  // Creates a version of a Lambda function definition that has already been defined.
   871  //
   872  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   873  // with awserr.Error's Code and Message methods to get detailed information about
   874  // the error.
   875  //
   876  // See the AWS API reference guide for AWS Greengrass's
   877  // API operation CreateFunctionDefinitionVersion for usage and error information.
   878  //
   879  // Returned Error Types:
   880  //   * BadRequestException
   881  //   General error information.
   882  //
   883  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateFunctionDefinitionVersion
   884  func (c *Greengrass) CreateFunctionDefinitionVersion(input *CreateFunctionDefinitionVersionInput) (*CreateFunctionDefinitionVersionOutput, error) {
   885  	req, out := c.CreateFunctionDefinitionVersionRequest(input)
   886  	return out, req.Send()
   887  }
   888  
   889  // CreateFunctionDefinitionVersionWithContext is the same as CreateFunctionDefinitionVersion with the addition of
   890  // the ability to pass a context and additional request options.
   891  //
   892  // See CreateFunctionDefinitionVersion for details on how to use this API operation.
   893  //
   894  // The context must be non-nil and will be used for request cancellation. If
   895  // the context is nil a panic will occur. In the future the SDK may create
   896  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   897  // for more information on using Contexts.
   898  func (c *Greengrass) CreateFunctionDefinitionVersionWithContext(ctx aws.Context, input *CreateFunctionDefinitionVersionInput, opts ...request.Option) (*CreateFunctionDefinitionVersionOutput, error) {
   899  	req, out := c.CreateFunctionDefinitionVersionRequest(input)
   900  	req.SetContext(ctx)
   901  	req.ApplyOptions(opts...)
   902  	return out, req.Send()
   903  }
   904  
   905  const opCreateGroup = "CreateGroup"
   906  
   907  // CreateGroupRequest generates a "aws/request.Request" representing the
   908  // client's request for the CreateGroup operation. The "output" return
   909  // value will be populated with the request's response once the request completes
   910  // successfully.
   911  //
   912  // Use "Send" method on the returned Request to send the API call to the service.
   913  // the "output" return value is not valid until after Send returns without error.
   914  //
   915  // See CreateGroup for more information on using the CreateGroup
   916  // API call, and error handling.
   917  //
   918  // This method is useful when you want to inject custom logic or configuration
   919  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   920  //
   921  //
   922  //    // Example sending a request using the CreateGroupRequest method.
   923  //    req, resp := client.CreateGroupRequest(params)
   924  //
   925  //    err := req.Send()
   926  //    if err == nil { // resp is now filled
   927  //        fmt.Println(resp)
   928  //    }
   929  //
   930  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroup
   931  func (c *Greengrass) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) {
   932  	op := &request.Operation{
   933  		Name:       opCreateGroup,
   934  		HTTPMethod: "POST",
   935  		HTTPPath:   "/greengrass/groups",
   936  	}
   937  
   938  	if input == nil {
   939  		input = &CreateGroupInput{}
   940  	}
   941  
   942  	output = &CreateGroupOutput{}
   943  	req = c.newRequest(op, input, output)
   944  	return
   945  }
   946  
   947  // CreateGroup API operation for AWS Greengrass.
   948  //
   949  // Creates a group. You may provide the initial version of the group or use
   950  // ''CreateGroupVersion'' at a later time. Tip: You can use the ''gg_group_setup''
   951  // package (https://github.com/aavshrlabs/aws-greengrass-group-setup) as a library
   952  // or command-line application to create and deploy Greengrass groups.
   953  //
   954  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   955  // with awserr.Error's Code and Message methods to get detailed information about
   956  // the error.
   957  //
   958  // See the AWS API reference guide for AWS Greengrass's
   959  // API operation CreateGroup for usage and error information.
   960  //
   961  // Returned Error Types:
   962  //   * BadRequestException
   963  //   General error information.
   964  //
   965  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroup
   966  func (c *Greengrass) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) {
   967  	req, out := c.CreateGroupRequest(input)
   968  	return out, req.Send()
   969  }
   970  
   971  // CreateGroupWithContext is the same as CreateGroup with the addition of
   972  // the ability to pass a context and additional request options.
   973  //
   974  // See CreateGroup for details on how to use this API operation.
   975  //
   976  // The context must be non-nil and will be used for request cancellation. If
   977  // the context is nil a panic will occur. In the future the SDK may create
   978  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   979  // for more information on using Contexts.
   980  func (c *Greengrass) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) {
   981  	req, out := c.CreateGroupRequest(input)
   982  	req.SetContext(ctx)
   983  	req.ApplyOptions(opts...)
   984  	return out, req.Send()
   985  }
   986  
   987  const opCreateGroupCertificateAuthority = "CreateGroupCertificateAuthority"
   988  
   989  // CreateGroupCertificateAuthorityRequest generates a "aws/request.Request" representing the
   990  // client's request for the CreateGroupCertificateAuthority operation. The "output" return
   991  // value will be populated with the request's response once the request completes
   992  // successfully.
   993  //
   994  // Use "Send" method on the returned Request to send the API call to the service.
   995  // the "output" return value is not valid until after Send returns without error.
   996  //
   997  // See CreateGroupCertificateAuthority for more information on using the CreateGroupCertificateAuthority
   998  // API call, and error handling.
   999  //
  1000  // This method is useful when you want to inject custom logic or configuration
  1001  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1002  //
  1003  //
  1004  //    // Example sending a request using the CreateGroupCertificateAuthorityRequest method.
  1005  //    req, resp := client.CreateGroupCertificateAuthorityRequest(params)
  1006  //
  1007  //    err := req.Send()
  1008  //    if err == nil { // resp is now filled
  1009  //        fmt.Println(resp)
  1010  //    }
  1011  //
  1012  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroupCertificateAuthority
  1013  func (c *Greengrass) CreateGroupCertificateAuthorityRequest(input *CreateGroupCertificateAuthorityInput) (req *request.Request, output *CreateGroupCertificateAuthorityOutput) {
  1014  	op := &request.Operation{
  1015  		Name:       opCreateGroupCertificateAuthority,
  1016  		HTTPMethod: "POST",
  1017  		HTTPPath:   "/greengrass/groups/{GroupId}/certificateauthorities",
  1018  	}
  1019  
  1020  	if input == nil {
  1021  		input = &CreateGroupCertificateAuthorityInput{}
  1022  	}
  1023  
  1024  	output = &CreateGroupCertificateAuthorityOutput{}
  1025  	req = c.newRequest(op, input, output)
  1026  	return
  1027  }
  1028  
  1029  // CreateGroupCertificateAuthority API operation for AWS Greengrass.
  1030  //
  1031  // Creates a CA for the group. If a CA already exists, it will rotate the existing
  1032  // CA.
  1033  //
  1034  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1035  // with awserr.Error's Code and Message methods to get detailed information about
  1036  // the error.
  1037  //
  1038  // See the AWS API reference guide for AWS Greengrass's
  1039  // API operation CreateGroupCertificateAuthority for usage and error information.
  1040  //
  1041  // Returned Error Types:
  1042  //   * BadRequestException
  1043  //   General error information.
  1044  //
  1045  //   * InternalServerErrorException
  1046  //   General error information.
  1047  //
  1048  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroupCertificateAuthority
  1049  func (c *Greengrass) CreateGroupCertificateAuthority(input *CreateGroupCertificateAuthorityInput) (*CreateGroupCertificateAuthorityOutput, error) {
  1050  	req, out := c.CreateGroupCertificateAuthorityRequest(input)
  1051  	return out, req.Send()
  1052  }
  1053  
  1054  // CreateGroupCertificateAuthorityWithContext is the same as CreateGroupCertificateAuthority with the addition of
  1055  // the ability to pass a context and additional request options.
  1056  //
  1057  // See CreateGroupCertificateAuthority for details on how to use this API operation.
  1058  //
  1059  // The context must be non-nil and will be used for request cancellation. If
  1060  // the context is nil a panic will occur. In the future the SDK may create
  1061  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1062  // for more information on using Contexts.
  1063  func (c *Greengrass) CreateGroupCertificateAuthorityWithContext(ctx aws.Context, input *CreateGroupCertificateAuthorityInput, opts ...request.Option) (*CreateGroupCertificateAuthorityOutput, error) {
  1064  	req, out := c.CreateGroupCertificateAuthorityRequest(input)
  1065  	req.SetContext(ctx)
  1066  	req.ApplyOptions(opts...)
  1067  	return out, req.Send()
  1068  }
  1069  
  1070  const opCreateGroupVersion = "CreateGroupVersion"
  1071  
  1072  // CreateGroupVersionRequest generates a "aws/request.Request" representing the
  1073  // client's request for the CreateGroupVersion operation. The "output" return
  1074  // value will be populated with the request's response once the request completes
  1075  // successfully.
  1076  //
  1077  // Use "Send" method on the returned Request to send the API call to the service.
  1078  // the "output" return value is not valid until after Send returns without error.
  1079  //
  1080  // See CreateGroupVersion for more information on using the CreateGroupVersion
  1081  // API call, and error handling.
  1082  //
  1083  // This method is useful when you want to inject custom logic or configuration
  1084  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1085  //
  1086  //
  1087  //    // Example sending a request using the CreateGroupVersionRequest method.
  1088  //    req, resp := client.CreateGroupVersionRequest(params)
  1089  //
  1090  //    err := req.Send()
  1091  //    if err == nil { // resp is now filled
  1092  //        fmt.Println(resp)
  1093  //    }
  1094  //
  1095  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroupVersion
  1096  func (c *Greengrass) CreateGroupVersionRequest(input *CreateGroupVersionInput) (req *request.Request, output *CreateGroupVersionOutput) {
  1097  	op := &request.Operation{
  1098  		Name:       opCreateGroupVersion,
  1099  		HTTPMethod: "POST",
  1100  		HTTPPath:   "/greengrass/groups/{GroupId}/versions",
  1101  	}
  1102  
  1103  	if input == nil {
  1104  		input = &CreateGroupVersionInput{}
  1105  	}
  1106  
  1107  	output = &CreateGroupVersionOutput{}
  1108  	req = c.newRequest(op, input, output)
  1109  	return
  1110  }
  1111  
  1112  // CreateGroupVersion API operation for AWS Greengrass.
  1113  //
  1114  // Creates a version of a group which has already been defined.
  1115  //
  1116  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1117  // with awserr.Error's Code and Message methods to get detailed information about
  1118  // the error.
  1119  //
  1120  // See the AWS API reference guide for AWS Greengrass's
  1121  // API operation CreateGroupVersion for usage and error information.
  1122  //
  1123  // Returned Error Types:
  1124  //   * BadRequestException
  1125  //   General error information.
  1126  //
  1127  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateGroupVersion
  1128  func (c *Greengrass) CreateGroupVersion(input *CreateGroupVersionInput) (*CreateGroupVersionOutput, error) {
  1129  	req, out := c.CreateGroupVersionRequest(input)
  1130  	return out, req.Send()
  1131  }
  1132  
  1133  // CreateGroupVersionWithContext is the same as CreateGroupVersion with the addition of
  1134  // the ability to pass a context and additional request options.
  1135  //
  1136  // See CreateGroupVersion for details on how to use this API operation.
  1137  //
  1138  // The context must be non-nil and will be used for request cancellation. If
  1139  // the context is nil a panic will occur. In the future the SDK may create
  1140  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1141  // for more information on using Contexts.
  1142  func (c *Greengrass) CreateGroupVersionWithContext(ctx aws.Context, input *CreateGroupVersionInput, opts ...request.Option) (*CreateGroupVersionOutput, error) {
  1143  	req, out := c.CreateGroupVersionRequest(input)
  1144  	req.SetContext(ctx)
  1145  	req.ApplyOptions(opts...)
  1146  	return out, req.Send()
  1147  }
  1148  
  1149  const opCreateLoggerDefinition = "CreateLoggerDefinition"
  1150  
  1151  // CreateLoggerDefinitionRequest generates a "aws/request.Request" representing the
  1152  // client's request for the CreateLoggerDefinition operation. The "output" return
  1153  // value will be populated with the request's response once the request completes
  1154  // successfully.
  1155  //
  1156  // Use "Send" method on the returned Request to send the API call to the service.
  1157  // the "output" return value is not valid until after Send returns without error.
  1158  //
  1159  // See CreateLoggerDefinition for more information on using the CreateLoggerDefinition
  1160  // API call, and error handling.
  1161  //
  1162  // This method is useful when you want to inject custom logic or configuration
  1163  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1164  //
  1165  //
  1166  //    // Example sending a request using the CreateLoggerDefinitionRequest method.
  1167  //    req, resp := client.CreateLoggerDefinitionRequest(params)
  1168  //
  1169  //    err := req.Send()
  1170  //    if err == nil { // resp is now filled
  1171  //        fmt.Println(resp)
  1172  //    }
  1173  //
  1174  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateLoggerDefinition
  1175  func (c *Greengrass) CreateLoggerDefinitionRequest(input *CreateLoggerDefinitionInput) (req *request.Request, output *CreateLoggerDefinitionOutput) {
  1176  	op := &request.Operation{
  1177  		Name:       opCreateLoggerDefinition,
  1178  		HTTPMethod: "POST",
  1179  		HTTPPath:   "/greengrass/definition/loggers",
  1180  	}
  1181  
  1182  	if input == nil {
  1183  		input = &CreateLoggerDefinitionInput{}
  1184  	}
  1185  
  1186  	output = &CreateLoggerDefinitionOutput{}
  1187  	req = c.newRequest(op, input, output)
  1188  	return
  1189  }
  1190  
  1191  // CreateLoggerDefinition API operation for AWS Greengrass.
  1192  //
  1193  // Creates a logger definition. You may provide the initial version of the logger
  1194  // definition now or use ''CreateLoggerDefinitionVersion'' at a later time.
  1195  //
  1196  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1197  // with awserr.Error's Code and Message methods to get detailed information about
  1198  // the error.
  1199  //
  1200  // See the AWS API reference guide for AWS Greengrass's
  1201  // API operation CreateLoggerDefinition for usage and error information.
  1202  //
  1203  // Returned Error Types:
  1204  //   * BadRequestException
  1205  //   General error information.
  1206  //
  1207  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateLoggerDefinition
  1208  func (c *Greengrass) CreateLoggerDefinition(input *CreateLoggerDefinitionInput) (*CreateLoggerDefinitionOutput, error) {
  1209  	req, out := c.CreateLoggerDefinitionRequest(input)
  1210  	return out, req.Send()
  1211  }
  1212  
  1213  // CreateLoggerDefinitionWithContext is the same as CreateLoggerDefinition with the addition of
  1214  // the ability to pass a context and additional request options.
  1215  //
  1216  // See CreateLoggerDefinition for details on how to use this API operation.
  1217  //
  1218  // The context must be non-nil and will be used for request cancellation. If
  1219  // the context is nil a panic will occur. In the future the SDK may create
  1220  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1221  // for more information on using Contexts.
  1222  func (c *Greengrass) CreateLoggerDefinitionWithContext(ctx aws.Context, input *CreateLoggerDefinitionInput, opts ...request.Option) (*CreateLoggerDefinitionOutput, error) {
  1223  	req, out := c.CreateLoggerDefinitionRequest(input)
  1224  	req.SetContext(ctx)
  1225  	req.ApplyOptions(opts...)
  1226  	return out, req.Send()
  1227  }
  1228  
  1229  const opCreateLoggerDefinitionVersion = "CreateLoggerDefinitionVersion"
  1230  
  1231  // CreateLoggerDefinitionVersionRequest generates a "aws/request.Request" representing the
  1232  // client's request for the CreateLoggerDefinitionVersion operation. The "output" return
  1233  // value will be populated with the request's response once the request completes
  1234  // successfully.
  1235  //
  1236  // Use "Send" method on the returned Request to send the API call to the service.
  1237  // the "output" return value is not valid until after Send returns without error.
  1238  //
  1239  // See CreateLoggerDefinitionVersion for more information on using the CreateLoggerDefinitionVersion
  1240  // API call, and error handling.
  1241  //
  1242  // This method is useful when you want to inject custom logic or configuration
  1243  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1244  //
  1245  //
  1246  //    // Example sending a request using the CreateLoggerDefinitionVersionRequest method.
  1247  //    req, resp := client.CreateLoggerDefinitionVersionRequest(params)
  1248  //
  1249  //    err := req.Send()
  1250  //    if err == nil { // resp is now filled
  1251  //        fmt.Println(resp)
  1252  //    }
  1253  //
  1254  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateLoggerDefinitionVersion
  1255  func (c *Greengrass) CreateLoggerDefinitionVersionRequest(input *CreateLoggerDefinitionVersionInput) (req *request.Request, output *CreateLoggerDefinitionVersionOutput) {
  1256  	op := &request.Operation{
  1257  		Name:       opCreateLoggerDefinitionVersion,
  1258  		HTTPMethod: "POST",
  1259  		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}/versions",
  1260  	}
  1261  
  1262  	if input == nil {
  1263  		input = &CreateLoggerDefinitionVersionInput{}
  1264  	}
  1265  
  1266  	output = &CreateLoggerDefinitionVersionOutput{}
  1267  	req = c.newRequest(op, input, output)
  1268  	return
  1269  }
  1270  
  1271  // CreateLoggerDefinitionVersion API operation for AWS Greengrass.
  1272  //
  1273  // Creates a version of a logger definition that has already been defined.
  1274  //
  1275  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1276  // with awserr.Error's Code and Message methods to get detailed information about
  1277  // the error.
  1278  //
  1279  // See the AWS API reference guide for AWS Greengrass's
  1280  // API operation CreateLoggerDefinitionVersion for usage and error information.
  1281  //
  1282  // Returned Error Types:
  1283  //   * BadRequestException
  1284  //   General error information.
  1285  //
  1286  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateLoggerDefinitionVersion
  1287  func (c *Greengrass) CreateLoggerDefinitionVersion(input *CreateLoggerDefinitionVersionInput) (*CreateLoggerDefinitionVersionOutput, error) {
  1288  	req, out := c.CreateLoggerDefinitionVersionRequest(input)
  1289  	return out, req.Send()
  1290  }
  1291  
  1292  // CreateLoggerDefinitionVersionWithContext is the same as CreateLoggerDefinitionVersion with the addition of
  1293  // the ability to pass a context and additional request options.
  1294  //
  1295  // See CreateLoggerDefinitionVersion for details on how to use this API operation.
  1296  //
  1297  // The context must be non-nil and will be used for request cancellation. If
  1298  // the context is nil a panic will occur. In the future the SDK may create
  1299  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1300  // for more information on using Contexts.
  1301  func (c *Greengrass) CreateLoggerDefinitionVersionWithContext(ctx aws.Context, input *CreateLoggerDefinitionVersionInput, opts ...request.Option) (*CreateLoggerDefinitionVersionOutput, error) {
  1302  	req, out := c.CreateLoggerDefinitionVersionRequest(input)
  1303  	req.SetContext(ctx)
  1304  	req.ApplyOptions(opts...)
  1305  	return out, req.Send()
  1306  }
  1307  
  1308  const opCreateResourceDefinition = "CreateResourceDefinition"
  1309  
  1310  // CreateResourceDefinitionRequest generates a "aws/request.Request" representing the
  1311  // client's request for the CreateResourceDefinition operation. The "output" return
  1312  // value will be populated with the request's response once the request completes
  1313  // successfully.
  1314  //
  1315  // Use "Send" method on the returned Request to send the API call to the service.
  1316  // the "output" return value is not valid until after Send returns without error.
  1317  //
  1318  // See CreateResourceDefinition for more information on using the CreateResourceDefinition
  1319  // API call, and error handling.
  1320  //
  1321  // This method is useful when you want to inject custom logic or configuration
  1322  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1323  //
  1324  //
  1325  //    // Example sending a request using the CreateResourceDefinitionRequest method.
  1326  //    req, resp := client.CreateResourceDefinitionRequest(params)
  1327  //
  1328  //    err := req.Send()
  1329  //    if err == nil { // resp is now filled
  1330  //        fmt.Println(resp)
  1331  //    }
  1332  //
  1333  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateResourceDefinition
  1334  func (c *Greengrass) CreateResourceDefinitionRequest(input *CreateResourceDefinitionInput) (req *request.Request, output *CreateResourceDefinitionOutput) {
  1335  	op := &request.Operation{
  1336  		Name:       opCreateResourceDefinition,
  1337  		HTTPMethod: "POST",
  1338  		HTTPPath:   "/greengrass/definition/resources",
  1339  	}
  1340  
  1341  	if input == nil {
  1342  		input = &CreateResourceDefinitionInput{}
  1343  	}
  1344  
  1345  	output = &CreateResourceDefinitionOutput{}
  1346  	req = c.newRequest(op, input, output)
  1347  	return
  1348  }
  1349  
  1350  // CreateResourceDefinition API operation for AWS Greengrass.
  1351  //
  1352  // Creates a resource definition which contains a list of resources to be used
  1353  // in a group. You can create an initial version of the definition by providing
  1354  // a list of resources now, or use ''CreateResourceDefinitionVersion'' later.
  1355  //
  1356  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1357  // with awserr.Error's Code and Message methods to get detailed information about
  1358  // the error.
  1359  //
  1360  // See the AWS API reference guide for AWS Greengrass's
  1361  // API operation CreateResourceDefinition for usage and error information.
  1362  //
  1363  // Returned Error Types:
  1364  //   * BadRequestException
  1365  //   General error information.
  1366  //
  1367  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateResourceDefinition
  1368  func (c *Greengrass) CreateResourceDefinition(input *CreateResourceDefinitionInput) (*CreateResourceDefinitionOutput, error) {
  1369  	req, out := c.CreateResourceDefinitionRequest(input)
  1370  	return out, req.Send()
  1371  }
  1372  
  1373  // CreateResourceDefinitionWithContext is the same as CreateResourceDefinition with the addition of
  1374  // the ability to pass a context and additional request options.
  1375  //
  1376  // See CreateResourceDefinition for details on how to use this API operation.
  1377  //
  1378  // The context must be non-nil and will be used for request cancellation. If
  1379  // the context is nil a panic will occur. In the future the SDK may create
  1380  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1381  // for more information on using Contexts.
  1382  func (c *Greengrass) CreateResourceDefinitionWithContext(ctx aws.Context, input *CreateResourceDefinitionInput, opts ...request.Option) (*CreateResourceDefinitionOutput, error) {
  1383  	req, out := c.CreateResourceDefinitionRequest(input)
  1384  	req.SetContext(ctx)
  1385  	req.ApplyOptions(opts...)
  1386  	return out, req.Send()
  1387  }
  1388  
  1389  const opCreateResourceDefinitionVersion = "CreateResourceDefinitionVersion"
  1390  
  1391  // CreateResourceDefinitionVersionRequest generates a "aws/request.Request" representing the
  1392  // client's request for the CreateResourceDefinitionVersion operation. The "output" return
  1393  // value will be populated with the request's response once the request completes
  1394  // successfully.
  1395  //
  1396  // Use "Send" method on the returned Request to send the API call to the service.
  1397  // the "output" return value is not valid until after Send returns without error.
  1398  //
  1399  // See CreateResourceDefinitionVersion for more information on using the CreateResourceDefinitionVersion
  1400  // API call, and error handling.
  1401  //
  1402  // This method is useful when you want to inject custom logic or configuration
  1403  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1404  //
  1405  //
  1406  //    // Example sending a request using the CreateResourceDefinitionVersionRequest method.
  1407  //    req, resp := client.CreateResourceDefinitionVersionRequest(params)
  1408  //
  1409  //    err := req.Send()
  1410  //    if err == nil { // resp is now filled
  1411  //        fmt.Println(resp)
  1412  //    }
  1413  //
  1414  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateResourceDefinitionVersion
  1415  func (c *Greengrass) CreateResourceDefinitionVersionRequest(input *CreateResourceDefinitionVersionInput) (req *request.Request, output *CreateResourceDefinitionVersionOutput) {
  1416  	op := &request.Operation{
  1417  		Name:       opCreateResourceDefinitionVersion,
  1418  		HTTPMethod: "POST",
  1419  		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}/versions",
  1420  	}
  1421  
  1422  	if input == nil {
  1423  		input = &CreateResourceDefinitionVersionInput{}
  1424  	}
  1425  
  1426  	output = &CreateResourceDefinitionVersionOutput{}
  1427  	req = c.newRequest(op, input, output)
  1428  	return
  1429  }
  1430  
  1431  // CreateResourceDefinitionVersion API operation for AWS Greengrass.
  1432  //
  1433  // Creates a version of a resource definition that has already been defined.
  1434  //
  1435  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1436  // with awserr.Error's Code and Message methods to get detailed information about
  1437  // the error.
  1438  //
  1439  // See the AWS API reference guide for AWS Greengrass's
  1440  // API operation CreateResourceDefinitionVersion for usage and error information.
  1441  //
  1442  // Returned Error Types:
  1443  //   * BadRequestException
  1444  //   General error information.
  1445  //
  1446  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateResourceDefinitionVersion
  1447  func (c *Greengrass) CreateResourceDefinitionVersion(input *CreateResourceDefinitionVersionInput) (*CreateResourceDefinitionVersionOutput, error) {
  1448  	req, out := c.CreateResourceDefinitionVersionRequest(input)
  1449  	return out, req.Send()
  1450  }
  1451  
  1452  // CreateResourceDefinitionVersionWithContext is the same as CreateResourceDefinitionVersion with the addition of
  1453  // the ability to pass a context and additional request options.
  1454  //
  1455  // See CreateResourceDefinitionVersion for details on how to use this API operation.
  1456  //
  1457  // The context must be non-nil and will be used for request cancellation. If
  1458  // the context is nil a panic will occur. In the future the SDK may create
  1459  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1460  // for more information on using Contexts.
  1461  func (c *Greengrass) CreateResourceDefinitionVersionWithContext(ctx aws.Context, input *CreateResourceDefinitionVersionInput, opts ...request.Option) (*CreateResourceDefinitionVersionOutput, error) {
  1462  	req, out := c.CreateResourceDefinitionVersionRequest(input)
  1463  	req.SetContext(ctx)
  1464  	req.ApplyOptions(opts...)
  1465  	return out, req.Send()
  1466  }
  1467  
  1468  const opCreateSoftwareUpdateJob = "CreateSoftwareUpdateJob"
  1469  
  1470  // CreateSoftwareUpdateJobRequest generates a "aws/request.Request" representing the
  1471  // client's request for the CreateSoftwareUpdateJob operation. The "output" return
  1472  // value will be populated with the request's response once the request completes
  1473  // successfully.
  1474  //
  1475  // Use "Send" method on the returned Request to send the API call to the service.
  1476  // the "output" return value is not valid until after Send returns without error.
  1477  //
  1478  // See CreateSoftwareUpdateJob for more information on using the CreateSoftwareUpdateJob
  1479  // API call, and error handling.
  1480  //
  1481  // This method is useful when you want to inject custom logic or configuration
  1482  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1483  //
  1484  //
  1485  //    // Example sending a request using the CreateSoftwareUpdateJobRequest method.
  1486  //    req, resp := client.CreateSoftwareUpdateJobRequest(params)
  1487  //
  1488  //    err := req.Send()
  1489  //    if err == nil { // resp is now filled
  1490  //        fmt.Println(resp)
  1491  //    }
  1492  //
  1493  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSoftwareUpdateJob
  1494  func (c *Greengrass) CreateSoftwareUpdateJobRequest(input *CreateSoftwareUpdateJobInput) (req *request.Request, output *CreateSoftwareUpdateJobOutput) {
  1495  	op := &request.Operation{
  1496  		Name:       opCreateSoftwareUpdateJob,
  1497  		HTTPMethod: "POST",
  1498  		HTTPPath:   "/greengrass/updates",
  1499  	}
  1500  
  1501  	if input == nil {
  1502  		input = &CreateSoftwareUpdateJobInput{}
  1503  	}
  1504  
  1505  	output = &CreateSoftwareUpdateJobOutput{}
  1506  	req = c.newRequest(op, input, output)
  1507  	return
  1508  }
  1509  
  1510  // CreateSoftwareUpdateJob API operation for AWS Greengrass.
  1511  //
  1512  // Creates a software update for a core or group of cores (specified as an IoT
  1513  // thing group.) Use this to update the OTA Agent as well as the Greengrass
  1514  // core software. It makes use of the IoT Jobs feature which provides additional
  1515  // commands to manage a Greengrass core software update job.
  1516  //
  1517  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1518  // with awserr.Error's Code and Message methods to get detailed information about
  1519  // the error.
  1520  //
  1521  // See the AWS API reference guide for AWS Greengrass's
  1522  // API operation CreateSoftwareUpdateJob for usage and error information.
  1523  //
  1524  // Returned Error Types:
  1525  //   * BadRequestException
  1526  //   General error information.
  1527  //
  1528  //   * InternalServerErrorException
  1529  //   General error information.
  1530  //
  1531  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSoftwareUpdateJob
  1532  func (c *Greengrass) CreateSoftwareUpdateJob(input *CreateSoftwareUpdateJobInput) (*CreateSoftwareUpdateJobOutput, error) {
  1533  	req, out := c.CreateSoftwareUpdateJobRequest(input)
  1534  	return out, req.Send()
  1535  }
  1536  
  1537  // CreateSoftwareUpdateJobWithContext is the same as CreateSoftwareUpdateJob with the addition of
  1538  // the ability to pass a context and additional request options.
  1539  //
  1540  // See CreateSoftwareUpdateJob for details on how to use this API operation.
  1541  //
  1542  // The context must be non-nil and will be used for request cancellation. If
  1543  // the context is nil a panic will occur. In the future the SDK may create
  1544  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1545  // for more information on using Contexts.
  1546  func (c *Greengrass) CreateSoftwareUpdateJobWithContext(ctx aws.Context, input *CreateSoftwareUpdateJobInput, opts ...request.Option) (*CreateSoftwareUpdateJobOutput, error) {
  1547  	req, out := c.CreateSoftwareUpdateJobRequest(input)
  1548  	req.SetContext(ctx)
  1549  	req.ApplyOptions(opts...)
  1550  	return out, req.Send()
  1551  }
  1552  
  1553  const opCreateSubscriptionDefinition = "CreateSubscriptionDefinition"
  1554  
  1555  // CreateSubscriptionDefinitionRequest generates a "aws/request.Request" representing the
  1556  // client's request for the CreateSubscriptionDefinition operation. The "output" return
  1557  // value will be populated with the request's response once the request completes
  1558  // successfully.
  1559  //
  1560  // Use "Send" method on the returned Request to send the API call to the service.
  1561  // the "output" return value is not valid until after Send returns without error.
  1562  //
  1563  // See CreateSubscriptionDefinition for more information on using the CreateSubscriptionDefinition
  1564  // API call, and error handling.
  1565  //
  1566  // This method is useful when you want to inject custom logic or configuration
  1567  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1568  //
  1569  //
  1570  //    // Example sending a request using the CreateSubscriptionDefinitionRequest method.
  1571  //    req, resp := client.CreateSubscriptionDefinitionRequest(params)
  1572  //
  1573  //    err := req.Send()
  1574  //    if err == nil { // resp is now filled
  1575  //        fmt.Println(resp)
  1576  //    }
  1577  //
  1578  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSubscriptionDefinition
  1579  func (c *Greengrass) CreateSubscriptionDefinitionRequest(input *CreateSubscriptionDefinitionInput) (req *request.Request, output *CreateSubscriptionDefinitionOutput) {
  1580  	op := &request.Operation{
  1581  		Name:       opCreateSubscriptionDefinition,
  1582  		HTTPMethod: "POST",
  1583  		HTTPPath:   "/greengrass/definition/subscriptions",
  1584  	}
  1585  
  1586  	if input == nil {
  1587  		input = &CreateSubscriptionDefinitionInput{}
  1588  	}
  1589  
  1590  	output = &CreateSubscriptionDefinitionOutput{}
  1591  	req = c.newRequest(op, input, output)
  1592  	return
  1593  }
  1594  
  1595  // CreateSubscriptionDefinition API operation for AWS Greengrass.
  1596  //
  1597  // Creates a subscription definition. You may provide the initial version of
  1598  // the subscription definition now or use ''CreateSubscriptionDefinitionVersion''
  1599  // at a later time.
  1600  //
  1601  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1602  // with awserr.Error's Code and Message methods to get detailed information about
  1603  // the error.
  1604  //
  1605  // See the AWS API reference guide for AWS Greengrass's
  1606  // API operation CreateSubscriptionDefinition for usage and error information.
  1607  //
  1608  // Returned Error Types:
  1609  //   * BadRequestException
  1610  //   General error information.
  1611  //
  1612  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSubscriptionDefinition
  1613  func (c *Greengrass) CreateSubscriptionDefinition(input *CreateSubscriptionDefinitionInput) (*CreateSubscriptionDefinitionOutput, error) {
  1614  	req, out := c.CreateSubscriptionDefinitionRequest(input)
  1615  	return out, req.Send()
  1616  }
  1617  
  1618  // CreateSubscriptionDefinitionWithContext is the same as CreateSubscriptionDefinition with the addition of
  1619  // the ability to pass a context and additional request options.
  1620  //
  1621  // See CreateSubscriptionDefinition for details on how to use this API operation.
  1622  //
  1623  // The context must be non-nil and will be used for request cancellation. If
  1624  // the context is nil a panic will occur. In the future the SDK may create
  1625  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1626  // for more information on using Contexts.
  1627  func (c *Greengrass) CreateSubscriptionDefinitionWithContext(ctx aws.Context, input *CreateSubscriptionDefinitionInput, opts ...request.Option) (*CreateSubscriptionDefinitionOutput, error) {
  1628  	req, out := c.CreateSubscriptionDefinitionRequest(input)
  1629  	req.SetContext(ctx)
  1630  	req.ApplyOptions(opts...)
  1631  	return out, req.Send()
  1632  }
  1633  
  1634  const opCreateSubscriptionDefinitionVersion = "CreateSubscriptionDefinitionVersion"
  1635  
  1636  // CreateSubscriptionDefinitionVersionRequest generates a "aws/request.Request" representing the
  1637  // client's request for the CreateSubscriptionDefinitionVersion operation. The "output" return
  1638  // value will be populated with the request's response once the request completes
  1639  // successfully.
  1640  //
  1641  // Use "Send" method on the returned Request to send the API call to the service.
  1642  // the "output" return value is not valid until after Send returns without error.
  1643  //
  1644  // See CreateSubscriptionDefinitionVersion for more information on using the CreateSubscriptionDefinitionVersion
  1645  // API call, and error handling.
  1646  //
  1647  // This method is useful when you want to inject custom logic or configuration
  1648  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1649  //
  1650  //
  1651  //    // Example sending a request using the CreateSubscriptionDefinitionVersionRequest method.
  1652  //    req, resp := client.CreateSubscriptionDefinitionVersionRequest(params)
  1653  //
  1654  //    err := req.Send()
  1655  //    if err == nil { // resp is now filled
  1656  //        fmt.Println(resp)
  1657  //    }
  1658  //
  1659  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSubscriptionDefinitionVersion
  1660  func (c *Greengrass) CreateSubscriptionDefinitionVersionRequest(input *CreateSubscriptionDefinitionVersionInput) (req *request.Request, output *CreateSubscriptionDefinitionVersionOutput) {
  1661  	op := &request.Operation{
  1662  		Name:       opCreateSubscriptionDefinitionVersion,
  1663  		HTTPMethod: "POST",
  1664  		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions",
  1665  	}
  1666  
  1667  	if input == nil {
  1668  		input = &CreateSubscriptionDefinitionVersionInput{}
  1669  	}
  1670  
  1671  	output = &CreateSubscriptionDefinitionVersionOutput{}
  1672  	req = c.newRequest(op, input, output)
  1673  	return
  1674  }
  1675  
  1676  // CreateSubscriptionDefinitionVersion API operation for AWS Greengrass.
  1677  //
  1678  // Creates a version of a subscription definition which has already been defined.
  1679  //
  1680  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1681  // with awserr.Error's Code and Message methods to get detailed information about
  1682  // the error.
  1683  //
  1684  // See the AWS API reference guide for AWS Greengrass's
  1685  // API operation CreateSubscriptionDefinitionVersion for usage and error information.
  1686  //
  1687  // Returned Error Types:
  1688  //   * BadRequestException
  1689  //   General error information.
  1690  //
  1691  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/CreateSubscriptionDefinitionVersion
  1692  func (c *Greengrass) CreateSubscriptionDefinitionVersion(input *CreateSubscriptionDefinitionVersionInput) (*CreateSubscriptionDefinitionVersionOutput, error) {
  1693  	req, out := c.CreateSubscriptionDefinitionVersionRequest(input)
  1694  	return out, req.Send()
  1695  }
  1696  
  1697  // CreateSubscriptionDefinitionVersionWithContext is the same as CreateSubscriptionDefinitionVersion with the addition of
  1698  // the ability to pass a context and additional request options.
  1699  //
  1700  // See CreateSubscriptionDefinitionVersion for details on how to use this API operation.
  1701  //
  1702  // The context must be non-nil and will be used for request cancellation. If
  1703  // the context is nil a panic will occur. In the future the SDK may create
  1704  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1705  // for more information on using Contexts.
  1706  func (c *Greengrass) CreateSubscriptionDefinitionVersionWithContext(ctx aws.Context, input *CreateSubscriptionDefinitionVersionInput, opts ...request.Option) (*CreateSubscriptionDefinitionVersionOutput, error) {
  1707  	req, out := c.CreateSubscriptionDefinitionVersionRequest(input)
  1708  	req.SetContext(ctx)
  1709  	req.ApplyOptions(opts...)
  1710  	return out, req.Send()
  1711  }
  1712  
  1713  const opDeleteConnectorDefinition = "DeleteConnectorDefinition"
  1714  
  1715  // DeleteConnectorDefinitionRequest generates a "aws/request.Request" representing the
  1716  // client's request for the DeleteConnectorDefinition operation. The "output" return
  1717  // value will be populated with the request's response once the request completes
  1718  // successfully.
  1719  //
  1720  // Use "Send" method on the returned Request to send the API call to the service.
  1721  // the "output" return value is not valid until after Send returns without error.
  1722  //
  1723  // See DeleteConnectorDefinition for more information on using the DeleteConnectorDefinition
  1724  // API call, and error handling.
  1725  //
  1726  // This method is useful when you want to inject custom logic or configuration
  1727  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1728  //
  1729  //
  1730  //    // Example sending a request using the DeleteConnectorDefinitionRequest method.
  1731  //    req, resp := client.DeleteConnectorDefinitionRequest(params)
  1732  //
  1733  //    err := req.Send()
  1734  //    if err == nil { // resp is now filled
  1735  //        fmt.Println(resp)
  1736  //    }
  1737  //
  1738  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteConnectorDefinition
  1739  func (c *Greengrass) DeleteConnectorDefinitionRequest(input *DeleteConnectorDefinitionInput) (req *request.Request, output *DeleteConnectorDefinitionOutput) {
  1740  	op := &request.Operation{
  1741  		Name:       opDeleteConnectorDefinition,
  1742  		HTTPMethod: "DELETE",
  1743  		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}",
  1744  	}
  1745  
  1746  	if input == nil {
  1747  		input = &DeleteConnectorDefinitionInput{}
  1748  	}
  1749  
  1750  	output = &DeleteConnectorDefinitionOutput{}
  1751  	req = c.newRequest(op, input, output)
  1752  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1753  	return
  1754  }
  1755  
  1756  // DeleteConnectorDefinition API operation for AWS Greengrass.
  1757  //
  1758  // Deletes a connector definition.
  1759  //
  1760  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1761  // with awserr.Error's Code and Message methods to get detailed information about
  1762  // the error.
  1763  //
  1764  // See the AWS API reference guide for AWS Greengrass's
  1765  // API operation DeleteConnectorDefinition for usage and error information.
  1766  //
  1767  // Returned Error Types:
  1768  //   * BadRequestException
  1769  //   General error information.
  1770  //
  1771  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteConnectorDefinition
  1772  func (c *Greengrass) DeleteConnectorDefinition(input *DeleteConnectorDefinitionInput) (*DeleteConnectorDefinitionOutput, error) {
  1773  	req, out := c.DeleteConnectorDefinitionRequest(input)
  1774  	return out, req.Send()
  1775  }
  1776  
  1777  // DeleteConnectorDefinitionWithContext is the same as DeleteConnectorDefinition with the addition of
  1778  // the ability to pass a context and additional request options.
  1779  //
  1780  // See DeleteConnectorDefinition for details on how to use this API operation.
  1781  //
  1782  // The context must be non-nil and will be used for request cancellation. If
  1783  // the context is nil a panic will occur. In the future the SDK may create
  1784  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1785  // for more information on using Contexts.
  1786  func (c *Greengrass) DeleteConnectorDefinitionWithContext(ctx aws.Context, input *DeleteConnectorDefinitionInput, opts ...request.Option) (*DeleteConnectorDefinitionOutput, error) {
  1787  	req, out := c.DeleteConnectorDefinitionRequest(input)
  1788  	req.SetContext(ctx)
  1789  	req.ApplyOptions(opts...)
  1790  	return out, req.Send()
  1791  }
  1792  
  1793  const opDeleteCoreDefinition = "DeleteCoreDefinition"
  1794  
  1795  // DeleteCoreDefinitionRequest generates a "aws/request.Request" representing the
  1796  // client's request for the DeleteCoreDefinition operation. The "output" return
  1797  // value will be populated with the request's response once the request completes
  1798  // successfully.
  1799  //
  1800  // Use "Send" method on the returned Request to send the API call to the service.
  1801  // the "output" return value is not valid until after Send returns without error.
  1802  //
  1803  // See DeleteCoreDefinition for more information on using the DeleteCoreDefinition
  1804  // API call, and error handling.
  1805  //
  1806  // This method is useful when you want to inject custom logic or configuration
  1807  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1808  //
  1809  //
  1810  //    // Example sending a request using the DeleteCoreDefinitionRequest method.
  1811  //    req, resp := client.DeleteCoreDefinitionRequest(params)
  1812  //
  1813  //    err := req.Send()
  1814  //    if err == nil { // resp is now filled
  1815  //        fmt.Println(resp)
  1816  //    }
  1817  //
  1818  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteCoreDefinition
  1819  func (c *Greengrass) DeleteCoreDefinitionRequest(input *DeleteCoreDefinitionInput) (req *request.Request, output *DeleteCoreDefinitionOutput) {
  1820  	op := &request.Operation{
  1821  		Name:       opDeleteCoreDefinition,
  1822  		HTTPMethod: "DELETE",
  1823  		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}",
  1824  	}
  1825  
  1826  	if input == nil {
  1827  		input = &DeleteCoreDefinitionInput{}
  1828  	}
  1829  
  1830  	output = &DeleteCoreDefinitionOutput{}
  1831  	req = c.newRequest(op, input, output)
  1832  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1833  	return
  1834  }
  1835  
  1836  // DeleteCoreDefinition API operation for AWS Greengrass.
  1837  //
  1838  // Deletes a core definition.
  1839  //
  1840  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1841  // with awserr.Error's Code and Message methods to get detailed information about
  1842  // the error.
  1843  //
  1844  // See the AWS API reference guide for AWS Greengrass's
  1845  // API operation DeleteCoreDefinition for usage and error information.
  1846  //
  1847  // Returned Error Types:
  1848  //   * BadRequestException
  1849  //   General error information.
  1850  //
  1851  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteCoreDefinition
  1852  func (c *Greengrass) DeleteCoreDefinition(input *DeleteCoreDefinitionInput) (*DeleteCoreDefinitionOutput, error) {
  1853  	req, out := c.DeleteCoreDefinitionRequest(input)
  1854  	return out, req.Send()
  1855  }
  1856  
  1857  // DeleteCoreDefinitionWithContext is the same as DeleteCoreDefinition with the addition of
  1858  // the ability to pass a context and additional request options.
  1859  //
  1860  // See DeleteCoreDefinition for details on how to use this API operation.
  1861  //
  1862  // The context must be non-nil and will be used for request cancellation. If
  1863  // the context is nil a panic will occur. In the future the SDK may create
  1864  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1865  // for more information on using Contexts.
  1866  func (c *Greengrass) DeleteCoreDefinitionWithContext(ctx aws.Context, input *DeleteCoreDefinitionInput, opts ...request.Option) (*DeleteCoreDefinitionOutput, error) {
  1867  	req, out := c.DeleteCoreDefinitionRequest(input)
  1868  	req.SetContext(ctx)
  1869  	req.ApplyOptions(opts...)
  1870  	return out, req.Send()
  1871  }
  1872  
  1873  const opDeleteDeviceDefinition = "DeleteDeviceDefinition"
  1874  
  1875  // DeleteDeviceDefinitionRequest generates a "aws/request.Request" representing the
  1876  // client's request for the DeleteDeviceDefinition operation. The "output" return
  1877  // value will be populated with the request's response once the request completes
  1878  // successfully.
  1879  //
  1880  // Use "Send" method on the returned Request to send the API call to the service.
  1881  // the "output" return value is not valid until after Send returns without error.
  1882  //
  1883  // See DeleteDeviceDefinition for more information on using the DeleteDeviceDefinition
  1884  // API call, and error handling.
  1885  //
  1886  // This method is useful when you want to inject custom logic or configuration
  1887  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1888  //
  1889  //
  1890  //    // Example sending a request using the DeleteDeviceDefinitionRequest method.
  1891  //    req, resp := client.DeleteDeviceDefinitionRequest(params)
  1892  //
  1893  //    err := req.Send()
  1894  //    if err == nil { // resp is now filled
  1895  //        fmt.Println(resp)
  1896  //    }
  1897  //
  1898  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteDeviceDefinition
  1899  func (c *Greengrass) DeleteDeviceDefinitionRequest(input *DeleteDeviceDefinitionInput) (req *request.Request, output *DeleteDeviceDefinitionOutput) {
  1900  	op := &request.Operation{
  1901  		Name:       opDeleteDeviceDefinition,
  1902  		HTTPMethod: "DELETE",
  1903  		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}",
  1904  	}
  1905  
  1906  	if input == nil {
  1907  		input = &DeleteDeviceDefinitionInput{}
  1908  	}
  1909  
  1910  	output = &DeleteDeviceDefinitionOutput{}
  1911  	req = c.newRequest(op, input, output)
  1912  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1913  	return
  1914  }
  1915  
  1916  // DeleteDeviceDefinition API operation for AWS Greengrass.
  1917  //
  1918  // Deletes a device definition.
  1919  //
  1920  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1921  // with awserr.Error's Code and Message methods to get detailed information about
  1922  // the error.
  1923  //
  1924  // See the AWS API reference guide for AWS Greengrass's
  1925  // API operation DeleteDeviceDefinition for usage and error information.
  1926  //
  1927  // Returned Error Types:
  1928  //   * BadRequestException
  1929  //   General error information.
  1930  //
  1931  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteDeviceDefinition
  1932  func (c *Greengrass) DeleteDeviceDefinition(input *DeleteDeviceDefinitionInput) (*DeleteDeviceDefinitionOutput, error) {
  1933  	req, out := c.DeleteDeviceDefinitionRequest(input)
  1934  	return out, req.Send()
  1935  }
  1936  
  1937  // DeleteDeviceDefinitionWithContext is the same as DeleteDeviceDefinition with the addition of
  1938  // the ability to pass a context and additional request options.
  1939  //
  1940  // See DeleteDeviceDefinition for details on how to use this API operation.
  1941  //
  1942  // The context must be non-nil and will be used for request cancellation. If
  1943  // the context is nil a panic will occur. In the future the SDK may create
  1944  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1945  // for more information on using Contexts.
  1946  func (c *Greengrass) DeleteDeviceDefinitionWithContext(ctx aws.Context, input *DeleteDeviceDefinitionInput, opts ...request.Option) (*DeleteDeviceDefinitionOutput, error) {
  1947  	req, out := c.DeleteDeviceDefinitionRequest(input)
  1948  	req.SetContext(ctx)
  1949  	req.ApplyOptions(opts...)
  1950  	return out, req.Send()
  1951  }
  1952  
  1953  const opDeleteFunctionDefinition = "DeleteFunctionDefinition"
  1954  
  1955  // DeleteFunctionDefinitionRequest generates a "aws/request.Request" representing the
  1956  // client's request for the DeleteFunctionDefinition operation. The "output" return
  1957  // value will be populated with the request's response once the request completes
  1958  // successfully.
  1959  //
  1960  // Use "Send" method on the returned Request to send the API call to the service.
  1961  // the "output" return value is not valid until after Send returns without error.
  1962  //
  1963  // See DeleteFunctionDefinition for more information on using the DeleteFunctionDefinition
  1964  // API call, and error handling.
  1965  //
  1966  // This method is useful when you want to inject custom logic or configuration
  1967  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1968  //
  1969  //
  1970  //    // Example sending a request using the DeleteFunctionDefinitionRequest method.
  1971  //    req, resp := client.DeleteFunctionDefinitionRequest(params)
  1972  //
  1973  //    err := req.Send()
  1974  //    if err == nil { // resp is now filled
  1975  //        fmt.Println(resp)
  1976  //    }
  1977  //
  1978  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteFunctionDefinition
  1979  func (c *Greengrass) DeleteFunctionDefinitionRequest(input *DeleteFunctionDefinitionInput) (req *request.Request, output *DeleteFunctionDefinitionOutput) {
  1980  	op := &request.Operation{
  1981  		Name:       opDeleteFunctionDefinition,
  1982  		HTTPMethod: "DELETE",
  1983  		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}",
  1984  	}
  1985  
  1986  	if input == nil {
  1987  		input = &DeleteFunctionDefinitionInput{}
  1988  	}
  1989  
  1990  	output = &DeleteFunctionDefinitionOutput{}
  1991  	req = c.newRequest(op, input, output)
  1992  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1993  	return
  1994  }
  1995  
  1996  // DeleteFunctionDefinition API operation for AWS Greengrass.
  1997  //
  1998  // Deletes a Lambda function definition.
  1999  //
  2000  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2001  // with awserr.Error's Code and Message methods to get detailed information about
  2002  // the error.
  2003  //
  2004  // See the AWS API reference guide for AWS Greengrass's
  2005  // API operation DeleteFunctionDefinition for usage and error information.
  2006  //
  2007  // Returned Error Types:
  2008  //   * BadRequestException
  2009  //   General error information.
  2010  //
  2011  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteFunctionDefinition
  2012  func (c *Greengrass) DeleteFunctionDefinition(input *DeleteFunctionDefinitionInput) (*DeleteFunctionDefinitionOutput, error) {
  2013  	req, out := c.DeleteFunctionDefinitionRequest(input)
  2014  	return out, req.Send()
  2015  }
  2016  
  2017  // DeleteFunctionDefinitionWithContext is the same as DeleteFunctionDefinition with the addition of
  2018  // the ability to pass a context and additional request options.
  2019  //
  2020  // See DeleteFunctionDefinition for details on how to use this API operation.
  2021  //
  2022  // The context must be non-nil and will be used for request cancellation. If
  2023  // the context is nil a panic will occur. In the future the SDK may create
  2024  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2025  // for more information on using Contexts.
  2026  func (c *Greengrass) DeleteFunctionDefinitionWithContext(ctx aws.Context, input *DeleteFunctionDefinitionInput, opts ...request.Option) (*DeleteFunctionDefinitionOutput, error) {
  2027  	req, out := c.DeleteFunctionDefinitionRequest(input)
  2028  	req.SetContext(ctx)
  2029  	req.ApplyOptions(opts...)
  2030  	return out, req.Send()
  2031  }
  2032  
  2033  const opDeleteGroup = "DeleteGroup"
  2034  
  2035  // DeleteGroupRequest generates a "aws/request.Request" representing the
  2036  // client's request for the DeleteGroup operation. The "output" return
  2037  // value will be populated with the request's response once the request completes
  2038  // successfully.
  2039  //
  2040  // Use "Send" method on the returned Request to send the API call to the service.
  2041  // the "output" return value is not valid until after Send returns without error.
  2042  //
  2043  // See DeleteGroup for more information on using the DeleteGroup
  2044  // API call, and error handling.
  2045  //
  2046  // This method is useful when you want to inject custom logic or configuration
  2047  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2048  //
  2049  //
  2050  //    // Example sending a request using the DeleteGroupRequest method.
  2051  //    req, resp := client.DeleteGroupRequest(params)
  2052  //
  2053  //    err := req.Send()
  2054  //    if err == nil { // resp is now filled
  2055  //        fmt.Println(resp)
  2056  //    }
  2057  //
  2058  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteGroup
  2059  func (c *Greengrass) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) {
  2060  	op := &request.Operation{
  2061  		Name:       opDeleteGroup,
  2062  		HTTPMethod: "DELETE",
  2063  		HTTPPath:   "/greengrass/groups/{GroupId}",
  2064  	}
  2065  
  2066  	if input == nil {
  2067  		input = &DeleteGroupInput{}
  2068  	}
  2069  
  2070  	output = &DeleteGroupOutput{}
  2071  	req = c.newRequest(op, input, output)
  2072  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2073  	return
  2074  }
  2075  
  2076  // DeleteGroup API operation for AWS Greengrass.
  2077  //
  2078  // Deletes a group.
  2079  //
  2080  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2081  // with awserr.Error's Code and Message methods to get detailed information about
  2082  // the error.
  2083  //
  2084  // See the AWS API reference guide for AWS Greengrass's
  2085  // API operation DeleteGroup for usage and error information.
  2086  //
  2087  // Returned Error Types:
  2088  //   * BadRequestException
  2089  //   General error information.
  2090  //
  2091  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteGroup
  2092  func (c *Greengrass) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) {
  2093  	req, out := c.DeleteGroupRequest(input)
  2094  	return out, req.Send()
  2095  }
  2096  
  2097  // DeleteGroupWithContext is the same as DeleteGroup with the addition of
  2098  // the ability to pass a context and additional request options.
  2099  //
  2100  // See DeleteGroup for details on how to use this API operation.
  2101  //
  2102  // The context must be non-nil and will be used for request cancellation. If
  2103  // the context is nil a panic will occur. In the future the SDK may create
  2104  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2105  // for more information on using Contexts.
  2106  func (c *Greengrass) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) {
  2107  	req, out := c.DeleteGroupRequest(input)
  2108  	req.SetContext(ctx)
  2109  	req.ApplyOptions(opts...)
  2110  	return out, req.Send()
  2111  }
  2112  
  2113  const opDeleteLoggerDefinition = "DeleteLoggerDefinition"
  2114  
  2115  // DeleteLoggerDefinitionRequest generates a "aws/request.Request" representing the
  2116  // client's request for the DeleteLoggerDefinition operation. The "output" return
  2117  // value will be populated with the request's response once the request completes
  2118  // successfully.
  2119  //
  2120  // Use "Send" method on the returned Request to send the API call to the service.
  2121  // the "output" return value is not valid until after Send returns without error.
  2122  //
  2123  // See DeleteLoggerDefinition for more information on using the DeleteLoggerDefinition
  2124  // API call, and error handling.
  2125  //
  2126  // This method is useful when you want to inject custom logic or configuration
  2127  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2128  //
  2129  //
  2130  //    // Example sending a request using the DeleteLoggerDefinitionRequest method.
  2131  //    req, resp := client.DeleteLoggerDefinitionRequest(params)
  2132  //
  2133  //    err := req.Send()
  2134  //    if err == nil { // resp is now filled
  2135  //        fmt.Println(resp)
  2136  //    }
  2137  //
  2138  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteLoggerDefinition
  2139  func (c *Greengrass) DeleteLoggerDefinitionRequest(input *DeleteLoggerDefinitionInput) (req *request.Request, output *DeleteLoggerDefinitionOutput) {
  2140  	op := &request.Operation{
  2141  		Name:       opDeleteLoggerDefinition,
  2142  		HTTPMethod: "DELETE",
  2143  		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}",
  2144  	}
  2145  
  2146  	if input == nil {
  2147  		input = &DeleteLoggerDefinitionInput{}
  2148  	}
  2149  
  2150  	output = &DeleteLoggerDefinitionOutput{}
  2151  	req = c.newRequest(op, input, output)
  2152  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2153  	return
  2154  }
  2155  
  2156  // DeleteLoggerDefinition API operation for AWS Greengrass.
  2157  //
  2158  // Deletes a logger definition.
  2159  //
  2160  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2161  // with awserr.Error's Code and Message methods to get detailed information about
  2162  // the error.
  2163  //
  2164  // See the AWS API reference guide for AWS Greengrass's
  2165  // API operation DeleteLoggerDefinition for usage and error information.
  2166  //
  2167  // Returned Error Types:
  2168  //   * BadRequestException
  2169  //   General error information.
  2170  //
  2171  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteLoggerDefinition
  2172  func (c *Greengrass) DeleteLoggerDefinition(input *DeleteLoggerDefinitionInput) (*DeleteLoggerDefinitionOutput, error) {
  2173  	req, out := c.DeleteLoggerDefinitionRequest(input)
  2174  	return out, req.Send()
  2175  }
  2176  
  2177  // DeleteLoggerDefinitionWithContext is the same as DeleteLoggerDefinition with the addition of
  2178  // the ability to pass a context and additional request options.
  2179  //
  2180  // See DeleteLoggerDefinition for details on how to use this API operation.
  2181  //
  2182  // The context must be non-nil and will be used for request cancellation. If
  2183  // the context is nil a panic will occur. In the future the SDK may create
  2184  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2185  // for more information on using Contexts.
  2186  func (c *Greengrass) DeleteLoggerDefinitionWithContext(ctx aws.Context, input *DeleteLoggerDefinitionInput, opts ...request.Option) (*DeleteLoggerDefinitionOutput, error) {
  2187  	req, out := c.DeleteLoggerDefinitionRequest(input)
  2188  	req.SetContext(ctx)
  2189  	req.ApplyOptions(opts...)
  2190  	return out, req.Send()
  2191  }
  2192  
  2193  const opDeleteResourceDefinition = "DeleteResourceDefinition"
  2194  
  2195  // DeleteResourceDefinitionRequest generates a "aws/request.Request" representing the
  2196  // client's request for the DeleteResourceDefinition operation. The "output" return
  2197  // value will be populated with the request's response once the request completes
  2198  // successfully.
  2199  //
  2200  // Use "Send" method on the returned Request to send the API call to the service.
  2201  // the "output" return value is not valid until after Send returns without error.
  2202  //
  2203  // See DeleteResourceDefinition for more information on using the DeleteResourceDefinition
  2204  // API call, and error handling.
  2205  //
  2206  // This method is useful when you want to inject custom logic or configuration
  2207  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2208  //
  2209  //
  2210  //    // Example sending a request using the DeleteResourceDefinitionRequest method.
  2211  //    req, resp := client.DeleteResourceDefinitionRequest(params)
  2212  //
  2213  //    err := req.Send()
  2214  //    if err == nil { // resp is now filled
  2215  //        fmt.Println(resp)
  2216  //    }
  2217  //
  2218  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteResourceDefinition
  2219  func (c *Greengrass) DeleteResourceDefinitionRequest(input *DeleteResourceDefinitionInput) (req *request.Request, output *DeleteResourceDefinitionOutput) {
  2220  	op := &request.Operation{
  2221  		Name:       opDeleteResourceDefinition,
  2222  		HTTPMethod: "DELETE",
  2223  		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}",
  2224  	}
  2225  
  2226  	if input == nil {
  2227  		input = &DeleteResourceDefinitionInput{}
  2228  	}
  2229  
  2230  	output = &DeleteResourceDefinitionOutput{}
  2231  	req = c.newRequest(op, input, output)
  2232  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2233  	return
  2234  }
  2235  
  2236  // DeleteResourceDefinition API operation for AWS Greengrass.
  2237  //
  2238  // Deletes a resource definition.
  2239  //
  2240  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2241  // with awserr.Error's Code and Message methods to get detailed information about
  2242  // the error.
  2243  //
  2244  // See the AWS API reference guide for AWS Greengrass's
  2245  // API operation DeleteResourceDefinition for usage and error information.
  2246  //
  2247  // Returned Error Types:
  2248  //   * BadRequestException
  2249  //   General error information.
  2250  //
  2251  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteResourceDefinition
  2252  func (c *Greengrass) DeleteResourceDefinition(input *DeleteResourceDefinitionInput) (*DeleteResourceDefinitionOutput, error) {
  2253  	req, out := c.DeleteResourceDefinitionRequest(input)
  2254  	return out, req.Send()
  2255  }
  2256  
  2257  // DeleteResourceDefinitionWithContext is the same as DeleteResourceDefinition with the addition of
  2258  // the ability to pass a context and additional request options.
  2259  //
  2260  // See DeleteResourceDefinition for details on how to use this API operation.
  2261  //
  2262  // The context must be non-nil and will be used for request cancellation. If
  2263  // the context is nil a panic will occur. In the future the SDK may create
  2264  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2265  // for more information on using Contexts.
  2266  func (c *Greengrass) DeleteResourceDefinitionWithContext(ctx aws.Context, input *DeleteResourceDefinitionInput, opts ...request.Option) (*DeleteResourceDefinitionOutput, error) {
  2267  	req, out := c.DeleteResourceDefinitionRequest(input)
  2268  	req.SetContext(ctx)
  2269  	req.ApplyOptions(opts...)
  2270  	return out, req.Send()
  2271  }
  2272  
  2273  const opDeleteSubscriptionDefinition = "DeleteSubscriptionDefinition"
  2274  
  2275  // DeleteSubscriptionDefinitionRequest generates a "aws/request.Request" representing the
  2276  // client's request for the DeleteSubscriptionDefinition operation. The "output" return
  2277  // value will be populated with the request's response once the request completes
  2278  // successfully.
  2279  //
  2280  // Use "Send" method on the returned Request to send the API call to the service.
  2281  // the "output" return value is not valid until after Send returns without error.
  2282  //
  2283  // See DeleteSubscriptionDefinition for more information on using the DeleteSubscriptionDefinition
  2284  // API call, and error handling.
  2285  //
  2286  // This method is useful when you want to inject custom logic or configuration
  2287  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2288  //
  2289  //
  2290  //    // Example sending a request using the DeleteSubscriptionDefinitionRequest method.
  2291  //    req, resp := client.DeleteSubscriptionDefinitionRequest(params)
  2292  //
  2293  //    err := req.Send()
  2294  //    if err == nil { // resp is now filled
  2295  //        fmt.Println(resp)
  2296  //    }
  2297  //
  2298  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteSubscriptionDefinition
  2299  func (c *Greengrass) DeleteSubscriptionDefinitionRequest(input *DeleteSubscriptionDefinitionInput) (req *request.Request, output *DeleteSubscriptionDefinitionOutput) {
  2300  	op := &request.Operation{
  2301  		Name:       opDeleteSubscriptionDefinition,
  2302  		HTTPMethod: "DELETE",
  2303  		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}",
  2304  	}
  2305  
  2306  	if input == nil {
  2307  		input = &DeleteSubscriptionDefinitionInput{}
  2308  	}
  2309  
  2310  	output = &DeleteSubscriptionDefinitionOutput{}
  2311  	req = c.newRequest(op, input, output)
  2312  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2313  	return
  2314  }
  2315  
  2316  // DeleteSubscriptionDefinition API operation for AWS Greengrass.
  2317  //
  2318  // Deletes a subscription definition.
  2319  //
  2320  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2321  // with awserr.Error's Code and Message methods to get detailed information about
  2322  // the error.
  2323  //
  2324  // See the AWS API reference guide for AWS Greengrass's
  2325  // API operation DeleteSubscriptionDefinition for usage and error information.
  2326  //
  2327  // Returned Error Types:
  2328  //   * BadRequestException
  2329  //   General error information.
  2330  //
  2331  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DeleteSubscriptionDefinition
  2332  func (c *Greengrass) DeleteSubscriptionDefinition(input *DeleteSubscriptionDefinitionInput) (*DeleteSubscriptionDefinitionOutput, error) {
  2333  	req, out := c.DeleteSubscriptionDefinitionRequest(input)
  2334  	return out, req.Send()
  2335  }
  2336  
  2337  // DeleteSubscriptionDefinitionWithContext is the same as DeleteSubscriptionDefinition with the addition of
  2338  // the ability to pass a context and additional request options.
  2339  //
  2340  // See DeleteSubscriptionDefinition for details on how to use this API operation.
  2341  //
  2342  // The context must be non-nil and will be used for request cancellation. If
  2343  // the context is nil a panic will occur. In the future the SDK may create
  2344  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2345  // for more information on using Contexts.
  2346  func (c *Greengrass) DeleteSubscriptionDefinitionWithContext(ctx aws.Context, input *DeleteSubscriptionDefinitionInput, opts ...request.Option) (*DeleteSubscriptionDefinitionOutput, error) {
  2347  	req, out := c.DeleteSubscriptionDefinitionRequest(input)
  2348  	req.SetContext(ctx)
  2349  	req.ApplyOptions(opts...)
  2350  	return out, req.Send()
  2351  }
  2352  
  2353  const opDisassociateRoleFromGroup = "DisassociateRoleFromGroup"
  2354  
  2355  // DisassociateRoleFromGroupRequest generates a "aws/request.Request" representing the
  2356  // client's request for the DisassociateRoleFromGroup operation. The "output" return
  2357  // value will be populated with the request's response once the request completes
  2358  // successfully.
  2359  //
  2360  // Use "Send" method on the returned Request to send the API call to the service.
  2361  // the "output" return value is not valid until after Send returns without error.
  2362  //
  2363  // See DisassociateRoleFromGroup for more information on using the DisassociateRoleFromGroup
  2364  // API call, and error handling.
  2365  //
  2366  // This method is useful when you want to inject custom logic or configuration
  2367  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2368  //
  2369  //
  2370  //    // Example sending a request using the DisassociateRoleFromGroupRequest method.
  2371  //    req, resp := client.DisassociateRoleFromGroupRequest(params)
  2372  //
  2373  //    err := req.Send()
  2374  //    if err == nil { // resp is now filled
  2375  //        fmt.Println(resp)
  2376  //    }
  2377  //
  2378  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DisassociateRoleFromGroup
  2379  func (c *Greengrass) DisassociateRoleFromGroupRequest(input *DisassociateRoleFromGroupInput) (req *request.Request, output *DisassociateRoleFromGroupOutput) {
  2380  	op := &request.Operation{
  2381  		Name:       opDisassociateRoleFromGroup,
  2382  		HTTPMethod: "DELETE",
  2383  		HTTPPath:   "/greengrass/groups/{GroupId}/role",
  2384  	}
  2385  
  2386  	if input == nil {
  2387  		input = &DisassociateRoleFromGroupInput{}
  2388  	}
  2389  
  2390  	output = &DisassociateRoleFromGroupOutput{}
  2391  	req = c.newRequest(op, input, output)
  2392  	return
  2393  }
  2394  
  2395  // DisassociateRoleFromGroup API operation for AWS Greengrass.
  2396  //
  2397  // Disassociates the role from a group.
  2398  //
  2399  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2400  // with awserr.Error's Code and Message methods to get detailed information about
  2401  // the error.
  2402  //
  2403  // See the AWS API reference guide for AWS Greengrass's
  2404  // API operation DisassociateRoleFromGroup for usage and error information.
  2405  //
  2406  // Returned Error Types:
  2407  //   * BadRequestException
  2408  //   General error information.
  2409  //
  2410  //   * InternalServerErrorException
  2411  //   General error information.
  2412  //
  2413  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DisassociateRoleFromGroup
  2414  func (c *Greengrass) DisassociateRoleFromGroup(input *DisassociateRoleFromGroupInput) (*DisassociateRoleFromGroupOutput, error) {
  2415  	req, out := c.DisassociateRoleFromGroupRequest(input)
  2416  	return out, req.Send()
  2417  }
  2418  
  2419  // DisassociateRoleFromGroupWithContext is the same as DisassociateRoleFromGroup with the addition of
  2420  // the ability to pass a context and additional request options.
  2421  //
  2422  // See DisassociateRoleFromGroup for details on how to use this API operation.
  2423  //
  2424  // The context must be non-nil and will be used for request cancellation. If
  2425  // the context is nil a panic will occur. In the future the SDK may create
  2426  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2427  // for more information on using Contexts.
  2428  func (c *Greengrass) DisassociateRoleFromGroupWithContext(ctx aws.Context, input *DisassociateRoleFromGroupInput, opts ...request.Option) (*DisassociateRoleFromGroupOutput, error) {
  2429  	req, out := c.DisassociateRoleFromGroupRequest(input)
  2430  	req.SetContext(ctx)
  2431  	req.ApplyOptions(opts...)
  2432  	return out, req.Send()
  2433  }
  2434  
  2435  const opDisassociateServiceRoleFromAccount = "DisassociateServiceRoleFromAccount"
  2436  
  2437  // DisassociateServiceRoleFromAccountRequest generates a "aws/request.Request" representing the
  2438  // client's request for the DisassociateServiceRoleFromAccount operation. The "output" return
  2439  // value will be populated with the request's response once the request completes
  2440  // successfully.
  2441  //
  2442  // Use "Send" method on the returned Request to send the API call to the service.
  2443  // the "output" return value is not valid until after Send returns without error.
  2444  //
  2445  // See DisassociateServiceRoleFromAccount for more information on using the DisassociateServiceRoleFromAccount
  2446  // API call, and error handling.
  2447  //
  2448  // This method is useful when you want to inject custom logic or configuration
  2449  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2450  //
  2451  //
  2452  //    // Example sending a request using the DisassociateServiceRoleFromAccountRequest method.
  2453  //    req, resp := client.DisassociateServiceRoleFromAccountRequest(params)
  2454  //
  2455  //    err := req.Send()
  2456  //    if err == nil { // resp is now filled
  2457  //        fmt.Println(resp)
  2458  //    }
  2459  //
  2460  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DisassociateServiceRoleFromAccount
  2461  func (c *Greengrass) DisassociateServiceRoleFromAccountRequest(input *DisassociateServiceRoleFromAccountInput) (req *request.Request, output *DisassociateServiceRoleFromAccountOutput) {
  2462  	op := &request.Operation{
  2463  		Name:       opDisassociateServiceRoleFromAccount,
  2464  		HTTPMethod: "DELETE",
  2465  		HTTPPath:   "/greengrass/servicerole",
  2466  	}
  2467  
  2468  	if input == nil {
  2469  		input = &DisassociateServiceRoleFromAccountInput{}
  2470  	}
  2471  
  2472  	output = &DisassociateServiceRoleFromAccountOutput{}
  2473  	req = c.newRequest(op, input, output)
  2474  	return
  2475  }
  2476  
  2477  // DisassociateServiceRoleFromAccount API operation for AWS Greengrass.
  2478  //
  2479  // Disassociates the service role from your account. Without a service role,
  2480  // deployments will not work.
  2481  //
  2482  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2483  // with awserr.Error's Code and Message methods to get detailed information about
  2484  // the error.
  2485  //
  2486  // See the AWS API reference guide for AWS Greengrass's
  2487  // API operation DisassociateServiceRoleFromAccount for usage and error information.
  2488  //
  2489  // Returned Error Types:
  2490  //   * InternalServerErrorException
  2491  //   General error information.
  2492  //
  2493  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/DisassociateServiceRoleFromAccount
  2494  func (c *Greengrass) DisassociateServiceRoleFromAccount(input *DisassociateServiceRoleFromAccountInput) (*DisassociateServiceRoleFromAccountOutput, error) {
  2495  	req, out := c.DisassociateServiceRoleFromAccountRequest(input)
  2496  	return out, req.Send()
  2497  }
  2498  
  2499  // DisassociateServiceRoleFromAccountWithContext is the same as DisassociateServiceRoleFromAccount with the addition of
  2500  // the ability to pass a context and additional request options.
  2501  //
  2502  // See DisassociateServiceRoleFromAccount for details on how to use this API operation.
  2503  //
  2504  // The context must be non-nil and will be used for request cancellation. If
  2505  // the context is nil a panic will occur. In the future the SDK may create
  2506  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2507  // for more information on using Contexts.
  2508  func (c *Greengrass) DisassociateServiceRoleFromAccountWithContext(ctx aws.Context, input *DisassociateServiceRoleFromAccountInput, opts ...request.Option) (*DisassociateServiceRoleFromAccountOutput, error) {
  2509  	req, out := c.DisassociateServiceRoleFromAccountRequest(input)
  2510  	req.SetContext(ctx)
  2511  	req.ApplyOptions(opts...)
  2512  	return out, req.Send()
  2513  }
  2514  
  2515  const opGetAssociatedRole = "GetAssociatedRole"
  2516  
  2517  // GetAssociatedRoleRequest generates a "aws/request.Request" representing the
  2518  // client's request for the GetAssociatedRole operation. The "output" return
  2519  // value will be populated with the request's response once the request completes
  2520  // successfully.
  2521  //
  2522  // Use "Send" method on the returned Request to send the API call to the service.
  2523  // the "output" return value is not valid until after Send returns without error.
  2524  //
  2525  // See GetAssociatedRole for more information on using the GetAssociatedRole
  2526  // API call, and error handling.
  2527  //
  2528  // This method is useful when you want to inject custom logic or configuration
  2529  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2530  //
  2531  //
  2532  //    // Example sending a request using the GetAssociatedRoleRequest method.
  2533  //    req, resp := client.GetAssociatedRoleRequest(params)
  2534  //
  2535  //    err := req.Send()
  2536  //    if err == nil { // resp is now filled
  2537  //        fmt.Println(resp)
  2538  //    }
  2539  //
  2540  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetAssociatedRole
  2541  func (c *Greengrass) GetAssociatedRoleRequest(input *GetAssociatedRoleInput) (req *request.Request, output *GetAssociatedRoleOutput) {
  2542  	op := &request.Operation{
  2543  		Name:       opGetAssociatedRole,
  2544  		HTTPMethod: "GET",
  2545  		HTTPPath:   "/greengrass/groups/{GroupId}/role",
  2546  	}
  2547  
  2548  	if input == nil {
  2549  		input = &GetAssociatedRoleInput{}
  2550  	}
  2551  
  2552  	output = &GetAssociatedRoleOutput{}
  2553  	req = c.newRequest(op, input, output)
  2554  	return
  2555  }
  2556  
  2557  // GetAssociatedRole API operation for AWS Greengrass.
  2558  //
  2559  // Retrieves the role associated with a particular group.
  2560  //
  2561  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2562  // with awserr.Error's Code and Message methods to get detailed information about
  2563  // the error.
  2564  //
  2565  // See the AWS API reference guide for AWS Greengrass's
  2566  // API operation GetAssociatedRole for usage and error information.
  2567  //
  2568  // Returned Error Types:
  2569  //   * BadRequestException
  2570  //   General error information.
  2571  //
  2572  //   * InternalServerErrorException
  2573  //   General error information.
  2574  //
  2575  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetAssociatedRole
  2576  func (c *Greengrass) GetAssociatedRole(input *GetAssociatedRoleInput) (*GetAssociatedRoleOutput, error) {
  2577  	req, out := c.GetAssociatedRoleRequest(input)
  2578  	return out, req.Send()
  2579  }
  2580  
  2581  // GetAssociatedRoleWithContext is the same as GetAssociatedRole with the addition of
  2582  // the ability to pass a context and additional request options.
  2583  //
  2584  // See GetAssociatedRole for details on how to use this API operation.
  2585  //
  2586  // The context must be non-nil and will be used for request cancellation. If
  2587  // the context is nil a panic will occur. In the future the SDK may create
  2588  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2589  // for more information on using Contexts.
  2590  func (c *Greengrass) GetAssociatedRoleWithContext(ctx aws.Context, input *GetAssociatedRoleInput, opts ...request.Option) (*GetAssociatedRoleOutput, error) {
  2591  	req, out := c.GetAssociatedRoleRequest(input)
  2592  	req.SetContext(ctx)
  2593  	req.ApplyOptions(opts...)
  2594  	return out, req.Send()
  2595  }
  2596  
  2597  const opGetBulkDeploymentStatus = "GetBulkDeploymentStatus"
  2598  
  2599  // GetBulkDeploymentStatusRequest generates a "aws/request.Request" representing the
  2600  // client's request for the GetBulkDeploymentStatus operation. The "output" return
  2601  // value will be populated with the request's response once the request completes
  2602  // successfully.
  2603  //
  2604  // Use "Send" method on the returned Request to send the API call to the service.
  2605  // the "output" return value is not valid until after Send returns without error.
  2606  //
  2607  // See GetBulkDeploymentStatus for more information on using the GetBulkDeploymentStatus
  2608  // API call, and error handling.
  2609  //
  2610  // This method is useful when you want to inject custom logic or configuration
  2611  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2612  //
  2613  //
  2614  //    // Example sending a request using the GetBulkDeploymentStatusRequest method.
  2615  //    req, resp := client.GetBulkDeploymentStatusRequest(params)
  2616  //
  2617  //    err := req.Send()
  2618  //    if err == nil { // resp is now filled
  2619  //        fmt.Println(resp)
  2620  //    }
  2621  //
  2622  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetBulkDeploymentStatus
  2623  func (c *Greengrass) GetBulkDeploymentStatusRequest(input *GetBulkDeploymentStatusInput) (req *request.Request, output *GetBulkDeploymentStatusOutput) {
  2624  	op := &request.Operation{
  2625  		Name:       opGetBulkDeploymentStatus,
  2626  		HTTPMethod: "GET",
  2627  		HTTPPath:   "/greengrass/bulk/deployments/{BulkDeploymentId}/status",
  2628  	}
  2629  
  2630  	if input == nil {
  2631  		input = &GetBulkDeploymentStatusInput{}
  2632  	}
  2633  
  2634  	output = &GetBulkDeploymentStatusOutput{}
  2635  	req = c.newRequest(op, input, output)
  2636  	return
  2637  }
  2638  
  2639  // GetBulkDeploymentStatus API operation for AWS Greengrass.
  2640  //
  2641  // Returns the status of a bulk deployment.
  2642  //
  2643  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2644  // with awserr.Error's Code and Message methods to get detailed information about
  2645  // the error.
  2646  //
  2647  // See the AWS API reference guide for AWS Greengrass's
  2648  // API operation GetBulkDeploymentStatus for usage and error information.
  2649  //
  2650  // Returned Error Types:
  2651  //   * BadRequestException
  2652  //   General error information.
  2653  //
  2654  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetBulkDeploymentStatus
  2655  func (c *Greengrass) GetBulkDeploymentStatus(input *GetBulkDeploymentStatusInput) (*GetBulkDeploymentStatusOutput, error) {
  2656  	req, out := c.GetBulkDeploymentStatusRequest(input)
  2657  	return out, req.Send()
  2658  }
  2659  
  2660  // GetBulkDeploymentStatusWithContext is the same as GetBulkDeploymentStatus with the addition of
  2661  // the ability to pass a context and additional request options.
  2662  //
  2663  // See GetBulkDeploymentStatus for details on how to use this API operation.
  2664  //
  2665  // The context must be non-nil and will be used for request cancellation. If
  2666  // the context is nil a panic will occur. In the future the SDK may create
  2667  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2668  // for more information on using Contexts.
  2669  func (c *Greengrass) GetBulkDeploymentStatusWithContext(ctx aws.Context, input *GetBulkDeploymentStatusInput, opts ...request.Option) (*GetBulkDeploymentStatusOutput, error) {
  2670  	req, out := c.GetBulkDeploymentStatusRequest(input)
  2671  	req.SetContext(ctx)
  2672  	req.ApplyOptions(opts...)
  2673  	return out, req.Send()
  2674  }
  2675  
  2676  const opGetConnectivityInfo = "GetConnectivityInfo"
  2677  
  2678  // GetConnectivityInfoRequest generates a "aws/request.Request" representing the
  2679  // client's request for the GetConnectivityInfo operation. The "output" return
  2680  // value will be populated with the request's response once the request completes
  2681  // successfully.
  2682  //
  2683  // Use "Send" method on the returned Request to send the API call to the service.
  2684  // the "output" return value is not valid until after Send returns without error.
  2685  //
  2686  // See GetConnectivityInfo for more information on using the GetConnectivityInfo
  2687  // API call, and error handling.
  2688  //
  2689  // This method is useful when you want to inject custom logic or configuration
  2690  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2691  //
  2692  //
  2693  //    // Example sending a request using the GetConnectivityInfoRequest method.
  2694  //    req, resp := client.GetConnectivityInfoRequest(params)
  2695  //
  2696  //    err := req.Send()
  2697  //    if err == nil { // resp is now filled
  2698  //        fmt.Println(resp)
  2699  //    }
  2700  //
  2701  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectivityInfo
  2702  func (c *Greengrass) GetConnectivityInfoRequest(input *GetConnectivityInfoInput) (req *request.Request, output *GetConnectivityInfoOutput) {
  2703  	op := &request.Operation{
  2704  		Name:       opGetConnectivityInfo,
  2705  		HTTPMethod: "GET",
  2706  		HTTPPath:   "/greengrass/things/{ThingName}/connectivityInfo",
  2707  	}
  2708  
  2709  	if input == nil {
  2710  		input = &GetConnectivityInfoInput{}
  2711  	}
  2712  
  2713  	output = &GetConnectivityInfoOutput{}
  2714  	req = c.newRequest(op, input, output)
  2715  	return
  2716  }
  2717  
  2718  // GetConnectivityInfo API operation for AWS Greengrass.
  2719  //
  2720  // Retrieves the connectivity information for a core.
  2721  //
  2722  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2723  // with awserr.Error's Code and Message methods to get detailed information about
  2724  // the error.
  2725  //
  2726  // See the AWS API reference guide for AWS Greengrass's
  2727  // API operation GetConnectivityInfo for usage and error information.
  2728  //
  2729  // Returned Error Types:
  2730  //   * BadRequestException
  2731  //   General error information.
  2732  //
  2733  //   * InternalServerErrorException
  2734  //   General error information.
  2735  //
  2736  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectivityInfo
  2737  func (c *Greengrass) GetConnectivityInfo(input *GetConnectivityInfoInput) (*GetConnectivityInfoOutput, error) {
  2738  	req, out := c.GetConnectivityInfoRequest(input)
  2739  	return out, req.Send()
  2740  }
  2741  
  2742  // GetConnectivityInfoWithContext is the same as GetConnectivityInfo with the addition of
  2743  // the ability to pass a context and additional request options.
  2744  //
  2745  // See GetConnectivityInfo for details on how to use this API operation.
  2746  //
  2747  // The context must be non-nil and will be used for request cancellation. If
  2748  // the context is nil a panic will occur. In the future the SDK may create
  2749  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2750  // for more information on using Contexts.
  2751  func (c *Greengrass) GetConnectivityInfoWithContext(ctx aws.Context, input *GetConnectivityInfoInput, opts ...request.Option) (*GetConnectivityInfoOutput, error) {
  2752  	req, out := c.GetConnectivityInfoRequest(input)
  2753  	req.SetContext(ctx)
  2754  	req.ApplyOptions(opts...)
  2755  	return out, req.Send()
  2756  }
  2757  
  2758  const opGetConnectorDefinition = "GetConnectorDefinition"
  2759  
  2760  // GetConnectorDefinitionRequest generates a "aws/request.Request" representing the
  2761  // client's request for the GetConnectorDefinition operation. The "output" return
  2762  // value will be populated with the request's response once the request completes
  2763  // successfully.
  2764  //
  2765  // Use "Send" method on the returned Request to send the API call to the service.
  2766  // the "output" return value is not valid until after Send returns without error.
  2767  //
  2768  // See GetConnectorDefinition for more information on using the GetConnectorDefinition
  2769  // API call, and error handling.
  2770  //
  2771  // This method is useful when you want to inject custom logic or configuration
  2772  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2773  //
  2774  //
  2775  //    // Example sending a request using the GetConnectorDefinitionRequest method.
  2776  //    req, resp := client.GetConnectorDefinitionRequest(params)
  2777  //
  2778  //    err := req.Send()
  2779  //    if err == nil { // resp is now filled
  2780  //        fmt.Println(resp)
  2781  //    }
  2782  //
  2783  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectorDefinition
  2784  func (c *Greengrass) GetConnectorDefinitionRequest(input *GetConnectorDefinitionInput) (req *request.Request, output *GetConnectorDefinitionOutput) {
  2785  	op := &request.Operation{
  2786  		Name:       opGetConnectorDefinition,
  2787  		HTTPMethod: "GET",
  2788  		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}",
  2789  	}
  2790  
  2791  	if input == nil {
  2792  		input = &GetConnectorDefinitionInput{}
  2793  	}
  2794  
  2795  	output = &GetConnectorDefinitionOutput{}
  2796  	req = c.newRequest(op, input, output)
  2797  	return
  2798  }
  2799  
  2800  // GetConnectorDefinition API operation for AWS Greengrass.
  2801  //
  2802  // Retrieves information about a connector definition.
  2803  //
  2804  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2805  // with awserr.Error's Code and Message methods to get detailed information about
  2806  // the error.
  2807  //
  2808  // See the AWS API reference guide for AWS Greengrass's
  2809  // API operation GetConnectorDefinition for usage and error information.
  2810  //
  2811  // Returned Error Types:
  2812  //   * BadRequestException
  2813  //   General error information.
  2814  //
  2815  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectorDefinition
  2816  func (c *Greengrass) GetConnectorDefinition(input *GetConnectorDefinitionInput) (*GetConnectorDefinitionOutput, error) {
  2817  	req, out := c.GetConnectorDefinitionRequest(input)
  2818  	return out, req.Send()
  2819  }
  2820  
  2821  // GetConnectorDefinitionWithContext is the same as GetConnectorDefinition with the addition of
  2822  // the ability to pass a context and additional request options.
  2823  //
  2824  // See GetConnectorDefinition for details on how to use this API operation.
  2825  //
  2826  // The context must be non-nil and will be used for request cancellation. If
  2827  // the context is nil a panic will occur. In the future the SDK may create
  2828  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2829  // for more information on using Contexts.
  2830  func (c *Greengrass) GetConnectorDefinitionWithContext(ctx aws.Context, input *GetConnectorDefinitionInput, opts ...request.Option) (*GetConnectorDefinitionOutput, error) {
  2831  	req, out := c.GetConnectorDefinitionRequest(input)
  2832  	req.SetContext(ctx)
  2833  	req.ApplyOptions(opts...)
  2834  	return out, req.Send()
  2835  }
  2836  
  2837  const opGetConnectorDefinitionVersion = "GetConnectorDefinitionVersion"
  2838  
  2839  // GetConnectorDefinitionVersionRequest generates a "aws/request.Request" representing the
  2840  // client's request for the GetConnectorDefinitionVersion operation. The "output" return
  2841  // value will be populated with the request's response once the request completes
  2842  // successfully.
  2843  //
  2844  // Use "Send" method on the returned Request to send the API call to the service.
  2845  // the "output" return value is not valid until after Send returns without error.
  2846  //
  2847  // See GetConnectorDefinitionVersion for more information on using the GetConnectorDefinitionVersion
  2848  // API call, and error handling.
  2849  //
  2850  // This method is useful when you want to inject custom logic or configuration
  2851  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2852  //
  2853  //
  2854  //    // Example sending a request using the GetConnectorDefinitionVersionRequest method.
  2855  //    req, resp := client.GetConnectorDefinitionVersionRequest(params)
  2856  //
  2857  //    err := req.Send()
  2858  //    if err == nil { // resp is now filled
  2859  //        fmt.Println(resp)
  2860  //    }
  2861  //
  2862  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectorDefinitionVersion
  2863  func (c *Greengrass) GetConnectorDefinitionVersionRequest(input *GetConnectorDefinitionVersionInput) (req *request.Request, output *GetConnectorDefinitionVersionOutput) {
  2864  	op := &request.Operation{
  2865  		Name:       opGetConnectorDefinitionVersion,
  2866  		HTTPMethod: "GET",
  2867  		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions/{ConnectorDefinitionVersionId}",
  2868  	}
  2869  
  2870  	if input == nil {
  2871  		input = &GetConnectorDefinitionVersionInput{}
  2872  	}
  2873  
  2874  	output = &GetConnectorDefinitionVersionOutput{}
  2875  	req = c.newRequest(op, input, output)
  2876  	return
  2877  }
  2878  
  2879  // GetConnectorDefinitionVersion API operation for AWS Greengrass.
  2880  //
  2881  // Retrieves information about a connector definition version, including the
  2882  // connectors that the version contains. Connectors are prebuilt modules that
  2883  // interact with local infrastructure, device protocols, AWS, and other cloud
  2884  // services.
  2885  //
  2886  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2887  // with awserr.Error's Code and Message methods to get detailed information about
  2888  // the error.
  2889  //
  2890  // See the AWS API reference guide for AWS Greengrass's
  2891  // API operation GetConnectorDefinitionVersion for usage and error information.
  2892  //
  2893  // Returned Error Types:
  2894  //   * BadRequestException
  2895  //   General error information.
  2896  //
  2897  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetConnectorDefinitionVersion
  2898  func (c *Greengrass) GetConnectorDefinitionVersion(input *GetConnectorDefinitionVersionInput) (*GetConnectorDefinitionVersionOutput, error) {
  2899  	req, out := c.GetConnectorDefinitionVersionRequest(input)
  2900  	return out, req.Send()
  2901  }
  2902  
  2903  // GetConnectorDefinitionVersionWithContext is the same as GetConnectorDefinitionVersion with the addition of
  2904  // the ability to pass a context and additional request options.
  2905  //
  2906  // See GetConnectorDefinitionVersion for details on how to use this API operation.
  2907  //
  2908  // The context must be non-nil and will be used for request cancellation. If
  2909  // the context is nil a panic will occur. In the future the SDK may create
  2910  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2911  // for more information on using Contexts.
  2912  func (c *Greengrass) GetConnectorDefinitionVersionWithContext(ctx aws.Context, input *GetConnectorDefinitionVersionInput, opts ...request.Option) (*GetConnectorDefinitionVersionOutput, error) {
  2913  	req, out := c.GetConnectorDefinitionVersionRequest(input)
  2914  	req.SetContext(ctx)
  2915  	req.ApplyOptions(opts...)
  2916  	return out, req.Send()
  2917  }
  2918  
  2919  const opGetCoreDefinition = "GetCoreDefinition"
  2920  
  2921  // GetCoreDefinitionRequest generates a "aws/request.Request" representing the
  2922  // client's request for the GetCoreDefinition operation. The "output" return
  2923  // value will be populated with the request's response once the request completes
  2924  // successfully.
  2925  //
  2926  // Use "Send" method on the returned Request to send the API call to the service.
  2927  // the "output" return value is not valid until after Send returns without error.
  2928  //
  2929  // See GetCoreDefinition for more information on using the GetCoreDefinition
  2930  // API call, and error handling.
  2931  //
  2932  // This method is useful when you want to inject custom logic or configuration
  2933  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2934  //
  2935  //
  2936  //    // Example sending a request using the GetCoreDefinitionRequest method.
  2937  //    req, resp := client.GetCoreDefinitionRequest(params)
  2938  //
  2939  //    err := req.Send()
  2940  //    if err == nil { // resp is now filled
  2941  //        fmt.Println(resp)
  2942  //    }
  2943  //
  2944  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetCoreDefinition
  2945  func (c *Greengrass) GetCoreDefinitionRequest(input *GetCoreDefinitionInput) (req *request.Request, output *GetCoreDefinitionOutput) {
  2946  	op := &request.Operation{
  2947  		Name:       opGetCoreDefinition,
  2948  		HTTPMethod: "GET",
  2949  		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}",
  2950  	}
  2951  
  2952  	if input == nil {
  2953  		input = &GetCoreDefinitionInput{}
  2954  	}
  2955  
  2956  	output = &GetCoreDefinitionOutput{}
  2957  	req = c.newRequest(op, input, output)
  2958  	return
  2959  }
  2960  
  2961  // GetCoreDefinition API operation for AWS Greengrass.
  2962  //
  2963  // Retrieves information about a core definition version.
  2964  //
  2965  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2966  // with awserr.Error's Code and Message methods to get detailed information about
  2967  // the error.
  2968  //
  2969  // See the AWS API reference guide for AWS Greengrass's
  2970  // API operation GetCoreDefinition for usage and error information.
  2971  //
  2972  // Returned Error Types:
  2973  //   * BadRequestException
  2974  //   General error information.
  2975  //
  2976  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetCoreDefinition
  2977  func (c *Greengrass) GetCoreDefinition(input *GetCoreDefinitionInput) (*GetCoreDefinitionOutput, error) {
  2978  	req, out := c.GetCoreDefinitionRequest(input)
  2979  	return out, req.Send()
  2980  }
  2981  
  2982  // GetCoreDefinitionWithContext is the same as GetCoreDefinition with the addition of
  2983  // the ability to pass a context and additional request options.
  2984  //
  2985  // See GetCoreDefinition for details on how to use this API operation.
  2986  //
  2987  // The context must be non-nil and will be used for request cancellation. If
  2988  // the context is nil a panic will occur. In the future the SDK may create
  2989  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2990  // for more information on using Contexts.
  2991  func (c *Greengrass) GetCoreDefinitionWithContext(ctx aws.Context, input *GetCoreDefinitionInput, opts ...request.Option) (*GetCoreDefinitionOutput, error) {
  2992  	req, out := c.GetCoreDefinitionRequest(input)
  2993  	req.SetContext(ctx)
  2994  	req.ApplyOptions(opts...)
  2995  	return out, req.Send()
  2996  }
  2997  
  2998  const opGetCoreDefinitionVersion = "GetCoreDefinitionVersion"
  2999  
  3000  // GetCoreDefinitionVersionRequest generates a "aws/request.Request" representing the
  3001  // client's request for the GetCoreDefinitionVersion operation. The "output" return
  3002  // value will be populated with the request's response once the request completes
  3003  // successfully.
  3004  //
  3005  // Use "Send" method on the returned Request to send the API call to the service.
  3006  // the "output" return value is not valid until after Send returns without error.
  3007  //
  3008  // See GetCoreDefinitionVersion for more information on using the GetCoreDefinitionVersion
  3009  // API call, and error handling.
  3010  //
  3011  // This method is useful when you want to inject custom logic or configuration
  3012  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3013  //
  3014  //
  3015  //    // Example sending a request using the GetCoreDefinitionVersionRequest method.
  3016  //    req, resp := client.GetCoreDefinitionVersionRequest(params)
  3017  //
  3018  //    err := req.Send()
  3019  //    if err == nil { // resp is now filled
  3020  //        fmt.Println(resp)
  3021  //    }
  3022  //
  3023  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetCoreDefinitionVersion
  3024  func (c *Greengrass) GetCoreDefinitionVersionRequest(input *GetCoreDefinitionVersionInput) (req *request.Request, output *GetCoreDefinitionVersionOutput) {
  3025  	op := &request.Operation{
  3026  		Name:       opGetCoreDefinitionVersion,
  3027  		HTTPMethod: "GET",
  3028  		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}/versions/{CoreDefinitionVersionId}",
  3029  	}
  3030  
  3031  	if input == nil {
  3032  		input = &GetCoreDefinitionVersionInput{}
  3033  	}
  3034  
  3035  	output = &GetCoreDefinitionVersionOutput{}
  3036  	req = c.newRequest(op, input, output)
  3037  	return
  3038  }
  3039  
  3040  // GetCoreDefinitionVersion API operation for AWS Greengrass.
  3041  //
  3042  // Retrieves information about a core definition version.
  3043  //
  3044  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3045  // with awserr.Error's Code and Message methods to get detailed information about
  3046  // the error.
  3047  //
  3048  // See the AWS API reference guide for AWS Greengrass's
  3049  // API operation GetCoreDefinitionVersion for usage and error information.
  3050  //
  3051  // Returned Error Types:
  3052  //   * BadRequestException
  3053  //   General error information.
  3054  //
  3055  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetCoreDefinitionVersion
  3056  func (c *Greengrass) GetCoreDefinitionVersion(input *GetCoreDefinitionVersionInput) (*GetCoreDefinitionVersionOutput, error) {
  3057  	req, out := c.GetCoreDefinitionVersionRequest(input)
  3058  	return out, req.Send()
  3059  }
  3060  
  3061  // GetCoreDefinitionVersionWithContext is the same as GetCoreDefinitionVersion with the addition of
  3062  // the ability to pass a context and additional request options.
  3063  //
  3064  // See GetCoreDefinitionVersion for details on how to use this API operation.
  3065  //
  3066  // The context must be non-nil and will be used for request cancellation. If
  3067  // the context is nil a panic will occur. In the future the SDK may create
  3068  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3069  // for more information on using Contexts.
  3070  func (c *Greengrass) GetCoreDefinitionVersionWithContext(ctx aws.Context, input *GetCoreDefinitionVersionInput, opts ...request.Option) (*GetCoreDefinitionVersionOutput, error) {
  3071  	req, out := c.GetCoreDefinitionVersionRequest(input)
  3072  	req.SetContext(ctx)
  3073  	req.ApplyOptions(opts...)
  3074  	return out, req.Send()
  3075  }
  3076  
  3077  const opGetDeploymentStatus = "GetDeploymentStatus"
  3078  
  3079  // GetDeploymentStatusRequest generates a "aws/request.Request" representing the
  3080  // client's request for the GetDeploymentStatus operation. The "output" return
  3081  // value will be populated with the request's response once the request completes
  3082  // successfully.
  3083  //
  3084  // Use "Send" method on the returned Request to send the API call to the service.
  3085  // the "output" return value is not valid until after Send returns without error.
  3086  //
  3087  // See GetDeploymentStatus for more information on using the GetDeploymentStatus
  3088  // API call, and error handling.
  3089  //
  3090  // This method is useful when you want to inject custom logic or configuration
  3091  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3092  //
  3093  //
  3094  //    // Example sending a request using the GetDeploymentStatusRequest method.
  3095  //    req, resp := client.GetDeploymentStatusRequest(params)
  3096  //
  3097  //    err := req.Send()
  3098  //    if err == nil { // resp is now filled
  3099  //        fmt.Println(resp)
  3100  //    }
  3101  //
  3102  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeploymentStatus
  3103  func (c *Greengrass) GetDeploymentStatusRequest(input *GetDeploymentStatusInput) (req *request.Request, output *GetDeploymentStatusOutput) {
  3104  	op := &request.Operation{
  3105  		Name:       opGetDeploymentStatus,
  3106  		HTTPMethod: "GET",
  3107  		HTTPPath:   "/greengrass/groups/{GroupId}/deployments/{DeploymentId}/status",
  3108  	}
  3109  
  3110  	if input == nil {
  3111  		input = &GetDeploymentStatusInput{}
  3112  	}
  3113  
  3114  	output = &GetDeploymentStatusOutput{}
  3115  	req = c.newRequest(op, input, output)
  3116  	return
  3117  }
  3118  
  3119  // GetDeploymentStatus API operation for AWS Greengrass.
  3120  //
  3121  // Returns the status of a deployment.
  3122  //
  3123  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3124  // with awserr.Error's Code and Message methods to get detailed information about
  3125  // the error.
  3126  //
  3127  // See the AWS API reference guide for AWS Greengrass's
  3128  // API operation GetDeploymentStatus for usage and error information.
  3129  //
  3130  // Returned Error Types:
  3131  //   * BadRequestException
  3132  //   General error information.
  3133  //
  3134  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeploymentStatus
  3135  func (c *Greengrass) GetDeploymentStatus(input *GetDeploymentStatusInput) (*GetDeploymentStatusOutput, error) {
  3136  	req, out := c.GetDeploymentStatusRequest(input)
  3137  	return out, req.Send()
  3138  }
  3139  
  3140  // GetDeploymentStatusWithContext is the same as GetDeploymentStatus with the addition of
  3141  // the ability to pass a context and additional request options.
  3142  //
  3143  // See GetDeploymentStatus for details on how to use this API operation.
  3144  //
  3145  // The context must be non-nil and will be used for request cancellation. If
  3146  // the context is nil a panic will occur. In the future the SDK may create
  3147  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3148  // for more information on using Contexts.
  3149  func (c *Greengrass) GetDeploymentStatusWithContext(ctx aws.Context, input *GetDeploymentStatusInput, opts ...request.Option) (*GetDeploymentStatusOutput, error) {
  3150  	req, out := c.GetDeploymentStatusRequest(input)
  3151  	req.SetContext(ctx)
  3152  	req.ApplyOptions(opts...)
  3153  	return out, req.Send()
  3154  }
  3155  
  3156  const opGetDeviceDefinition = "GetDeviceDefinition"
  3157  
  3158  // GetDeviceDefinitionRequest generates a "aws/request.Request" representing the
  3159  // client's request for the GetDeviceDefinition operation. The "output" return
  3160  // value will be populated with the request's response once the request completes
  3161  // successfully.
  3162  //
  3163  // Use "Send" method on the returned Request to send the API call to the service.
  3164  // the "output" return value is not valid until after Send returns without error.
  3165  //
  3166  // See GetDeviceDefinition for more information on using the GetDeviceDefinition
  3167  // API call, and error handling.
  3168  //
  3169  // This method is useful when you want to inject custom logic or configuration
  3170  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3171  //
  3172  //
  3173  //    // Example sending a request using the GetDeviceDefinitionRequest method.
  3174  //    req, resp := client.GetDeviceDefinitionRequest(params)
  3175  //
  3176  //    err := req.Send()
  3177  //    if err == nil { // resp is now filled
  3178  //        fmt.Println(resp)
  3179  //    }
  3180  //
  3181  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeviceDefinition
  3182  func (c *Greengrass) GetDeviceDefinitionRequest(input *GetDeviceDefinitionInput) (req *request.Request, output *GetDeviceDefinitionOutput) {
  3183  	op := &request.Operation{
  3184  		Name:       opGetDeviceDefinition,
  3185  		HTTPMethod: "GET",
  3186  		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}",
  3187  	}
  3188  
  3189  	if input == nil {
  3190  		input = &GetDeviceDefinitionInput{}
  3191  	}
  3192  
  3193  	output = &GetDeviceDefinitionOutput{}
  3194  	req = c.newRequest(op, input, output)
  3195  	return
  3196  }
  3197  
  3198  // GetDeviceDefinition API operation for AWS Greengrass.
  3199  //
  3200  // Retrieves information about a device definition.
  3201  //
  3202  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3203  // with awserr.Error's Code and Message methods to get detailed information about
  3204  // the error.
  3205  //
  3206  // See the AWS API reference guide for AWS Greengrass's
  3207  // API operation GetDeviceDefinition for usage and error information.
  3208  //
  3209  // Returned Error Types:
  3210  //   * BadRequestException
  3211  //   General error information.
  3212  //
  3213  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeviceDefinition
  3214  func (c *Greengrass) GetDeviceDefinition(input *GetDeviceDefinitionInput) (*GetDeviceDefinitionOutput, error) {
  3215  	req, out := c.GetDeviceDefinitionRequest(input)
  3216  	return out, req.Send()
  3217  }
  3218  
  3219  // GetDeviceDefinitionWithContext is the same as GetDeviceDefinition with the addition of
  3220  // the ability to pass a context and additional request options.
  3221  //
  3222  // See GetDeviceDefinition for details on how to use this API operation.
  3223  //
  3224  // The context must be non-nil and will be used for request cancellation. If
  3225  // the context is nil a panic will occur. In the future the SDK may create
  3226  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3227  // for more information on using Contexts.
  3228  func (c *Greengrass) GetDeviceDefinitionWithContext(ctx aws.Context, input *GetDeviceDefinitionInput, opts ...request.Option) (*GetDeviceDefinitionOutput, error) {
  3229  	req, out := c.GetDeviceDefinitionRequest(input)
  3230  	req.SetContext(ctx)
  3231  	req.ApplyOptions(opts...)
  3232  	return out, req.Send()
  3233  }
  3234  
  3235  const opGetDeviceDefinitionVersion = "GetDeviceDefinitionVersion"
  3236  
  3237  // GetDeviceDefinitionVersionRequest generates a "aws/request.Request" representing the
  3238  // client's request for the GetDeviceDefinitionVersion operation. The "output" return
  3239  // value will be populated with the request's response once the request completes
  3240  // successfully.
  3241  //
  3242  // Use "Send" method on the returned Request to send the API call to the service.
  3243  // the "output" return value is not valid until after Send returns without error.
  3244  //
  3245  // See GetDeviceDefinitionVersion for more information on using the GetDeviceDefinitionVersion
  3246  // API call, and error handling.
  3247  //
  3248  // This method is useful when you want to inject custom logic or configuration
  3249  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3250  //
  3251  //
  3252  //    // Example sending a request using the GetDeviceDefinitionVersionRequest method.
  3253  //    req, resp := client.GetDeviceDefinitionVersionRequest(params)
  3254  //
  3255  //    err := req.Send()
  3256  //    if err == nil { // resp is now filled
  3257  //        fmt.Println(resp)
  3258  //    }
  3259  //
  3260  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeviceDefinitionVersion
  3261  func (c *Greengrass) GetDeviceDefinitionVersionRequest(input *GetDeviceDefinitionVersionInput) (req *request.Request, output *GetDeviceDefinitionVersionOutput) {
  3262  	op := &request.Operation{
  3263  		Name:       opGetDeviceDefinitionVersion,
  3264  		HTTPMethod: "GET",
  3265  		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}/versions/{DeviceDefinitionVersionId}",
  3266  	}
  3267  
  3268  	if input == nil {
  3269  		input = &GetDeviceDefinitionVersionInput{}
  3270  	}
  3271  
  3272  	output = &GetDeviceDefinitionVersionOutput{}
  3273  	req = c.newRequest(op, input, output)
  3274  	return
  3275  }
  3276  
  3277  // GetDeviceDefinitionVersion API operation for AWS Greengrass.
  3278  //
  3279  // Retrieves information about a device definition version.
  3280  //
  3281  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3282  // with awserr.Error's Code and Message methods to get detailed information about
  3283  // the error.
  3284  //
  3285  // See the AWS API reference guide for AWS Greengrass's
  3286  // API operation GetDeviceDefinitionVersion for usage and error information.
  3287  //
  3288  // Returned Error Types:
  3289  //   * BadRequestException
  3290  //   General error information.
  3291  //
  3292  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetDeviceDefinitionVersion
  3293  func (c *Greengrass) GetDeviceDefinitionVersion(input *GetDeviceDefinitionVersionInput) (*GetDeviceDefinitionVersionOutput, error) {
  3294  	req, out := c.GetDeviceDefinitionVersionRequest(input)
  3295  	return out, req.Send()
  3296  }
  3297  
  3298  // GetDeviceDefinitionVersionWithContext is the same as GetDeviceDefinitionVersion with the addition of
  3299  // the ability to pass a context and additional request options.
  3300  //
  3301  // See GetDeviceDefinitionVersion for details on how to use this API operation.
  3302  //
  3303  // The context must be non-nil and will be used for request cancellation. If
  3304  // the context is nil a panic will occur. In the future the SDK may create
  3305  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3306  // for more information on using Contexts.
  3307  func (c *Greengrass) GetDeviceDefinitionVersionWithContext(ctx aws.Context, input *GetDeviceDefinitionVersionInput, opts ...request.Option) (*GetDeviceDefinitionVersionOutput, error) {
  3308  	req, out := c.GetDeviceDefinitionVersionRequest(input)
  3309  	req.SetContext(ctx)
  3310  	req.ApplyOptions(opts...)
  3311  	return out, req.Send()
  3312  }
  3313  
  3314  const opGetFunctionDefinition = "GetFunctionDefinition"
  3315  
  3316  // GetFunctionDefinitionRequest generates a "aws/request.Request" representing the
  3317  // client's request for the GetFunctionDefinition operation. The "output" return
  3318  // value will be populated with the request's response once the request completes
  3319  // successfully.
  3320  //
  3321  // Use "Send" method on the returned Request to send the API call to the service.
  3322  // the "output" return value is not valid until after Send returns without error.
  3323  //
  3324  // See GetFunctionDefinition for more information on using the GetFunctionDefinition
  3325  // API call, and error handling.
  3326  //
  3327  // This method is useful when you want to inject custom logic or configuration
  3328  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3329  //
  3330  //
  3331  //    // Example sending a request using the GetFunctionDefinitionRequest method.
  3332  //    req, resp := client.GetFunctionDefinitionRequest(params)
  3333  //
  3334  //    err := req.Send()
  3335  //    if err == nil { // resp is now filled
  3336  //        fmt.Println(resp)
  3337  //    }
  3338  //
  3339  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetFunctionDefinition
  3340  func (c *Greengrass) GetFunctionDefinitionRequest(input *GetFunctionDefinitionInput) (req *request.Request, output *GetFunctionDefinitionOutput) {
  3341  	op := &request.Operation{
  3342  		Name:       opGetFunctionDefinition,
  3343  		HTTPMethod: "GET",
  3344  		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}",
  3345  	}
  3346  
  3347  	if input == nil {
  3348  		input = &GetFunctionDefinitionInput{}
  3349  	}
  3350  
  3351  	output = &GetFunctionDefinitionOutput{}
  3352  	req = c.newRequest(op, input, output)
  3353  	return
  3354  }
  3355  
  3356  // GetFunctionDefinition API operation for AWS Greengrass.
  3357  //
  3358  // Retrieves information about a Lambda function definition, including its creation
  3359  // time and latest version.
  3360  //
  3361  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3362  // with awserr.Error's Code and Message methods to get detailed information about
  3363  // the error.
  3364  //
  3365  // See the AWS API reference guide for AWS Greengrass's
  3366  // API operation GetFunctionDefinition for usage and error information.
  3367  //
  3368  // Returned Error Types:
  3369  //   * BadRequestException
  3370  //   General error information.
  3371  //
  3372  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetFunctionDefinition
  3373  func (c *Greengrass) GetFunctionDefinition(input *GetFunctionDefinitionInput) (*GetFunctionDefinitionOutput, error) {
  3374  	req, out := c.GetFunctionDefinitionRequest(input)
  3375  	return out, req.Send()
  3376  }
  3377  
  3378  // GetFunctionDefinitionWithContext is the same as GetFunctionDefinition with the addition of
  3379  // the ability to pass a context and additional request options.
  3380  //
  3381  // See GetFunctionDefinition for details on how to use this API operation.
  3382  //
  3383  // The context must be non-nil and will be used for request cancellation. If
  3384  // the context is nil a panic will occur. In the future the SDK may create
  3385  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3386  // for more information on using Contexts.
  3387  func (c *Greengrass) GetFunctionDefinitionWithContext(ctx aws.Context, input *GetFunctionDefinitionInput, opts ...request.Option) (*GetFunctionDefinitionOutput, error) {
  3388  	req, out := c.GetFunctionDefinitionRequest(input)
  3389  	req.SetContext(ctx)
  3390  	req.ApplyOptions(opts...)
  3391  	return out, req.Send()
  3392  }
  3393  
  3394  const opGetFunctionDefinitionVersion = "GetFunctionDefinitionVersion"
  3395  
  3396  // GetFunctionDefinitionVersionRequest generates a "aws/request.Request" representing the
  3397  // client's request for the GetFunctionDefinitionVersion operation. The "output" return
  3398  // value will be populated with the request's response once the request completes
  3399  // successfully.
  3400  //
  3401  // Use "Send" method on the returned Request to send the API call to the service.
  3402  // the "output" return value is not valid until after Send returns without error.
  3403  //
  3404  // See GetFunctionDefinitionVersion for more information on using the GetFunctionDefinitionVersion
  3405  // API call, and error handling.
  3406  //
  3407  // This method is useful when you want to inject custom logic or configuration
  3408  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3409  //
  3410  //
  3411  //    // Example sending a request using the GetFunctionDefinitionVersionRequest method.
  3412  //    req, resp := client.GetFunctionDefinitionVersionRequest(params)
  3413  //
  3414  //    err := req.Send()
  3415  //    if err == nil { // resp is now filled
  3416  //        fmt.Println(resp)
  3417  //    }
  3418  //
  3419  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetFunctionDefinitionVersion
  3420  func (c *Greengrass) GetFunctionDefinitionVersionRequest(input *GetFunctionDefinitionVersionInput) (req *request.Request, output *GetFunctionDefinitionVersionOutput) {
  3421  	op := &request.Operation{
  3422  		Name:       opGetFunctionDefinitionVersion,
  3423  		HTTPMethod: "GET",
  3424  		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}/versions/{FunctionDefinitionVersionId}",
  3425  	}
  3426  
  3427  	if input == nil {
  3428  		input = &GetFunctionDefinitionVersionInput{}
  3429  	}
  3430  
  3431  	output = &GetFunctionDefinitionVersionOutput{}
  3432  	req = c.newRequest(op, input, output)
  3433  	return
  3434  }
  3435  
  3436  // GetFunctionDefinitionVersion API operation for AWS Greengrass.
  3437  //
  3438  // Retrieves information about a Lambda function definition version, including
  3439  // which Lambda functions are included in the version and their configurations.
  3440  //
  3441  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3442  // with awserr.Error's Code and Message methods to get detailed information about
  3443  // the error.
  3444  //
  3445  // See the AWS API reference guide for AWS Greengrass's
  3446  // API operation GetFunctionDefinitionVersion for usage and error information.
  3447  //
  3448  // Returned Error Types:
  3449  //   * BadRequestException
  3450  //   General error information.
  3451  //
  3452  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetFunctionDefinitionVersion
  3453  func (c *Greengrass) GetFunctionDefinitionVersion(input *GetFunctionDefinitionVersionInput) (*GetFunctionDefinitionVersionOutput, error) {
  3454  	req, out := c.GetFunctionDefinitionVersionRequest(input)
  3455  	return out, req.Send()
  3456  }
  3457  
  3458  // GetFunctionDefinitionVersionWithContext is the same as GetFunctionDefinitionVersion with the addition of
  3459  // the ability to pass a context and additional request options.
  3460  //
  3461  // See GetFunctionDefinitionVersion 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 *Greengrass) GetFunctionDefinitionVersionWithContext(ctx aws.Context, input *GetFunctionDefinitionVersionInput, opts ...request.Option) (*GetFunctionDefinitionVersionOutput, error) {
  3468  	req, out := c.GetFunctionDefinitionVersionRequest(input)
  3469  	req.SetContext(ctx)
  3470  	req.ApplyOptions(opts...)
  3471  	return out, req.Send()
  3472  }
  3473  
  3474  const opGetGroup = "GetGroup"
  3475  
  3476  // GetGroupRequest generates a "aws/request.Request" representing the
  3477  // client's request for the GetGroup 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 GetGroup for more information on using the GetGroup
  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 GetGroupRequest method.
  3492  //    req, resp := client.GetGroupRequest(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/greengrass-2017-06-07/GetGroup
  3500  func (c *Greengrass) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) {
  3501  	op := &request.Operation{
  3502  		Name:       opGetGroup,
  3503  		HTTPMethod: "GET",
  3504  		HTTPPath:   "/greengrass/groups/{GroupId}",
  3505  	}
  3506  
  3507  	if input == nil {
  3508  		input = &GetGroupInput{}
  3509  	}
  3510  
  3511  	output = &GetGroupOutput{}
  3512  	req = c.newRequest(op, input, output)
  3513  	return
  3514  }
  3515  
  3516  // GetGroup API operation for AWS Greengrass.
  3517  //
  3518  // Retrieves information about a group.
  3519  //
  3520  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3521  // with awserr.Error's Code and Message methods to get detailed information about
  3522  // the error.
  3523  //
  3524  // See the AWS API reference guide for AWS Greengrass's
  3525  // API operation GetGroup for usage and error information.
  3526  //
  3527  // Returned Error Types:
  3528  //   * BadRequestException
  3529  //   General error information.
  3530  //
  3531  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroup
  3532  func (c *Greengrass) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) {
  3533  	req, out := c.GetGroupRequest(input)
  3534  	return out, req.Send()
  3535  }
  3536  
  3537  // GetGroupWithContext is the same as GetGroup with the addition of
  3538  // the ability to pass a context and additional request options.
  3539  //
  3540  // See GetGroup for details on how to use this API operation.
  3541  //
  3542  // The context must be non-nil and will be used for request cancellation. If
  3543  // the context is nil a panic will occur. In the future the SDK may create
  3544  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3545  // for more information on using Contexts.
  3546  func (c *Greengrass) GetGroupWithContext(ctx aws.Context, input *GetGroupInput, opts ...request.Option) (*GetGroupOutput, error) {
  3547  	req, out := c.GetGroupRequest(input)
  3548  	req.SetContext(ctx)
  3549  	req.ApplyOptions(opts...)
  3550  	return out, req.Send()
  3551  }
  3552  
  3553  const opGetGroupCertificateAuthority = "GetGroupCertificateAuthority"
  3554  
  3555  // GetGroupCertificateAuthorityRequest generates a "aws/request.Request" representing the
  3556  // client's request for the GetGroupCertificateAuthority operation. The "output" return
  3557  // value will be populated with the request's response once the request completes
  3558  // successfully.
  3559  //
  3560  // Use "Send" method on the returned Request to send the API call to the service.
  3561  // the "output" return value is not valid until after Send returns without error.
  3562  //
  3563  // See GetGroupCertificateAuthority for more information on using the GetGroupCertificateAuthority
  3564  // API call, and error handling.
  3565  //
  3566  // This method is useful when you want to inject custom logic or configuration
  3567  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3568  //
  3569  //
  3570  //    // Example sending a request using the GetGroupCertificateAuthorityRequest method.
  3571  //    req, resp := client.GetGroupCertificateAuthorityRequest(params)
  3572  //
  3573  //    err := req.Send()
  3574  //    if err == nil { // resp is now filled
  3575  //        fmt.Println(resp)
  3576  //    }
  3577  //
  3578  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupCertificateAuthority
  3579  func (c *Greengrass) GetGroupCertificateAuthorityRequest(input *GetGroupCertificateAuthorityInput) (req *request.Request, output *GetGroupCertificateAuthorityOutput) {
  3580  	op := &request.Operation{
  3581  		Name:       opGetGroupCertificateAuthority,
  3582  		HTTPMethod: "GET",
  3583  		HTTPPath:   "/greengrass/groups/{GroupId}/certificateauthorities/{CertificateAuthorityId}",
  3584  	}
  3585  
  3586  	if input == nil {
  3587  		input = &GetGroupCertificateAuthorityInput{}
  3588  	}
  3589  
  3590  	output = &GetGroupCertificateAuthorityOutput{}
  3591  	req = c.newRequest(op, input, output)
  3592  	return
  3593  }
  3594  
  3595  // GetGroupCertificateAuthority API operation for AWS Greengrass.
  3596  //
  3597  // Retreives the CA associated with a group. Returns the public key of the CA.
  3598  //
  3599  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3600  // with awserr.Error's Code and Message methods to get detailed information about
  3601  // the error.
  3602  //
  3603  // See the AWS API reference guide for AWS Greengrass's
  3604  // API operation GetGroupCertificateAuthority for usage and error information.
  3605  //
  3606  // Returned Error Types:
  3607  //   * BadRequestException
  3608  //   General error information.
  3609  //
  3610  //   * InternalServerErrorException
  3611  //   General error information.
  3612  //
  3613  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupCertificateAuthority
  3614  func (c *Greengrass) GetGroupCertificateAuthority(input *GetGroupCertificateAuthorityInput) (*GetGroupCertificateAuthorityOutput, error) {
  3615  	req, out := c.GetGroupCertificateAuthorityRequest(input)
  3616  	return out, req.Send()
  3617  }
  3618  
  3619  // GetGroupCertificateAuthorityWithContext is the same as GetGroupCertificateAuthority with the addition of
  3620  // the ability to pass a context and additional request options.
  3621  //
  3622  // See GetGroupCertificateAuthority for details on how to use this API operation.
  3623  //
  3624  // The context must be non-nil and will be used for request cancellation. If
  3625  // the context is nil a panic will occur. In the future the SDK may create
  3626  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3627  // for more information on using Contexts.
  3628  func (c *Greengrass) GetGroupCertificateAuthorityWithContext(ctx aws.Context, input *GetGroupCertificateAuthorityInput, opts ...request.Option) (*GetGroupCertificateAuthorityOutput, error) {
  3629  	req, out := c.GetGroupCertificateAuthorityRequest(input)
  3630  	req.SetContext(ctx)
  3631  	req.ApplyOptions(opts...)
  3632  	return out, req.Send()
  3633  }
  3634  
  3635  const opGetGroupCertificateConfiguration = "GetGroupCertificateConfiguration"
  3636  
  3637  // GetGroupCertificateConfigurationRequest generates a "aws/request.Request" representing the
  3638  // client's request for the GetGroupCertificateConfiguration operation. The "output" return
  3639  // value will be populated with the request's response once the request completes
  3640  // successfully.
  3641  //
  3642  // Use "Send" method on the returned Request to send the API call to the service.
  3643  // the "output" return value is not valid until after Send returns without error.
  3644  //
  3645  // See GetGroupCertificateConfiguration for more information on using the GetGroupCertificateConfiguration
  3646  // API call, and error handling.
  3647  //
  3648  // This method is useful when you want to inject custom logic or configuration
  3649  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3650  //
  3651  //
  3652  //    // Example sending a request using the GetGroupCertificateConfigurationRequest method.
  3653  //    req, resp := client.GetGroupCertificateConfigurationRequest(params)
  3654  //
  3655  //    err := req.Send()
  3656  //    if err == nil { // resp is now filled
  3657  //        fmt.Println(resp)
  3658  //    }
  3659  //
  3660  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupCertificateConfiguration
  3661  func (c *Greengrass) GetGroupCertificateConfigurationRequest(input *GetGroupCertificateConfigurationInput) (req *request.Request, output *GetGroupCertificateConfigurationOutput) {
  3662  	op := &request.Operation{
  3663  		Name:       opGetGroupCertificateConfiguration,
  3664  		HTTPMethod: "GET",
  3665  		HTTPPath:   "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry",
  3666  	}
  3667  
  3668  	if input == nil {
  3669  		input = &GetGroupCertificateConfigurationInput{}
  3670  	}
  3671  
  3672  	output = &GetGroupCertificateConfigurationOutput{}
  3673  	req = c.newRequest(op, input, output)
  3674  	return
  3675  }
  3676  
  3677  // GetGroupCertificateConfiguration API operation for AWS Greengrass.
  3678  //
  3679  // Retrieves the current configuration for the CA used by the group.
  3680  //
  3681  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3682  // with awserr.Error's Code and Message methods to get detailed information about
  3683  // the error.
  3684  //
  3685  // See the AWS API reference guide for AWS Greengrass's
  3686  // API operation GetGroupCertificateConfiguration for usage and error information.
  3687  //
  3688  // Returned Error Types:
  3689  //   * BadRequestException
  3690  //   General error information.
  3691  //
  3692  //   * InternalServerErrorException
  3693  //   General error information.
  3694  //
  3695  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupCertificateConfiguration
  3696  func (c *Greengrass) GetGroupCertificateConfiguration(input *GetGroupCertificateConfigurationInput) (*GetGroupCertificateConfigurationOutput, error) {
  3697  	req, out := c.GetGroupCertificateConfigurationRequest(input)
  3698  	return out, req.Send()
  3699  }
  3700  
  3701  // GetGroupCertificateConfigurationWithContext is the same as GetGroupCertificateConfiguration with the addition of
  3702  // the ability to pass a context and additional request options.
  3703  //
  3704  // See GetGroupCertificateConfiguration for details on how to use this API operation.
  3705  //
  3706  // The context must be non-nil and will be used for request cancellation. If
  3707  // the context is nil a panic will occur. In the future the SDK may create
  3708  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3709  // for more information on using Contexts.
  3710  func (c *Greengrass) GetGroupCertificateConfigurationWithContext(ctx aws.Context, input *GetGroupCertificateConfigurationInput, opts ...request.Option) (*GetGroupCertificateConfigurationOutput, error) {
  3711  	req, out := c.GetGroupCertificateConfigurationRequest(input)
  3712  	req.SetContext(ctx)
  3713  	req.ApplyOptions(opts...)
  3714  	return out, req.Send()
  3715  }
  3716  
  3717  const opGetGroupVersion = "GetGroupVersion"
  3718  
  3719  // GetGroupVersionRequest generates a "aws/request.Request" representing the
  3720  // client's request for the GetGroupVersion operation. The "output" return
  3721  // value will be populated with the request's response once the request completes
  3722  // successfully.
  3723  //
  3724  // Use "Send" method on the returned Request to send the API call to the service.
  3725  // the "output" return value is not valid until after Send returns without error.
  3726  //
  3727  // See GetGroupVersion for more information on using the GetGroupVersion
  3728  // API call, and error handling.
  3729  //
  3730  // This method is useful when you want to inject custom logic or configuration
  3731  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3732  //
  3733  //
  3734  //    // Example sending a request using the GetGroupVersionRequest method.
  3735  //    req, resp := client.GetGroupVersionRequest(params)
  3736  //
  3737  //    err := req.Send()
  3738  //    if err == nil { // resp is now filled
  3739  //        fmt.Println(resp)
  3740  //    }
  3741  //
  3742  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupVersion
  3743  func (c *Greengrass) GetGroupVersionRequest(input *GetGroupVersionInput) (req *request.Request, output *GetGroupVersionOutput) {
  3744  	op := &request.Operation{
  3745  		Name:       opGetGroupVersion,
  3746  		HTTPMethod: "GET",
  3747  		HTTPPath:   "/greengrass/groups/{GroupId}/versions/{GroupVersionId}",
  3748  	}
  3749  
  3750  	if input == nil {
  3751  		input = &GetGroupVersionInput{}
  3752  	}
  3753  
  3754  	output = &GetGroupVersionOutput{}
  3755  	req = c.newRequest(op, input, output)
  3756  	return
  3757  }
  3758  
  3759  // GetGroupVersion API operation for AWS Greengrass.
  3760  //
  3761  // Retrieves information about a group version.
  3762  //
  3763  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3764  // with awserr.Error's Code and Message methods to get detailed information about
  3765  // the error.
  3766  //
  3767  // See the AWS API reference guide for AWS Greengrass's
  3768  // API operation GetGroupVersion for usage and error information.
  3769  //
  3770  // Returned Error Types:
  3771  //   * BadRequestException
  3772  //   General error information.
  3773  //
  3774  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetGroupVersion
  3775  func (c *Greengrass) GetGroupVersion(input *GetGroupVersionInput) (*GetGroupVersionOutput, error) {
  3776  	req, out := c.GetGroupVersionRequest(input)
  3777  	return out, req.Send()
  3778  }
  3779  
  3780  // GetGroupVersionWithContext is the same as GetGroupVersion with the addition of
  3781  // the ability to pass a context and additional request options.
  3782  //
  3783  // See GetGroupVersion for details on how to use this API operation.
  3784  //
  3785  // The context must be non-nil and will be used for request cancellation. If
  3786  // the context is nil a panic will occur. In the future the SDK may create
  3787  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3788  // for more information on using Contexts.
  3789  func (c *Greengrass) GetGroupVersionWithContext(ctx aws.Context, input *GetGroupVersionInput, opts ...request.Option) (*GetGroupVersionOutput, error) {
  3790  	req, out := c.GetGroupVersionRequest(input)
  3791  	req.SetContext(ctx)
  3792  	req.ApplyOptions(opts...)
  3793  	return out, req.Send()
  3794  }
  3795  
  3796  const opGetLoggerDefinition = "GetLoggerDefinition"
  3797  
  3798  // GetLoggerDefinitionRequest generates a "aws/request.Request" representing the
  3799  // client's request for the GetLoggerDefinition operation. The "output" return
  3800  // value will be populated with the request's response once the request completes
  3801  // successfully.
  3802  //
  3803  // Use "Send" method on the returned Request to send the API call to the service.
  3804  // the "output" return value is not valid until after Send returns without error.
  3805  //
  3806  // See GetLoggerDefinition for more information on using the GetLoggerDefinition
  3807  // API call, and error handling.
  3808  //
  3809  // This method is useful when you want to inject custom logic or configuration
  3810  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3811  //
  3812  //
  3813  //    // Example sending a request using the GetLoggerDefinitionRequest method.
  3814  //    req, resp := client.GetLoggerDefinitionRequest(params)
  3815  //
  3816  //    err := req.Send()
  3817  //    if err == nil { // resp is now filled
  3818  //        fmt.Println(resp)
  3819  //    }
  3820  //
  3821  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetLoggerDefinition
  3822  func (c *Greengrass) GetLoggerDefinitionRequest(input *GetLoggerDefinitionInput) (req *request.Request, output *GetLoggerDefinitionOutput) {
  3823  	op := &request.Operation{
  3824  		Name:       opGetLoggerDefinition,
  3825  		HTTPMethod: "GET",
  3826  		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}",
  3827  	}
  3828  
  3829  	if input == nil {
  3830  		input = &GetLoggerDefinitionInput{}
  3831  	}
  3832  
  3833  	output = &GetLoggerDefinitionOutput{}
  3834  	req = c.newRequest(op, input, output)
  3835  	return
  3836  }
  3837  
  3838  // GetLoggerDefinition API operation for AWS Greengrass.
  3839  //
  3840  // Retrieves information about a logger definition.
  3841  //
  3842  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3843  // with awserr.Error's Code and Message methods to get detailed information about
  3844  // the error.
  3845  //
  3846  // See the AWS API reference guide for AWS Greengrass's
  3847  // API operation GetLoggerDefinition for usage and error information.
  3848  //
  3849  // Returned Error Types:
  3850  //   * BadRequestException
  3851  //   General error information.
  3852  //
  3853  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetLoggerDefinition
  3854  func (c *Greengrass) GetLoggerDefinition(input *GetLoggerDefinitionInput) (*GetLoggerDefinitionOutput, error) {
  3855  	req, out := c.GetLoggerDefinitionRequest(input)
  3856  	return out, req.Send()
  3857  }
  3858  
  3859  // GetLoggerDefinitionWithContext is the same as GetLoggerDefinition with the addition of
  3860  // the ability to pass a context and additional request options.
  3861  //
  3862  // See GetLoggerDefinition for details on how to use this API operation.
  3863  //
  3864  // The context must be non-nil and will be used for request cancellation. If
  3865  // the context is nil a panic will occur. In the future the SDK may create
  3866  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3867  // for more information on using Contexts.
  3868  func (c *Greengrass) GetLoggerDefinitionWithContext(ctx aws.Context, input *GetLoggerDefinitionInput, opts ...request.Option) (*GetLoggerDefinitionOutput, error) {
  3869  	req, out := c.GetLoggerDefinitionRequest(input)
  3870  	req.SetContext(ctx)
  3871  	req.ApplyOptions(opts...)
  3872  	return out, req.Send()
  3873  }
  3874  
  3875  const opGetLoggerDefinitionVersion = "GetLoggerDefinitionVersion"
  3876  
  3877  // GetLoggerDefinitionVersionRequest generates a "aws/request.Request" representing the
  3878  // client's request for the GetLoggerDefinitionVersion operation. The "output" return
  3879  // value will be populated with the request's response once the request completes
  3880  // successfully.
  3881  //
  3882  // Use "Send" method on the returned Request to send the API call to the service.
  3883  // the "output" return value is not valid until after Send returns without error.
  3884  //
  3885  // See GetLoggerDefinitionVersion for more information on using the GetLoggerDefinitionVersion
  3886  // API call, and error handling.
  3887  //
  3888  // This method is useful when you want to inject custom logic or configuration
  3889  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3890  //
  3891  //
  3892  //    // Example sending a request using the GetLoggerDefinitionVersionRequest method.
  3893  //    req, resp := client.GetLoggerDefinitionVersionRequest(params)
  3894  //
  3895  //    err := req.Send()
  3896  //    if err == nil { // resp is now filled
  3897  //        fmt.Println(resp)
  3898  //    }
  3899  //
  3900  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetLoggerDefinitionVersion
  3901  func (c *Greengrass) GetLoggerDefinitionVersionRequest(input *GetLoggerDefinitionVersionInput) (req *request.Request, output *GetLoggerDefinitionVersionOutput) {
  3902  	op := &request.Operation{
  3903  		Name:       opGetLoggerDefinitionVersion,
  3904  		HTTPMethod: "GET",
  3905  		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}",
  3906  	}
  3907  
  3908  	if input == nil {
  3909  		input = &GetLoggerDefinitionVersionInput{}
  3910  	}
  3911  
  3912  	output = &GetLoggerDefinitionVersionOutput{}
  3913  	req = c.newRequest(op, input, output)
  3914  	return
  3915  }
  3916  
  3917  // GetLoggerDefinitionVersion API operation for AWS Greengrass.
  3918  //
  3919  // Retrieves information about a logger definition version.
  3920  //
  3921  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3922  // with awserr.Error's Code and Message methods to get detailed information about
  3923  // the error.
  3924  //
  3925  // See the AWS API reference guide for AWS Greengrass's
  3926  // API operation GetLoggerDefinitionVersion for usage and error information.
  3927  //
  3928  // Returned Error Types:
  3929  //   * BadRequestException
  3930  //   General error information.
  3931  //
  3932  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetLoggerDefinitionVersion
  3933  func (c *Greengrass) GetLoggerDefinitionVersion(input *GetLoggerDefinitionVersionInput) (*GetLoggerDefinitionVersionOutput, error) {
  3934  	req, out := c.GetLoggerDefinitionVersionRequest(input)
  3935  	return out, req.Send()
  3936  }
  3937  
  3938  // GetLoggerDefinitionVersionWithContext is the same as GetLoggerDefinitionVersion with the addition of
  3939  // the ability to pass a context and additional request options.
  3940  //
  3941  // See GetLoggerDefinitionVersion for details on how to use this API operation.
  3942  //
  3943  // The context must be non-nil and will be used for request cancellation. If
  3944  // the context is nil a panic will occur. In the future the SDK may create
  3945  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3946  // for more information on using Contexts.
  3947  func (c *Greengrass) GetLoggerDefinitionVersionWithContext(ctx aws.Context, input *GetLoggerDefinitionVersionInput, opts ...request.Option) (*GetLoggerDefinitionVersionOutput, error) {
  3948  	req, out := c.GetLoggerDefinitionVersionRequest(input)
  3949  	req.SetContext(ctx)
  3950  	req.ApplyOptions(opts...)
  3951  	return out, req.Send()
  3952  }
  3953  
  3954  const opGetResourceDefinition = "GetResourceDefinition"
  3955  
  3956  // GetResourceDefinitionRequest generates a "aws/request.Request" representing the
  3957  // client's request for the GetResourceDefinition operation. The "output" return
  3958  // value will be populated with the request's response once the request completes
  3959  // successfully.
  3960  //
  3961  // Use "Send" method on the returned Request to send the API call to the service.
  3962  // the "output" return value is not valid until after Send returns without error.
  3963  //
  3964  // See GetResourceDefinition for more information on using the GetResourceDefinition
  3965  // API call, and error handling.
  3966  //
  3967  // This method is useful when you want to inject custom logic or configuration
  3968  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3969  //
  3970  //
  3971  //    // Example sending a request using the GetResourceDefinitionRequest method.
  3972  //    req, resp := client.GetResourceDefinitionRequest(params)
  3973  //
  3974  //    err := req.Send()
  3975  //    if err == nil { // resp is now filled
  3976  //        fmt.Println(resp)
  3977  //    }
  3978  //
  3979  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetResourceDefinition
  3980  func (c *Greengrass) GetResourceDefinitionRequest(input *GetResourceDefinitionInput) (req *request.Request, output *GetResourceDefinitionOutput) {
  3981  	op := &request.Operation{
  3982  		Name:       opGetResourceDefinition,
  3983  		HTTPMethod: "GET",
  3984  		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}",
  3985  	}
  3986  
  3987  	if input == nil {
  3988  		input = &GetResourceDefinitionInput{}
  3989  	}
  3990  
  3991  	output = &GetResourceDefinitionOutput{}
  3992  	req = c.newRequest(op, input, output)
  3993  	return
  3994  }
  3995  
  3996  // GetResourceDefinition API operation for AWS Greengrass.
  3997  //
  3998  // Retrieves information about a resource definition, including its creation
  3999  // time and latest version.
  4000  //
  4001  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4002  // with awserr.Error's Code and Message methods to get detailed information about
  4003  // the error.
  4004  //
  4005  // See the AWS API reference guide for AWS Greengrass's
  4006  // API operation GetResourceDefinition for usage and error information.
  4007  //
  4008  // Returned Error Types:
  4009  //   * BadRequestException
  4010  //   General error information.
  4011  //
  4012  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetResourceDefinition
  4013  func (c *Greengrass) GetResourceDefinition(input *GetResourceDefinitionInput) (*GetResourceDefinitionOutput, error) {
  4014  	req, out := c.GetResourceDefinitionRequest(input)
  4015  	return out, req.Send()
  4016  }
  4017  
  4018  // GetResourceDefinitionWithContext is the same as GetResourceDefinition with the addition of
  4019  // the ability to pass a context and additional request options.
  4020  //
  4021  // See GetResourceDefinition for details on how to use this API operation.
  4022  //
  4023  // The context must be non-nil and will be used for request cancellation. If
  4024  // the context is nil a panic will occur. In the future the SDK may create
  4025  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4026  // for more information on using Contexts.
  4027  func (c *Greengrass) GetResourceDefinitionWithContext(ctx aws.Context, input *GetResourceDefinitionInput, opts ...request.Option) (*GetResourceDefinitionOutput, error) {
  4028  	req, out := c.GetResourceDefinitionRequest(input)
  4029  	req.SetContext(ctx)
  4030  	req.ApplyOptions(opts...)
  4031  	return out, req.Send()
  4032  }
  4033  
  4034  const opGetResourceDefinitionVersion = "GetResourceDefinitionVersion"
  4035  
  4036  // GetResourceDefinitionVersionRequest generates a "aws/request.Request" representing the
  4037  // client's request for the GetResourceDefinitionVersion operation. The "output" return
  4038  // value will be populated with the request's response once the request completes
  4039  // successfully.
  4040  //
  4041  // Use "Send" method on the returned Request to send the API call to the service.
  4042  // the "output" return value is not valid until after Send returns without error.
  4043  //
  4044  // See GetResourceDefinitionVersion for more information on using the GetResourceDefinitionVersion
  4045  // API call, and error handling.
  4046  //
  4047  // This method is useful when you want to inject custom logic or configuration
  4048  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4049  //
  4050  //
  4051  //    // Example sending a request using the GetResourceDefinitionVersionRequest method.
  4052  //    req, resp := client.GetResourceDefinitionVersionRequest(params)
  4053  //
  4054  //    err := req.Send()
  4055  //    if err == nil { // resp is now filled
  4056  //        fmt.Println(resp)
  4057  //    }
  4058  //
  4059  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetResourceDefinitionVersion
  4060  func (c *Greengrass) GetResourceDefinitionVersionRequest(input *GetResourceDefinitionVersionInput) (req *request.Request, output *GetResourceDefinitionVersionOutput) {
  4061  	op := &request.Operation{
  4062  		Name:       opGetResourceDefinitionVersion,
  4063  		HTTPMethod: "GET",
  4064  		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}/versions/{ResourceDefinitionVersionId}",
  4065  	}
  4066  
  4067  	if input == nil {
  4068  		input = &GetResourceDefinitionVersionInput{}
  4069  	}
  4070  
  4071  	output = &GetResourceDefinitionVersionOutput{}
  4072  	req = c.newRequest(op, input, output)
  4073  	return
  4074  }
  4075  
  4076  // GetResourceDefinitionVersion API operation for AWS Greengrass.
  4077  //
  4078  // Retrieves information about a resource definition version, including which
  4079  // resources are included in the version.
  4080  //
  4081  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4082  // with awserr.Error's Code and Message methods to get detailed information about
  4083  // the error.
  4084  //
  4085  // See the AWS API reference guide for AWS Greengrass's
  4086  // API operation GetResourceDefinitionVersion for usage and error information.
  4087  //
  4088  // Returned Error Types:
  4089  //   * BadRequestException
  4090  //   General error information.
  4091  //
  4092  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetResourceDefinitionVersion
  4093  func (c *Greengrass) GetResourceDefinitionVersion(input *GetResourceDefinitionVersionInput) (*GetResourceDefinitionVersionOutput, error) {
  4094  	req, out := c.GetResourceDefinitionVersionRequest(input)
  4095  	return out, req.Send()
  4096  }
  4097  
  4098  // GetResourceDefinitionVersionWithContext is the same as GetResourceDefinitionVersion with the addition of
  4099  // the ability to pass a context and additional request options.
  4100  //
  4101  // See GetResourceDefinitionVersion for details on how to use this API operation.
  4102  //
  4103  // The context must be non-nil and will be used for request cancellation. If
  4104  // the context is nil a panic will occur. In the future the SDK may create
  4105  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4106  // for more information on using Contexts.
  4107  func (c *Greengrass) GetResourceDefinitionVersionWithContext(ctx aws.Context, input *GetResourceDefinitionVersionInput, opts ...request.Option) (*GetResourceDefinitionVersionOutput, error) {
  4108  	req, out := c.GetResourceDefinitionVersionRequest(input)
  4109  	req.SetContext(ctx)
  4110  	req.ApplyOptions(opts...)
  4111  	return out, req.Send()
  4112  }
  4113  
  4114  const opGetServiceRoleForAccount = "GetServiceRoleForAccount"
  4115  
  4116  // GetServiceRoleForAccountRequest generates a "aws/request.Request" representing the
  4117  // client's request for the GetServiceRoleForAccount operation. The "output" return
  4118  // value will be populated with the request's response once the request completes
  4119  // successfully.
  4120  //
  4121  // Use "Send" method on the returned Request to send the API call to the service.
  4122  // the "output" return value is not valid until after Send returns without error.
  4123  //
  4124  // See GetServiceRoleForAccount for more information on using the GetServiceRoleForAccount
  4125  // API call, and error handling.
  4126  //
  4127  // This method is useful when you want to inject custom logic or configuration
  4128  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4129  //
  4130  //
  4131  //    // Example sending a request using the GetServiceRoleForAccountRequest method.
  4132  //    req, resp := client.GetServiceRoleForAccountRequest(params)
  4133  //
  4134  //    err := req.Send()
  4135  //    if err == nil { // resp is now filled
  4136  //        fmt.Println(resp)
  4137  //    }
  4138  //
  4139  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetServiceRoleForAccount
  4140  func (c *Greengrass) GetServiceRoleForAccountRequest(input *GetServiceRoleForAccountInput) (req *request.Request, output *GetServiceRoleForAccountOutput) {
  4141  	op := &request.Operation{
  4142  		Name:       opGetServiceRoleForAccount,
  4143  		HTTPMethod: "GET",
  4144  		HTTPPath:   "/greengrass/servicerole",
  4145  	}
  4146  
  4147  	if input == nil {
  4148  		input = &GetServiceRoleForAccountInput{}
  4149  	}
  4150  
  4151  	output = &GetServiceRoleForAccountOutput{}
  4152  	req = c.newRequest(op, input, output)
  4153  	return
  4154  }
  4155  
  4156  // GetServiceRoleForAccount API operation for AWS Greengrass.
  4157  //
  4158  // Retrieves the service role that is attached to your account.
  4159  //
  4160  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4161  // with awserr.Error's Code and Message methods to get detailed information about
  4162  // the error.
  4163  //
  4164  // See the AWS API reference guide for AWS Greengrass's
  4165  // API operation GetServiceRoleForAccount for usage and error information.
  4166  //
  4167  // Returned Error Types:
  4168  //   * InternalServerErrorException
  4169  //   General error information.
  4170  //
  4171  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetServiceRoleForAccount
  4172  func (c *Greengrass) GetServiceRoleForAccount(input *GetServiceRoleForAccountInput) (*GetServiceRoleForAccountOutput, error) {
  4173  	req, out := c.GetServiceRoleForAccountRequest(input)
  4174  	return out, req.Send()
  4175  }
  4176  
  4177  // GetServiceRoleForAccountWithContext is the same as GetServiceRoleForAccount with the addition of
  4178  // the ability to pass a context and additional request options.
  4179  //
  4180  // See GetServiceRoleForAccount for details on how to use this API operation.
  4181  //
  4182  // The context must be non-nil and will be used for request cancellation. If
  4183  // the context is nil a panic will occur. In the future the SDK may create
  4184  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4185  // for more information on using Contexts.
  4186  func (c *Greengrass) GetServiceRoleForAccountWithContext(ctx aws.Context, input *GetServiceRoleForAccountInput, opts ...request.Option) (*GetServiceRoleForAccountOutput, error) {
  4187  	req, out := c.GetServiceRoleForAccountRequest(input)
  4188  	req.SetContext(ctx)
  4189  	req.ApplyOptions(opts...)
  4190  	return out, req.Send()
  4191  }
  4192  
  4193  const opGetSubscriptionDefinition = "GetSubscriptionDefinition"
  4194  
  4195  // GetSubscriptionDefinitionRequest generates a "aws/request.Request" representing the
  4196  // client's request for the GetSubscriptionDefinition operation. The "output" return
  4197  // value will be populated with the request's response once the request completes
  4198  // successfully.
  4199  //
  4200  // Use "Send" method on the returned Request to send the API call to the service.
  4201  // the "output" return value is not valid until after Send returns without error.
  4202  //
  4203  // See GetSubscriptionDefinition for more information on using the GetSubscriptionDefinition
  4204  // API call, and error handling.
  4205  //
  4206  // This method is useful when you want to inject custom logic or configuration
  4207  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4208  //
  4209  //
  4210  //    // Example sending a request using the GetSubscriptionDefinitionRequest method.
  4211  //    req, resp := client.GetSubscriptionDefinitionRequest(params)
  4212  //
  4213  //    err := req.Send()
  4214  //    if err == nil { // resp is now filled
  4215  //        fmt.Println(resp)
  4216  //    }
  4217  //
  4218  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetSubscriptionDefinition
  4219  func (c *Greengrass) GetSubscriptionDefinitionRequest(input *GetSubscriptionDefinitionInput) (req *request.Request, output *GetSubscriptionDefinitionOutput) {
  4220  	op := &request.Operation{
  4221  		Name:       opGetSubscriptionDefinition,
  4222  		HTTPMethod: "GET",
  4223  		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}",
  4224  	}
  4225  
  4226  	if input == nil {
  4227  		input = &GetSubscriptionDefinitionInput{}
  4228  	}
  4229  
  4230  	output = &GetSubscriptionDefinitionOutput{}
  4231  	req = c.newRequest(op, input, output)
  4232  	return
  4233  }
  4234  
  4235  // GetSubscriptionDefinition API operation for AWS Greengrass.
  4236  //
  4237  // Retrieves information about a subscription definition.
  4238  //
  4239  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4240  // with awserr.Error's Code and Message methods to get detailed information about
  4241  // the error.
  4242  //
  4243  // See the AWS API reference guide for AWS Greengrass's
  4244  // API operation GetSubscriptionDefinition for usage and error information.
  4245  //
  4246  // Returned Error Types:
  4247  //   * BadRequestException
  4248  //   General error information.
  4249  //
  4250  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetSubscriptionDefinition
  4251  func (c *Greengrass) GetSubscriptionDefinition(input *GetSubscriptionDefinitionInput) (*GetSubscriptionDefinitionOutput, error) {
  4252  	req, out := c.GetSubscriptionDefinitionRequest(input)
  4253  	return out, req.Send()
  4254  }
  4255  
  4256  // GetSubscriptionDefinitionWithContext is the same as GetSubscriptionDefinition with the addition of
  4257  // the ability to pass a context and additional request options.
  4258  //
  4259  // See GetSubscriptionDefinition for details on how to use this API operation.
  4260  //
  4261  // The context must be non-nil and will be used for request cancellation. If
  4262  // the context is nil a panic will occur. In the future the SDK may create
  4263  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4264  // for more information on using Contexts.
  4265  func (c *Greengrass) GetSubscriptionDefinitionWithContext(ctx aws.Context, input *GetSubscriptionDefinitionInput, opts ...request.Option) (*GetSubscriptionDefinitionOutput, error) {
  4266  	req, out := c.GetSubscriptionDefinitionRequest(input)
  4267  	req.SetContext(ctx)
  4268  	req.ApplyOptions(opts...)
  4269  	return out, req.Send()
  4270  }
  4271  
  4272  const opGetSubscriptionDefinitionVersion = "GetSubscriptionDefinitionVersion"
  4273  
  4274  // GetSubscriptionDefinitionVersionRequest generates a "aws/request.Request" representing the
  4275  // client's request for the GetSubscriptionDefinitionVersion operation. The "output" return
  4276  // value will be populated with the request's response once the request completes
  4277  // successfully.
  4278  //
  4279  // Use "Send" method on the returned Request to send the API call to the service.
  4280  // the "output" return value is not valid until after Send returns without error.
  4281  //
  4282  // See GetSubscriptionDefinitionVersion for more information on using the GetSubscriptionDefinitionVersion
  4283  // API call, and error handling.
  4284  //
  4285  // This method is useful when you want to inject custom logic or configuration
  4286  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4287  //
  4288  //
  4289  //    // Example sending a request using the GetSubscriptionDefinitionVersionRequest method.
  4290  //    req, resp := client.GetSubscriptionDefinitionVersionRequest(params)
  4291  //
  4292  //    err := req.Send()
  4293  //    if err == nil { // resp is now filled
  4294  //        fmt.Println(resp)
  4295  //    }
  4296  //
  4297  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetSubscriptionDefinitionVersion
  4298  func (c *Greengrass) GetSubscriptionDefinitionVersionRequest(input *GetSubscriptionDefinitionVersionInput) (req *request.Request, output *GetSubscriptionDefinitionVersionOutput) {
  4299  	op := &request.Operation{
  4300  		Name:       opGetSubscriptionDefinitionVersion,
  4301  		HTTPMethod: "GET",
  4302  		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions/{SubscriptionDefinitionVersionId}",
  4303  	}
  4304  
  4305  	if input == nil {
  4306  		input = &GetSubscriptionDefinitionVersionInput{}
  4307  	}
  4308  
  4309  	output = &GetSubscriptionDefinitionVersionOutput{}
  4310  	req = c.newRequest(op, input, output)
  4311  	return
  4312  }
  4313  
  4314  // GetSubscriptionDefinitionVersion API operation for AWS Greengrass.
  4315  //
  4316  // Retrieves information about a subscription definition version.
  4317  //
  4318  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4319  // with awserr.Error's Code and Message methods to get detailed information about
  4320  // the error.
  4321  //
  4322  // See the AWS API reference guide for AWS Greengrass's
  4323  // API operation GetSubscriptionDefinitionVersion for usage and error information.
  4324  //
  4325  // Returned Error Types:
  4326  //   * BadRequestException
  4327  //   General error information.
  4328  //
  4329  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetSubscriptionDefinitionVersion
  4330  func (c *Greengrass) GetSubscriptionDefinitionVersion(input *GetSubscriptionDefinitionVersionInput) (*GetSubscriptionDefinitionVersionOutput, error) {
  4331  	req, out := c.GetSubscriptionDefinitionVersionRequest(input)
  4332  	return out, req.Send()
  4333  }
  4334  
  4335  // GetSubscriptionDefinitionVersionWithContext is the same as GetSubscriptionDefinitionVersion with the addition of
  4336  // the ability to pass a context and additional request options.
  4337  //
  4338  // See GetSubscriptionDefinitionVersion for details on how to use this API operation.
  4339  //
  4340  // The context must be non-nil and will be used for request cancellation. If
  4341  // the context is nil a panic will occur. In the future the SDK may create
  4342  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4343  // for more information on using Contexts.
  4344  func (c *Greengrass) GetSubscriptionDefinitionVersionWithContext(ctx aws.Context, input *GetSubscriptionDefinitionVersionInput, opts ...request.Option) (*GetSubscriptionDefinitionVersionOutput, error) {
  4345  	req, out := c.GetSubscriptionDefinitionVersionRequest(input)
  4346  	req.SetContext(ctx)
  4347  	req.ApplyOptions(opts...)
  4348  	return out, req.Send()
  4349  }
  4350  
  4351  const opGetThingRuntimeConfiguration = "GetThingRuntimeConfiguration"
  4352  
  4353  // GetThingRuntimeConfigurationRequest generates a "aws/request.Request" representing the
  4354  // client's request for the GetThingRuntimeConfiguration operation. The "output" return
  4355  // value will be populated with the request's response once the request completes
  4356  // successfully.
  4357  //
  4358  // Use "Send" method on the returned Request to send the API call to the service.
  4359  // the "output" return value is not valid until after Send returns without error.
  4360  //
  4361  // See GetThingRuntimeConfiguration for more information on using the GetThingRuntimeConfiguration
  4362  // API call, and error handling.
  4363  //
  4364  // This method is useful when you want to inject custom logic or configuration
  4365  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4366  //
  4367  //
  4368  //    // Example sending a request using the GetThingRuntimeConfigurationRequest method.
  4369  //    req, resp := client.GetThingRuntimeConfigurationRequest(params)
  4370  //
  4371  //    err := req.Send()
  4372  //    if err == nil { // resp is now filled
  4373  //        fmt.Println(resp)
  4374  //    }
  4375  //
  4376  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetThingRuntimeConfiguration
  4377  func (c *Greengrass) GetThingRuntimeConfigurationRequest(input *GetThingRuntimeConfigurationInput) (req *request.Request, output *GetThingRuntimeConfigurationOutput) {
  4378  	op := &request.Operation{
  4379  		Name:       opGetThingRuntimeConfiguration,
  4380  		HTTPMethod: "GET",
  4381  		HTTPPath:   "/greengrass/things/{ThingName}/runtimeconfig",
  4382  	}
  4383  
  4384  	if input == nil {
  4385  		input = &GetThingRuntimeConfigurationInput{}
  4386  	}
  4387  
  4388  	output = &GetThingRuntimeConfigurationOutput{}
  4389  	req = c.newRequest(op, input, output)
  4390  	return
  4391  }
  4392  
  4393  // GetThingRuntimeConfiguration API operation for AWS Greengrass.
  4394  //
  4395  // Get the runtime configuration of a thing.
  4396  //
  4397  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4398  // with awserr.Error's Code and Message methods to get detailed information about
  4399  // the error.
  4400  //
  4401  // See the AWS API reference guide for AWS Greengrass's
  4402  // API operation GetThingRuntimeConfiguration for usage and error information.
  4403  //
  4404  // Returned Error Types:
  4405  //   * BadRequestException
  4406  //   General error information.
  4407  //
  4408  //   * InternalServerErrorException
  4409  //   General error information.
  4410  //
  4411  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/GetThingRuntimeConfiguration
  4412  func (c *Greengrass) GetThingRuntimeConfiguration(input *GetThingRuntimeConfigurationInput) (*GetThingRuntimeConfigurationOutput, error) {
  4413  	req, out := c.GetThingRuntimeConfigurationRequest(input)
  4414  	return out, req.Send()
  4415  }
  4416  
  4417  // GetThingRuntimeConfigurationWithContext is the same as GetThingRuntimeConfiguration with the addition of
  4418  // the ability to pass a context and additional request options.
  4419  //
  4420  // See GetThingRuntimeConfiguration for details on how to use this API operation.
  4421  //
  4422  // The context must be non-nil and will be used for request cancellation. If
  4423  // the context is nil a panic will occur. In the future the SDK may create
  4424  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4425  // for more information on using Contexts.
  4426  func (c *Greengrass) GetThingRuntimeConfigurationWithContext(ctx aws.Context, input *GetThingRuntimeConfigurationInput, opts ...request.Option) (*GetThingRuntimeConfigurationOutput, error) {
  4427  	req, out := c.GetThingRuntimeConfigurationRequest(input)
  4428  	req.SetContext(ctx)
  4429  	req.ApplyOptions(opts...)
  4430  	return out, req.Send()
  4431  }
  4432  
  4433  const opListBulkDeploymentDetailedReports = "ListBulkDeploymentDetailedReports"
  4434  
  4435  // ListBulkDeploymentDetailedReportsRequest generates a "aws/request.Request" representing the
  4436  // client's request for the ListBulkDeploymentDetailedReports operation. The "output" return
  4437  // value will be populated with the request's response once the request completes
  4438  // successfully.
  4439  //
  4440  // Use "Send" method on the returned Request to send the API call to the service.
  4441  // the "output" return value is not valid until after Send returns without error.
  4442  //
  4443  // See ListBulkDeploymentDetailedReports for more information on using the ListBulkDeploymentDetailedReports
  4444  // API call, and error handling.
  4445  //
  4446  // This method is useful when you want to inject custom logic or configuration
  4447  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4448  //
  4449  //
  4450  //    // Example sending a request using the ListBulkDeploymentDetailedReportsRequest method.
  4451  //    req, resp := client.ListBulkDeploymentDetailedReportsRequest(params)
  4452  //
  4453  //    err := req.Send()
  4454  //    if err == nil { // resp is now filled
  4455  //        fmt.Println(resp)
  4456  //    }
  4457  //
  4458  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListBulkDeploymentDetailedReports
  4459  func (c *Greengrass) ListBulkDeploymentDetailedReportsRequest(input *ListBulkDeploymentDetailedReportsInput) (req *request.Request, output *ListBulkDeploymentDetailedReportsOutput) {
  4460  	op := &request.Operation{
  4461  		Name:       opListBulkDeploymentDetailedReports,
  4462  		HTTPMethod: "GET",
  4463  		HTTPPath:   "/greengrass/bulk/deployments/{BulkDeploymentId}/detailed-reports",
  4464  	}
  4465  
  4466  	if input == nil {
  4467  		input = &ListBulkDeploymentDetailedReportsInput{}
  4468  	}
  4469  
  4470  	output = &ListBulkDeploymentDetailedReportsOutput{}
  4471  	req = c.newRequest(op, input, output)
  4472  	return
  4473  }
  4474  
  4475  // ListBulkDeploymentDetailedReports API operation for AWS Greengrass.
  4476  //
  4477  // Gets a paginated list of the deployments that have been started in a bulk
  4478  // deployment operation, and their current deployment status.
  4479  //
  4480  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4481  // with awserr.Error's Code and Message methods to get detailed information about
  4482  // the error.
  4483  //
  4484  // See the AWS API reference guide for AWS Greengrass's
  4485  // API operation ListBulkDeploymentDetailedReports for usage and error information.
  4486  //
  4487  // Returned Error Types:
  4488  //   * BadRequestException
  4489  //   General error information.
  4490  //
  4491  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListBulkDeploymentDetailedReports
  4492  func (c *Greengrass) ListBulkDeploymentDetailedReports(input *ListBulkDeploymentDetailedReportsInput) (*ListBulkDeploymentDetailedReportsOutput, error) {
  4493  	req, out := c.ListBulkDeploymentDetailedReportsRequest(input)
  4494  	return out, req.Send()
  4495  }
  4496  
  4497  // ListBulkDeploymentDetailedReportsWithContext is the same as ListBulkDeploymentDetailedReports with the addition of
  4498  // the ability to pass a context and additional request options.
  4499  //
  4500  // See ListBulkDeploymentDetailedReports for details on how to use this API operation.
  4501  //
  4502  // The context must be non-nil and will be used for request cancellation. If
  4503  // the context is nil a panic will occur. In the future the SDK may create
  4504  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4505  // for more information on using Contexts.
  4506  func (c *Greengrass) ListBulkDeploymentDetailedReportsWithContext(ctx aws.Context, input *ListBulkDeploymentDetailedReportsInput, opts ...request.Option) (*ListBulkDeploymentDetailedReportsOutput, error) {
  4507  	req, out := c.ListBulkDeploymentDetailedReportsRequest(input)
  4508  	req.SetContext(ctx)
  4509  	req.ApplyOptions(opts...)
  4510  	return out, req.Send()
  4511  }
  4512  
  4513  const opListBulkDeployments = "ListBulkDeployments"
  4514  
  4515  // ListBulkDeploymentsRequest generates a "aws/request.Request" representing the
  4516  // client's request for the ListBulkDeployments operation. The "output" return
  4517  // value will be populated with the request's response once the request completes
  4518  // successfully.
  4519  //
  4520  // Use "Send" method on the returned Request to send the API call to the service.
  4521  // the "output" return value is not valid until after Send returns without error.
  4522  //
  4523  // See ListBulkDeployments for more information on using the ListBulkDeployments
  4524  // API call, and error handling.
  4525  //
  4526  // This method is useful when you want to inject custom logic or configuration
  4527  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4528  //
  4529  //
  4530  //    // Example sending a request using the ListBulkDeploymentsRequest method.
  4531  //    req, resp := client.ListBulkDeploymentsRequest(params)
  4532  //
  4533  //    err := req.Send()
  4534  //    if err == nil { // resp is now filled
  4535  //        fmt.Println(resp)
  4536  //    }
  4537  //
  4538  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListBulkDeployments
  4539  func (c *Greengrass) ListBulkDeploymentsRequest(input *ListBulkDeploymentsInput) (req *request.Request, output *ListBulkDeploymentsOutput) {
  4540  	op := &request.Operation{
  4541  		Name:       opListBulkDeployments,
  4542  		HTTPMethod: "GET",
  4543  		HTTPPath:   "/greengrass/bulk/deployments",
  4544  	}
  4545  
  4546  	if input == nil {
  4547  		input = &ListBulkDeploymentsInput{}
  4548  	}
  4549  
  4550  	output = &ListBulkDeploymentsOutput{}
  4551  	req = c.newRequest(op, input, output)
  4552  	return
  4553  }
  4554  
  4555  // ListBulkDeployments API operation for AWS Greengrass.
  4556  //
  4557  // Returns a list of bulk deployments.
  4558  //
  4559  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4560  // with awserr.Error's Code and Message methods to get detailed information about
  4561  // the error.
  4562  //
  4563  // See the AWS API reference guide for AWS Greengrass's
  4564  // API operation ListBulkDeployments for usage and error information.
  4565  //
  4566  // Returned Error Types:
  4567  //   * BadRequestException
  4568  //   General error information.
  4569  //
  4570  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListBulkDeployments
  4571  func (c *Greengrass) ListBulkDeployments(input *ListBulkDeploymentsInput) (*ListBulkDeploymentsOutput, error) {
  4572  	req, out := c.ListBulkDeploymentsRequest(input)
  4573  	return out, req.Send()
  4574  }
  4575  
  4576  // ListBulkDeploymentsWithContext is the same as ListBulkDeployments with the addition of
  4577  // the ability to pass a context and additional request options.
  4578  //
  4579  // See ListBulkDeployments for details on how to use this API operation.
  4580  //
  4581  // The context must be non-nil and will be used for request cancellation. If
  4582  // the context is nil a panic will occur. In the future the SDK may create
  4583  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4584  // for more information on using Contexts.
  4585  func (c *Greengrass) ListBulkDeploymentsWithContext(ctx aws.Context, input *ListBulkDeploymentsInput, opts ...request.Option) (*ListBulkDeploymentsOutput, error) {
  4586  	req, out := c.ListBulkDeploymentsRequest(input)
  4587  	req.SetContext(ctx)
  4588  	req.ApplyOptions(opts...)
  4589  	return out, req.Send()
  4590  }
  4591  
  4592  const opListConnectorDefinitionVersions = "ListConnectorDefinitionVersions"
  4593  
  4594  // ListConnectorDefinitionVersionsRequest generates a "aws/request.Request" representing the
  4595  // client's request for the ListConnectorDefinitionVersions operation. The "output" return
  4596  // value will be populated with the request's response once the request completes
  4597  // successfully.
  4598  //
  4599  // Use "Send" method on the returned Request to send the API call to the service.
  4600  // the "output" return value is not valid until after Send returns without error.
  4601  //
  4602  // See ListConnectorDefinitionVersions for more information on using the ListConnectorDefinitionVersions
  4603  // API call, and error handling.
  4604  //
  4605  // This method is useful when you want to inject custom logic or configuration
  4606  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4607  //
  4608  //
  4609  //    // Example sending a request using the ListConnectorDefinitionVersionsRequest method.
  4610  //    req, resp := client.ListConnectorDefinitionVersionsRequest(params)
  4611  //
  4612  //    err := req.Send()
  4613  //    if err == nil { // resp is now filled
  4614  //        fmt.Println(resp)
  4615  //    }
  4616  //
  4617  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListConnectorDefinitionVersions
  4618  func (c *Greengrass) ListConnectorDefinitionVersionsRequest(input *ListConnectorDefinitionVersionsInput) (req *request.Request, output *ListConnectorDefinitionVersionsOutput) {
  4619  	op := &request.Operation{
  4620  		Name:       opListConnectorDefinitionVersions,
  4621  		HTTPMethod: "GET",
  4622  		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions",
  4623  	}
  4624  
  4625  	if input == nil {
  4626  		input = &ListConnectorDefinitionVersionsInput{}
  4627  	}
  4628  
  4629  	output = &ListConnectorDefinitionVersionsOutput{}
  4630  	req = c.newRequest(op, input, output)
  4631  	return
  4632  }
  4633  
  4634  // ListConnectorDefinitionVersions API operation for AWS Greengrass.
  4635  //
  4636  // Lists the versions of a connector definition, which are containers for connectors.
  4637  // Connectors run on the Greengrass core and contain built-in integration with
  4638  // local infrastructure, device protocols, AWS, and other cloud services.
  4639  //
  4640  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4641  // with awserr.Error's Code and Message methods to get detailed information about
  4642  // the error.
  4643  //
  4644  // See the AWS API reference guide for AWS Greengrass's
  4645  // API operation ListConnectorDefinitionVersions for usage and error information.
  4646  //
  4647  // Returned Error Types:
  4648  //   * BadRequestException
  4649  //   General error information.
  4650  //
  4651  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListConnectorDefinitionVersions
  4652  func (c *Greengrass) ListConnectorDefinitionVersions(input *ListConnectorDefinitionVersionsInput) (*ListConnectorDefinitionVersionsOutput, error) {
  4653  	req, out := c.ListConnectorDefinitionVersionsRequest(input)
  4654  	return out, req.Send()
  4655  }
  4656  
  4657  // ListConnectorDefinitionVersionsWithContext is the same as ListConnectorDefinitionVersions with the addition of
  4658  // the ability to pass a context and additional request options.
  4659  //
  4660  // See ListConnectorDefinitionVersions for details on how to use this API operation.
  4661  //
  4662  // The context must be non-nil and will be used for request cancellation. If
  4663  // the context is nil a panic will occur. In the future the SDK may create
  4664  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4665  // for more information on using Contexts.
  4666  func (c *Greengrass) ListConnectorDefinitionVersionsWithContext(ctx aws.Context, input *ListConnectorDefinitionVersionsInput, opts ...request.Option) (*ListConnectorDefinitionVersionsOutput, error) {
  4667  	req, out := c.ListConnectorDefinitionVersionsRequest(input)
  4668  	req.SetContext(ctx)
  4669  	req.ApplyOptions(opts...)
  4670  	return out, req.Send()
  4671  }
  4672  
  4673  const opListConnectorDefinitions = "ListConnectorDefinitions"
  4674  
  4675  // ListConnectorDefinitionsRequest generates a "aws/request.Request" representing the
  4676  // client's request for the ListConnectorDefinitions operation. The "output" return
  4677  // value will be populated with the request's response once the request completes
  4678  // successfully.
  4679  //
  4680  // Use "Send" method on the returned Request to send the API call to the service.
  4681  // the "output" return value is not valid until after Send returns without error.
  4682  //
  4683  // See ListConnectorDefinitions for more information on using the ListConnectorDefinitions
  4684  // API call, and error handling.
  4685  //
  4686  // This method is useful when you want to inject custom logic or configuration
  4687  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4688  //
  4689  //
  4690  //    // Example sending a request using the ListConnectorDefinitionsRequest method.
  4691  //    req, resp := client.ListConnectorDefinitionsRequest(params)
  4692  //
  4693  //    err := req.Send()
  4694  //    if err == nil { // resp is now filled
  4695  //        fmt.Println(resp)
  4696  //    }
  4697  //
  4698  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListConnectorDefinitions
  4699  func (c *Greengrass) ListConnectorDefinitionsRequest(input *ListConnectorDefinitionsInput) (req *request.Request, output *ListConnectorDefinitionsOutput) {
  4700  	op := &request.Operation{
  4701  		Name:       opListConnectorDefinitions,
  4702  		HTTPMethod: "GET",
  4703  		HTTPPath:   "/greengrass/definition/connectors",
  4704  	}
  4705  
  4706  	if input == nil {
  4707  		input = &ListConnectorDefinitionsInput{}
  4708  	}
  4709  
  4710  	output = &ListConnectorDefinitionsOutput{}
  4711  	req = c.newRequest(op, input, output)
  4712  	return
  4713  }
  4714  
  4715  // ListConnectorDefinitions API operation for AWS Greengrass.
  4716  //
  4717  // Retrieves a list of connector definitions.
  4718  //
  4719  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4720  // with awserr.Error's Code and Message methods to get detailed information about
  4721  // the error.
  4722  //
  4723  // See the AWS API reference guide for AWS Greengrass's
  4724  // API operation ListConnectorDefinitions for usage and error information.
  4725  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListConnectorDefinitions
  4726  func (c *Greengrass) ListConnectorDefinitions(input *ListConnectorDefinitionsInput) (*ListConnectorDefinitionsOutput, error) {
  4727  	req, out := c.ListConnectorDefinitionsRequest(input)
  4728  	return out, req.Send()
  4729  }
  4730  
  4731  // ListConnectorDefinitionsWithContext is the same as ListConnectorDefinitions with the addition of
  4732  // the ability to pass a context and additional request options.
  4733  //
  4734  // See ListConnectorDefinitions for details on how to use this API operation.
  4735  //
  4736  // The context must be non-nil and will be used for request cancellation. If
  4737  // the context is nil a panic will occur. In the future the SDK may create
  4738  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4739  // for more information on using Contexts.
  4740  func (c *Greengrass) ListConnectorDefinitionsWithContext(ctx aws.Context, input *ListConnectorDefinitionsInput, opts ...request.Option) (*ListConnectorDefinitionsOutput, error) {
  4741  	req, out := c.ListConnectorDefinitionsRequest(input)
  4742  	req.SetContext(ctx)
  4743  	req.ApplyOptions(opts...)
  4744  	return out, req.Send()
  4745  }
  4746  
  4747  const opListCoreDefinitionVersions = "ListCoreDefinitionVersions"
  4748  
  4749  // ListCoreDefinitionVersionsRequest generates a "aws/request.Request" representing the
  4750  // client's request for the ListCoreDefinitionVersions operation. The "output" return
  4751  // value will be populated with the request's response once the request completes
  4752  // successfully.
  4753  //
  4754  // Use "Send" method on the returned Request to send the API call to the service.
  4755  // the "output" return value is not valid until after Send returns without error.
  4756  //
  4757  // See ListCoreDefinitionVersions for more information on using the ListCoreDefinitionVersions
  4758  // API call, and error handling.
  4759  //
  4760  // This method is useful when you want to inject custom logic or configuration
  4761  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4762  //
  4763  //
  4764  //    // Example sending a request using the ListCoreDefinitionVersionsRequest method.
  4765  //    req, resp := client.ListCoreDefinitionVersionsRequest(params)
  4766  //
  4767  //    err := req.Send()
  4768  //    if err == nil { // resp is now filled
  4769  //        fmt.Println(resp)
  4770  //    }
  4771  //
  4772  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListCoreDefinitionVersions
  4773  func (c *Greengrass) ListCoreDefinitionVersionsRequest(input *ListCoreDefinitionVersionsInput) (req *request.Request, output *ListCoreDefinitionVersionsOutput) {
  4774  	op := &request.Operation{
  4775  		Name:       opListCoreDefinitionVersions,
  4776  		HTTPMethod: "GET",
  4777  		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}/versions",
  4778  	}
  4779  
  4780  	if input == nil {
  4781  		input = &ListCoreDefinitionVersionsInput{}
  4782  	}
  4783  
  4784  	output = &ListCoreDefinitionVersionsOutput{}
  4785  	req = c.newRequest(op, input, output)
  4786  	return
  4787  }
  4788  
  4789  // ListCoreDefinitionVersions API operation for AWS Greengrass.
  4790  //
  4791  // Lists the versions of a core definition.
  4792  //
  4793  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4794  // with awserr.Error's Code and Message methods to get detailed information about
  4795  // the error.
  4796  //
  4797  // See the AWS API reference guide for AWS Greengrass's
  4798  // API operation ListCoreDefinitionVersions for usage and error information.
  4799  //
  4800  // Returned Error Types:
  4801  //   * BadRequestException
  4802  //   General error information.
  4803  //
  4804  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListCoreDefinitionVersions
  4805  func (c *Greengrass) ListCoreDefinitionVersions(input *ListCoreDefinitionVersionsInput) (*ListCoreDefinitionVersionsOutput, error) {
  4806  	req, out := c.ListCoreDefinitionVersionsRequest(input)
  4807  	return out, req.Send()
  4808  }
  4809  
  4810  // ListCoreDefinitionVersionsWithContext is the same as ListCoreDefinitionVersions with the addition of
  4811  // the ability to pass a context and additional request options.
  4812  //
  4813  // See ListCoreDefinitionVersions for details on how to use this API operation.
  4814  //
  4815  // The context must be non-nil and will be used for request cancellation. If
  4816  // the context is nil a panic will occur. In the future the SDK may create
  4817  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4818  // for more information on using Contexts.
  4819  func (c *Greengrass) ListCoreDefinitionVersionsWithContext(ctx aws.Context, input *ListCoreDefinitionVersionsInput, opts ...request.Option) (*ListCoreDefinitionVersionsOutput, error) {
  4820  	req, out := c.ListCoreDefinitionVersionsRequest(input)
  4821  	req.SetContext(ctx)
  4822  	req.ApplyOptions(opts...)
  4823  	return out, req.Send()
  4824  }
  4825  
  4826  const opListCoreDefinitions = "ListCoreDefinitions"
  4827  
  4828  // ListCoreDefinitionsRequest generates a "aws/request.Request" representing the
  4829  // client's request for the ListCoreDefinitions operation. The "output" return
  4830  // value will be populated with the request's response once the request completes
  4831  // successfully.
  4832  //
  4833  // Use "Send" method on the returned Request to send the API call to the service.
  4834  // the "output" return value is not valid until after Send returns without error.
  4835  //
  4836  // See ListCoreDefinitions for more information on using the ListCoreDefinitions
  4837  // API call, and error handling.
  4838  //
  4839  // This method is useful when you want to inject custom logic or configuration
  4840  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4841  //
  4842  //
  4843  //    // Example sending a request using the ListCoreDefinitionsRequest method.
  4844  //    req, resp := client.ListCoreDefinitionsRequest(params)
  4845  //
  4846  //    err := req.Send()
  4847  //    if err == nil { // resp is now filled
  4848  //        fmt.Println(resp)
  4849  //    }
  4850  //
  4851  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListCoreDefinitions
  4852  func (c *Greengrass) ListCoreDefinitionsRequest(input *ListCoreDefinitionsInput) (req *request.Request, output *ListCoreDefinitionsOutput) {
  4853  	op := &request.Operation{
  4854  		Name:       opListCoreDefinitions,
  4855  		HTTPMethod: "GET",
  4856  		HTTPPath:   "/greengrass/definition/cores",
  4857  	}
  4858  
  4859  	if input == nil {
  4860  		input = &ListCoreDefinitionsInput{}
  4861  	}
  4862  
  4863  	output = &ListCoreDefinitionsOutput{}
  4864  	req = c.newRequest(op, input, output)
  4865  	return
  4866  }
  4867  
  4868  // ListCoreDefinitions API operation for AWS Greengrass.
  4869  //
  4870  // Retrieves a list of core definitions.
  4871  //
  4872  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4873  // with awserr.Error's Code and Message methods to get detailed information about
  4874  // the error.
  4875  //
  4876  // See the AWS API reference guide for AWS Greengrass's
  4877  // API operation ListCoreDefinitions for usage and error information.
  4878  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListCoreDefinitions
  4879  func (c *Greengrass) ListCoreDefinitions(input *ListCoreDefinitionsInput) (*ListCoreDefinitionsOutput, error) {
  4880  	req, out := c.ListCoreDefinitionsRequest(input)
  4881  	return out, req.Send()
  4882  }
  4883  
  4884  // ListCoreDefinitionsWithContext is the same as ListCoreDefinitions with the addition of
  4885  // the ability to pass a context and additional request options.
  4886  //
  4887  // See ListCoreDefinitions for details on how to use this API operation.
  4888  //
  4889  // The context must be non-nil and will be used for request cancellation. If
  4890  // the context is nil a panic will occur. In the future the SDK may create
  4891  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4892  // for more information on using Contexts.
  4893  func (c *Greengrass) ListCoreDefinitionsWithContext(ctx aws.Context, input *ListCoreDefinitionsInput, opts ...request.Option) (*ListCoreDefinitionsOutput, error) {
  4894  	req, out := c.ListCoreDefinitionsRequest(input)
  4895  	req.SetContext(ctx)
  4896  	req.ApplyOptions(opts...)
  4897  	return out, req.Send()
  4898  }
  4899  
  4900  const opListDeployments = "ListDeployments"
  4901  
  4902  // ListDeploymentsRequest generates a "aws/request.Request" representing the
  4903  // client's request for the ListDeployments operation. The "output" return
  4904  // value will be populated with the request's response once the request completes
  4905  // successfully.
  4906  //
  4907  // Use "Send" method on the returned Request to send the API call to the service.
  4908  // the "output" return value is not valid until after Send returns without error.
  4909  //
  4910  // See ListDeployments for more information on using the ListDeployments
  4911  // API call, and error handling.
  4912  //
  4913  // This method is useful when you want to inject custom logic or configuration
  4914  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4915  //
  4916  //
  4917  //    // Example sending a request using the ListDeploymentsRequest method.
  4918  //    req, resp := client.ListDeploymentsRequest(params)
  4919  //
  4920  //    err := req.Send()
  4921  //    if err == nil { // resp is now filled
  4922  //        fmt.Println(resp)
  4923  //    }
  4924  //
  4925  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeployments
  4926  func (c *Greengrass) ListDeploymentsRequest(input *ListDeploymentsInput) (req *request.Request, output *ListDeploymentsOutput) {
  4927  	op := &request.Operation{
  4928  		Name:       opListDeployments,
  4929  		HTTPMethod: "GET",
  4930  		HTTPPath:   "/greengrass/groups/{GroupId}/deployments",
  4931  	}
  4932  
  4933  	if input == nil {
  4934  		input = &ListDeploymentsInput{}
  4935  	}
  4936  
  4937  	output = &ListDeploymentsOutput{}
  4938  	req = c.newRequest(op, input, output)
  4939  	return
  4940  }
  4941  
  4942  // ListDeployments API operation for AWS Greengrass.
  4943  //
  4944  // Returns a history of deployments for the group.
  4945  //
  4946  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4947  // with awserr.Error's Code and Message methods to get detailed information about
  4948  // the error.
  4949  //
  4950  // See the AWS API reference guide for AWS Greengrass's
  4951  // API operation ListDeployments for usage and error information.
  4952  //
  4953  // Returned Error Types:
  4954  //   * BadRequestException
  4955  //   General error information.
  4956  //
  4957  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeployments
  4958  func (c *Greengrass) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) {
  4959  	req, out := c.ListDeploymentsRequest(input)
  4960  	return out, req.Send()
  4961  }
  4962  
  4963  // ListDeploymentsWithContext is the same as ListDeployments with the addition of
  4964  // the ability to pass a context and additional request options.
  4965  //
  4966  // See ListDeployments for details on how to use this API operation.
  4967  //
  4968  // The context must be non-nil and will be used for request cancellation. If
  4969  // the context is nil a panic will occur. In the future the SDK may create
  4970  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4971  // for more information on using Contexts.
  4972  func (c *Greengrass) ListDeploymentsWithContext(ctx aws.Context, input *ListDeploymentsInput, opts ...request.Option) (*ListDeploymentsOutput, error) {
  4973  	req, out := c.ListDeploymentsRequest(input)
  4974  	req.SetContext(ctx)
  4975  	req.ApplyOptions(opts...)
  4976  	return out, req.Send()
  4977  }
  4978  
  4979  const opListDeviceDefinitionVersions = "ListDeviceDefinitionVersions"
  4980  
  4981  // ListDeviceDefinitionVersionsRequest generates a "aws/request.Request" representing the
  4982  // client's request for the ListDeviceDefinitionVersions operation. The "output" return
  4983  // value will be populated with the request's response once the request completes
  4984  // successfully.
  4985  //
  4986  // Use "Send" method on the returned Request to send the API call to the service.
  4987  // the "output" return value is not valid until after Send returns without error.
  4988  //
  4989  // See ListDeviceDefinitionVersions for more information on using the ListDeviceDefinitionVersions
  4990  // API call, and error handling.
  4991  //
  4992  // This method is useful when you want to inject custom logic or configuration
  4993  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4994  //
  4995  //
  4996  //    // Example sending a request using the ListDeviceDefinitionVersionsRequest method.
  4997  //    req, resp := client.ListDeviceDefinitionVersionsRequest(params)
  4998  //
  4999  //    err := req.Send()
  5000  //    if err == nil { // resp is now filled
  5001  //        fmt.Println(resp)
  5002  //    }
  5003  //
  5004  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeviceDefinitionVersions
  5005  func (c *Greengrass) ListDeviceDefinitionVersionsRequest(input *ListDeviceDefinitionVersionsInput) (req *request.Request, output *ListDeviceDefinitionVersionsOutput) {
  5006  	op := &request.Operation{
  5007  		Name:       opListDeviceDefinitionVersions,
  5008  		HTTPMethod: "GET",
  5009  		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}/versions",
  5010  	}
  5011  
  5012  	if input == nil {
  5013  		input = &ListDeviceDefinitionVersionsInput{}
  5014  	}
  5015  
  5016  	output = &ListDeviceDefinitionVersionsOutput{}
  5017  	req = c.newRequest(op, input, output)
  5018  	return
  5019  }
  5020  
  5021  // ListDeviceDefinitionVersions API operation for AWS Greengrass.
  5022  //
  5023  // Lists the versions of a device definition.
  5024  //
  5025  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5026  // with awserr.Error's Code and Message methods to get detailed information about
  5027  // the error.
  5028  //
  5029  // See the AWS API reference guide for AWS Greengrass's
  5030  // API operation ListDeviceDefinitionVersions for usage and error information.
  5031  //
  5032  // Returned Error Types:
  5033  //   * BadRequestException
  5034  //   General error information.
  5035  //
  5036  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeviceDefinitionVersions
  5037  func (c *Greengrass) ListDeviceDefinitionVersions(input *ListDeviceDefinitionVersionsInput) (*ListDeviceDefinitionVersionsOutput, error) {
  5038  	req, out := c.ListDeviceDefinitionVersionsRequest(input)
  5039  	return out, req.Send()
  5040  }
  5041  
  5042  // ListDeviceDefinitionVersionsWithContext is the same as ListDeviceDefinitionVersions with the addition of
  5043  // the ability to pass a context and additional request options.
  5044  //
  5045  // See ListDeviceDefinitionVersions for details on how to use this API operation.
  5046  //
  5047  // The context must be non-nil and will be used for request cancellation. If
  5048  // the context is nil a panic will occur. In the future the SDK may create
  5049  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5050  // for more information on using Contexts.
  5051  func (c *Greengrass) ListDeviceDefinitionVersionsWithContext(ctx aws.Context, input *ListDeviceDefinitionVersionsInput, opts ...request.Option) (*ListDeviceDefinitionVersionsOutput, error) {
  5052  	req, out := c.ListDeviceDefinitionVersionsRequest(input)
  5053  	req.SetContext(ctx)
  5054  	req.ApplyOptions(opts...)
  5055  	return out, req.Send()
  5056  }
  5057  
  5058  const opListDeviceDefinitions = "ListDeviceDefinitions"
  5059  
  5060  // ListDeviceDefinitionsRequest generates a "aws/request.Request" representing the
  5061  // client's request for the ListDeviceDefinitions operation. The "output" return
  5062  // value will be populated with the request's response once the request completes
  5063  // successfully.
  5064  //
  5065  // Use "Send" method on the returned Request to send the API call to the service.
  5066  // the "output" return value is not valid until after Send returns without error.
  5067  //
  5068  // See ListDeviceDefinitions for more information on using the ListDeviceDefinitions
  5069  // API call, and error handling.
  5070  //
  5071  // This method is useful when you want to inject custom logic or configuration
  5072  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5073  //
  5074  //
  5075  //    // Example sending a request using the ListDeviceDefinitionsRequest method.
  5076  //    req, resp := client.ListDeviceDefinitionsRequest(params)
  5077  //
  5078  //    err := req.Send()
  5079  //    if err == nil { // resp is now filled
  5080  //        fmt.Println(resp)
  5081  //    }
  5082  //
  5083  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeviceDefinitions
  5084  func (c *Greengrass) ListDeviceDefinitionsRequest(input *ListDeviceDefinitionsInput) (req *request.Request, output *ListDeviceDefinitionsOutput) {
  5085  	op := &request.Operation{
  5086  		Name:       opListDeviceDefinitions,
  5087  		HTTPMethod: "GET",
  5088  		HTTPPath:   "/greengrass/definition/devices",
  5089  	}
  5090  
  5091  	if input == nil {
  5092  		input = &ListDeviceDefinitionsInput{}
  5093  	}
  5094  
  5095  	output = &ListDeviceDefinitionsOutput{}
  5096  	req = c.newRequest(op, input, output)
  5097  	return
  5098  }
  5099  
  5100  // ListDeviceDefinitions API operation for AWS Greengrass.
  5101  //
  5102  // Retrieves a list of device definitions.
  5103  //
  5104  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5105  // with awserr.Error's Code and Message methods to get detailed information about
  5106  // the error.
  5107  //
  5108  // See the AWS API reference guide for AWS Greengrass's
  5109  // API operation ListDeviceDefinitions for usage and error information.
  5110  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListDeviceDefinitions
  5111  func (c *Greengrass) ListDeviceDefinitions(input *ListDeviceDefinitionsInput) (*ListDeviceDefinitionsOutput, error) {
  5112  	req, out := c.ListDeviceDefinitionsRequest(input)
  5113  	return out, req.Send()
  5114  }
  5115  
  5116  // ListDeviceDefinitionsWithContext is the same as ListDeviceDefinitions with the addition of
  5117  // the ability to pass a context and additional request options.
  5118  //
  5119  // See ListDeviceDefinitions for details on how to use this API operation.
  5120  //
  5121  // The context must be non-nil and will be used for request cancellation. If
  5122  // the context is nil a panic will occur. In the future the SDK may create
  5123  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5124  // for more information on using Contexts.
  5125  func (c *Greengrass) ListDeviceDefinitionsWithContext(ctx aws.Context, input *ListDeviceDefinitionsInput, opts ...request.Option) (*ListDeviceDefinitionsOutput, error) {
  5126  	req, out := c.ListDeviceDefinitionsRequest(input)
  5127  	req.SetContext(ctx)
  5128  	req.ApplyOptions(opts...)
  5129  	return out, req.Send()
  5130  }
  5131  
  5132  const opListFunctionDefinitionVersions = "ListFunctionDefinitionVersions"
  5133  
  5134  // ListFunctionDefinitionVersionsRequest generates a "aws/request.Request" representing the
  5135  // client's request for the ListFunctionDefinitionVersions operation. The "output" return
  5136  // value will be populated with the request's response once the request completes
  5137  // successfully.
  5138  //
  5139  // Use "Send" method on the returned Request to send the API call to the service.
  5140  // the "output" return value is not valid until after Send returns without error.
  5141  //
  5142  // See ListFunctionDefinitionVersions for more information on using the ListFunctionDefinitionVersions
  5143  // API call, and error handling.
  5144  //
  5145  // This method is useful when you want to inject custom logic or configuration
  5146  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5147  //
  5148  //
  5149  //    // Example sending a request using the ListFunctionDefinitionVersionsRequest method.
  5150  //    req, resp := client.ListFunctionDefinitionVersionsRequest(params)
  5151  //
  5152  //    err := req.Send()
  5153  //    if err == nil { // resp is now filled
  5154  //        fmt.Println(resp)
  5155  //    }
  5156  //
  5157  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListFunctionDefinitionVersions
  5158  func (c *Greengrass) ListFunctionDefinitionVersionsRequest(input *ListFunctionDefinitionVersionsInput) (req *request.Request, output *ListFunctionDefinitionVersionsOutput) {
  5159  	op := &request.Operation{
  5160  		Name:       opListFunctionDefinitionVersions,
  5161  		HTTPMethod: "GET",
  5162  		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}/versions",
  5163  	}
  5164  
  5165  	if input == nil {
  5166  		input = &ListFunctionDefinitionVersionsInput{}
  5167  	}
  5168  
  5169  	output = &ListFunctionDefinitionVersionsOutput{}
  5170  	req = c.newRequest(op, input, output)
  5171  	return
  5172  }
  5173  
  5174  // ListFunctionDefinitionVersions API operation for AWS Greengrass.
  5175  //
  5176  // Lists the versions of a Lambda function definition.
  5177  //
  5178  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5179  // with awserr.Error's Code and Message methods to get detailed information about
  5180  // the error.
  5181  //
  5182  // See the AWS API reference guide for AWS Greengrass's
  5183  // API operation ListFunctionDefinitionVersions for usage and error information.
  5184  //
  5185  // Returned Error Types:
  5186  //   * BadRequestException
  5187  //   General error information.
  5188  //
  5189  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListFunctionDefinitionVersions
  5190  func (c *Greengrass) ListFunctionDefinitionVersions(input *ListFunctionDefinitionVersionsInput) (*ListFunctionDefinitionVersionsOutput, error) {
  5191  	req, out := c.ListFunctionDefinitionVersionsRequest(input)
  5192  	return out, req.Send()
  5193  }
  5194  
  5195  // ListFunctionDefinitionVersionsWithContext is the same as ListFunctionDefinitionVersions with the addition of
  5196  // the ability to pass a context and additional request options.
  5197  //
  5198  // See ListFunctionDefinitionVersions for details on how to use this API operation.
  5199  //
  5200  // The context must be non-nil and will be used for request cancellation. If
  5201  // the context is nil a panic will occur. In the future the SDK may create
  5202  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5203  // for more information on using Contexts.
  5204  func (c *Greengrass) ListFunctionDefinitionVersionsWithContext(ctx aws.Context, input *ListFunctionDefinitionVersionsInput, opts ...request.Option) (*ListFunctionDefinitionVersionsOutput, error) {
  5205  	req, out := c.ListFunctionDefinitionVersionsRequest(input)
  5206  	req.SetContext(ctx)
  5207  	req.ApplyOptions(opts...)
  5208  	return out, req.Send()
  5209  }
  5210  
  5211  const opListFunctionDefinitions = "ListFunctionDefinitions"
  5212  
  5213  // ListFunctionDefinitionsRequest generates a "aws/request.Request" representing the
  5214  // client's request for the ListFunctionDefinitions operation. The "output" return
  5215  // value will be populated with the request's response once the request completes
  5216  // successfully.
  5217  //
  5218  // Use "Send" method on the returned Request to send the API call to the service.
  5219  // the "output" return value is not valid until after Send returns without error.
  5220  //
  5221  // See ListFunctionDefinitions for more information on using the ListFunctionDefinitions
  5222  // API call, and error handling.
  5223  //
  5224  // This method is useful when you want to inject custom logic or configuration
  5225  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5226  //
  5227  //
  5228  //    // Example sending a request using the ListFunctionDefinitionsRequest method.
  5229  //    req, resp := client.ListFunctionDefinitionsRequest(params)
  5230  //
  5231  //    err := req.Send()
  5232  //    if err == nil { // resp is now filled
  5233  //        fmt.Println(resp)
  5234  //    }
  5235  //
  5236  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListFunctionDefinitions
  5237  func (c *Greengrass) ListFunctionDefinitionsRequest(input *ListFunctionDefinitionsInput) (req *request.Request, output *ListFunctionDefinitionsOutput) {
  5238  	op := &request.Operation{
  5239  		Name:       opListFunctionDefinitions,
  5240  		HTTPMethod: "GET",
  5241  		HTTPPath:   "/greengrass/definition/functions",
  5242  	}
  5243  
  5244  	if input == nil {
  5245  		input = &ListFunctionDefinitionsInput{}
  5246  	}
  5247  
  5248  	output = &ListFunctionDefinitionsOutput{}
  5249  	req = c.newRequest(op, input, output)
  5250  	return
  5251  }
  5252  
  5253  // ListFunctionDefinitions API operation for AWS Greengrass.
  5254  //
  5255  // Retrieves a list of Lambda function definitions.
  5256  //
  5257  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5258  // with awserr.Error's Code and Message methods to get detailed information about
  5259  // the error.
  5260  //
  5261  // See the AWS API reference guide for AWS Greengrass's
  5262  // API operation ListFunctionDefinitions for usage and error information.
  5263  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListFunctionDefinitions
  5264  func (c *Greengrass) ListFunctionDefinitions(input *ListFunctionDefinitionsInput) (*ListFunctionDefinitionsOutput, error) {
  5265  	req, out := c.ListFunctionDefinitionsRequest(input)
  5266  	return out, req.Send()
  5267  }
  5268  
  5269  // ListFunctionDefinitionsWithContext is the same as ListFunctionDefinitions with the addition of
  5270  // the ability to pass a context and additional request options.
  5271  //
  5272  // See ListFunctionDefinitions for details on how to use this API operation.
  5273  //
  5274  // The context must be non-nil and will be used for request cancellation. If
  5275  // the context is nil a panic will occur. In the future the SDK may create
  5276  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5277  // for more information on using Contexts.
  5278  func (c *Greengrass) ListFunctionDefinitionsWithContext(ctx aws.Context, input *ListFunctionDefinitionsInput, opts ...request.Option) (*ListFunctionDefinitionsOutput, error) {
  5279  	req, out := c.ListFunctionDefinitionsRequest(input)
  5280  	req.SetContext(ctx)
  5281  	req.ApplyOptions(opts...)
  5282  	return out, req.Send()
  5283  }
  5284  
  5285  const opListGroupCertificateAuthorities = "ListGroupCertificateAuthorities"
  5286  
  5287  // ListGroupCertificateAuthoritiesRequest generates a "aws/request.Request" representing the
  5288  // client's request for the ListGroupCertificateAuthorities operation. The "output" return
  5289  // value will be populated with the request's response once the request completes
  5290  // successfully.
  5291  //
  5292  // Use "Send" method on the returned Request to send the API call to the service.
  5293  // the "output" return value is not valid until after Send returns without error.
  5294  //
  5295  // See ListGroupCertificateAuthorities for more information on using the ListGroupCertificateAuthorities
  5296  // API call, and error handling.
  5297  //
  5298  // This method is useful when you want to inject custom logic or configuration
  5299  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5300  //
  5301  //
  5302  //    // Example sending a request using the ListGroupCertificateAuthoritiesRequest method.
  5303  //    req, resp := client.ListGroupCertificateAuthoritiesRequest(params)
  5304  //
  5305  //    err := req.Send()
  5306  //    if err == nil { // resp is now filled
  5307  //        fmt.Println(resp)
  5308  //    }
  5309  //
  5310  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroupCertificateAuthorities
  5311  func (c *Greengrass) ListGroupCertificateAuthoritiesRequest(input *ListGroupCertificateAuthoritiesInput) (req *request.Request, output *ListGroupCertificateAuthoritiesOutput) {
  5312  	op := &request.Operation{
  5313  		Name:       opListGroupCertificateAuthorities,
  5314  		HTTPMethod: "GET",
  5315  		HTTPPath:   "/greengrass/groups/{GroupId}/certificateauthorities",
  5316  	}
  5317  
  5318  	if input == nil {
  5319  		input = &ListGroupCertificateAuthoritiesInput{}
  5320  	}
  5321  
  5322  	output = &ListGroupCertificateAuthoritiesOutput{}
  5323  	req = c.newRequest(op, input, output)
  5324  	return
  5325  }
  5326  
  5327  // ListGroupCertificateAuthorities API operation for AWS Greengrass.
  5328  //
  5329  // Retrieves the current CAs for a group.
  5330  //
  5331  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5332  // with awserr.Error's Code and Message methods to get detailed information about
  5333  // the error.
  5334  //
  5335  // See the AWS API reference guide for AWS Greengrass's
  5336  // API operation ListGroupCertificateAuthorities for usage and error information.
  5337  //
  5338  // Returned Error Types:
  5339  //   * BadRequestException
  5340  //   General error information.
  5341  //
  5342  //   * InternalServerErrorException
  5343  //   General error information.
  5344  //
  5345  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroupCertificateAuthorities
  5346  func (c *Greengrass) ListGroupCertificateAuthorities(input *ListGroupCertificateAuthoritiesInput) (*ListGroupCertificateAuthoritiesOutput, error) {
  5347  	req, out := c.ListGroupCertificateAuthoritiesRequest(input)
  5348  	return out, req.Send()
  5349  }
  5350  
  5351  // ListGroupCertificateAuthoritiesWithContext is the same as ListGroupCertificateAuthorities with the addition of
  5352  // the ability to pass a context and additional request options.
  5353  //
  5354  // See ListGroupCertificateAuthorities for details on how to use this API operation.
  5355  //
  5356  // The context must be non-nil and will be used for request cancellation. If
  5357  // the context is nil a panic will occur. In the future the SDK may create
  5358  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5359  // for more information on using Contexts.
  5360  func (c *Greengrass) ListGroupCertificateAuthoritiesWithContext(ctx aws.Context, input *ListGroupCertificateAuthoritiesInput, opts ...request.Option) (*ListGroupCertificateAuthoritiesOutput, error) {
  5361  	req, out := c.ListGroupCertificateAuthoritiesRequest(input)
  5362  	req.SetContext(ctx)
  5363  	req.ApplyOptions(opts...)
  5364  	return out, req.Send()
  5365  }
  5366  
  5367  const opListGroupVersions = "ListGroupVersions"
  5368  
  5369  // ListGroupVersionsRequest generates a "aws/request.Request" representing the
  5370  // client's request for the ListGroupVersions operation. The "output" return
  5371  // value will be populated with the request's response once the request completes
  5372  // successfully.
  5373  //
  5374  // Use "Send" method on the returned Request to send the API call to the service.
  5375  // the "output" return value is not valid until after Send returns without error.
  5376  //
  5377  // See ListGroupVersions for more information on using the ListGroupVersions
  5378  // API call, and error handling.
  5379  //
  5380  // This method is useful when you want to inject custom logic or configuration
  5381  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5382  //
  5383  //
  5384  //    // Example sending a request using the ListGroupVersionsRequest method.
  5385  //    req, resp := client.ListGroupVersionsRequest(params)
  5386  //
  5387  //    err := req.Send()
  5388  //    if err == nil { // resp is now filled
  5389  //        fmt.Println(resp)
  5390  //    }
  5391  //
  5392  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroupVersions
  5393  func (c *Greengrass) ListGroupVersionsRequest(input *ListGroupVersionsInput) (req *request.Request, output *ListGroupVersionsOutput) {
  5394  	op := &request.Operation{
  5395  		Name:       opListGroupVersions,
  5396  		HTTPMethod: "GET",
  5397  		HTTPPath:   "/greengrass/groups/{GroupId}/versions",
  5398  	}
  5399  
  5400  	if input == nil {
  5401  		input = &ListGroupVersionsInput{}
  5402  	}
  5403  
  5404  	output = &ListGroupVersionsOutput{}
  5405  	req = c.newRequest(op, input, output)
  5406  	return
  5407  }
  5408  
  5409  // ListGroupVersions API operation for AWS Greengrass.
  5410  //
  5411  // Lists the versions of a group.
  5412  //
  5413  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5414  // with awserr.Error's Code and Message methods to get detailed information about
  5415  // the error.
  5416  //
  5417  // See the AWS API reference guide for AWS Greengrass's
  5418  // API operation ListGroupVersions for usage and error information.
  5419  //
  5420  // Returned Error Types:
  5421  //   * BadRequestException
  5422  //   General error information.
  5423  //
  5424  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroupVersions
  5425  func (c *Greengrass) ListGroupVersions(input *ListGroupVersionsInput) (*ListGroupVersionsOutput, error) {
  5426  	req, out := c.ListGroupVersionsRequest(input)
  5427  	return out, req.Send()
  5428  }
  5429  
  5430  // ListGroupVersionsWithContext is the same as ListGroupVersions with the addition of
  5431  // the ability to pass a context and additional request options.
  5432  //
  5433  // See ListGroupVersions for details on how to use this API operation.
  5434  //
  5435  // The context must be non-nil and will be used for request cancellation. If
  5436  // the context is nil a panic will occur. In the future the SDK may create
  5437  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5438  // for more information on using Contexts.
  5439  func (c *Greengrass) ListGroupVersionsWithContext(ctx aws.Context, input *ListGroupVersionsInput, opts ...request.Option) (*ListGroupVersionsOutput, error) {
  5440  	req, out := c.ListGroupVersionsRequest(input)
  5441  	req.SetContext(ctx)
  5442  	req.ApplyOptions(opts...)
  5443  	return out, req.Send()
  5444  }
  5445  
  5446  const opListGroups = "ListGroups"
  5447  
  5448  // ListGroupsRequest generates a "aws/request.Request" representing the
  5449  // client's request for the ListGroups operation. The "output" return
  5450  // value will be populated with the request's response once the request completes
  5451  // successfully.
  5452  //
  5453  // Use "Send" method on the returned Request to send the API call to the service.
  5454  // the "output" return value is not valid until after Send returns without error.
  5455  //
  5456  // See ListGroups for more information on using the ListGroups
  5457  // API call, and error handling.
  5458  //
  5459  // This method is useful when you want to inject custom logic or configuration
  5460  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5461  //
  5462  //
  5463  //    // Example sending a request using the ListGroupsRequest method.
  5464  //    req, resp := client.ListGroupsRequest(params)
  5465  //
  5466  //    err := req.Send()
  5467  //    if err == nil { // resp is now filled
  5468  //        fmt.Println(resp)
  5469  //    }
  5470  //
  5471  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroups
  5472  func (c *Greengrass) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) {
  5473  	op := &request.Operation{
  5474  		Name:       opListGroups,
  5475  		HTTPMethod: "GET",
  5476  		HTTPPath:   "/greengrass/groups",
  5477  	}
  5478  
  5479  	if input == nil {
  5480  		input = &ListGroupsInput{}
  5481  	}
  5482  
  5483  	output = &ListGroupsOutput{}
  5484  	req = c.newRequest(op, input, output)
  5485  	return
  5486  }
  5487  
  5488  // ListGroups API operation for AWS Greengrass.
  5489  //
  5490  // Retrieves a list of groups.
  5491  //
  5492  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5493  // with awserr.Error's Code and Message methods to get detailed information about
  5494  // the error.
  5495  //
  5496  // See the AWS API reference guide for AWS Greengrass's
  5497  // API operation ListGroups for usage and error information.
  5498  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListGroups
  5499  func (c *Greengrass) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) {
  5500  	req, out := c.ListGroupsRequest(input)
  5501  	return out, req.Send()
  5502  }
  5503  
  5504  // ListGroupsWithContext is the same as ListGroups with the addition of
  5505  // the ability to pass a context and additional request options.
  5506  //
  5507  // See ListGroups for details on how to use this API operation.
  5508  //
  5509  // The context must be non-nil and will be used for request cancellation. If
  5510  // the context is nil a panic will occur. In the future the SDK may create
  5511  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5512  // for more information on using Contexts.
  5513  func (c *Greengrass) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) {
  5514  	req, out := c.ListGroupsRequest(input)
  5515  	req.SetContext(ctx)
  5516  	req.ApplyOptions(opts...)
  5517  	return out, req.Send()
  5518  }
  5519  
  5520  const opListLoggerDefinitionVersions = "ListLoggerDefinitionVersions"
  5521  
  5522  // ListLoggerDefinitionVersionsRequest generates a "aws/request.Request" representing the
  5523  // client's request for the ListLoggerDefinitionVersions operation. The "output" return
  5524  // value will be populated with the request's response once the request completes
  5525  // successfully.
  5526  //
  5527  // Use "Send" method on the returned Request to send the API call to the service.
  5528  // the "output" return value is not valid until after Send returns without error.
  5529  //
  5530  // See ListLoggerDefinitionVersions for more information on using the ListLoggerDefinitionVersions
  5531  // API call, and error handling.
  5532  //
  5533  // This method is useful when you want to inject custom logic or configuration
  5534  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5535  //
  5536  //
  5537  //    // Example sending a request using the ListLoggerDefinitionVersionsRequest method.
  5538  //    req, resp := client.ListLoggerDefinitionVersionsRequest(params)
  5539  //
  5540  //    err := req.Send()
  5541  //    if err == nil { // resp is now filled
  5542  //        fmt.Println(resp)
  5543  //    }
  5544  //
  5545  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListLoggerDefinitionVersions
  5546  func (c *Greengrass) ListLoggerDefinitionVersionsRequest(input *ListLoggerDefinitionVersionsInput) (req *request.Request, output *ListLoggerDefinitionVersionsOutput) {
  5547  	op := &request.Operation{
  5548  		Name:       opListLoggerDefinitionVersions,
  5549  		HTTPMethod: "GET",
  5550  		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}/versions",
  5551  	}
  5552  
  5553  	if input == nil {
  5554  		input = &ListLoggerDefinitionVersionsInput{}
  5555  	}
  5556  
  5557  	output = &ListLoggerDefinitionVersionsOutput{}
  5558  	req = c.newRequest(op, input, output)
  5559  	return
  5560  }
  5561  
  5562  // ListLoggerDefinitionVersions API operation for AWS Greengrass.
  5563  //
  5564  // Lists the versions of a logger definition.
  5565  //
  5566  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5567  // with awserr.Error's Code and Message methods to get detailed information about
  5568  // the error.
  5569  //
  5570  // See the AWS API reference guide for AWS Greengrass's
  5571  // API operation ListLoggerDefinitionVersions for usage and error information.
  5572  //
  5573  // Returned Error Types:
  5574  //   * BadRequestException
  5575  //   General error information.
  5576  //
  5577  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListLoggerDefinitionVersions
  5578  func (c *Greengrass) ListLoggerDefinitionVersions(input *ListLoggerDefinitionVersionsInput) (*ListLoggerDefinitionVersionsOutput, error) {
  5579  	req, out := c.ListLoggerDefinitionVersionsRequest(input)
  5580  	return out, req.Send()
  5581  }
  5582  
  5583  // ListLoggerDefinitionVersionsWithContext is the same as ListLoggerDefinitionVersions with the addition of
  5584  // the ability to pass a context and additional request options.
  5585  //
  5586  // See ListLoggerDefinitionVersions for details on how to use this API operation.
  5587  //
  5588  // The context must be non-nil and will be used for request cancellation. If
  5589  // the context is nil a panic will occur. In the future the SDK may create
  5590  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5591  // for more information on using Contexts.
  5592  func (c *Greengrass) ListLoggerDefinitionVersionsWithContext(ctx aws.Context, input *ListLoggerDefinitionVersionsInput, opts ...request.Option) (*ListLoggerDefinitionVersionsOutput, error) {
  5593  	req, out := c.ListLoggerDefinitionVersionsRequest(input)
  5594  	req.SetContext(ctx)
  5595  	req.ApplyOptions(opts...)
  5596  	return out, req.Send()
  5597  }
  5598  
  5599  const opListLoggerDefinitions = "ListLoggerDefinitions"
  5600  
  5601  // ListLoggerDefinitionsRequest generates a "aws/request.Request" representing the
  5602  // client's request for the ListLoggerDefinitions operation. The "output" return
  5603  // value will be populated with the request's response once the request completes
  5604  // successfully.
  5605  //
  5606  // Use "Send" method on the returned Request to send the API call to the service.
  5607  // the "output" return value is not valid until after Send returns without error.
  5608  //
  5609  // See ListLoggerDefinitions for more information on using the ListLoggerDefinitions
  5610  // API call, and error handling.
  5611  //
  5612  // This method is useful when you want to inject custom logic or configuration
  5613  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5614  //
  5615  //
  5616  //    // Example sending a request using the ListLoggerDefinitionsRequest method.
  5617  //    req, resp := client.ListLoggerDefinitionsRequest(params)
  5618  //
  5619  //    err := req.Send()
  5620  //    if err == nil { // resp is now filled
  5621  //        fmt.Println(resp)
  5622  //    }
  5623  //
  5624  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListLoggerDefinitions
  5625  func (c *Greengrass) ListLoggerDefinitionsRequest(input *ListLoggerDefinitionsInput) (req *request.Request, output *ListLoggerDefinitionsOutput) {
  5626  	op := &request.Operation{
  5627  		Name:       opListLoggerDefinitions,
  5628  		HTTPMethod: "GET",
  5629  		HTTPPath:   "/greengrass/definition/loggers",
  5630  	}
  5631  
  5632  	if input == nil {
  5633  		input = &ListLoggerDefinitionsInput{}
  5634  	}
  5635  
  5636  	output = &ListLoggerDefinitionsOutput{}
  5637  	req = c.newRequest(op, input, output)
  5638  	return
  5639  }
  5640  
  5641  // ListLoggerDefinitions API operation for AWS Greengrass.
  5642  //
  5643  // Retrieves a list of logger definitions.
  5644  //
  5645  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5646  // with awserr.Error's Code and Message methods to get detailed information about
  5647  // the error.
  5648  //
  5649  // See the AWS API reference guide for AWS Greengrass's
  5650  // API operation ListLoggerDefinitions for usage and error information.
  5651  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListLoggerDefinitions
  5652  func (c *Greengrass) ListLoggerDefinitions(input *ListLoggerDefinitionsInput) (*ListLoggerDefinitionsOutput, error) {
  5653  	req, out := c.ListLoggerDefinitionsRequest(input)
  5654  	return out, req.Send()
  5655  }
  5656  
  5657  // ListLoggerDefinitionsWithContext is the same as ListLoggerDefinitions with the addition of
  5658  // the ability to pass a context and additional request options.
  5659  //
  5660  // See ListLoggerDefinitions for details on how to use this API operation.
  5661  //
  5662  // The context must be non-nil and will be used for request cancellation. If
  5663  // the context is nil a panic will occur. In the future the SDK may create
  5664  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5665  // for more information on using Contexts.
  5666  func (c *Greengrass) ListLoggerDefinitionsWithContext(ctx aws.Context, input *ListLoggerDefinitionsInput, opts ...request.Option) (*ListLoggerDefinitionsOutput, error) {
  5667  	req, out := c.ListLoggerDefinitionsRequest(input)
  5668  	req.SetContext(ctx)
  5669  	req.ApplyOptions(opts...)
  5670  	return out, req.Send()
  5671  }
  5672  
  5673  const opListResourceDefinitionVersions = "ListResourceDefinitionVersions"
  5674  
  5675  // ListResourceDefinitionVersionsRequest generates a "aws/request.Request" representing the
  5676  // client's request for the ListResourceDefinitionVersions operation. The "output" return
  5677  // value will be populated with the request's response once the request completes
  5678  // successfully.
  5679  //
  5680  // Use "Send" method on the returned Request to send the API call to the service.
  5681  // the "output" return value is not valid until after Send returns without error.
  5682  //
  5683  // See ListResourceDefinitionVersions for more information on using the ListResourceDefinitionVersions
  5684  // API call, and error handling.
  5685  //
  5686  // This method is useful when you want to inject custom logic or configuration
  5687  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5688  //
  5689  //
  5690  //    // Example sending a request using the ListResourceDefinitionVersionsRequest method.
  5691  //    req, resp := client.ListResourceDefinitionVersionsRequest(params)
  5692  //
  5693  //    err := req.Send()
  5694  //    if err == nil { // resp is now filled
  5695  //        fmt.Println(resp)
  5696  //    }
  5697  //
  5698  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListResourceDefinitionVersions
  5699  func (c *Greengrass) ListResourceDefinitionVersionsRequest(input *ListResourceDefinitionVersionsInput) (req *request.Request, output *ListResourceDefinitionVersionsOutput) {
  5700  	op := &request.Operation{
  5701  		Name:       opListResourceDefinitionVersions,
  5702  		HTTPMethod: "GET",
  5703  		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}/versions",
  5704  	}
  5705  
  5706  	if input == nil {
  5707  		input = &ListResourceDefinitionVersionsInput{}
  5708  	}
  5709  
  5710  	output = &ListResourceDefinitionVersionsOutput{}
  5711  	req = c.newRequest(op, input, output)
  5712  	return
  5713  }
  5714  
  5715  // ListResourceDefinitionVersions API operation for AWS Greengrass.
  5716  //
  5717  // Lists the versions of a resource definition.
  5718  //
  5719  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5720  // with awserr.Error's Code and Message methods to get detailed information about
  5721  // the error.
  5722  //
  5723  // See the AWS API reference guide for AWS Greengrass's
  5724  // API operation ListResourceDefinitionVersions for usage and error information.
  5725  //
  5726  // Returned Error Types:
  5727  //   * BadRequestException
  5728  //   General error information.
  5729  //
  5730  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListResourceDefinitionVersions
  5731  func (c *Greengrass) ListResourceDefinitionVersions(input *ListResourceDefinitionVersionsInput) (*ListResourceDefinitionVersionsOutput, error) {
  5732  	req, out := c.ListResourceDefinitionVersionsRequest(input)
  5733  	return out, req.Send()
  5734  }
  5735  
  5736  // ListResourceDefinitionVersionsWithContext is the same as ListResourceDefinitionVersions with the addition of
  5737  // the ability to pass a context and additional request options.
  5738  //
  5739  // See ListResourceDefinitionVersions for details on how to use this API operation.
  5740  //
  5741  // The context must be non-nil and will be used for request cancellation. If
  5742  // the context is nil a panic will occur. In the future the SDK may create
  5743  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5744  // for more information on using Contexts.
  5745  func (c *Greengrass) ListResourceDefinitionVersionsWithContext(ctx aws.Context, input *ListResourceDefinitionVersionsInput, opts ...request.Option) (*ListResourceDefinitionVersionsOutput, error) {
  5746  	req, out := c.ListResourceDefinitionVersionsRequest(input)
  5747  	req.SetContext(ctx)
  5748  	req.ApplyOptions(opts...)
  5749  	return out, req.Send()
  5750  }
  5751  
  5752  const opListResourceDefinitions = "ListResourceDefinitions"
  5753  
  5754  // ListResourceDefinitionsRequest generates a "aws/request.Request" representing the
  5755  // client's request for the ListResourceDefinitions operation. The "output" return
  5756  // value will be populated with the request's response once the request completes
  5757  // successfully.
  5758  //
  5759  // Use "Send" method on the returned Request to send the API call to the service.
  5760  // the "output" return value is not valid until after Send returns without error.
  5761  //
  5762  // See ListResourceDefinitions for more information on using the ListResourceDefinitions
  5763  // API call, and error handling.
  5764  //
  5765  // This method is useful when you want to inject custom logic or configuration
  5766  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5767  //
  5768  //
  5769  //    // Example sending a request using the ListResourceDefinitionsRequest method.
  5770  //    req, resp := client.ListResourceDefinitionsRequest(params)
  5771  //
  5772  //    err := req.Send()
  5773  //    if err == nil { // resp is now filled
  5774  //        fmt.Println(resp)
  5775  //    }
  5776  //
  5777  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListResourceDefinitions
  5778  func (c *Greengrass) ListResourceDefinitionsRequest(input *ListResourceDefinitionsInput) (req *request.Request, output *ListResourceDefinitionsOutput) {
  5779  	op := &request.Operation{
  5780  		Name:       opListResourceDefinitions,
  5781  		HTTPMethod: "GET",
  5782  		HTTPPath:   "/greengrass/definition/resources",
  5783  	}
  5784  
  5785  	if input == nil {
  5786  		input = &ListResourceDefinitionsInput{}
  5787  	}
  5788  
  5789  	output = &ListResourceDefinitionsOutput{}
  5790  	req = c.newRequest(op, input, output)
  5791  	return
  5792  }
  5793  
  5794  // ListResourceDefinitions API operation for AWS Greengrass.
  5795  //
  5796  // Retrieves a list of resource definitions.
  5797  //
  5798  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5799  // with awserr.Error's Code and Message methods to get detailed information about
  5800  // the error.
  5801  //
  5802  // See the AWS API reference guide for AWS Greengrass's
  5803  // API operation ListResourceDefinitions for usage and error information.
  5804  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListResourceDefinitions
  5805  func (c *Greengrass) ListResourceDefinitions(input *ListResourceDefinitionsInput) (*ListResourceDefinitionsOutput, error) {
  5806  	req, out := c.ListResourceDefinitionsRequest(input)
  5807  	return out, req.Send()
  5808  }
  5809  
  5810  // ListResourceDefinitionsWithContext is the same as ListResourceDefinitions with the addition of
  5811  // the ability to pass a context and additional request options.
  5812  //
  5813  // See ListResourceDefinitions for details on how to use this API operation.
  5814  //
  5815  // The context must be non-nil and will be used for request cancellation. If
  5816  // the context is nil a panic will occur. In the future the SDK may create
  5817  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5818  // for more information on using Contexts.
  5819  func (c *Greengrass) ListResourceDefinitionsWithContext(ctx aws.Context, input *ListResourceDefinitionsInput, opts ...request.Option) (*ListResourceDefinitionsOutput, error) {
  5820  	req, out := c.ListResourceDefinitionsRequest(input)
  5821  	req.SetContext(ctx)
  5822  	req.ApplyOptions(opts...)
  5823  	return out, req.Send()
  5824  }
  5825  
  5826  const opListSubscriptionDefinitionVersions = "ListSubscriptionDefinitionVersions"
  5827  
  5828  // ListSubscriptionDefinitionVersionsRequest generates a "aws/request.Request" representing the
  5829  // client's request for the ListSubscriptionDefinitionVersions operation. The "output" return
  5830  // value will be populated with the request's response once the request completes
  5831  // successfully.
  5832  //
  5833  // Use "Send" method on the returned Request to send the API call to the service.
  5834  // the "output" return value is not valid until after Send returns without error.
  5835  //
  5836  // See ListSubscriptionDefinitionVersions for more information on using the ListSubscriptionDefinitionVersions
  5837  // API call, and error handling.
  5838  //
  5839  // This method is useful when you want to inject custom logic or configuration
  5840  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5841  //
  5842  //
  5843  //    // Example sending a request using the ListSubscriptionDefinitionVersionsRequest method.
  5844  //    req, resp := client.ListSubscriptionDefinitionVersionsRequest(params)
  5845  //
  5846  //    err := req.Send()
  5847  //    if err == nil { // resp is now filled
  5848  //        fmt.Println(resp)
  5849  //    }
  5850  //
  5851  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListSubscriptionDefinitionVersions
  5852  func (c *Greengrass) ListSubscriptionDefinitionVersionsRequest(input *ListSubscriptionDefinitionVersionsInput) (req *request.Request, output *ListSubscriptionDefinitionVersionsOutput) {
  5853  	op := &request.Operation{
  5854  		Name:       opListSubscriptionDefinitionVersions,
  5855  		HTTPMethod: "GET",
  5856  		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions",
  5857  	}
  5858  
  5859  	if input == nil {
  5860  		input = &ListSubscriptionDefinitionVersionsInput{}
  5861  	}
  5862  
  5863  	output = &ListSubscriptionDefinitionVersionsOutput{}
  5864  	req = c.newRequest(op, input, output)
  5865  	return
  5866  }
  5867  
  5868  // ListSubscriptionDefinitionVersions API operation for AWS Greengrass.
  5869  //
  5870  // Lists the versions of a subscription definition.
  5871  //
  5872  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5873  // with awserr.Error's Code and Message methods to get detailed information about
  5874  // the error.
  5875  //
  5876  // See the AWS API reference guide for AWS Greengrass's
  5877  // API operation ListSubscriptionDefinitionVersions for usage and error information.
  5878  //
  5879  // Returned Error Types:
  5880  //   * BadRequestException
  5881  //   General error information.
  5882  //
  5883  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListSubscriptionDefinitionVersions
  5884  func (c *Greengrass) ListSubscriptionDefinitionVersions(input *ListSubscriptionDefinitionVersionsInput) (*ListSubscriptionDefinitionVersionsOutput, error) {
  5885  	req, out := c.ListSubscriptionDefinitionVersionsRequest(input)
  5886  	return out, req.Send()
  5887  }
  5888  
  5889  // ListSubscriptionDefinitionVersionsWithContext is the same as ListSubscriptionDefinitionVersions with the addition of
  5890  // the ability to pass a context and additional request options.
  5891  //
  5892  // See ListSubscriptionDefinitionVersions for details on how to use this API operation.
  5893  //
  5894  // The context must be non-nil and will be used for request cancellation. If
  5895  // the context is nil a panic will occur. In the future the SDK may create
  5896  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5897  // for more information on using Contexts.
  5898  func (c *Greengrass) ListSubscriptionDefinitionVersionsWithContext(ctx aws.Context, input *ListSubscriptionDefinitionVersionsInput, opts ...request.Option) (*ListSubscriptionDefinitionVersionsOutput, error) {
  5899  	req, out := c.ListSubscriptionDefinitionVersionsRequest(input)
  5900  	req.SetContext(ctx)
  5901  	req.ApplyOptions(opts...)
  5902  	return out, req.Send()
  5903  }
  5904  
  5905  const opListSubscriptionDefinitions = "ListSubscriptionDefinitions"
  5906  
  5907  // ListSubscriptionDefinitionsRequest generates a "aws/request.Request" representing the
  5908  // client's request for the ListSubscriptionDefinitions operation. The "output" return
  5909  // value will be populated with the request's response once the request completes
  5910  // successfully.
  5911  //
  5912  // Use "Send" method on the returned Request to send the API call to the service.
  5913  // the "output" return value is not valid until after Send returns without error.
  5914  //
  5915  // See ListSubscriptionDefinitions for more information on using the ListSubscriptionDefinitions
  5916  // API call, and error handling.
  5917  //
  5918  // This method is useful when you want to inject custom logic or configuration
  5919  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5920  //
  5921  //
  5922  //    // Example sending a request using the ListSubscriptionDefinitionsRequest method.
  5923  //    req, resp := client.ListSubscriptionDefinitionsRequest(params)
  5924  //
  5925  //    err := req.Send()
  5926  //    if err == nil { // resp is now filled
  5927  //        fmt.Println(resp)
  5928  //    }
  5929  //
  5930  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListSubscriptionDefinitions
  5931  func (c *Greengrass) ListSubscriptionDefinitionsRequest(input *ListSubscriptionDefinitionsInput) (req *request.Request, output *ListSubscriptionDefinitionsOutput) {
  5932  	op := &request.Operation{
  5933  		Name:       opListSubscriptionDefinitions,
  5934  		HTTPMethod: "GET",
  5935  		HTTPPath:   "/greengrass/definition/subscriptions",
  5936  	}
  5937  
  5938  	if input == nil {
  5939  		input = &ListSubscriptionDefinitionsInput{}
  5940  	}
  5941  
  5942  	output = &ListSubscriptionDefinitionsOutput{}
  5943  	req = c.newRequest(op, input, output)
  5944  	return
  5945  }
  5946  
  5947  // ListSubscriptionDefinitions API operation for AWS Greengrass.
  5948  //
  5949  // Retrieves a list of subscription definitions.
  5950  //
  5951  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5952  // with awserr.Error's Code and Message methods to get detailed information about
  5953  // the error.
  5954  //
  5955  // See the AWS API reference guide for AWS Greengrass's
  5956  // API operation ListSubscriptionDefinitions for usage and error information.
  5957  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListSubscriptionDefinitions
  5958  func (c *Greengrass) ListSubscriptionDefinitions(input *ListSubscriptionDefinitionsInput) (*ListSubscriptionDefinitionsOutput, error) {
  5959  	req, out := c.ListSubscriptionDefinitionsRequest(input)
  5960  	return out, req.Send()
  5961  }
  5962  
  5963  // ListSubscriptionDefinitionsWithContext is the same as ListSubscriptionDefinitions with the addition of
  5964  // the ability to pass a context and additional request options.
  5965  //
  5966  // See ListSubscriptionDefinitions for details on how to use this API operation.
  5967  //
  5968  // The context must be non-nil and will be used for request cancellation. If
  5969  // the context is nil a panic will occur. In the future the SDK may create
  5970  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5971  // for more information on using Contexts.
  5972  func (c *Greengrass) ListSubscriptionDefinitionsWithContext(ctx aws.Context, input *ListSubscriptionDefinitionsInput, opts ...request.Option) (*ListSubscriptionDefinitionsOutput, error) {
  5973  	req, out := c.ListSubscriptionDefinitionsRequest(input)
  5974  	req.SetContext(ctx)
  5975  	req.ApplyOptions(opts...)
  5976  	return out, req.Send()
  5977  }
  5978  
  5979  const opListTagsForResource = "ListTagsForResource"
  5980  
  5981  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  5982  // client's request for the ListTagsForResource operation. The "output" return
  5983  // value will be populated with the request's response once the request completes
  5984  // successfully.
  5985  //
  5986  // Use "Send" method on the returned Request to send the API call to the service.
  5987  // the "output" return value is not valid until after Send returns without error.
  5988  //
  5989  // See ListTagsForResource for more information on using the ListTagsForResource
  5990  // API call, and error handling.
  5991  //
  5992  // This method is useful when you want to inject custom logic or configuration
  5993  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5994  //
  5995  //
  5996  //    // Example sending a request using the ListTagsForResourceRequest method.
  5997  //    req, resp := client.ListTagsForResourceRequest(params)
  5998  //
  5999  //    err := req.Send()
  6000  //    if err == nil { // resp is now filled
  6001  //        fmt.Println(resp)
  6002  //    }
  6003  //
  6004  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListTagsForResource
  6005  func (c *Greengrass) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  6006  	op := &request.Operation{
  6007  		Name:       opListTagsForResource,
  6008  		HTTPMethod: "GET",
  6009  		HTTPPath:   "/tags/{resource-arn}",
  6010  	}
  6011  
  6012  	if input == nil {
  6013  		input = &ListTagsForResourceInput{}
  6014  	}
  6015  
  6016  	output = &ListTagsForResourceOutput{}
  6017  	req = c.newRequest(op, input, output)
  6018  	return
  6019  }
  6020  
  6021  // ListTagsForResource API operation for AWS Greengrass.
  6022  //
  6023  // Retrieves a list of resource tags for a resource arn.
  6024  //
  6025  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6026  // with awserr.Error's Code and Message methods to get detailed information about
  6027  // the error.
  6028  //
  6029  // See the AWS API reference guide for AWS Greengrass's
  6030  // API operation ListTagsForResource for usage and error information.
  6031  //
  6032  // Returned Error Types:
  6033  //   * BadRequestException
  6034  //   General error information.
  6035  //
  6036  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ListTagsForResource
  6037  func (c *Greengrass) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  6038  	req, out := c.ListTagsForResourceRequest(input)
  6039  	return out, req.Send()
  6040  }
  6041  
  6042  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  6043  // the ability to pass a context and additional request options.
  6044  //
  6045  // See ListTagsForResource for details on how to use this API operation.
  6046  //
  6047  // The context must be non-nil and will be used for request cancellation. If
  6048  // the context is nil a panic will occur. In the future the SDK may create
  6049  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6050  // for more information on using Contexts.
  6051  func (c *Greengrass) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  6052  	req, out := c.ListTagsForResourceRequest(input)
  6053  	req.SetContext(ctx)
  6054  	req.ApplyOptions(opts...)
  6055  	return out, req.Send()
  6056  }
  6057  
  6058  const opResetDeployments = "ResetDeployments"
  6059  
  6060  // ResetDeploymentsRequest generates a "aws/request.Request" representing the
  6061  // client's request for the ResetDeployments operation. The "output" return
  6062  // value will be populated with the request's response once the request completes
  6063  // successfully.
  6064  //
  6065  // Use "Send" method on the returned Request to send the API call to the service.
  6066  // the "output" return value is not valid until after Send returns without error.
  6067  //
  6068  // See ResetDeployments for more information on using the ResetDeployments
  6069  // API call, and error handling.
  6070  //
  6071  // This method is useful when you want to inject custom logic or configuration
  6072  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6073  //
  6074  //
  6075  //    // Example sending a request using the ResetDeploymentsRequest method.
  6076  //    req, resp := client.ResetDeploymentsRequest(params)
  6077  //
  6078  //    err := req.Send()
  6079  //    if err == nil { // resp is now filled
  6080  //        fmt.Println(resp)
  6081  //    }
  6082  //
  6083  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ResetDeployments
  6084  func (c *Greengrass) ResetDeploymentsRequest(input *ResetDeploymentsInput) (req *request.Request, output *ResetDeploymentsOutput) {
  6085  	op := &request.Operation{
  6086  		Name:       opResetDeployments,
  6087  		HTTPMethod: "POST",
  6088  		HTTPPath:   "/greengrass/groups/{GroupId}/deployments/$reset",
  6089  	}
  6090  
  6091  	if input == nil {
  6092  		input = &ResetDeploymentsInput{}
  6093  	}
  6094  
  6095  	output = &ResetDeploymentsOutput{}
  6096  	req = c.newRequest(op, input, output)
  6097  	return
  6098  }
  6099  
  6100  // ResetDeployments API operation for AWS Greengrass.
  6101  //
  6102  // Resets a group's deployments.
  6103  //
  6104  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6105  // with awserr.Error's Code and Message methods to get detailed information about
  6106  // the error.
  6107  //
  6108  // See the AWS API reference guide for AWS Greengrass's
  6109  // API operation ResetDeployments for usage and error information.
  6110  //
  6111  // Returned Error Types:
  6112  //   * BadRequestException
  6113  //   General error information.
  6114  //
  6115  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/ResetDeployments
  6116  func (c *Greengrass) ResetDeployments(input *ResetDeploymentsInput) (*ResetDeploymentsOutput, error) {
  6117  	req, out := c.ResetDeploymentsRequest(input)
  6118  	return out, req.Send()
  6119  }
  6120  
  6121  // ResetDeploymentsWithContext is the same as ResetDeployments with the addition of
  6122  // the ability to pass a context and additional request options.
  6123  //
  6124  // See ResetDeployments for details on how to use this API operation.
  6125  //
  6126  // The context must be non-nil and will be used for request cancellation. If
  6127  // the context is nil a panic will occur. In the future the SDK may create
  6128  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6129  // for more information on using Contexts.
  6130  func (c *Greengrass) ResetDeploymentsWithContext(ctx aws.Context, input *ResetDeploymentsInput, opts ...request.Option) (*ResetDeploymentsOutput, error) {
  6131  	req, out := c.ResetDeploymentsRequest(input)
  6132  	req.SetContext(ctx)
  6133  	req.ApplyOptions(opts...)
  6134  	return out, req.Send()
  6135  }
  6136  
  6137  const opStartBulkDeployment = "StartBulkDeployment"
  6138  
  6139  // StartBulkDeploymentRequest generates a "aws/request.Request" representing the
  6140  // client's request for the StartBulkDeployment operation. The "output" return
  6141  // value will be populated with the request's response once the request completes
  6142  // successfully.
  6143  //
  6144  // Use "Send" method on the returned Request to send the API call to the service.
  6145  // the "output" return value is not valid until after Send returns without error.
  6146  //
  6147  // See StartBulkDeployment for more information on using the StartBulkDeployment
  6148  // API call, and error handling.
  6149  //
  6150  // This method is useful when you want to inject custom logic or configuration
  6151  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6152  //
  6153  //
  6154  //    // Example sending a request using the StartBulkDeploymentRequest method.
  6155  //    req, resp := client.StartBulkDeploymentRequest(params)
  6156  //
  6157  //    err := req.Send()
  6158  //    if err == nil { // resp is now filled
  6159  //        fmt.Println(resp)
  6160  //    }
  6161  //
  6162  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/StartBulkDeployment
  6163  func (c *Greengrass) StartBulkDeploymentRequest(input *StartBulkDeploymentInput) (req *request.Request, output *StartBulkDeploymentOutput) {
  6164  	op := &request.Operation{
  6165  		Name:       opStartBulkDeployment,
  6166  		HTTPMethod: "POST",
  6167  		HTTPPath:   "/greengrass/bulk/deployments",
  6168  	}
  6169  
  6170  	if input == nil {
  6171  		input = &StartBulkDeploymentInput{}
  6172  	}
  6173  
  6174  	output = &StartBulkDeploymentOutput{}
  6175  	req = c.newRequest(op, input, output)
  6176  	return
  6177  }
  6178  
  6179  // StartBulkDeployment API operation for AWS Greengrass.
  6180  //
  6181  // Deploys multiple groups in one operation. This action starts the bulk deployment
  6182  // of a specified set of group versions. Each group version deployment will
  6183  // be triggered with an adaptive rate that has a fixed upper limit. We recommend
  6184  // that you include an ''X-Amzn-Client-Token'' token in every ''StartBulkDeployment''
  6185  // request. These requests are idempotent with respect to the token and the
  6186  // request parameters.
  6187  //
  6188  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6189  // with awserr.Error's Code and Message methods to get detailed information about
  6190  // the error.
  6191  //
  6192  // See the AWS API reference guide for AWS Greengrass's
  6193  // API operation StartBulkDeployment for usage and error information.
  6194  //
  6195  // Returned Error Types:
  6196  //   * BadRequestException
  6197  //   General error information.
  6198  //
  6199  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/StartBulkDeployment
  6200  func (c *Greengrass) StartBulkDeployment(input *StartBulkDeploymentInput) (*StartBulkDeploymentOutput, error) {
  6201  	req, out := c.StartBulkDeploymentRequest(input)
  6202  	return out, req.Send()
  6203  }
  6204  
  6205  // StartBulkDeploymentWithContext is the same as StartBulkDeployment with the addition of
  6206  // the ability to pass a context and additional request options.
  6207  //
  6208  // See StartBulkDeployment for details on how to use this API operation.
  6209  //
  6210  // The context must be non-nil and will be used for request cancellation. If
  6211  // the context is nil a panic will occur. In the future the SDK may create
  6212  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6213  // for more information on using Contexts.
  6214  func (c *Greengrass) StartBulkDeploymentWithContext(ctx aws.Context, input *StartBulkDeploymentInput, opts ...request.Option) (*StartBulkDeploymentOutput, error) {
  6215  	req, out := c.StartBulkDeploymentRequest(input)
  6216  	req.SetContext(ctx)
  6217  	req.ApplyOptions(opts...)
  6218  	return out, req.Send()
  6219  }
  6220  
  6221  const opStopBulkDeployment = "StopBulkDeployment"
  6222  
  6223  // StopBulkDeploymentRequest generates a "aws/request.Request" representing the
  6224  // client's request for the StopBulkDeployment operation. The "output" return
  6225  // value will be populated with the request's response once the request completes
  6226  // successfully.
  6227  //
  6228  // Use "Send" method on the returned Request to send the API call to the service.
  6229  // the "output" return value is not valid until after Send returns without error.
  6230  //
  6231  // See StopBulkDeployment for more information on using the StopBulkDeployment
  6232  // API call, and error handling.
  6233  //
  6234  // This method is useful when you want to inject custom logic or configuration
  6235  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6236  //
  6237  //
  6238  //    // Example sending a request using the StopBulkDeploymentRequest method.
  6239  //    req, resp := client.StopBulkDeploymentRequest(params)
  6240  //
  6241  //    err := req.Send()
  6242  //    if err == nil { // resp is now filled
  6243  //        fmt.Println(resp)
  6244  //    }
  6245  //
  6246  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/StopBulkDeployment
  6247  func (c *Greengrass) StopBulkDeploymentRequest(input *StopBulkDeploymentInput) (req *request.Request, output *StopBulkDeploymentOutput) {
  6248  	op := &request.Operation{
  6249  		Name:       opStopBulkDeployment,
  6250  		HTTPMethod: "PUT",
  6251  		HTTPPath:   "/greengrass/bulk/deployments/{BulkDeploymentId}/$stop",
  6252  	}
  6253  
  6254  	if input == nil {
  6255  		input = &StopBulkDeploymentInput{}
  6256  	}
  6257  
  6258  	output = &StopBulkDeploymentOutput{}
  6259  	req = c.newRequest(op, input, output)
  6260  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6261  	return
  6262  }
  6263  
  6264  // StopBulkDeployment API operation for AWS Greengrass.
  6265  //
  6266  // Stops the execution of a bulk deployment. This action returns a status of
  6267  // ''Stopping'' until the deployment is stopped. You cannot start a new bulk
  6268  // deployment while a previous deployment is in the ''Stopping'' state. This
  6269  // action doesn't rollback completed deployments or cancel pending deployments.
  6270  //
  6271  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6272  // with awserr.Error's Code and Message methods to get detailed information about
  6273  // the error.
  6274  //
  6275  // See the AWS API reference guide for AWS Greengrass's
  6276  // API operation StopBulkDeployment for usage and error information.
  6277  //
  6278  // Returned Error Types:
  6279  //   * BadRequestException
  6280  //   General error information.
  6281  //
  6282  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/StopBulkDeployment
  6283  func (c *Greengrass) StopBulkDeployment(input *StopBulkDeploymentInput) (*StopBulkDeploymentOutput, error) {
  6284  	req, out := c.StopBulkDeploymentRequest(input)
  6285  	return out, req.Send()
  6286  }
  6287  
  6288  // StopBulkDeploymentWithContext is the same as StopBulkDeployment with the addition of
  6289  // the ability to pass a context and additional request options.
  6290  //
  6291  // See StopBulkDeployment for details on how to use this API operation.
  6292  //
  6293  // The context must be non-nil and will be used for request cancellation. If
  6294  // the context is nil a panic will occur. In the future the SDK may create
  6295  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6296  // for more information on using Contexts.
  6297  func (c *Greengrass) StopBulkDeploymentWithContext(ctx aws.Context, input *StopBulkDeploymentInput, opts ...request.Option) (*StopBulkDeploymentOutput, error) {
  6298  	req, out := c.StopBulkDeploymentRequest(input)
  6299  	req.SetContext(ctx)
  6300  	req.ApplyOptions(opts...)
  6301  	return out, req.Send()
  6302  }
  6303  
  6304  const opTagResource = "TagResource"
  6305  
  6306  // TagResourceRequest generates a "aws/request.Request" representing the
  6307  // client's request for the TagResource operation. The "output" return
  6308  // value will be populated with the request's response once the request completes
  6309  // successfully.
  6310  //
  6311  // Use "Send" method on the returned Request to send the API call to the service.
  6312  // the "output" return value is not valid until after Send returns without error.
  6313  //
  6314  // See TagResource for more information on using the TagResource
  6315  // API call, and error handling.
  6316  //
  6317  // This method is useful when you want to inject custom logic or configuration
  6318  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6319  //
  6320  //
  6321  //    // Example sending a request using the TagResourceRequest method.
  6322  //    req, resp := client.TagResourceRequest(params)
  6323  //
  6324  //    err := req.Send()
  6325  //    if err == nil { // resp is now filled
  6326  //        fmt.Println(resp)
  6327  //    }
  6328  //
  6329  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/TagResource
  6330  func (c *Greengrass) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  6331  	op := &request.Operation{
  6332  		Name:       opTagResource,
  6333  		HTTPMethod: "POST",
  6334  		HTTPPath:   "/tags/{resource-arn}",
  6335  	}
  6336  
  6337  	if input == nil {
  6338  		input = &TagResourceInput{}
  6339  	}
  6340  
  6341  	output = &TagResourceOutput{}
  6342  	req = c.newRequest(op, input, output)
  6343  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6344  	return
  6345  }
  6346  
  6347  // TagResource API operation for AWS Greengrass.
  6348  //
  6349  // Adds tags to a Greengrass resource. Valid resources are 'Group', 'ConnectorDefinition',
  6350  // 'CoreDefinition', 'DeviceDefinition', 'FunctionDefinition', 'LoggerDefinition',
  6351  // 'SubscriptionDefinition', 'ResourceDefinition', and 'BulkDeployment'.
  6352  //
  6353  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6354  // with awserr.Error's Code and Message methods to get detailed information about
  6355  // the error.
  6356  //
  6357  // See the AWS API reference guide for AWS Greengrass's
  6358  // API operation TagResource for usage and error information.
  6359  //
  6360  // Returned Error Types:
  6361  //   * BadRequestException
  6362  //   General error information.
  6363  //
  6364  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/TagResource
  6365  func (c *Greengrass) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  6366  	req, out := c.TagResourceRequest(input)
  6367  	return out, req.Send()
  6368  }
  6369  
  6370  // TagResourceWithContext is the same as TagResource with the addition of
  6371  // the ability to pass a context and additional request options.
  6372  //
  6373  // See TagResource for details on how to use this API operation.
  6374  //
  6375  // The context must be non-nil and will be used for request cancellation. If
  6376  // the context is nil a panic will occur. In the future the SDK may create
  6377  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6378  // for more information on using Contexts.
  6379  func (c *Greengrass) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  6380  	req, out := c.TagResourceRequest(input)
  6381  	req.SetContext(ctx)
  6382  	req.ApplyOptions(opts...)
  6383  	return out, req.Send()
  6384  }
  6385  
  6386  const opUntagResource = "UntagResource"
  6387  
  6388  // UntagResourceRequest generates a "aws/request.Request" representing the
  6389  // client's request for the UntagResource operation. The "output" return
  6390  // value will be populated with the request's response once the request completes
  6391  // successfully.
  6392  //
  6393  // Use "Send" method on the returned Request to send the API call to the service.
  6394  // the "output" return value is not valid until after Send returns without error.
  6395  //
  6396  // See UntagResource for more information on using the UntagResource
  6397  // API call, and error handling.
  6398  //
  6399  // This method is useful when you want to inject custom logic or configuration
  6400  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6401  //
  6402  //
  6403  //    // Example sending a request using the UntagResourceRequest method.
  6404  //    req, resp := client.UntagResourceRequest(params)
  6405  //
  6406  //    err := req.Send()
  6407  //    if err == nil { // resp is now filled
  6408  //        fmt.Println(resp)
  6409  //    }
  6410  //
  6411  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UntagResource
  6412  func (c *Greengrass) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  6413  	op := &request.Operation{
  6414  		Name:       opUntagResource,
  6415  		HTTPMethod: "DELETE",
  6416  		HTTPPath:   "/tags/{resource-arn}",
  6417  	}
  6418  
  6419  	if input == nil {
  6420  		input = &UntagResourceInput{}
  6421  	}
  6422  
  6423  	output = &UntagResourceOutput{}
  6424  	req = c.newRequest(op, input, output)
  6425  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6426  	return
  6427  }
  6428  
  6429  // UntagResource API operation for AWS Greengrass.
  6430  //
  6431  // Remove resource tags from a Greengrass Resource.
  6432  //
  6433  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6434  // with awserr.Error's Code and Message methods to get detailed information about
  6435  // the error.
  6436  //
  6437  // See the AWS API reference guide for AWS Greengrass's
  6438  // API operation UntagResource for usage and error information.
  6439  //
  6440  // Returned Error Types:
  6441  //   * BadRequestException
  6442  //   General error information.
  6443  //
  6444  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UntagResource
  6445  func (c *Greengrass) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  6446  	req, out := c.UntagResourceRequest(input)
  6447  	return out, req.Send()
  6448  }
  6449  
  6450  // UntagResourceWithContext is the same as UntagResource with the addition of
  6451  // the ability to pass a context and additional request options.
  6452  //
  6453  // See UntagResource for details on how to use this API operation.
  6454  //
  6455  // The context must be non-nil and will be used for request cancellation. If
  6456  // the context is nil a panic will occur. In the future the SDK may create
  6457  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6458  // for more information on using Contexts.
  6459  func (c *Greengrass) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  6460  	req, out := c.UntagResourceRequest(input)
  6461  	req.SetContext(ctx)
  6462  	req.ApplyOptions(opts...)
  6463  	return out, req.Send()
  6464  }
  6465  
  6466  const opUpdateConnectivityInfo = "UpdateConnectivityInfo"
  6467  
  6468  // UpdateConnectivityInfoRequest generates a "aws/request.Request" representing the
  6469  // client's request for the UpdateConnectivityInfo operation. The "output" return
  6470  // value will be populated with the request's response once the request completes
  6471  // successfully.
  6472  //
  6473  // Use "Send" method on the returned Request to send the API call to the service.
  6474  // the "output" return value is not valid until after Send returns without error.
  6475  //
  6476  // See UpdateConnectivityInfo for more information on using the UpdateConnectivityInfo
  6477  // API call, and error handling.
  6478  //
  6479  // This method is useful when you want to inject custom logic or configuration
  6480  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6481  //
  6482  //
  6483  //    // Example sending a request using the UpdateConnectivityInfoRequest method.
  6484  //    req, resp := client.UpdateConnectivityInfoRequest(params)
  6485  //
  6486  //    err := req.Send()
  6487  //    if err == nil { // resp is now filled
  6488  //        fmt.Println(resp)
  6489  //    }
  6490  //
  6491  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateConnectivityInfo
  6492  func (c *Greengrass) UpdateConnectivityInfoRequest(input *UpdateConnectivityInfoInput) (req *request.Request, output *UpdateConnectivityInfoOutput) {
  6493  	op := &request.Operation{
  6494  		Name:       opUpdateConnectivityInfo,
  6495  		HTTPMethod: "PUT",
  6496  		HTTPPath:   "/greengrass/things/{ThingName}/connectivityInfo",
  6497  	}
  6498  
  6499  	if input == nil {
  6500  		input = &UpdateConnectivityInfoInput{}
  6501  	}
  6502  
  6503  	output = &UpdateConnectivityInfoOutput{}
  6504  	req = c.newRequest(op, input, output)
  6505  	return
  6506  }
  6507  
  6508  // UpdateConnectivityInfo API operation for AWS Greengrass.
  6509  //
  6510  // Updates the connectivity information for the core. Any devices that belong
  6511  // to the group which has this core will receive this information in order to
  6512  // find the location of the core and connect to it.
  6513  //
  6514  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6515  // with awserr.Error's Code and Message methods to get detailed information about
  6516  // the error.
  6517  //
  6518  // See the AWS API reference guide for AWS Greengrass's
  6519  // API operation UpdateConnectivityInfo for usage and error information.
  6520  //
  6521  // Returned Error Types:
  6522  //   * BadRequestException
  6523  //   General error information.
  6524  //
  6525  //   * InternalServerErrorException
  6526  //   General error information.
  6527  //
  6528  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateConnectivityInfo
  6529  func (c *Greengrass) UpdateConnectivityInfo(input *UpdateConnectivityInfoInput) (*UpdateConnectivityInfoOutput, error) {
  6530  	req, out := c.UpdateConnectivityInfoRequest(input)
  6531  	return out, req.Send()
  6532  }
  6533  
  6534  // UpdateConnectivityInfoWithContext is the same as UpdateConnectivityInfo with the addition of
  6535  // the ability to pass a context and additional request options.
  6536  //
  6537  // See UpdateConnectivityInfo for details on how to use this API operation.
  6538  //
  6539  // The context must be non-nil and will be used for request cancellation. If
  6540  // the context is nil a panic will occur. In the future the SDK may create
  6541  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6542  // for more information on using Contexts.
  6543  func (c *Greengrass) UpdateConnectivityInfoWithContext(ctx aws.Context, input *UpdateConnectivityInfoInput, opts ...request.Option) (*UpdateConnectivityInfoOutput, error) {
  6544  	req, out := c.UpdateConnectivityInfoRequest(input)
  6545  	req.SetContext(ctx)
  6546  	req.ApplyOptions(opts...)
  6547  	return out, req.Send()
  6548  }
  6549  
  6550  const opUpdateConnectorDefinition = "UpdateConnectorDefinition"
  6551  
  6552  // UpdateConnectorDefinitionRequest generates a "aws/request.Request" representing the
  6553  // client's request for the UpdateConnectorDefinition operation. The "output" return
  6554  // value will be populated with the request's response once the request completes
  6555  // successfully.
  6556  //
  6557  // Use "Send" method on the returned Request to send the API call to the service.
  6558  // the "output" return value is not valid until after Send returns without error.
  6559  //
  6560  // See UpdateConnectorDefinition for more information on using the UpdateConnectorDefinition
  6561  // API call, and error handling.
  6562  //
  6563  // This method is useful when you want to inject custom logic or configuration
  6564  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6565  //
  6566  //
  6567  //    // Example sending a request using the UpdateConnectorDefinitionRequest method.
  6568  //    req, resp := client.UpdateConnectorDefinitionRequest(params)
  6569  //
  6570  //    err := req.Send()
  6571  //    if err == nil { // resp is now filled
  6572  //        fmt.Println(resp)
  6573  //    }
  6574  //
  6575  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateConnectorDefinition
  6576  func (c *Greengrass) UpdateConnectorDefinitionRequest(input *UpdateConnectorDefinitionInput) (req *request.Request, output *UpdateConnectorDefinitionOutput) {
  6577  	op := &request.Operation{
  6578  		Name:       opUpdateConnectorDefinition,
  6579  		HTTPMethod: "PUT",
  6580  		HTTPPath:   "/greengrass/definition/connectors/{ConnectorDefinitionId}",
  6581  	}
  6582  
  6583  	if input == nil {
  6584  		input = &UpdateConnectorDefinitionInput{}
  6585  	}
  6586  
  6587  	output = &UpdateConnectorDefinitionOutput{}
  6588  	req = c.newRequest(op, input, output)
  6589  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6590  	return
  6591  }
  6592  
  6593  // UpdateConnectorDefinition API operation for AWS Greengrass.
  6594  //
  6595  // Updates a connector definition.
  6596  //
  6597  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6598  // with awserr.Error's Code and Message methods to get detailed information about
  6599  // the error.
  6600  //
  6601  // See the AWS API reference guide for AWS Greengrass's
  6602  // API operation UpdateConnectorDefinition for usage and error information.
  6603  //
  6604  // Returned Error Types:
  6605  //   * BadRequestException
  6606  //   General error information.
  6607  //
  6608  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateConnectorDefinition
  6609  func (c *Greengrass) UpdateConnectorDefinition(input *UpdateConnectorDefinitionInput) (*UpdateConnectorDefinitionOutput, error) {
  6610  	req, out := c.UpdateConnectorDefinitionRequest(input)
  6611  	return out, req.Send()
  6612  }
  6613  
  6614  // UpdateConnectorDefinitionWithContext is the same as UpdateConnectorDefinition with the addition of
  6615  // the ability to pass a context and additional request options.
  6616  //
  6617  // See UpdateConnectorDefinition for details on how to use this API operation.
  6618  //
  6619  // The context must be non-nil and will be used for request cancellation. If
  6620  // the context is nil a panic will occur. In the future the SDK may create
  6621  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6622  // for more information on using Contexts.
  6623  func (c *Greengrass) UpdateConnectorDefinitionWithContext(ctx aws.Context, input *UpdateConnectorDefinitionInput, opts ...request.Option) (*UpdateConnectorDefinitionOutput, error) {
  6624  	req, out := c.UpdateConnectorDefinitionRequest(input)
  6625  	req.SetContext(ctx)
  6626  	req.ApplyOptions(opts...)
  6627  	return out, req.Send()
  6628  }
  6629  
  6630  const opUpdateCoreDefinition = "UpdateCoreDefinition"
  6631  
  6632  // UpdateCoreDefinitionRequest generates a "aws/request.Request" representing the
  6633  // client's request for the UpdateCoreDefinition operation. The "output" return
  6634  // value will be populated with the request's response once the request completes
  6635  // successfully.
  6636  //
  6637  // Use "Send" method on the returned Request to send the API call to the service.
  6638  // the "output" return value is not valid until after Send returns without error.
  6639  //
  6640  // See UpdateCoreDefinition for more information on using the UpdateCoreDefinition
  6641  // API call, and error handling.
  6642  //
  6643  // This method is useful when you want to inject custom logic or configuration
  6644  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6645  //
  6646  //
  6647  //    // Example sending a request using the UpdateCoreDefinitionRequest method.
  6648  //    req, resp := client.UpdateCoreDefinitionRequest(params)
  6649  //
  6650  //    err := req.Send()
  6651  //    if err == nil { // resp is now filled
  6652  //        fmt.Println(resp)
  6653  //    }
  6654  //
  6655  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateCoreDefinition
  6656  func (c *Greengrass) UpdateCoreDefinitionRequest(input *UpdateCoreDefinitionInput) (req *request.Request, output *UpdateCoreDefinitionOutput) {
  6657  	op := &request.Operation{
  6658  		Name:       opUpdateCoreDefinition,
  6659  		HTTPMethod: "PUT",
  6660  		HTTPPath:   "/greengrass/definition/cores/{CoreDefinitionId}",
  6661  	}
  6662  
  6663  	if input == nil {
  6664  		input = &UpdateCoreDefinitionInput{}
  6665  	}
  6666  
  6667  	output = &UpdateCoreDefinitionOutput{}
  6668  	req = c.newRequest(op, input, output)
  6669  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6670  	return
  6671  }
  6672  
  6673  // UpdateCoreDefinition API operation for AWS Greengrass.
  6674  //
  6675  // Updates a core definition.
  6676  //
  6677  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6678  // with awserr.Error's Code and Message methods to get detailed information about
  6679  // the error.
  6680  //
  6681  // See the AWS API reference guide for AWS Greengrass's
  6682  // API operation UpdateCoreDefinition for usage and error information.
  6683  //
  6684  // Returned Error Types:
  6685  //   * BadRequestException
  6686  //   General error information.
  6687  //
  6688  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateCoreDefinition
  6689  func (c *Greengrass) UpdateCoreDefinition(input *UpdateCoreDefinitionInput) (*UpdateCoreDefinitionOutput, error) {
  6690  	req, out := c.UpdateCoreDefinitionRequest(input)
  6691  	return out, req.Send()
  6692  }
  6693  
  6694  // UpdateCoreDefinitionWithContext is the same as UpdateCoreDefinition with the addition of
  6695  // the ability to pass a context and additional request options.
  6696  //
  6697  // See UpdateCoreDefinition for details on how to use this API operation.
  6698  //
  6699  // The context must be non-nil and will be used for request cancellation. If
  6700  // the context is nil a panic will occur. In the future the SDK may create
  6701  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6702  // for more information on using Contexts.
  6703  func (c *Greengrass) UpdateCoreDefinitionWithContext(ctx aws.Context, input *UpdateCoreDefinitionInput, opts ...request.Option) (*UpdateCoreDefinitionOutput, error) {
  6704  	req, out := c.UpdateCoreDefinitionRequest(input)
  6705  	req.SetContext(ctx)
  6706  	req.ApplyOptions(opts...)
  6707  	return out, req.Send()
  6708  }
  6709  
  6710  const opUpdateDeviceDefinition = "UpdateDeviceDefinition"
  6711  
  6712  // UpdateDeviceDefinitionRequest generates a "aws/request.Request" representing the
  6713  // client's request for the UpdateDeviceDefinition operation. The "output" return
  6714  // value will be populated with the request's response once the request completes
  6715  // successfully.
  6716  //
  6717  // Use "Send" method on the returned Request to send the API call to the service.
  6718  // the "output" return value is not valid until after Send returns without error.
  6719  //
  6720  // See UpdateDeviceDefinition for more information on using the UpdateDeviceDefinition
  6721  // API call, and error handling.
  6722  //
  6723  // This method is useful when you want to inject custom logic or configuration
  6724  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6725  //
  6726  //
  6727  //    // Example sending a request using the UpdateDeviceDefinitionRequest method.
  6728  //    req, resp := client.UpdateDeviceDefinitionRequest(params)
  6729  //
  6730  //    err := req.Send()
  6731  //    if err == nil { // resp is now filled
  6732  //        fmt.Println(resp)
  6733  //    }
  6734  //
  6735  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateDeviceDefinition
  6736  func (c *Greengrass) UpdateDeviceDefinitionRequest(input *UpdateDeviceDefinitionInput) (req *request.Request, output *UpdateDeviceDefinitionOutput) {
  6737  	op := &request.Operation{
  6738  		Name:       opUpdateDeviceDefinition,
  6739  		HTTPMethod: "PUT",
  6740  		HTTPPath:   "/greengrass/definition/devices/{DeviceDefinitionId}",
  6741  	}
  6742  
  6743  	if input == nil {
  6744  		input = &UpdateDeviceDefinitionInput{}
  6745  	}
  6746  
  6747  	output = &UpdateDeviceDefinitionOutput{}
  6748  	req = c.newRequest(op, input, output)
  6749  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6750  	return
  6751  }
  6752  
  6753  // UpdateDeviceDefinition API operation for AWS Greengrass.
  6754  //
  6755  // Updates a device definition.
  6756  //
  6757  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6758  // with awserr.Error's Code and Message methods to get detailed information about
  6759  // the error.
  6760  //
  6761  // See the AWS API reference guide for AWS Greengrass's
  6762  // API operation UpdateDeviceDefinition for usage and error information.
  6763  //
  6764  // Returned Error Types:
  6765  //   * BadRequestException
  6766  //   General error information.
  6767  //
  6768  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateDeviceDefinition
  6769  func (c *Greengrass) UpdateDeviceDefinition(input *UpdateDeviceDefinitionInput) (*UpdateDeviceDefinitionOutput, error) {
  6770  	req, out := c.UpdateDeviceDefinitionRequest(input)
  6771  	return out, req.Send()
  6772  }
  6773  
  6774  // UpdateDeviceDefinitionWithContext is the same as UpdateDeviceDefinition with the addition of
  6775  // the ability to pass a context and additional request options.
  6776  //
  6777  // See UpdateDeviceDefinition for details on how to use this API operation.
  6778  //
  6779  // The context must be non-nil and will be used for request cancellation. If
  6780  // the context is nil a panic will occur. In the future the SDK may create
  6781  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6782  // for more information on using Contexts.
  6783  func (c *Greengrass) UpdateDeviceDefinitionWithContext(ctx aws.Context, input *UpdateDeviceDefinitionInput, opts ...request.Option) (*UpdateDeviceDefinitionOutput, error) {
  6784  	req, out := c.UpdateDeviceDefinitionRequest(input)
  6785  	req.SetContext(ctx)
  6786  	req.ApplyOptions(opts...)
  6787  	return out, req.Send()
  6788  }
  6789  
  6790  const opUpdateFunctionDefinition = "UpdateFunctionDefinition"
  6791  
  6792  // UpdateFunctionDefinitionRequest generates a "aws/request.Request" representing the
  6793  // client's request for the UpdateFunctionDefinition operation. The "output" return
  6794  // value will be populated with the request's response once the request completes
  6795  // successfully.
  6796  //
  6797  // Use "Send" method on the returned Request to send the API call to the service.
  6798  // the "output" return value is not valid until after Send returns without error.
  6799  //
  6800  // See UpdateFunctionDefinition for more information on using the UpdateFunctionDefinition
  6801  // API call, and error handling.
  6802  //
  6803  // This method is useful when you want to inject custom logic or configuration
  6804  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6805  //
  6806  //
  6807  //    // Example sending a request using the UpdateFunctionDefinitionRequest method.
  6808  //    req, resp := client.UpdateFunctionDefinitionRequest(params)
  6809  //
  6810  //    err := req.Send()
  6811  //    if err == nil { // resp is now filled
  6812  //        fmt.Println(resp)
  6813  //    }
  6814  //
  6815  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateFunctionDefinition
  6816  func (c *Greengrass) UpdateFunctionDefinitionRequest(input *UpdateFunctionDefinitionInput) (req *request.Request, output *UpdateFunctionDefinitionOutput) {
  6817  	op := &request.Operation{
  6818  		Name:       opUpdateFunctionDefinition,
  6819  		HTTPMethod: "PUT",
  6820  		HTTPPath:   "/greengrass/definition/functions/{FunctionDefinitionId}",
  6821  	}
  6822  
  6823  	if input == nil {
  6824  		input = &UpdateFunctionDefinitionInput{}
  6825  	}
  6826  
  6827  	output = &UpdateFunctionDefinitionOutput{}
  6828  	req = c.newRequest(op, input, output)
  6829  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6830  	return
  6831  }
  6832  
  6833  // UpdateFunctionDefinition API operation for AWS Greengrass.
  6834  //
  6835  // Updates a Lambda function definition.
  6836  //
  6837  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6838  // with awserr.Error's Code and Message methods to get detailed information about
  6839  // the error.
  6840  //
  6841  // See the AWS API reference guide for AWS Greengrass's
  6842  // API operation UpdateFunctionDefinition for usage and error information.
  6843  //
  6844  // Returned Error Types:
  6845  //   * BadRequestException
  6846  //   General error information.
  6847  //
  6848  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateFunctionDefinition
  6849  func (c *Greengrass) UpdateFunctionDefinition(input *UpdateFunctionDefinitionInput) (*UpdateFunctionDefinitionOutput, error) {
  6850  	req, out := c.UpdateFunctionDefinitionRequest(input)
  6851  	return out, req.Send()
  6852  }
  6853  
  6854  // UpdateFunctionDefinitionWithContext is the same as UpdateFunctionDefinition with the addition of
  6855  // the ability to pass a context and additional request options.
  6856  //
  6857  // See UpdateFunctionDefinition for details on how to use this API operation.
  6858  //
  6859  // The context must be non-nil and will be used for request cancellation. If
  6860  // the context is nil a panic will occur. In the future the SDK may create
  6861  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6862  // for more information on using Contexts.
  6863  func (c *Greengrass) UpdateFunctionDefinitionWithContext(ctx aws.Context, input *UpdateFunctionDefinitionInput, opts ...request.Option) (*UpdateFunctionDefinitionOutput, error) {
  6864  	req, out := c.UpdateFunctionDefinitionRequest(input)
  6865  	req.SetContext(ctx)
  6866  	req.ApplyOptions(opts...)
  6867  	return out, req.Send()
  6868  }
  6869  
  6870  const opUpdateGroup = "UpdateGroup"
  6871  
  6872  // UpdateGroupRequest generates a "aws/request.Request" representing the
  6873  // client's request for the UpdateGroup operation. The "output" return
  6874  // value will be populated with the request's response once the request completes
  6875  // successfully.
  6876  //
  6877  // Use "Send" method on the returned Request to send the API call to the service.
  6878  // the "output" return value is not valid until after Send returns without error.
  6879  //
  6880  // See UpdateGroup for more information on using the UpdateGroup
  6881  // API call, and error handling.
  6882  //
  6883  // This method is useful when you want to inject custom logic or configuration
  6884  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6885  //
  6886  //
  6887  //    // Example sending a request using the UpdateGroupRequest method.
  6888  //    req, resp := client.UpdateGroupRequest(params)
  6889  //
  6890  //    err := req.Send()
  6891  //    if err == nil { // resp is now filled
  6892  //        fmt.Println(resp)
  6893  //    }
  6894  //
  6895  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateGroup
  6896  func (c *Greengrass) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) {
  6897  	op := &request.Operation{
  6898  		Name:       opUpdateGroup,
  6899  		HTTPMethod: "PUT",
  6900  		HTTPPath:   "/greengrass/groups/{GroupId}",
  6901  	}
  6902  
  6903  	if input == nil {
  6904  		input = &UpdateGroupInput{}
  6905  	}
  6906  
  6907  	output = &UpdateGroupOutput{}
  6908  	req = c.newRequest(op, input, output)
  6909  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6910  	return
  6911  }
  6912  
  6913  // UpdateGroup API operation for AWS Greengrass.
  6914  //
  6915  // Updates a group.
  6916  //
  6917  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6918  // with awserr.Error's Code and Message methods to get detailed information about
  6919  // the error.
  6920  //
  6921  // See the AWS API reference guide for AWS Greengrass's
  6922  // API operation UpdateGroup for usage and error information.
  6923  //
  6924  // Returned Error Types:
  6925  //   * BadRequestException
  6926  //   General error information.
  6927  //
  6928  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateGroup
  6929  func (c *Greengrass) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) {
  6930  	req, out := c.UpdateGroupRequest(input)
  6931  	return out, req.Send()
  6932  }
  6933  
  6934  // UpdateGroupWithContext is the same as UpdateGroup with the addition of
  6935  // the ability to pass a context and additional request options.
  6936  //
  6937  // See UpdateGroup for details on how to use this API operation.
  6938  //
  6939  // The context must be non-nil and will be used for request cancellation. If
  6940  // the context is nil a panic will occur. In the future the SDK may create
  6941  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6942  // for more information on using Contexts.
  6943  func (c *Greengrass) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) {
  6944  	req, out := c.UpdateGroupRequest(input)
  6945  	req.SetContext(ctx)
  6946  	req.ApplyOptions(opts...)
  6947  	return out, req.Send()
  6948  }
  6949  
  6950  const opUpdateGroupCertificateConfiguration = "UpdateGroupCertificateConfiguration"
  6951  
  6952  // UpdateGroupCertificateConfigurationRequest generates a "aws/request.Request" representing the
  6953  // client's request for the UpdateGroupCertificateConfiguration operation. The "output" return
  6954  // value will be populated with the request's response once the request completes
  6955  // successfully.
  6956  //
  6957  // Use "Send" method on the returned Request to send the API call to the service.
  6958  // the "output" return value is not valid until after Send returns without error.
  6959  //
  6960  // See UpdateGroupCertificateConfiguration for more information on using the UpdateGroupCertificateConfiguration
  6961  // API call, and error handling.
  6962  //
  6963  // This method is useful when you want to inject custom logic or configuration
  6964  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6965  //
  6966  //
  6967  //    // Example sending a request using the UpdateGroupCertificateConfigurationRequest method.
  6968  //    req, resp := client.UpdateGroupCertificateConfigurationRequest(params)
  6969  //
  6970  //    err := req.Send()
  6971  //    if err == nil { // resp is now filled
  6972  //        fmt.Println(resp)
  6973  //    }
  6974  //
  6975  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateGroupCertificateConfiguration
  6976  func (c *Greengrass) UpdateGroupCertificateConfigurationRequest(input *UpdateGroupCertificateConfigurationInput) (req *request.Request, output *UpdateGroupCertificateConfigurationOutput) {
  6977  	op := &request.Operation{
  6978  		Name:       opUpdateGroupCertificateConfiguration,
  6979  		HTTPMethod: "PUT",
  6980  		HTTPPath:   "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry",
  6981  	}
  6982  
  6983  	if input == nil {
  6984  		input = &UpdateGroupCertificateConfigurationInput{}
  6985  	}
  6986  
  6987  	output = &UpdateGroupCertificateConfigurationOutput{}
  6988  	req = c.newRequest(op, input, output)
  6989  	return
  6990  }
  6991  
  6992  // UpdateGroupCertificateConfiguration API operation for AWS Greengrass.
  6993  //
  6994  // Updates the Certificate expiry time for a group.
  6995  //
  6996  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6997  // with awserr.Error's Code and Message methods to get detailed information about
  6998  // the error.
  6999  //
  7000  // See the AWS API reference guide for AWS Greengrass's
  7001  // API operation UpdateGroupCertificateConfiguration for usage and error information.
  7002  //
  7003  // Returned Error Types:
  7004  //   * BadRequestException
  7005  //   General error information.
  7006  //
  7007  //   * InternalServerErrorException
  7008  //   General error information.
  7009  //
  7010  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateGroupCertificateConfiguration
  7011  func (c *Greengrass) UpdateGroupCertificateConfiguration(input *UpdateGroupCertificateConfigurationInput) (*UpdateGroupCertificateConfigurationOutput, error) {
  7012  	req, out := c.UpdateGroupCertificateConfigurationRequest(input)
  7013  	return out, req.Send()
  7014  }
  7015  
  7016  // UpdateGroupCertificateConfigurationWithContext is the same as UpdateGroupCertificateConfiguration with the addition of
  7017  // the ability to pass a context and additional request options.
  7018  //
  7019  // See UpdateGroupCertificateConfiguration for details on how to use this API operation.
  7020  //
  7021  // The context must be non-nil and will be used for request cancellation. If
  7022  // the context is nil a panic will occur. In the future the SDK may create
  7023  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7024  // for more information on using Contexts.
  7025  func (c *Greengrass) UpdateGroupCertificateConfigurationWithContext(ctx aws.Context, input *UpdateGroupCertificateConfigurationInput, opts ...request.Option) (*UpdateGroupCertificateConfigurationOutput, error) {
  7026  	req, out := c.UpdateGroupCertificateConfigurationRequest(input)
  7027  	req.SetContext(ctx)
  7028  	req.ApplyOptions(opts...)
  7029  	return out, req.Send()
  7030  }
  7031  
  7032  const opUpdateLoggerDefinition = "UpdateLoggerDefinition"
  7033  
  7034  // UpdateLoggerDefinitionRequest generates a "aws/request.Request" representing the
  7035  // client's request for the UpdateLoggerDefinition operation. The "output" return
  7036  // value will be populated with the request's response once the request completes
  7037  // successfully.
  7038  //
  7039  // Use "Send" method on the returned Request to send the API call to the service.
  7040  // the "output" return value is not valid until after Send returns without error.
  7041  //
  7042  // See UpdateLoggerDefinition for more information on using the UpdateLoggerDefinition
  7043  // API call, and error handling.
  7044  //
  7045  // This method is useful when you want to inject custom logic or configuration
  7046  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7047  //
  7048  //
  7049  //    // Example sending a request using the UpdateLoggerDefinitionRequest method.
  7050  //    req, resp := client.UpdateLoggerDefinitionRequest(params)
  7051  //
  7052  //    err := req.Send()
  7053  //    if err == nil { // resp is now filled
  7054  //        fmt.Println(resp)
  7055  //    }
  7056  //
  7057  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateLoggerDefinition
  7058  func (c *Greengrass) UpdateLoggerDefinitionRequest(input *UpdateLoggerDefinitionInput) (req *request.Request, output *UpdateLoggerDefinitionOutput) {
  7059  	op := &request.Operation{
  7060  		Name:       opUpdateLoggerDefinition,
  7061  		HTTPMethod: "PUT",
  7062  		HTTPPath:   "/greengrass/definition/loggers/{LoggerDefinitionId}",
  7063  	}
  7064  
  7065  	if input == nil {
  7066  		input = &UpdateLoggerDefinitionInput{}
  7067  	}
  7068  
  7069  	output = &UpdateLoggerDefinitionOutput{}
  7070  	req = c.newRequest(op, input, output)
  7071  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7072  	return
  7073  }
  7074  
  7075  // UpdateLoggerDefinition API operation for AWS Greengrass.
  7076  //
  7077  // Updates a logger definition.
  7078  //
  7079  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7080  // with awserr.Error's Code and Message methods to get detailed information about
  7081  // the error.
  7082  //
  7083  // See the AWS API reference guide for AWS Greengrass's
  7084  // API operation UpdateLoggerDefinition for usage and error information.
  7085  //
  7086  // Returned Error Types:
  7087  //   * BadRequestException
  7088  //   General error information.
  7089  //
  7090  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateLoggerDefinition
  7091  func (c *Greengrass) UpdateLoggerDefinition(input *UpdateLoggerDefinitionInput) (*UpdateLoggerDefinitionOutput, error) {
  7092  	req, out := c.UpdateLoggerDefinitionRequest(input)
  7093  	return out, req.Send()
  7094  }
  7095  
  7096  // UpdateLoggerDefinitionWithContext is the same as UpdateLoggerDefinition with the addition of
  7097  // the ability to pass a context and additional request options.
  7098  //
  7099  // See UpdateLoggerDefinition for details on how to use this API operation.
  7100  //
  7101  // The context must be non-nil and will be used for request cancellation. If
  7102  // the context is nil a panic will occur. In the future the SDK may create
  7103  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7104  // for more information on using Contexts.
  7105  func (c *Greengrass) UpdateLoggerDefinitionWithContext(ctx aws.Context, input *UpdateLoggerDefinitionInput, opts ...request.Option) (*UpdateLoggerDefinitionOutput, error) {
  7106  	req, out := c.UpdateLoggerDefinitionRequest(input)
  7107  	req.SetContext(ctx)
  7108  	req.ApplyOptions(opts...)
  7109  	return out, req.Send()
  7110  }
  7111  
  7112  const opUpdateResourceDefinition = "UpdateResourceDefinition"
  7113  
  7114  // UpdateResourceDefinitionRequest generates a "aws/request.Request" representing the
  7115  // client's request for the UpdateResourceDefinition operation. The "output" return
  7116  // value will be populated with the request's response once the request completes
  7117  // successfully.
  7118  //
  7119  // Use "Send" method on the returned Request to send the API call to the service.
  7120  // the "output" return value is not valid until after Send returns without error.
  7121  //
  7122  // See UpdateResourceDefinition for more information on using the UpdateResourceDefinition
  7123  // API call, and error handling.
  7124  //
  7125  // This method is useful when you want to inject custom logic or configuration
  7126  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7127  //
  7128  //
  7129  //    // Example sending a request using the UpdateResourceDefinitionRequest method.
  7130  //    req, resp := client.UpdateResourceDefinitionRequest(params)
  7131  //
  7132  //    err := req.Send()
  7133  //    if err == nil { // resp is now filled
  7134  //        fmt.Println(resp)
  7135  //    }
  7136  //
  7137  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateResourceDefinition
  7138  func (c *Greengrass) UpdateResourceDefinitionRequest(input *UpdateResourceDefinitionInput) (req *request.Request, output *UpdateResourceDefinitionOutput) {
  7139  	op := &request.Operation{
  7140  		Name:       opUpdateResourceDefinition,
  7141  		HTTPMethod: "PUT",
  7142  		HTTPPath:   "/greengrass/definition/resources/{ResourceDefinitionId}",
  7143  	}
  7144  
  7145  	if input == nil {
  7146  		input = &UpdateResourceDefinitionInput{}
  7147  	}
  7148  
  7149  	output = &UpdateResourceDefinitionOutput{}
  7150  	req = c.newRequest(op, input, output)
  7151  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7152  	return
  7153  }
  7154  
  7155  // UpdateResourceDefinition API operation for AWS Greengrass.
  7156  //
  7157  // Updates a resource definition.
  7158  //
  7159  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7160  // with awserr.Error's Code and Message methods to get detailed information about
  7161  // the error.
  7162  //
  7163  // See the AWS API reference guide for AWS Greengrass's
  7164  // API operation UpdateResourceDefinition for usage and error information.
  7165  //
  7166  // Returned Error Types:
  7167  //   * BadRequestException
  7168  //   General error information.
  7169  //
  7170  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateResourceDefinition
  7171  func (c *Greengrass) UpdateResourceDefinition(input *UpdateResourceDefinitionInput) (*UpdateResourceDefinitionOutput, error) {
  7172  	req, out := c.UpdateResourceDefinitionRequest(input)
  7173  	return out, req.Send()
  7174  }
  7175  
  7176  // UpdateResourceDefinitionWithContext is the same as UpdateResourceDefinition with the addition of
  7177  // the ability to pass a context and additional request options.
  7178  //
  7179  // See UpdateResourceDefinition for details on how to use this API operation.
  7180  //
  7181  // The context must be non-nil and will be used for request cancellation. If
  7182  // the context is nil a panic will occur. In the future the SDK may create
  7183  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7184  // for more information on using Contexts.
  7185  func (c *Greengrass) UpdateResourceDefinitionWithContext(ctx aws.Context, input *UpdateResourceDefinitionInput, opts ...request.Option) (*UpdateResourceDefinitionOutput, error) {
  7186  	req, out := c.UpdateResourceDefinitionRequest(input)
  7187  	req.SetContext(ctx)
  7188  	req.ApplyOptions(opts...)
  7189  	return out, req.Send()
  7190  }
  7191  
  7192  const opUpdateSubscriptionDefinition = "UpdateSubscriptionDefinition"
  7193  
  7194  // UpdateSubscriptionDefinitionRequest generates a "aws/request.Request" representing the
  7195  // client's request for the UpdateSubscriptionDefinition operation. The "output" return
  7196  // value will be populated with the request's response once the request completes
  7197  // successfully.
  7198  //
  7199  // Use "Send" method on the returned Request to send the API call to the service.
  7200  // the "output" return value is not valid until after Send returns without error.
  7201  //
  7202  // See UpdateSubscriptionDefinition for more information on using the UpdateSubscriptionDefinition
  7203  // API call, and error handling.
  7204  //
  7205  // This method is useful when you want to inject custom logic or configuration
  7206  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7207  //
  7208  //
  7209  //    // Example sending a request using the UpdateSubscriptionDefinitionRequest method.
  7210  //    req, resp := client.UpdateSubscriptionDefinitionRequest(params)
  7211  //
  7212  //    err := req.Send()
  7213  //    if err == nil { // resp is now filled
  7214  //        fmt.Println(resp)
  7215  //    }
  7216  //
  7217  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateSubscriptionDefinition
  7218  func (c *Greengrass) UpdateSubscriptionDefinitionRequest(input *UpdateSubscriptionDefinitionInput) (req *request.Request, output *UpdateSubscriptionDefinitionOutput) {
  7219  	op := &request.Operation{
  7220  		Name:       opUpdateSubscriptionDefinition,
  7221  		HTTPMethod: "PUT",
  7222  		HTTPPath:   "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}",
  7223  	}
  7224  
  7225  	if input == nil {
  7226  		input = &UpdateSubscriptionDefinitionInput{}
  7227  	}
  7228  
  7229  	output = &UpdateSubscriptionDefinitionOutput{}
  7230  	req = c.newRequest(op, input, output)
  7231  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7232  	return
  7233  }
  7234  
  7235  // UpdateSubscriptionDefinition API operation for AWS Greengrass.
  7236  //
  7237  // Updates a subscription definition.
  7238  //
  7239  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7240  // with awserr.Error's Code and Message methods to get detailed information about
  7241  // the error.
  7242  //
  7243  // See the AWS API reference guide for AWS Greengrass's
  7244  // API operation UpdateSubscriptionDefinition for usage and error information.
  7245  //
  7246  // Returned Error Types:
  7247  //   * BadRequestException
  7248  //   General error information.
  7249  //
  7250  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateSubscriptionDefinition
  7251  func (c *Greengrass) UpdateSubscriptionDefinition(input *UpdateSubscriptionDefinitionInput) (*UpdateSubscriptionDefinitionOutput, error) {
  7252  	req, out := c.UpdateSubscriptionDefinitionRequest(input)
  7253  	return out, req.Send()
  7254  }
  7255  
  7256  // UpdateSubscriptionDefinitionWithContext is the same as UpdateSubscriptionDefinition with the addition of
  7257  // the ability to pass a context and additional request options.
  7258  //
  7259  // See UpdateSubscriptionDefinition for details on how to use this API operation.
  7260  //
  7261  // The context must be non-nil and will be used for request cancellation. If
  7262  // the context is nil a panic will occur. In the future the SDK may create
  7263  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7264  // for more information on using Contexts.
  7265  func (c *Greengrass) UpdateSubscriptionDefinitionWithContext(ctx aws.Context, input *UpdateSubscriptionDefinitionInput, opts ...request.Option) (*UpdateSubscriptionDefinitionOutput, error) {
  7266  	req, out := c.UpdateSubscriptionDefinitionRequest(input)
  7267  	req.SetContext(ctx)
  7268  	req.ApplyOptions(opts...)
  7269  	return out, req.Send()
  7270  }
  7271  
  7272  const opUpdateThingRuntimeConfiguration = "UpdateThingRuntimeConfiguration"
  7273  
  7274  // UpdateThingRuntimeConfigurationRequest generates a "aws/request.Request" representing the
  7275  // client's request for the UpdateThingRuntimeConfiguration operation. The "output" return
  7276  // value will be populated with the request's response once the request completes
  7277  // successfully.
  7278  //
  7279  // Use "Send" method on the returned Request to send the API call to the service.
  7280  // the "output" return value is not valid until after Send returns without error.
  7281  //
  7282  // See UpdateThingRuntimeConfiguration for more information on using the UpdateThingRuntimeConfiguration
  7283  // API call, and error handling.
  7284  //
  7285  // This method is useful when you want to inject custom logic or configuration
  7286  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7287  //
  7288  //
  7289  //    // Example sending a request using the UpdateThingRuntimeConfigurationRequest method.
  7290  //    req, resp := client.UpdateThingRuntimeConfigurationRequest(params)
  7291  //
  7292  //    err := req.Send()
  7293  //    if err == nil { // resp is now filled
  7294  //        fmt.Println(resp)
  7295  //    }
  7296  //
  7297  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateThingRuntimeConfiguration
  7298  func (c *Greengrass) UpdateThingRuntimeConfigurationRequest(input *UpdateThingRuntimeConfigurationInput) (req *request.Request, output *UpdateThingRuntimeConfigurationOutput) {
  7299  	op := &request.Operation{
  7300  		Name:       opUpdateThingRuntimeConfiguration,
  7301  		HTTPMethod: "PUT",
  7302  		HTTPPath:   "/greengrass/things/{ThingName}/runtimeconfig",
  7303  	}
  7304  
  7305  	if input == nil {
  7306  		input = &UpdateThingRuntimeConfigurationInput{}
  7307  	}
  7308  
  7309  	output = &UpdateThingRuntimeConfigurationOutput{}
  7310  	req = c.newRequest(op, input, output)
  7311  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  7312  	return
  7313  }
  7314  
  7315  // UpdateThingRuntimeConfiguration API operation for AWS Greengrass.
  7316  //
  7317  // Updates the runtime configuration of a thing.
  7318  //
  7319  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7320  // with awserr.Error's Code and Message methods to get detailed information about
  7321  // the error.
  7322  //
  7323  // See the AWS API reference guide for AWS Greengrass's
  7324  // API operation UpdateThingRuntimeConfiguration for usage and error information.
  7325  //
  7326  // Returned Error Types:
  7327  //   * BadRequestException
  7328  //   General error information.
  7329  //
  7330  //   * InternalServerErrorException
  7331  //   General error information.
  7332  //
  7333  // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/UpdateThingRuntimeConfiguration
  7334  func (c *Greengrass) UpdateThingRuntimeConfiguration(input *UpdateThingRuntimeConfigurationInput) (*UpdateThingRuntimeConfigurationOutput, error) {
  7335  	req, out := c.UpdateThingRuntimeConfigurationRequest(input)
  7336  	return out, req.Send()
  7337  }
  7338  
  7339  // UpdateThingRuntimeConfigurationWithContext is the same as UpdateThingRuntimeConfiguration with the addition of
  7340  // the ability to pass a context and additional request options.
  7341  //
  7342  // See UpdateThingRuntimeConfiguration for details on how to use this API operation.
  7343  //
  7344  // The context must be non-nil and will be used for request cancellation. If
  7345  // the context is nil a panic will occur. In the future the SDK may create
  7346  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7347  // for more information on using Contexts.
  7348  func (c *Greengrass) UpdateThingRuntimeConfigurationWithContext(ctx aws.Context, input *UpdateThingRuntimeConfigurationInput, opts ...request.Option) (*UpdateThingRuntimeConfigurationOutput, error) {
  7349  	req, out := c.UpdateThingRuntimeConfigurationRequest(input)
  7350  	req.SetContext(ctx)
  7351  	req.ApplyOptions(opts...)
  7352  	return out, req.Send()
  7353  }
  7354  
  7355  type AssociateRoleToGroupInput struct {
  7356  	_ struct{} `type:"structure"`
  7357  
  7358  	// GroupId is a required field
  7359  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
  7360  
  7361  	// The ARN of the role you wish to associate with this group. The existence
  7362  	// of the role is not validated.
  7363  	//
  7364  	// RoleArn is a required field
  7365  	RoleArn *string `type:"string" required:"true"`
  7366  }
  7367  
  7368  // String returns the string representation.
  7369  //
  7370  // API parameter values that are decorated as "sensitive" in the API will not
  7371  // be included in the string output. The member name will be present, but the
  7372  // value will be replaced with "sensitive".
  7373  func (s AssociateRoleToGroupInput) String() string {
  7374  	return awsutil.Prettify(s)
  7375  }
  7376  
  7377  // GoString returns the string representation.
  7378  //
  7379  // API parameter values that are decorated as "sensitive" in the API will not
  7380  // be included in the string output. The member name will be present, but the
  7381  // value will be replaced with "sensitive".
  7382  func (s AssociateRoleToGroupInput) GoString() string {
  7383  	return s.String()
  7384  }
  7385  
  7386  // Validate inspects the fields of the type to determine if they are valid.
  7387  func (s *AssociateRoleToGroupInput) Validate() error {
  7388  	invalidParams := request.ErrInvalidParams{Context: "AssociateRoleToGroupInput"}
  7389  	if s.GroupId == nil {
  7390  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
  7391  	}
  7392  	if s.GroupId != nil && len(*s.GroupId) < 1 {
  7393  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
  7394  	}
  7395  	if s.RoleArn == nil {
  7396  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  7397  	}
  7398  
  7399  	if invalidParams.Len() > 0 {
  7400  		return invalidParams
  7401  	}
  7402  	return nil
  7403  }
  7404  
  7405  // SetGroupId sets the GroupId field's value.
  7406  func (s *AssociateRoleToGroupInput) SetGroupId(v string) *AssociateRoleToGroupInput {
  7407  	s.GroupId = &v
  7408  	return s
  7409  }
  7410  
  7411  // SetRoleArn sets the RoleArn field's value.
  7412  func (s *AssociateRoleToGroupInput) SetRoleArn(v string) *AssociateRoleToGroupInput {
  7413  	s.RoleArn = &v
  7414  	return s
  7415  }
  7416  
  7417  type AssociateRoleToGroupOutput struct {
  7418  	_ struct{} `type:"structure"`
  7419  
  7420  	// The time, in milliseconds since the epoch, when the role ARN was associated
  7421  	// with the group.
  7422  	AssociatedAt *string `type:"string"`
  7423  }
  7424  
  7425  // String returns the string representation.
  7426  //
  7427  // API parameter values that are decorated as "sensitive" in the API will not
  7428  // be included in the string output. The member name will be present, but the
  7429  // value will be replaced with "sensitive".
  7430  func (s AssociateRoleToGroupOutput) String() string {
  7431  	return awsutil.Prettify(s)
  7432  }
  7433  
  7434  // GoString returns the string representation.
  7435  //
  7436  // API parameter values that are decorated as "sensitive" in the API will not
  7437  // be included in the string output. The member name will be present, but the
  7438  // value will be replaced with "sensitive".
  7439  func (s AssociateRoleToGroupOutput) GoString() string {
  7440  	return s.String()
  7441  }
  7442  
  7443  // SetAssociatedAt sets the AssociatedAt field's value.
  7444  func (s *AssociateRoleToGroupOutput) SetAssociatedAt(v string) *AssociateRoleToGroupOutput {
  7445  	s.AssociatedAt = &v
  7446  	return s
  7447  }
  7448  
  7449  type AssociateServiceRoleToAccountInput struct {
  7450  	_ struct{} `type:"structure"`
  7451  
  7452  	// The ARN of the service role you wish to associate with your account.
  7453  	//
  7454  	// RoleArn is a required field
  7455  	RoleArn *string `type:"string" required:"true"`
  7456  }
  7457  
  7458  // String returns the string representation.
  7459  //
  7460  // API parameter values that are decorated as "sensitive" in the API will not
  7461  // be included in the string output. The member name will be present, but the
  7462  // value will be replaced with "sensitive".
  7463  func (s AssociateServiceRoleToAccountInput) String() string {
  7464  	return awsutil.Prettify(s)
  7465  }
  7466  
  7467  // GoString returns the string representation.
  7468  //
  7469  // API parameter values that are decorated as "sensitive" in the API will not
  7470  // be included in the string output. The member name will be present, but the
  7471  // value will be replaced with "sensitive".
  7472  func (s AssociateServiceRoleToAccountInput) GoString() string {
  7473  	return s.String()
  7474  }
  7475  
  7476  // Validate inspects the fields of the type to determine if they are valid.
  7477  func (s *AssociateServiceRoleToAccountInput) Validate() error {
  7478  	invalidParams := request.ErrInvalidParams{Context: "AssociateServiceRoleToAccountInput"}
  7479  	if s.RoleArn == nil {
  7480  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  7481  	}
  7482  
  7483  	if invalidParams.Len() > 0 {
  7484  		return invalidParams
  7485  	}
  7486  	return nil
  7487  }
  7488  
  7489  // SetRoleArn sets the RoleArn field's value.
  7490  func (s *AssociateServiceRoleToAccountInput) SetRoleArn(v string) *AssociateServiceRoleToAccountInput {
  7491  	s.RoleArn = &v
  7492  	return s
  7493  }
  7494  
  7495  type AssociateServiceRoleToAccountOutput struct {
  7496  	_ struct{} `type:"structure"`
  7497  
  7498  	// The time when the service role was associated with the account.
  7499  	AssociatedAt *string `type:"string"`
  7500  }
  7501  
  7502  // String returns the string representation.
  7503  //
  7504  // API parameter values that are decorated as "sensitive" in the API will not
  7505  // be included in the string output. The member name will be present, but the
  7506  // value will be replaced with "sensitive".
  7507  func (s AssociateServiceRoleToAccountOutput) String() string {
  7508  	return awsutil.Prettify(s)
  7509  }
  7510  
  7511  // GoString returns the string representation.
  7512  //
  7513  // API parameter values that are decorated as "sensitive" in the API will not
  7514  // be included in the string output. The member name will be present, but the
  7515  // value will be replaced with "sensitive".
  7516  func (s AssociateServiceRoleToAccountOutput) GoString() string {
  7517  	return s.String()
  7518  }
  7519  
  7520  // SetAssociatedAt sets the AssociatedAt field's value.
  7521  func (s *AssociateServiceRoleToAccountOutput) SetAssociatedAt(v string) *AssociateServiceRoleToAccountOutput {
  7522  	s.AssociatedAt = &v
  7523  	return s
  7524  }
  7525  
  7526  // General error information.
  7527  type BadRequestException struct {
  7528  	_            struct{}                  `type:"structure"`
  7529  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7530  
  7531  	// A list of error details.
  7532  	ErrorDetails []*ErrorDetail `type:"list"`
  7533  
  7534  	Message_ *string `locationName:"Message" type:"string"`
  7535  }
  7536  
  7537  // String returns the string representation.
  7538  //
  7539  // API parameter values that are decorated as "sensitive" in the API will not
  7540  // be included in the string output. The member name will be present, but the
  7541  // value will be replaced with "sensitive".
  7542  func (s BadRequestException) String() string {
  7543  	return awsutil.Prettify(s)
  7544  }
  7545  
  7546  // GoString returns the string representation.
  7547  //
  7548  // API parameter values that are decorated as "sensitive" in the API will not
  7549  // be included in the string output. The member name will be present, but the
  7550  // value will be replaced with "sensitive".
  7551  func (s BadRequestException) GoString() string {
  7552  	return s.String()
  7553  }
  7554  
  7555  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  7556  	return &BadRequestException{
  7557  		RespMetadata: v,
  7558  	}
  7559  }
  7560  
  7561  // Code returns the exception type name.
  7562  func (s *BadRequestException) Code() string {
  7563  	return "BadRequestException"
  7564  }
  7565  
  7566  // Message returns the exception's message.
  7567  func (s *BadRequestException) Message() string {
  7568  	if s.Message_ != nil {
  7569  		return *s.Message_
  7570  	}
  7571  	return ""
  7572  }
  7573  
  7574  // OrigErr always returns nil, satisfies awserr.Error interface.
  7575  func (s *BadRequestException) OrigErr() error {
  7576  	return nil
  7577  }
  7578  
  7579  func (s *BadRequestException) Error() string {
  7580  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7581  }
  7582  
  7583  // Status code returns the HTTP status code for the request's response error.
  7584  func (s *BadRequestException) StatusCode() int {
  7585  	return s.RespMetadata.StatusCode
  7586  }
  7587  
  7588  // RequestID returns the service's response RequestID for request.
  7589  func (s *BadRequestException) RequestID() string {
  7590  	return s.RespMetadata.RequestID
  7591  }
  7592  
  7593  // Information about a bulk deployment. You cannot start a new bulk deployment
  7594  // while another one is still running or in a non-terminal state.
  7595  type BulkDeployment struct {
  7596  	_ struct{} `type:"structure"`
  7597  
  7598  	// The ARN of the bulk deployment.
  7599  	BulkDeploymentArn *string `type:"string"`
  7600  
  7601  	// The ID of the bulk deployment.
  7602  	BulkDeploymentId *string `type:"string"`
  7603  
  7604  	// The time, in ISO format, when the deployment was created.
  7605  	CreatedAt *string `type:"string"`
  7606  }
  7607  
  7608  // String 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 BulkDeployment) String() string {
  7614  	return awsutil.Prettify(s)
  7615  }
  7616  
  7617  // GoString returns the string representation.
  7618  //
  7619  // API parameter values that are decorated as "sensitive" in the API will not
  7620  // be included in the string output. The member name will be present, but the
  7621  // value will be replaced with "sensitive".
  7622  func (s BulkDeployment) GoString() string {
  7623  	return s.String()
  7624  }
  7625  
  7626  // SetBulkDeploymentArn sets the BulkDeploymentArn field's value.
  7627  func (s *BulkDeployment) SetBulkDeploymentArn(v string) *BulkDeployment {
  7628  	s.BulkDeploymentArn = &v
  7629  	return s
  7630  }
  7631  
  7632  // SetBulkDeploymentId sets the BulkDeploymentId field's value.
  7633  func (s *BulkDeployment) SetBulkDeploymentId(v string) *BulkDeployment {
  7634  	s.BulkDeploymentId = &v
  7635  	return s
  7636  }
  7637  
  7638  // SetCreatedAt sets the CreatedAt field's value.
  7639  func (s *BulkDeployment) SetCreatedAt(v string) *BulkDeployment {
  7640  	s.CreatedAt = &v
  7641  	return s
  7642  }
  7643  
  7644  // Relevant metrics on input records processed during bulk deployment.
  7645  type BulkDeploymentMetrics struct {
  7646  	_ struct{} `type:"structure"`
  7647  
  7648  	// The total number of records that returned a non-retryable error. For example,
  7649  	// this can occur if a group record from the input file uses an invalid format
  7650  	// or specifies a nonexistent group version, or if the execution role doesn't
  7651  	// grant permission to deploy a group or group version.
  7652  	InvalidInputRecords *int64 `type:"integer"`
  7653  
  7654  	// The total number of group records from the input file that have been processed
  7655  	// so far, or attempted.
  7656  	RecordsProcessed *int64 `type:"integer"`
  7657  
  7658  	// The total number of deployment attempts that returned a retryable error.
  7659  	// For example, a retry is triggered if the attempt to deploy a group returns
  7660  	// a throttling error. ''StartBulkDeployment'' retries a group deployment up
  7661  	// to five times.
  7662  	RetryAttempts *int64 `type:"integer"`
  7663  }
  7664  
  7665  // String returns the string representation.
  7666  //
  7667  // API parameter values that are decorated as "sensitive" in the API will not
  7668  // be included in the string output. The member name will be present, but the
  7669  // value will be replaced with "sensitive".
  7670  func (s BulkDeploymentMetrics) String() string {
  7671  	return awsutil.Prettify(s)
  7672  }
  7673  
  7674  // GoString returns the string representation.
  7675  //
  7676  // API parameter values that are decorated as "sensitive" in the API will not
  7677  // be included in the string output. The member name will be present, but the
  7678  // value will be replaced with "sensitive".
  7679  func (s BulkDeploymentMetrics) GoString() string {
  7680  	return s.String()
  7681  }
  7682  
  7683  // SetInvalidInputRecords sets the InvalidInputRecords field's value.
  7684  func (s *BulkDeploymentMetrics) SetInvalidInputRecords(v int64) *BulkDeploymentMetrics {
  7685  	s.InvalidInputRecords = &v
  7686  	return s
  7687  }
  7688  
  7689  // SetRecordsProcessed sets the RecordsProcessed field's value.
  7690  func (s *BulkDeploymentMetrics) SetRecordsProcessed(v int64) *BulkDeploymentMetrics {
  7691  	s.RecordsProcessed = &v
  7692  	return s
  7693  }
  7694  
  7695  // SetRetryAttempts sets the RetryAttempts field's value.
  7696  func (s *BulkDeploymentMetrics) SetRetryAttempts(v int64) *BulkDeploymentMetrics {
  7697  	s.RetryAttempts = &v
  7698  	return s
  7699  }
  7700  
  7701  // Information about an individual group deployment in a bulk deployment operation.
  7702  type BulkDeploymentResult struct {
  7703  	_ struct{} `type:"structure"`
  7704  
  7705  	// The time, in ISO format, when the deployment was created.
  7706  	CreatedAt *string `type:"string"`
  7707  
  7708  	// The ARN of the group deployment.
  7709  	DeploymentArn *string `type:"string"`
  7710  
  7711  	// The ID of the group deployment.
  7712  	DeploymentId *string `type:"string"`
  7713  
  7714  	// The current status of the group deployment: ''InProgress'', ''Building'',
  7715  	// ''Success'', or ''Failure''.
  7716  	DeploymentStatus *string `type:"string"`
  7717  
  7718  	// The type of the deployment.
  7719  	DeploymentType *string `type:"string" enum:"DeploymentType"`
  7720  
  7721  	// Details about the error.
  7722  	ErrorDetails []*ErrorDetail `type:"list"`
  7723  
  7724  	// The error message for a failed deployment
  7725  	ErrorMessage *string `type:"string"`
  7726  
  7727  	// The ARN of the Greengrass group.
  7728  	GroupArn *string `type:"string"`
  7729  }
  7730  
  7731  // String returns the string representation.
  7732  //
  7733  // API parameter values that are decorated as "sensitive" in the API will not
  7734  // be included in the string output. The member name will be present, but the
  7735  // value will be replaced with "sensitive".
  7736  func (s BulkDeploymentResult) String() string {
  7737  	return awsutil.Prettify(s)
  7738  }
  7739  
  7740  // GoString returns the string representation.
  7741  //
  7742  // API parameter values that are decorated as "sensitive" in the API will not
  7743  // be included in the string output. The member name will be present, but the
  7744  // value will be replaced with "sensitive".
  7745  func (s BulkDeploymentResult) GoString() string {
  7746  	return s.String()
  7747  }
  7748  
  7749  // SetCreatedAt sets the CreatedAt field's value.
  7750  func (s *BulkDeploymentResult) SetCreatedAt(v string) *BulkDeploymentResult {
  7751  	s.CreatedAt = &v
  7752  	return s
  7753  }
  7754  
  7755  // SetDeploymentArn sets the DeploymentArn field's value.
  7756  func (s *BulkDeploymentResult) SetDeploymentArn(v string) *BulkDeploymentResult {
  7757  	s.DeploymentArn = &v
  7758  	return s
  7759  }
  7760  
  7761  // SetDeploymentId sets the DeploymentId field's value.
  7762  func (s *BulkDeploymentResult) SetDeploymentId(v string) *BulkDeploymentResult {
  7763  	s.DeploymentId = &v
  7764  	return s
  7765  }
  7766  
  7767  // SetDeploymentStatus sets the DeploymentStatus field's value.
  7768  func (s *BulkDeploymentResult) SetDeploymentStatus(v string) *BulkDeploymentResult {
  7769  	s.DeploymentStatus = &v
  7770  	return s
  7771  }
  7772  
  7773  // SetDeploymentType sets the DeploymentType field's value.
  7774  func (s *BulkDeploymentResult) SetDeploymentType(v string) *BulkDeploymentResult {
  7775  	s.DeploymentType = &v
  7776  	return s
  7777  }
  7778  
  7779  // SetErrorDetails sets the ErrorDetails field's value.
  7780  func (s *BulkDeploymentResult) SetErrorDetails(v []*ErrorDetail) *BulkDeploymentResult {
  7781  	s.ErrorDetails = v
  7782  	return s
  7783  }
  7784  
  7785  // SetErrorMessage sets the ErrorMessage field's value.
  7786  func (s *BulkDeploymentResult) SetErrorMessage(v string) *BulkDeploymentResult {
  7787  	s.ErrorMessage = &v
  7788  	return s
  7789  }
  7790  
  7791  // SetGroupArn sets the GroupArn field's value.
  7792  func (s *BulkDeploymentResult) SetGroupArn(v string) *BulkDeploymentResult {
  7793  	s.GroupArn = &v
  7794  	return s
  7795  }
  7796  
  7797  // Information about a Greengrass core's connectivity.
  7798  type ConnectivityInfo struct {
  7799  	_ struct{} `type:"structure"`
  7800  
  7801  	// The endpoint for the Greengrass core. Can be an IP address or DNS.
  7802  	HostAddress *string `type:"string"`
  7803  
  7804  	// The ID of the connectivity information.
  7805  	Id *string `type:"string"`
  7806  
  7807  	// Metadata for this endpoint.
  7808  	Metadata *string `type:"string"`
  7809  
  7810  	// The port of the Greengrass core. Usually 8883.
  7811  	PortNumber *int64 `type:"integer"`
  7812  }
  7813  
  7814  // String returns the string representation.
  7815  //
  7816  // API parameter values that are decorated as "sensitive" in the API will not
  7817  // be included in the string output. The member name will be present, but the
  7818  // value will be replaced with "sensitive".
  7819  func (s ConnectivityInfo) String() string {
  7820  	return awsutil.Prettify(s)
  7821  }
  7822  
  7823  // GoString returns the string representation.
  7824  //
  7825  // API parameter values that are decorated as "sensitive" in the API will not
  7826  // be included in the string output. The member name will be present, but the
  7827  // value will be replaced with "sensitive".
  7828  func (s ConnectivityInfo) GoString() string {
  7829  	return s.String()
  7830  }
  7831  
  7832  // SetHostAddress sets the HostAddress field's value.
  7833  func (s *ConnectivityInfo) SetHostAddress(v string) *ConnectivityInfo {
  7834  	s.HostAddress = &v
  7835  	return s
  7836  }
  7837  
  7838  // SetId sets the Id field's value.
  7839  func (s *ConnectivityInfo) SetId(v string) *ConnectivityInfo {
  7840  	s.Id = &v
  7841  	return s
  7842  }
  7843  
  7844  // SetMetadata sets the Metadata field's value.
  7845  func (s *ConnectivityInfo) SetMetadata(v string) *ConnectivityInfo {
  7846  	s.Metadata = &v
  7847  	return s
  7848  }
  7849  
  7850  // SetPortNumber sets the PortNumber field's value.
  7851  func (s *ConnectivityInfo) SetPortNumber(v int64) *ConnectivityInfo {
  7852  	s.PortNumber = &v
  7853  	return s
  7854  }
  7855  
  7856  // Information about a connector. Connectors run on the Greengrass core and
  7857  // contain built-in integration with local infrastructure, device protocols,
  7858  // AWS, and other cloud services.
  7859  type Connector struct {
  7860  	_ struct{} `type:"structure"`
  7861  
  7862  	// The ARN of the connector.
  7863  	//
  7864  	// ConnectorArn is a required field
  7865  	ConnectorArn *string `type:"string" required:"true"`
  7866  
  7867  	// A descriptive or arbitrary ID for the connector. This value must be unique
  7868  	// within the connector definition version. Max length is 128 characters with
  7869  	// pattern [a-zA-Z0-9:_-]+.
  7870  	//
  7871  	// Id is a required field
  7872  	Id *string `type:"string" required:"true"`
  7873  
  7874  	// The parameters or configuration that the connector uses.
  7875  	Parameters map[string]*string `type:"map"`
  7876  }
  7877  
  7878  // String returns the string representation.
  7879  //
  7880  // API parameter values that are decorated as "sensitive" in the API will not
  7881  // be included in the string output. The member name will be present, but the
  7882  // value will be replaced with "sensitive".
  7883  func (s Connector) String() string {
  7884  	return awsutil.Prettify(s)
  7885  }
  7886  
  7887  // GoString returns the string representation.
  7888  //
  7889  // API parameter values that are decorated as "sensitive" in the API will not
  7890  // be included in the string output. The member name will be present, but the
  7891  // value will be replaced with "sensitive".
  7892  func (s Connector) GoString() string {
  7893  	return s.String()
  7894  }
  7895  
  7896  // Validate inspects the fields of the type to determine if they are valid.
  7897  func (s *Connector) Validate() error {
  7898  	invalidParams := request.ErrInvalidParams{Context: "Connector"}
  7899  	if s.ConnectorArn == nil {
  7900  		invalidParams.Add(request.NewErrParamRequired("ConnectorArn"))
  7901  	}
  7902  	if s.Id == nil {
  7903  		invalidParams.Add(request.NewErrParamRequired("Id"))
  7904  	}
  7905  
  7906  	if invalidParams.Len() > 0 {
  7907  		return invalidParams
  7908  	}
  7909  	return nil
  7910  }
  7911  
  7912  // SetConnectorArn sets the ConnectorArn field's value.
  7913  func (s *Connector) SetConnectorArn(v string) *Connector {
  7914  	s.ConnectorArn = &v
  7915  	return s
  7916  }
  7917  
  7918  // SetId sets the Id field's value.
  7919  func (s *Connector) SetId(v string) *Connector {
  7920  	s.Id = &v
  7921  	return s
  7922  }
  7923  
  7924  // SetParameters sets the Parameters field's value.
  7925  func (s *Connector) SetParameters(v map[string]*string) *Connector {
  7926  	s.Parameters = v
  7927  	return s
  7928  }
  7929  
  7930  // Information about the connector definition version, which is a container
  7931  // for connectors.
  7932  type ConnectorDefinitionVersion struct {
  7933  	_ struct{} `type:"structure"`
  7934  
  7935  	// A list of references to connectors in this version, with their corresponding
  7936  	// configuration settings.
  7937  	Connectors []*Connector `type:"list"`
  7938  }
  7939  
  7940  // String returns the string representation.
  7941  //
  7942  // API parameter values that are decorated as "sensitive" in the API will not
  7943  // be included in the string output. The member name will be present, but the
  7944  // value will be replaced with "sensitive".
  7945  func (s ConnectorDefinitionVersion) String() string {
  7946  	return awsutil.Prettify(s)
  7947  }
  7948  
  7949  // GoString returns the string representation.
  7950  //
  7951  // API parameter values that are decorated as "sensitive" in the API will not
  7952  // be included in the string output. The member name will be present, but the
  7953  // value will be replaced with "sensitive".
  7954  func (s ConnectorDefinitionVersion) GoString() string {
  7955  	return s.String()
  7956  }
  7957  
  7958  // Validate inspects the fields of the type to determine if they are valid.
  7959  func (s *ConnectorDefinitionVersion) Validate() error {
  7960  	invalidParams := request.ErrInvalidParams{Context: "ConnectorDefinitionVersion"}
  7961  	if s.Connectors != nil {
  7962  		for i, v := range s.Connectors {
  7963  			if v == nil {
  7964  				continue
  7965  			}
  7966  			if err := v.Validate(); err != nil {
  7967  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Connectors", i), err.(request.ErrInvalidParams))
  7968  			}
  7969  		}
  7970  	}
  7971  
  7972  	if invalidParams.Len() > 0 {
  7973  		return invalidParams
  7974  	}
  7975  	return nil
  7976  }
  7977  
  7978  // SetConnectors sets the Connectors field's value.
  7979  func (s *ConnectorDefinitionVersion) SetConnectors(v []*Connector) *ConnectorDefinitionVersion {
  7980  	s.Connectors = v
  7981  	return s
  7982  }
  7983  
  7984  // Information about a core.
  7985  type Core struct {
  7986  	_ struct{} `type:"structure"`
  7987  
  7988  	// The ARN of the certificate associated with the core.
  7989  	//
  7990  	// CertificateArn is a required field
  7991  	CertificateArn *string `type:"string" required:"true"`
  7992  
  7993  	// A descriptive or arbitrary ID for the core. This value must be unique within
  7994  	// the core definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''.
  7995  	//
  7996  	// Id is a required field
  7997  	Id *string `type:"string" required:"true"`
  7998  
  7999  	// If true, the core's local shadow is automatically synced with the cloud.
  8000  	SyncShadow *bool `type:"boolean"`
  8001  
  8002  	// The ARN of the thing which is the core.
  8003  	//
  8004  	// ThingArn is a required field
  8005  	ThingArn *string `type:"string" required:"true"`
  8006  }
  8007  
  8008  // String returns the string representation.
  8009  //
  8010  // API parameter values that are decorated as "sensitive" in the API will not
  8011  // be included in the string output. The member name will be present, but the
  8012  // value will be replaced with "sensitive".
  8013  func (s Core) String() string {
  8014  	return awsutil.Prettify(s)
  8015  }
  8016  
  8017  // GoString returns the string representation.
  8018  //
  8019  // API parameter values that are decorated as "sensitive" in the API will not
  8020  // be included in the string output. The member name will be present, but the
  8021  // value will be replaced with "sensitive".
  8022  func (s Core) GoString() string {
  8023  	return s.String()
  8024  }
  8025  
  8026  // Validate inspects the fields of the type to determine if they are valid.
  8027  func (s *Core) Validate() error {
  8028  	invalidParams := request.ErrInvalidParams{Context: "Core"}
  8029  	if s.CertificateArn == nil {
  8030  		invalidParams.Add(request.NewErrParamRequired("CertificateArn"))
  8031  	}
  8032  	if s.Id == nil {
  8033  		invalidParams.Add(request.NewErrParamRequired("Id"))
  8034  	}
  8035  	if s.ThingArn == nil {
  8036  		invalidParams.Add(request.NewErrParamRequired("ThingArn"))
  8037  	}
  8038  
  8039  	if invalidParams.Len() > 0 {
  8040  		return invalidParams
  8041  	}
  8042  	return nil
  8043  }
  8044  
  8045  // SetCertificateArn sets the CertificateArn field's value.
  8046  func (s *Core) SetCertificateArn(v string) *Core {
  8047  	s.CertificateArn = &v
  8048  	return s
  8049  }
  8050  
  8051  // SetId sets the Id field's value.
  8052  func (s *Core) SetId(v string) *Core {
  8053  	s.Id = &v
  8054  	return s
  8055  }
  8056  
  8057  // SetSyncShadow sets the SyncShadow field's value.
  8058  func (s *Core) SetSyncShadow(v bool) *Core {
  8059  	s.SyncShadow = &v
  8060  	return s
  8061  }
  8062  
  8063  // SetThingArn sets the ThingArn field's value.
  8064  func (s *Core) SetThingArn(v string) *Core {
  8065  	s.ThingArn = &v
  8066  	return s
  8067  }
  8068  
  8069  // Information about a core definition version.
  8070  type CoreDefinitionVersion struct {
  8071  	_ struct{} `type:"structure"`
  8072  
  8073  	// A list of cores in the core definition version.
  8074  	Cores []*Core `type:"list"`
  8075  }
  8076  
  8077  // String returns the string representation.
  8078  //
  8079  // API parameter values that are decorated as "sensitive" in the API will not
  8080  // be included in the string output. The member name will be present, but the
  8081  // value will be replaced with "sensitive".
  8082  func (s CoreDefinitionVersion) String() string {
  8083  	return awsutil.Prettify(s)
  8084  }
  8085  
  8086  // GoString returns the string representation.
  8087  //
  8088  // API parameter values that are decorated as "sensitive" in the API will not
  8089  // be included in the string output. The member name will be present, but the
  8090  // value will be replaced with "sensitive".
  8091  func (s CoreDefinitionVersion) GoString() string {
  8092  	return s.String()
  8093  }
  8094  
  8095  // Validate inspects the fields of the type to determine if they are valid.
  8096  func (s *CoreDefinitionVersion) Validate() error {
  8097  	invalidParams := request.ErrInvalidParams{Context: "CoreDefinitionVersion"}
  8098  	if s.Cores != nil {
  8099  		for i, v := range s.Cores {
  8100  			if v == nil {
  8101  				continue
  8102  			}
  8103  			if err := v.Validate(); err != nil {
  8104  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Cores", i), err.(request.ErrInvalidParams))
  8105  			}
  8106  		}
  8107  	}
  8108  
  8109  	if invalidParams.Len() > 0 {
  8110  		return invalidParams
  8111  	}
  8112  	return nil
  8113  }
  8114  
  8115  // SetCores sets the Cores field's value.
  8116  func (s *CoreDefinitionVersion) SetCores(v []*Core) *CoreDefinitionVersion {
  8117  	s.Cores = v
  8118  	return s
  8119  }
  8120  
  8121  type CreateConnectorDefinitionInput struct {
  8122  	_ struct{} `type:"structure"`
  8123  
  8124  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  8125  
  8126  	// Information about the connector definition version, which is a container
  8127  	// for connectors.
  8128  	InitialVersion *ConnectorDefinitionVersion `type:"structure"`
  8129  
  8130  	Name *string `type:"string"`
  8131  
  8132  	// The key-value pair for the resource tag.
  8133  	Tags map[string]*string `locationName:"tags" type:"map"`
  8134  }
  8135  
  8136  // String returns the string representation.
  8137  //
  8138  // API parameter values that are decorated as "sensitive" in the API will not
  8139  // be included in the string output. The member name will be present, but the
  8140  // value will be replaced with "sensitive".
  8141  func (s CreateConnectorDefinitionInput) String() string {
  8142  	return awsutil.Prettify(s)
  8143  }
  8144  
  8145  // GoString returns the string representation.
  8146  //
  8147  // API parameter values that are decorated as "sensitive" in the API will not
  8148  // be included in the string output. The member name will be present, but the
  8149  // value will be replaced with "sensitive".
  8150  func (s CreateConnectorDefinitionInput) GoString() string {
  8151  	return s.String()
  8152  }
  8153  
  8154  // Validate inspects the fields of the type to determine if they are valid.
  8155  func (s *CreateConnectorDefinitionInput) Validate() error {
  8156  	invalidParams := request.ErrInvalidParams{Context: "CreateConnectorDefinitionInput"}
  8157  	if s.InitialVersion != nil {
  8158  		if err := s.InitialVersion.Validate(); err != nil {
  8159  			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
  8160  		}
  8161  	}
  8162  
  8163  	if invalidParams.Len() > 0 {
  8164  		return invalidParams
  8165  	}
  8166  	return nil
  8167  }
  8168  
  8169  // SetAmznClientToken sets the AmznClientToken field's value.
  8170  func (s *CreateConnectorDefinitionInput) SetAmznClientToken(v string) *CreateConnectorDefinitionInput {
  8171  	s.AmznClientToken = &v
  8172  	return s
  8173  }
  8174  
  8175  // SetInitialVersion sets the InitialVersion field's value.
  8176  func (s *CreateConnectorDefinitionInput) SetInitialVersion(v *ConnectorDefinitionVersion) *CreateConnectorDefinitionInput {
  8177  	s.InitialVersion = v
  8178  	return s
  8179  }
  8180  
  8181  // SetName sets the Name field's value.
  8182  func (s *CreateConnectorDefinitionInput) SetName(v string) *CreateConnectorDefinitionInput {
  8183  	s.Name = &v
  8184  	return s
  8185  }
  8186  
  8187  // SetTags sets the Tags field's value.
  8188  func (s *CreateConnectorDefinitionInput) SetTags(v map[string]*string) *CreateConnectorDefinitionInput {
  8189  	s.Tags = v
  8190  	return s
  8191  }
  8192  
  8193  type CreateConnectorDefinitionOutput struct {
  8194  	_ struct{} `type:"structure"`
  8195  
  8196  	Arn *string `type:"string"`
  8197  
  8198  	CreationTimestamp *string `type:"string"`
  8199  
  8200  	Id *string `type:"string"`
  8201  
  8202  	LastUpdatedTimestamp *string `type:"string"`
  8203  
  8204  	LatestVersion *string `type:"string"`
  8205  
  8206  	LatestVersionArn *string `type:"string"`
  8207  
  8208  	Name *string `type:"string"`
  8209  }
  8210  
  8211  // String returns the string representation.
  8212  //
  8213  // API parameter values that are decorated as "sensitive" in the API will not
  8214  // be included in the string output. The member name will be present, but the
  8215  // value will be replaced with "sensitive".
  8216  func (s CreateConnectorDefinitionOutput) String() string {
  8217  	return awsutil.Prettify(s)
  8218  }
  8219  
  8220  // GoString returns the string representation.
  8221  //
  8222  // API parameter values that are decorated as "sensitive" in the API will not
  8223  // be included in the string output. The member name will be present, but the
  8224  // value will be replaced with "sensitive".
  8225  func (s CreateConnectorDefinitionOutput) GoString() string {
  8226  	return s.String()
  8227  }
  8228  
  8229  // SetArn sets the Arn field's value.
  8230  func (s *CreateConnectorDefinitionOutput) SetArn(v string) *CreateConnectorDefinitionOutput {
  8231  	s.Arn = &v
  8232  	return s
  8233  }
  8234  
  8235  // SetCreationTimestamp sets the CreationTimestamp field's value.
  8236  func (s *CreateConnectorDefinitionOutput) SetCreationTimestamp(v string) *CreateConnectorDefinitionOutput {
  8237  	s.CreationTimestamp = &v
  8238  	return s
  8239  }
  8240  
  8241  // SetId sets the Id field's value.
  8242  func (s *CreateConnectorDefinitionOutput) SetId(v string) *CreateConnectorDefinitionOutput {
  8243  	s.Id = &v
  8244  	return s
  8245  }
  8246  
  8247  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
  8248  func (s *CreateConnectorDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateConnectorDefinitionOutput {
  8249  	s.LastUpdatedTimestamp = &v
  8250  	return s
  8251  }
  8252  
  8253  // SetLatestVersion sets the LatestVersion field's value.
  8254  func (s *CreateConnectorDefinitionOutput) SetLatestVersion(v string) *CreateConnectorDefinitionOutput {
  8255  	s.LatestVersion = &v
  8256  	return s
  8257  }
  8258  
  8259  // SetLatestVersionArn sets the LatestVersionArn field's value.
  8260  func (s *CreateConnectorDefinitionOutput) SetLatestVersionArn(v string) *CreateConnectorDefinitionOutput {
  8261  	s.LatestVersionArn = &v
  8262  	return s
  8263  }
  8264  
  8265  // SetName sets the Name field's value.
  8266  func (s *CreateConnectorDefinitionOutput) SetName(v string) *CreateConnectorDefinitionOutput {
  8267  	s.Name = &v
  8268  	return s
  8269  }
  8270  
  8271  type CreateConnectorDefinitionVersionInput struct {
  8272  	_ struct{} `type:"structure"`
  8273  
  8274  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  8275  
  8276  	// ConnectorDefinitionId is a required field
  8277  	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
  8278  
  8279  	Connectors []*Connector `type:"list"`
  8280  }
  8281  
  8282  // String returns the string representation.
  8283  //
  8284  // API parameter values that are decorated as "sensitive" in the API will not
  8285  // be included in the string output. The member name will be present, but the
  8286  // value will be replaced with "sensitive".
  8287  func (s CreateConnectorDefinitionVersionInput) String() string {
  8288  	return awsutil.Prettify(s)
  8289  }
  8290  
  8291  // GoString returns the string representation.
  8292  //
  8293  // API parameter values that are decorated as "sensitive" in the API will not
  8294  // be included in the string output. The member name will be present, but the
  8295  // value will be replaced with "sensitive".
  8296  func (s CreateConnectorDefinitionVersionInput) GoString() string {
  8297  	return s.String()
  8298  }
  8299  
  8300  // Validate inspects the fields of the type to determine if they are valid.
  8301  func (s *CreateConnectorDefinitionVersionInput) Validate() error {
  8302  	invalidParams := request.ErrInvalidParams{Context: "CreateConnectorDefinitionVersionInput"}
  8303  	if s.ConnectorDefinitionId == nil {
  8304  		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
  8305  	}
  8306  	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
  8307  		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
  8308  	}
  8309  	if s.Connectors != nil {
  8310  		for i, v := range s.Connectors {
  8311  			if v == nil {
  8312  				continue
  8313  			}
  8314  			if err := v.Validate(); err != nil {
  8315  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Connectors", i), err.(request.ErrInvalidParams))
  8316  			}
  8317  		}
  8318  	}
  8319  
  8320  	if invalidParams.Len() > 0 {
  8321  		return invalidParams
  8322  	}
  8323  	return nil
  8324  }
  8325  
  8326  // SetAmznClientToken sets the AmznClientToken field's value.
  8327  func (s *CreateConnectorDefinitionVersionInput) SetAmznClientToken(v string) *CreateConnectorDefinitionVersionInput {
  8328  	s.AmznClientToken = &v
  8329  	return s
  8330  }
  8331  
  8332  // SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
  8333  func (s *CreateConnectorDefinitionVersionInput) SetConnectorDefinitionId(v string) *CreateConnectorDefinitionVersionInput {
  8334  	s.ConnectorDefinitionId = &v
  8335  	return s
  8336  }
  8337  
  8338  // SetConnectors sets the Connectors field's value.
  8339  func (s *CreateConnectorDefinitionVersionInput) SetConnectors(v []*Connector) *CreateConnectorDefinitionVersionInput {
  8340  	s.Connectors = v
  8341  	return s
  8342  }
  8343  
  8344  type CreateConnectorDefinitionVersionOutput struct {
  8345  	_ struct{} `type:"structure"`
  8346  
  8347  	Arn *string `type:"string"`
  8348  
  8349  	CreationTimestamp *string `type:"string"`
  8350  
  8351  	Id *string `type:"string"`
  8352  
  8353  	Version *string `type:"string"`
  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 CreateConnectorDefinitionVersionOutput) 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 CreateConnectorDefinitionVersionOutput) GoString() string {
  8371  	return s.String()
  8372  }
  8373  
  8374  // SetArn sets the Arn field's value.
  8375  func (s *CreateConnectorDefinitionVersionOutput) SetArn(v string) *CreateConnectorDefinitionVersionOutput {
  8376  	s.Arn = &v
  8377  	return s
  8378  }
  8379  
  8380  // SetCreationTimestamp sets the CreationTimestamp field's value.
  8381  func (s *CreateConnectorDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateConnectorDefinitionVersionOutput {
  8382  	s.CreationTimestamp = &v
  8383  	return s
  8384  }
  8385  
  8386  // SetId sets the Id field's value.
  8387  func (s *CreateConnectorDefinitionVersionOutput) SetId(v string) *CreateConnectorDefinitionVersionOutput {
  8388  	s.Id = &v
  8389  	return s
  8390  }
  8391  
  8392  // SetVersion sets the Version field's value.
  8393  func (s *CreateConnectorDefinitionVersionOutput) SetVersion(v string) *CreateConnectorDefinitionVersionOutput {
  8394  	s.Version = &v
  8395  	return s
  8396  }
  8397  
  8398  type CreateCoreDefinitionInput struct {
  8399  	_ struct{} `type:"structure"`
  8400  
  8401  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  8402  
  8403  	// Information about a core definition version.
  8404  	InitialVersion *CoreDefinitionVersion `type:"structure"`
  8405  
  8406  	Name *string `type:"string"`
  8407  
  8408  	// The key-value pair for the resource tag.
  8409  	Tags map[string]*string `locationName:"tags" type:"map"`
  8410  }
  8411  
  8412  // String returns the string representation.
  8413  //
  8414  // API parameter values that are decorated as "sensitive" in the API will not
  8415  // be included in the string output. The member name will be present, but the
  8416  // value will be replaced with "sensitive".
  8417  func (s CreateCoreDefinitionInput) String() string {
  8418  	return awsutil.Prettify(s)
  8419  }
  8420  
  8421  // GoString returns the string representation.
  8422  //
  8423  // API parameter values that are decorated as "sensitive" in the API will not
  8424  // be included in the string output. The member name will be present, but the
  8425  // value will be replaced with "sensitive".
  8426  func (s CreateCoreDefinitionInput) GoString() string {
  8427  	return s.String()
  8428  }
  8429  
  8430  // Validate inspects the fields of the type to determine if they are valid.
  8431  func (s *CreateCoreDefinitionInput) Validate() error {
  8432  	invalidParams := request.ErrInvalidParams{Context: "CreateCoreDefinitionInput"}
  8433  	if s.InitialVersion != nil {
  8434  		if err := s.InitialVersion.Validate(); err != nil {
  8435  			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
  8436  		}
  8437  	}
  8438  
  8439  	if invalidParams.Len() > 0 {
  8440  		return invalidParams
  8441  	}
  8442  	return nil
  8443  }
  8444  
  8445  // SetAmznClientToken sets the AmznClientToken field's value.
  8446  func (s *CreateCoreDefinitionInput) SetAmznClientToken(v string) *CreateCoreDefinitionInput {
  8447  	s.AmznClientToken = &v
  8448  	return s
  8449  }
  8450  
  8451  // SetInitialVersion sets the InitialVersion field's value.
  8452  func (s *CreateCoreDefinitionInput) SetInitialVersion(v *CoreDefinitionVersion) *CreateCoreDefinitionInput {
  8453  	s.InitialVersion = v
  8454  	return s
  8455  }
  8456  
  8457  // SetName sets the Name field's value.
  8458  func (s *CreateCoreDefinitionInput) SetName(v string) *CreateCoreDefinitionInput {
  8459  	s.Name = &v
  8460  	return s
  8461  }
  8462  
  8463  // SetTags sets the Tags field's value.
  8464  func (s *CreateCoreDefinitionInput) SetTags(v map[string]*string) *CreateCoreDefinitionInput {
  8465  	s.Tags = v
  8466  	return s
  8467  }
  8468  
  8469  type CreateCoreDefinitionOutput struct {
  8470  	_ struct{} `type:"structure"`
  8471  
  8472  	Arn *string `type:"string"`
  8473  
  8474  	CreationTimestamp *string `type:"string"`
  8475  
  8476  	Id *string `type:"string"`
  8477  
  8478  	LastUpdatedTimestamp *string `type:"string"`
  8479  
  8480  	LatestVersion *string `type:"string"`
  8481  
  8482  	LatestVersionArn *string `type:"string"`
  8483  
  8484  	Name *string `type:"string"`
  8485  }
  8486  
  8487  // String returns the string representation.
  8488  //
  8489  // API parameter values that are decorated as "sensitive" in the API will not
  8490  // be included in the string output. The member name will be present, but the
  8491  // value will be replaced with "sensitive".
  8492  func (s CreateCoreDefinitionOutput) String() string {
  8493  	return awsutil.Prettify(s)
  8494  }
  8495  
  8496  // GoString returns the string representation.
  8497  //
  8498  // API parameter values that are decorated as "sensitive" in the API will not
  8499  // be included in the string output. The member name will be present, but the
  8500  // value will be replaced with "sensitive".
  8501  func (s CreateCoreDefinitionOutput) GoString() string {
  8502  	return s.String()
  8503  }
  8504  
  8505  // SetArn sets the Arn field's value.
  8506  func (s *CreateCoreDefinitionOutput) SetArn(v string) *CreateCoreDefinitionOutput {
  8507  	s.Arn = &v
  8508  	return s
  8509  }
  8510  
  8511  // SetCreationTimestamp sets the CreationTimestamp field's value.
  8512  func (s *CreateCoreDefinitionOutput) SetCreationTimestamp(v string) *CreateCoreDefinitionOutput {
  8513  	s.CreationTimestamp = &v
  8514  	return s
  8515  }
  8516  
  8517  // SetId sets the Id field's value.
  8518  func (s *CreateCoreDefinitionOutput) SetId(v string) *CreateCoreDefinitionOutput {
  8519  	s.Id = &v
  8520  	return s
  8521  }
  8522  
  8523  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
  8524  func (s *CreateCoreDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateCoreDefinitionOutput {
  8525  	s.LastUpdatedTimestamp = &v
  8526  	return s
  8527  }
  8528  
  8529  // SetLatestVersion sets the LatestVersion field's value.
  8530  func (s *CreateCoreDefinitionOutput) SetLatestVersion(v string) *CreateCoreDefinitionOutput {
  8531  	s.LatestVersion = &v
  8532  	return s
  8533  }
  8534  
  8535  // SetLatestVersionArn sets the LatestVersionArn field's value.
  8536  func (s *CreateCoreDefinitionOutput) SetLatestVersionArn(v string) *CreateCoreDefinitionOutput {
  8537  	s.LatestVersionArn = &v
  8538  	return s
  8539  }
  8540  
  8541  // SetName sets the Name field's value.
  8542  func (s *CreateCoreDefinitionOutput) SetName(v string) *CreateCoreDefinitionOutput {
  8543  	s.Name = &v
  8544  	return s
  8545  }
  8546  
  8547  type CreateCoreDefinitionVersionInput struct {
  8548  	_ struct{} `type:"structure"`
  8549  
  8550  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  8551  
  8552  	// CoreDefinitionId is a required field
  8553  	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
  8554  
  8555  	Cores []*Core `type:"list"`
  8556  }
  8557  
  8558  // String returns the string representation.
  8559  //
  8560  // API parameter values that are decorated as "sensitive" in the API will not
  8561  // be included in the string output. The member name will be present, but the
  8562  // value will be replaced with "sensitive".
  8563  func (s CreateCoreDefinitionVersionInput) String() string {
  8564  	return awsutil.Prettify(s)
  8565  }
  8566  
  8567  // GoString returns the string representation.
  8568  //
  8569  // API parameter values that are decorated as "sensitive" in the API will not
  8570  // be included in the string output. The member name will be present, but the
  8571  // value will be replaced with "sensitive".
  8572  func (s CreateCoreDefinitionVersionInput) GoString() string {
  8573  	return s.String()
  8574  }
  8575  
  8576  // Validate inspects the fields of the type to determine if they are valid.
  8577  func (s *CreateCoreDefinitionVersionInput) Validate() error {
  8578  	invalidParams := request.ErrInvalidParams{Context: "CreateCoreDefinitionVersionInput"}
  8579  	if s.CoreDefinitionId == nil {
  8580  		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
  8581  	}
  8582  	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
  8583  		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
  8584  	}
  8585  	if s.Cores != nil {
  8586  		for i, v := range s.Cores {
  8587  			if v == nil {
  8588  				continue
  8589  			}
  8590  			if err := v.Validate(); err != nil {
  8591  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Cores", i), err.(request.ErrInvalidParams))
  8592  			}
  8593  		}
  8594  	}
  8595  
  8596  	if invalidParams.Len() > 0 {
  8597  		return invalidParams
  8598  	}
  8599  	return nil
  8600  }
  8601  
  8602  // SetAmznClientToken sets the AmznClientToken field's value.
  8603  func (s *CreateCoreDefinitionVersionInput) SetAmznClientToken(v string) *CreateCoreDefinitionVersionInput {
  8604  	s.AmznClientToken = &v
  8605  	return s
  8606  }
  8607  
  8608  // SetCoreDefinitionId sets the CoreDefinitionId field's value.
  8609  func (s *CreateCoreDefinitionVersionInput) SetCoreDefinitionId(v string) *CreateCoreDefinitionVersionInput {
  8610  	s.CoreDefinitionId = &v
  8611  	return s
  8612  }
  8613  
  8614  // SetCores sets the Cores field's value.
  8615  func (s *CreateCoreDefinitionVersionInput) SetCores(v []*Core) *CreateCoreDefinitionVersionInput {
  8616  	s.Cores = v
  8617  	return s
  8618  }
  8619  
  8620  type CreateCoreDefinitionVersionOutput struct {
  8621  	_ struct{} `type:"structure"`
  8622  
  8623  	Arn *string `type:"string"`
  8624  
  8625  	CreationTimestamp *string `type:"string"`
  8626  
  8627  	Id *string `type:"string"`
  8628  
  8629  	Version *string `type:"string"`
  8630  }
  8631  
  8632  // String returns the string representation.
  8633  //
  8634  // API parameter values that are decorated as "sensitive" in the API will not
  8635  // be included in the string output. The member name will be present, but the
  8636  // value will be replaced with "sensitive".
  8637  func (s CreateCoreDefinitionVersionOutput) String() string {
  8638  	return awsutil.Prettify(s)
  8639  }
  8640  
  8641  // GoString returns the string representation.
  8642  //
  8643  // API parameter values that are decorated as "sensitive" in the API will not
  8644  // be included in the string output. The member name will be present, but the
  8645  // value will be replaced with "sensitive".
  8646  func (s CreateCoreDefinitionVersionOutput) GoString() string {
  8647  	return s.String()
  8648  }
  8649  
  8650  // SetArn sets the Arn field's value.
  8651  func (s *CreateCoreDefinitionVersionOutput) SetArn(v string) *CreateCoreDefinitionVersionOutput {
  8652  	s.Arn = &v
  8653  	return s
  8654  }
  8655  
  8656  // SetCreationTimestamp sets the CreationTimestamp field's value.
  8657  func (s *CreateCoreDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateCoreDefinitionVersionOutput {
  8658  	s.CreationTimestamp = &v
  8659  	return s
  8660  }
  8661  
  8662  // SetId sets the Id field's value.
  8663  func (s *CreateCoreDefinitionVersionOutput) SetId(v string) *CreateCoreDefinitionVersionOutput {
  8664  	s.Id = &v
  8665  	return s
  8666  }
  8667  
  8668  // SetVersion sets the Version field's value.
  8669  func (s *CreateCoreDefinitionVersionOutput) SetVersion(v string) *CreateCoreDefinitionVersionOutput {
  8670  	s.Version = &v
  8671  	return s
  8672  }
  8673  
  8674  // Information about a deployment.
  8675  type CreateDeploymentInput struct {
  8676  	_ struct{} `type:"structure"`
  8677  
  8678  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  8679  
  8680  	// The ID of the deployment if you wish to redeploy a previous deployment.
  8681  	DeploymentId *string `type:"string"`
  8682  
  8683  	// The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment''
  8684  	// and ''Redeployment'' are valid.
  8685  	//
  8686  	// DeploymentType is a required field
  8687  	DeploymentType *string `type:"string" required:"true" enum:"DeploymentType"`
  8688  
  8689  	// GroupId is a required field
  8690  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
  8691  
  8692  	// The ID of the group version to be deployed.
  8693  	GroupVersionId *string `type:"string"`
  8694  }
  8695  
  8696  // String returns the string representation.
  8697  //
  8698  // API parameter values that are decorated as "sensitive" in the API will not
  8699  // be included in the string output. The member name will be present, but the
  8700  // value will be replaced with "sensitive".
  8701  func (s CreateDeploymentInput) String() string {
  8702  	return awsutil.Prettify(s)
  8703  }
  8704  
  8705  // GoString returns the string representation.
  8706  //
  8707  // API parameter values that are decorated as "sensitive" in the API will not
  8708  // be included in the string output. The member name will be present, but the
  8709  // value will be replaced with "sensitive".
  8710  func (s CreateDeploymentInput) GoString() string {
  8711  	return s.String()
  8712  }
  8713  
  8714  // Validate inspects the fields of the type to determine if they are valid.
  8715  func (s *CreateDeploymentInput) Validate() error {
  8716  	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"}
  8717  	if s.DeploymentType == nil {
  8718  		invalidParams.Add(request.NewErrParamRequired("DeploymentType"))
  8719  	}
  8720  	if s.GroupId == nil {
  8721  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
  8722  	}
  8723  	if s.GroupId != nil && len(*s.GroupId) < 1 {
  8724  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
  8725  	}
  8726  
  8727  	if invalidParams.Len() > 0 {
  8728  		return invalidParams
  8729  	}
  8730  	return nil
  8731  }
  8732  
  8733  // SetAmznClientToken sets the AmznClientToken field's value.
  8734  func (s *CreateDeploymentInput) SetAmznClientToken(v string) *CreateDeploymentInput {
  8735  	s.AmznClientToken = &v
  8736  	return s
  8737  }
  8738  
  8739  // SetDeploymentId sets the DeploymentId field's value.
  8740  func (s *CreateDeploymentInput) SetDeploymentId(v string) *CreateDeploymentInput {
  8741  	s.DeploymentId = &v
  8742  	return s
  8743  }
  8744  
  8745  // SetDeploymentType sets the DeploymentType field's value.
  8746  func (s *CreateDeploymentInput) SetDeploymentType(v string) *CreateDeploymentInput {
  8747  	s.DeploymentType = &v
  8748  	return s
  8749  }
  8750  
  8751  // SetGroupId sets the GroupId field's value.
  8752  func (s *CreateDeploymentInput) SetGroupId(v string) *CreateDeploymentInput {
  8753  	s.GroupId = &v
  8754  	return s
  8755  }
  8756  
  8757  // SetGroupVersionId sets the GroupVersionId field's value.
  8758  func (s *CreateDeploymentInput) SetGroupVersionId(v string) *CreateDeploymentInput {
  8759  	s.GroupVersionId = &v
  8760  	return s
  8761  }
  8762  
  8763  type CreateDeploymentOutput struct {
  8764  	_ struct{} `type:"structure"`
  8765  
  8766  	// The ARN of the deployment.
  8767  	DeploymentArn *string `type:"string"`
  8768  
  8769  	// The ID of the deployment.
  8770  	DeploymentId *string `type:"string"`
  8771  }
  8772  
  8773  // String returns the string representation.
  8774  //
  8775  // API parameter values that are decorated as "sensitive" in the API will not
  8776  // be included in the string output. The member name will be present, but the
  8777  // value will be replaced with "sensitive".
  8778  func (s CreateDeploymentOutput) String() string {
  8779  	return awsutil.Prettify(s)
  8780  }
  8781  
  8782  // GoString returns the string representation.
  8783  //
  8784  // API parameter values that are decorated as "sensitive" in the API will not
  8785  // be included in the string output. The member name will be present, but the
  8786  // value will be replaced with "sensitive".
  8787  func (s CreateDeploymentOutput) GoString() string {
  8788  	return s.String()
  8789  }
  8790  
  8791  // SetDeploymentArn sets the DeploymentArn field's value.
  8792  func (s *CreateDeploymentOutput) SetDeploymentArn(v string) *CreateDeploymentOutput {
  8793  	s.DeploymentArn = &v
  8794  	return s
  8795  }
  8796  
  8797  // SetDeploymentId sets the DeploymentId field's value.
  8798  func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput {
  8799  	s.DeploymentId = &v
  8800  	return s
  8801  }
  8802  
  8803  type CreateDeviceDefinitionInput struct {
  8804  	_ struct{} `type:"structure"`
  8805  
  8806  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  8807  
  8808  	// Information about a device definition version.
  8809  	InitialVersion *DeviceDefinitionVersion `type:"structure"`
  8810  
  8811  	Name *string `type:"string"`
  8812  
  8813  	// The key-value pair for the resource tag.
  8814  	Tags map[string]*string `locationName:"tags" type:"map"`
  8815  }
  8816  
  8817  // String returns the string representation.
  8818  //
  8819  // API parameter values that are decorated as "sensitive" in the API will not
  8820  // be included in the string output. The member name will be present, but the
  8821  // value will be replaced with "sensitive".
  8822  func (s CreateDeviceDefinitionInput) String() string {
  8823  	return awsutil.Prettify(s)
  8824  }
  8825  
  8826  // GoString returns the string representation.
  8827  //
  8828  // API parameter values that are decorated as "sensitive" in the API will not
  8829  // be included in the string output. The member name will be present, but the
  8830  // value will be replaced with "sensitive".
  8831  func (s CreateDeviceDefinitionInput) GoString() string {
  8832  	return s.String()
  8833  }
  8834  
  8835  // Validate inspects the fields of the type to determine if they are valid.
  8836  func (s *CreateDeviceDefinitionInput) Validate() error {
  8837  	invalidParams := request.ErrInvalidParams{Context: "CreateDeviceDefinitionInput"}
  8838  	if s.InitialVersion != nil {
  8839  		if err := s.InitialVersion.Validate(); err != nil {
  8840  			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
  8841  		}
  8842  	}
  8843  
  8844  	if invalidParams.Len() > 0 {
  8845  		return invalidParams
  8846  	}
  8847  	return nil
  8848  }
  8849  
  8850  // SetAmznClientToken sets the AmznClientToken field's value.
  8851  func (s *CreateDeviceDefinitionInput) SetAmznClientToken(v string) *CreateDeviceDefinitionInput {
  8852  	s.AmznClientToken = &v
  8853  	return s
  8854  }
  8855  
  8856  // SetInitialVersion sets the InitialVersion field's value.
  8857  func (s *CreateDeviceDefinitionInput) SetInitialVersion(v *DeviceDefinitionVersion) *CreateDeviceDefinitionInput {
  8858  	s.InitialVersion = v
  8859  	return s
  8860  }
  8861  
  8862  // SetName sets the Name field's value.
  8863  func (s *CreateDeviceDefinitionInput) SetName(v string) *CreateDeviceDefinitionInput {
  8864  	s.Name = &v
  8865  	return s
  8866  }
  8867  
  8868  // SetTags sets the Tags field's value.
  8869  func (s *CreateDeviceDefinitionInput) SetTags(v map[string]*string) *CreateDeviceDefinitionInput {
  8870  	s.Tags = v
  8871  	return s
  8872  }
  8873  
  8874  type CreateDeviceDefinitionOutput struct {
  8875  	_ struct{} `type:"structure"`
  8876  
  8877  	Arn *string `type:"string"`
  8878  
  8879  	CreationTimestamp *string `type:"string"`
  8880  
  8881  	Id *string `type:"string"`
  8882  
  8883  	LastUpdatedTimestamp *string `type:"string"`
  8884  
  8885  	LatestVersion *string `type:"string"`
  8886  
  8887  	LatestVersionArn *string `type:"string"`
  8888  
  8889  	Name *string `type:"string"`
  8890  }
  8891  
  8892  // String returns the string representation.
  8893  //
  8894  // API parameter values that are decorated as "sensitive" in the API will not
  8895  // be included in the string output. The member name will be present, but the
  8896  // value will be replaced with "sensitive".
  8897  func (s CreateDeviceDefinitionOutput) String() string {
  8898  	return awsutil.Prettify(s)
  8899  }
  8900  
  8901  // GoString returns the string representation.
  8902  //
  8903  // API parameter values that are decorated as "sensitive" in the API will not
  8904  // be included in the string output. The member name will be present, but the
  8905  // value will be replaced with "sensitive".
  8906  func (s CreateDeviceDefinitionOutput) GoString() string {
  8907  	return s.String()
  8908  }
  8909  
  8910  // SetArn sets the Arn field's value.
  8911  func (s *CreateDeviceDefinitionOutput) SetArn(v string) *CreateDeviceDefinitionOutput {
  8912  	s.Arn = &v
  8913  	return s
  8914  }
  8915  
  8916  // SetCreationTimestamp sets the CreationTimestamp field's value.
  8917  func (s *CreateDeviceDefinitionOutput) SetCreationTimestamp(v string) *CreateDeviceDefinitionOutput {
  8918  	s.CreationTimestamp = &v
  8919  	return s
  8920  }
  8921  
  8922  // SetId sets the Id field's value.
  8923  func (s *CreateDeviceDefinitionOutput) SetId(v string) *CreateDeviceDefinitionOutput {
  8924  	s.Id = &v
  8925  	return s
  8926  }
  8927  
  8928  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
  8929  func (s *CreateDeviceDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateDeviceDefinitionOutput {
  8930  	s.LastUpdatedTimestamp = &v
  8931  	return s
  8932  }
  8933  
  8934  // SetLatestVersion sets the LatestVersion field's value.
  8935  func (s *CreateDeviceDefinitionOutput) SetLatestVersion(v string) *CreateDeviceDefinitionOutput {
  8936  	s.LatestVersion = &v
  8937  	return s
  8938  }
  8939  
  8940  // SetLatestVersionArn sets the LatestVersionArn field's value.
  8941  func (s *CreateDeviceDefinitionOutput) SetLatestVersionArn(v string) *CreateDeviceDefinitionOutput {
  8942  	s.LatestVersionArn = &v
  8943  	return s
  8944  }
  8945  
  8946  // SetName sets the Name field's value.
  8947  func (s *CreateDeviceDefinitionOutput) SetName(v string) *CreateDeviceDefinitionOutput {
  8948  	s.Name = &v
  8949  	return s
  8950  }
  8951  
  8952  type CreateDeviceDefinitionVersionInput struct {
  8953  	_ struct{} `type:"structure"`
  8954  
  8955  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  8956  
  8957  	// DeviceDefinitionId is a required field
  8958  	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
  8959  
  8960  	Devices []*Device `type:"list"`
  8961  }
  8962  
  8963  // String returns the string representation.
  8964  //
  8965  // API parameter values that are decorated as "sensitive" in the API will not
  8966  // be included in the string output. The member name will be present, but the
  8967  // value will be replaced with "sensitive".
  8968  func (s CreateDeviceDefinitionVersionInput) String() string {
  8969  	return awsutil.Prettify(s)
  8970  }
  8971  
  8972  // GoString returns the string representation.
  8973  //
  8974  // API parameter values that are decorated as "sensitive" in the API will not
  8975  // be included in the string output. The member name will be present, but the
  8976  // value will be replaced with "sensitive".
  8977  func (s CreateDeviceDefinitionVersionInput) GoString() string {
  8978  	return s.String()
  8979  }
  8980  
  8981  // Validate inspects the fields of the type to determine if they are valid.
  8982  func (s *CreateDeviceDefinitionVersionInput) Validate() error {
  8983  	invalidParams := request.ErrInvalidParams{Context: "CreateDeviceDefinitionVersionInput"}
  8984  	if s.DeviceDefinitionId == nil {
  8985  		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
  8986  	}
  8987  	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
  8988  		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
  8989  	}
  8990  	if s.Devices != nil {
  8991  		for i, v := range s.Devices {
  8992  			if v == nil {
  8993  				continue
  8994  			}
  8995  			if err := v.Validate(); err != nil {
  8996  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams))
  8997  			}
  8998  		}
  8999  	}
  9000  
  9001  	if invalidParams.Len() > 0 {
  9002  		return invalidParams
  9003  	}
  9004  	return nil
  9005  }
  9006  
  9007  // SetAmznClientToken sets the AmznClientToken field's value.
  9008  func (s *CreateDeviceDefinitionVersionInput) SetAmznClientToken(v string) *CreateDeviceDefinitionVersionInput {
  9009  	s.AmznClientToken = &v
  9010  	return s
  9011  }
  9012  
  9013  // SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
  9014  func (s *CreateDeviceDefinitionVersionInput) SetDeviceDefinitionId(v string) *CreateDeviceDefinitionVersionInput {
  9015  	s.DeviceDefinitionId = &v
  9016  	return s
  9017  }
  9018  
  9019  // SetDevices sets the Devices field's value.
  9020  func (s *CreateDeviceDefinitionVersionInput) SetDevices(v []*Device) *CreateDeviceDefinitionVersionInput {
  9021  	s.Devices = v
  9022  	return s
  9023  }
  9024  
  9025  type CreateDeviceDefinitionVersionOutput struct {
  9026  	_ struct{} `type:"structure"`
  9027  
  9028  	Arn *string `type:"string"`
  9029  
  9030  	CreationTimestamp *string `type:"string"`
  9031  
  9032  	Id *string `type:"string"`
  9033  
  9034  	Version *string `type:"string"`
  9035  }
  9036  
  9037  // String returns the string representation.
  9038  //
  9039  // API parameter values that are decorated as "sensitive" in the API will not
  9040  // be included in the string output. The member name will be present, but the
  9041  // value will be replaced with "sensitive".
  9042  func (s CreateDeviceDefinitionVersionOutput) String() string {
  9043  	return awsutil.Prettify(s)
  9044  }
  9045  
  9046  // GoString returns the string representation.
  9047  //
  9048  // API parameter values that are decorated as "sensitive" in the API will not
  9049  // be included in the string output. The member name will be present, but the
  9050  // value will be replaced with "sensitive".
  9051  func (s CreateDeviceDefinitionVersionOutput) GoString() string {
  9052  	return s.String()
  9053  }
  9054  
  9055  // SetArn sets the Arn field's value.
  9056  func (s *CreateDeviceDefinitionVersionOutput) SetArn(v string) *CreateDeviceDefinitionVersionOutput {
  9057  	s.Arn = &v
  9058  	return s
  9059  }
  9060  
  9061  // SetCreationTimestamp sets the CreationTimestamp field's value.
  9062  func (s *CreateDeviceDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateDeviceDefinitionVersionOutput {
  9063  	s.CreationTimestamp = &v
  9064  	return s
  9065  }
  9066  
  9067  // SetId sets the Id field's value.
  9068  func (s *CreateDeviceDefinitionVersionOutput) SetId(v string) *CreateDeviceDefinitionVersionOutput {
  9069  	s.Id = &v
  9070  	return s
  9071  }
  9072  
  9073  // SetVersion sets the Version field's value.
  9074  func (s *CreateDeviceDefinitionVersionOutput) SetVersion(v string) *CreateDeviceDefinitionVersionOutput {
  9075  	s.Version = &v
  9076  	return s
  9077  }
  9078  
  9079  type CreateFunctionDefinitionInput struct {
  9080  	_ struct{} `type:"structure"`
  9081  
  9082  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  9083  
  9084  	// Information about a function definition version.
  9085  	InitialVersion *FunctionDefinitionVersion `type:"structure"`
  9086  
  9087  	Name *string `type:"string"`
  9088  
  9089  	// The key-value pair for the resource tag.
  9090  	Tags map[string]*string `locationName:"tags" type:"map"`
  9091  }
  9092  
  9093  // String returns the string representation.
  9094  //
  9095  // API parameter values that are decorated as "sensitive" in the API will not
  9096  // be included in the string output. The member name will be present, but the
  9097  // value will be replaced with "sensitive".
  9098  func (s CreateFunctionDefinitionInput) String() string {
  9099  	return awsutil.Prettify(s)
  9100  }
  9101  
  9102  // GoString returns the string representation.
  9103  //
  9104  // API parameter values that are decorated as "sensitive" in the API will not
  9105  // be included in the string output. The member name will be present, but the
  9106  // value will be replaced with "sensitive".
  9107  func (s CreateFunctionDefinitionInput) GoString() string {
  9108  	return s.String()
  9109  }
  9110  
  9111  // Validate inspects the fields of the type to determine if they are valid.
  9112  func (s *CreateFunctionDefinitionInput) Validate() error {
  9113  	invalidParams := request.ErrInvalidParams{Context: "CreateFunctionDefinitionInput"}
  9114  	if s.InitialVersion != nil {
  9115  		if err := s.InitialVersion.Validate(); err != nil {
  9116  			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
  9117  		}
  9118  	}
  9119  
  9120  	if invalidParams.Len() > 0 {
  9121  		return invalidParams
  9122  	}
  9123  	return nil
  9124  }
  9125  
  9126  // SetAmznClientToken sets the AmznClientToken field's value.
  9127  func (s *CreateFunctionDefinitionInput) SetAmznClientToken(v string) *CreateFunctionDefinitionInput {
  9128  	s.AmznClientToken = &v
  9129  	return s
  9130  }
  9131  
  9132  // SetInitialVersion sets the InitialVersion field's value.
  9133  func (s *CreateFunctionDefinitionInput) SetInitialVersion(v *FunctionDefinitionVersion) *CreateFunctionDefinitionInput {
  9134  	s.InitialVersion = v
  9135  	return s
  9136  }
  9137  
  9138  // SetName sets the Name field's value.
  9139  func (s *CreateFunctionDefinitionInput) SetName(v string) *CreateFunctionDefinitionInput {
  9140  	s.Name = &v
  9141  	return s
  9142  }
  9143  
  9144  // SetTags sets the Tags field's value.
  9145  func (s *CreateFunctionDefinitionInput) SetTags(v map[string]*string) *CreateFunctionDefinitionInput {
  9146  	s.Tags = v
  9147  	return s
  9148  }
  9149  
  9150  type CreateFunctionDefinitionOutput struct {
  9151  	_ struct{} `type:"structure"`
  9152  
  9153  	Arn *string `type:"string"`
  9154  
  9155  	CreationTimestamp *string `type:"string"`
  9156  
  9157  	Id *string `type:"string"`
  9158  
  9159  	LastUpdatedTimestamp *string `type:"string"`
  9160  
  9161  	LatestVersion *string `type:"string"`
  9162  
  9163  	LatestVersionArn *string `type:"string"`
  9164  
  9165  	Name *string `type:"string"`
  9166  }
  9167  
  9168  // String returns the string representation.
  9169  //
  9170  // API parameter values that are decorated as "sensitive" in the API will not
  9171  // be included in the string output. The member name will be present, but the
  9172  // value will be replaced with "sensitive".
  9173  func (s CreateFunctionDefinitionOutput) String() string {
  9174  	return awsutil.Prettify(s)
  9175  }
  9176  
  9177  // GoString returns the string representation.
  9178  //
  9179  // API parameter values that are decorated as "sensitive" in the API will not
  9180  // be included in the string output. The member name will be present, but the
  9181  // value will be replaced with "sensitive".
  9182  func (s CreateFunctionDefinitionOutput) GoString() string {
  9183  	return s.String()
  9184  }
  9185  
  9186  // SetArn sets the Arn field's value.
  9187  func (s *CreateFunctionDefinitionOutput) SetArn(v string) *CreateFunctionDefinitionOutput {
  9188  	s.Arn = &v
  9189  	return s
  9190  }
  9191  
  9192  // SetCreationTimestamp sets the CreationTimestamp field's value.
  9193  func (s *CreateFunctionDefinitionOutput) SetCreationTimestamp(v string) *CreateFunctionDefinitionOutput {
  9194  	s.CreationTimestamp = &v
  9195  	return s
  9196  }
  9197  
  9198  // SetId sets the Id field's value.
  9199  func (s *CreateFunctionDefinitionOutput) SetId(v string) *CreateFunctionDefinitionOutput {
  9200  	s.Id = &v
  9201  	return s
  9202  }
  9203  
  9204  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
  9205  func (s *CreateFunctionDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateFunctionDefinitionOutput {
  9206  	s.LastUpdatedTimestamp = &v
  9207  	return s
  9208  }
  9209  
  9210  // SetLatestVersion sets the LatestVersion field's value.
  9211  func (s *CreateFunctionDefinitionOutput) SetLatestVersion(v string) *CreateFunctionDefinitionOutput {
  9212  	s.LatestVersion = &v
  9213  	return s
  9214  }
  9215  
  9216  // SetLatestVersionArn sets the LatestVersionArn field's value.
  9217  func (s *CreateFunctionDefinitionOutput) SetLatestVersionArn(v string) *CreateFunctionDefinitionOutput {
  9218  	s.LatestVersionArn = &v
  9219  	return s
  9220  }
  9221  
  9222  // SetName sets the Name field's value.
  9223  func (s *CreateFunctionDefinitionOutput) SetName(v string) *CreateFunctionDefinitionOutput {
  9224  	s.Name = &v
  9225  	return s
  9226  }
  9227  
  9228  type CreateFunctionDefinitionVersionInput struct {
  9229  	_ struct{} `type:"structure"`
  9230  
  9231  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  9232  
  9233  	// The default configuration that applies to all Lambda functions in the group.
  9234  	// Individual Lambda functions can override these settings.
  9235  	DefaultConfig *FunctionDefaultConfig `type:"structure"`
  9236  
  9237  	// FunctionDefinitionId is a required field
  9238  	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
  9239  
  9240  	Functions []*Function `type:"list"`
  9241  }
  9242  
  9243  // String returns the string representation.
  9244  //
  9245  // API parameter values that are decorated as "sensitive" in the API will not
  9246  // be included in the string output. The member name will be present, but the
  9247  // value will be replaced with "sensitive".
  9248  func (s CreateFunctionDefinitionVersionInput) String() string {
  9249  	return awsutil.Prettify(s)
  9250  }
  9251  
  9252  // GoString returns the string representation.
  9253  //
  9254  // API parameter values that are decorated as "sensitive" in the API will not
  9255  // be included in the string output. The member name will be present, but the
  9256  // value will be replaced with "sensitive".
  9257  func (s CreateFunctionDefinitionVersionInput) GoString() string {
  9258  	return s.String()
  9259  }
  9260  
  9261  // Validate inspects the fields of the type to determine if they are valid.
  9262  func (s *CreateFunctionDefinitionVersionInput) Validate() error {
  9263  	invalidParams := request.ErrInvalidParams{Context: "CreateFunctionDefinitionVersionInput"}
  9264  	if s.FunctionDefinitionId == nil {
  9265  		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
  9266  	}
  9267  	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
  9268  		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
  9269  	}
  9270  	if s.Functions != nil {
  9271  		for i, v := range s.Functions {
  9272  			if v == nil {
  9273  				continue
  9274  			}
  9275  			if err := v.Validate(); err != nil {
  9276  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Functions", i), err.(request.ErrInvalidParams))
  9277  			}
  9278  		}
  9279  	}
  9280  
  9281  	if invalidParams.Len() > 0 {
  9282  		return invalidParams
  9283  	}
  9284  	return nil
  9285  }
  9286  
  9287  // SetAmznClientToken sets the AmznClientToken field's value.
  9288  func (s *CreateFunctionDefinitionVersionInput) SetAmznClientToken(v string) *CreateFunctionDefinitionVersionInput {
  9289  	s.AmznClientToken = &v
  9290  	return s
  9291  }
  9292  
  9293  // SetDefaultConfig sets the DefaultConfig field's value.
  9294  func (s *CreateFunctionDefinitionVersionInput) SetDefaultConfig(v *FunctionDefaultConfig) *CreateFunctionDefinitionVersionInput {
  9295  	s.DefaultConfig = v
  9296  	return s
  9297  }
  9298  
  9299  // SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
  9300  func (s *CreateFunctionDefinitionVersionInput) SetFunctionDefinitionId(v string) *CreateFunctionDefinitionVersionInput {
  9301  	s.FunctionDefinitionId = &v
  9302  	return s
  9303  }
  9304  
  9305  // SetFunctions sets the Functions field's value.
  9306  func (s *CreateFunctionDefinitionVersionInput) SetFunctions(v []*Function) *CreateFunctionDefinitionVersionInput {
  9307  	s.Functions = v
  9308  	return s
  9309  }
  9310  
  9311  type CreateFunctionDefinitionVersionOutput struct {
  9312  	_ struct{} `type:"structure"`
  9313  
  9314  	Arn *string `type:"string"`
  9315  
  9316  	CreationTimestamp *string `type:"string"`
  9317  
  9318  	Id *string `type:"string"`
  9319  
  9320  	Version *string `type:"string"`
  9321  }
  9322  
  9323  // String returns the string representation.
  9324  //
  9325  // API parameter values that are decorated as "sensitive" in the API will not
  9326  // be included in the string output. The member name will be present, but the
  9327  // value will be replaced with "sensitive".
  9328  func (s CreateFunctionDefinitionVersionOutput) String() string {
  9329  	return awsutil.Prettify(s)
  9330  }
  9331  
  9332  // GoString returns the string representation.
  9333  //
  9334  // API parameter values that are decorated as "sensitive" in the API will not
  9335  // be included in the string output. The member name will be present, but the
  9336  // value will be replaced with "sensitive".
  9337  func (s CreateFunctionDefinitionVersionOutput) GoString() string {
  9338  	return s.String()
  9339  }
  9340  
  9341  // SetArn sets the Arn field's value.
  9342  func (s *CreateFunctionDefinitionVersionOutput) SetArn(v string) *CreateFunctionDefinitionVersionOutput {
  9343  	s.Arn = &v
  9344  	return s
  9345  }
  9346  
  9347  // SetCreationTimestamp sets the CreationTimestamp field's value.
  9348  func (s *CreateFunctionDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateFunctionDefinitionVersionOutput {
  9349  	s.CreationTimestamp = &v
  9350  	return s
  9351  }
  9352  
  9353  // SetId sets the Id field's value.
  9354  func (s *CreateFunctionDefinitionVersionOutput) SetId(v string) *CreateFunctionDefinitionVersionOutput {
  9355  	s.Id = &v
  9356  	return s
  9357  }
  9358  
  9359  // SetVersion sets the Version field's value.
  9360  func (s *CreateFunctionDefinitionVersionOutput) SetVersion(v string) *CreateFunctionDefinitionVersionOutput {
  9361  	s.Version = &v
  9362  	return s
  9363  }
  9364  
  9365  type CreateGroupCertificateAuthorityInput struct {
  9366  	_ struct{} `type:"structure" nopayload:"true"`
  9367  
  9368  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  9369  
  9370  	// GroupId is a required field
  9371  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
  9372  }
  9373  
  9374  // String returns the string representation.
  9375  //
  9376  // API parameter values that are decorated as "sensitive" in the API will not
  9377  // be included in the string output. The member name will be present, but the
  9378  // value will be replaced with "sensitive".
  9379  func (s CreateGroupCertificateAuthorityInput) String() string {
  9380  	return awsutil.Prettify(s)
  9381  }
  9382  
  9383  // GoString returns the string representation.
  9384  //
  9385  // API parameter values that are decorated as "sensitive" in the API will not
  9386  // be included in the string output. The member name will be present, but the
  9387  // value will be replaced with "sensitive".
  9388  func (s CreateGroupCertificateAuthorityInput) GoString() string {
  9389  	return s.String()
  9390  }
  9391  
  9392  // Validate inspects the fields of the type to determine if they are valid.
  9393  func (s *CreateGroupCertificateAuthorityInput) Validate() error {
  9394  	invalidParams := request.ErrInvalidParams{Context: "CreateGroupCertificateAuthorityInput"}
  9395  	if s.GroupId == nil {
  9396  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
  9397  	}
  9398  	if s.GroupId != nil && len(*s.GroupId) < 1 {
  9399  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
  9400  	}
  9401  
  9402  	if invalidParams.Len() > 0 {
  9403  		return invalidParams
  9404  	}
  9405  	return nil
  9406  }
  9407  
  9408  // SetAmznClientToken sets the AmznClientToken field's value.
  9409  func (s *CreateGroupCertificateAuthorityInput) SetAmznClientToken(v string) *CreateGroupCertificateAuthorityInput {
  9410  	s.AmznClientToken = &v
  9411  	return s
  9412  }
  9413  
  9414  // SetGroupId sets the GroupId field's value.
  9415  func (s *CreateGroupCertificateAuthorityInput) SetGroupId(v string) *CreateGroupCertificateAuthorityInput {
  9416  	s.GroupId = &v
  9417  	return s
  9418  }
  9419  
  9420  type CreateGroupCertificateAuthorityOutput struct {
  9421  	_ struct{} `type:"structure"`
  9422  
  9423  	// The ARN of the group certificate authority.
  9424  	GroupCertificateAuthorityArn *string `type:"string"`
  9425  }
  9426  
  9427  // String returns the string representation.
  9428  //
  9429  // API parameter values that are decorated as "sensitive" in the API will not
  9430  // be included in the string output. The member name will be present, but the
  9431  // value will be replaced with "sensitive".
  9432  func (s CreateGroupCertificateAuthorityOutput) String() string {
  9433  	return awsutil.Prettify(s)
  9434  }
  9435  
  9436  // GoString returns the string representation.
  9437  //
  9438  // API parameter values that are decorated as "sensitive" in the API will not
  9439  // be included in the string output. The member name will be present, but the
  9440  // value will be replaced with "sensitive".
  9441  func (s CreateGroupCertificateAuthorityOutput) GoString() string {
  9442  	return s.String()
  9443  }
  9444  
  9445  // SetGroupCertificateAuthorityArn sets the GroupCertificateAuthorityArn field's value.
  9446  func (s *CreateGroupCertificateAuthorityOutput) SetGroupCertificateAuthorityArn(v string) *CreateGroupCertificateAuthorityOutput {
  9447  	s.GroupCertificateAuthorityArn = &v
  9448  	return s
  9449  }
  9450  
  9451  type CreateGroupInput struct {
  9452  	_ struct{} `type:"structure"`
  9453  
  9454  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  9455  
  9456  	// Information about a group version.
  9457  	InitialVersion *GroupVersion `type:"structure"`
  9458  
  9459  	// Name is a required field
  9460  	Name *string `type:"string" required:"true"`
  9461  
  9462  	// The key-value pair for the resource tag.
  9463  	Tags map[string]*string `locationName:"tags" type:"map"`
  9464  }
  9465  
  9466  // String returns the string representation.
  9467  //
  9468  // API parameter values that are decorated as "sensitive" in the API will not
  9469  // be included in the string output. The member name will be present, but the
  9470  // value will be replaced with "sensitive".
  9471  func (s CreateGroupInput) String() string {
  9472  	return awsutil.Prettify(s)
  9473  }
  9474  
  9475  // GoString returns the string representation.
  9476  //
  9477  // API parameter values that are decorated as "sensitive" in the API will not
  9478  // be included in the string output. The member name will be present, but the
  9479  // value will be replaced with "sensitive".
  9480  func (s CreateGroupInput) GoString() string {
  9481  	return s.String()
  9482  }
  9483  
  9484  // Validate inspects the fields of the type to determine if they are valid.
  9485  func (s *CreateGroupInput) Validate() error {
  9486  	invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"}
  9487  	if s.Name == nil {
  9488  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9489  	}
  9490  
  9491  	if invalidParams.Len() > 0 {
  9492  		return invalidParams
  9493  	}
  9494  	return nil
  9495  }
  9496  
  9497  // SetAmznClientToken sets the AmznClientToken field's value.
  9498  func (s *CreateGroupInput) SetAmznClientToken(v string) *CreateGroupInput {
  9499  	s.AmznClientToken = &v
  9500  	return s
  9501  }
  9502  
  9503  // SetInitialVersion sets the InitialVersion field's value.
  9504  func (s *CreateGroupInput) SetInitialVersion(v *GroupVersion) *CreateGroupInput {
  9505  	s.InitialVersion = v
  9506  	return s
  9507  }
  9508  
  9509  // SetName sets the Name field's value.
  9510  func (s *CreateGroupInput) SetName(v string) *CreateGroupInput {
  9511  	s.Name = &v
  9512  	return s
  9513  }
  9514  
  9515  // SetTags sets the Tags field's value.
  9516  func (s *CreateGroupInput) SetTags(v map[string]*string) *CreateGroupInput {
  9517  	s.Tags = v
  9518  	return s
  9519  }
  9520  
  9521  type CreateGroupOutput struct {
  9522  	_ struct{} `type:"structure"`
  9523  
  9524  	Arn *string `type:"string"`
  9525  
  9526  	CreationTimestamp *string `type:"string"`
  9527  
  9528  	Id *string `type:"string"`
  9529  
  9530  	LastUpdatedTimestamp *string `type:"string"`
  9531  
  9532  	LatestVersion *string `type:"string"`
  9533  
  9534  	LatestVersionArn *string `type:"string"`
  9535  
  9536  	Name *string `type:"string"`
  9537  }
  9538  
  9539  // String returns the string representation.
  9540  //
  9541  // API parameter values that are decorated as "sensitive" in the API will not
  9542  // be included in the string output. The member name will be present, but the
  9543  // value will be replaced with "sensitive".
  9544  func (s CreateGroupOutput) String() string {
  9545  	return awsutil.Prettify(s)
  9546  }
  9547  
  9548  // GoString returns the string representation.
  9549  //
  9550  // API parameter values that are decorated as "sensitive" in the API will not
  9551  // be included in the string output. The member name will be present, but the
  9552  // value will be replaced with "sensitive".
  9553  func (s CreateGroupOutput) GoString() string {
  9554  	return s.String()
  9555  }
  9556  
  9557  // SetArn sets the Arn field's value.
  9558  func (s *CreateGroupOutput) SetArn(v string) *CreateGroupOutput {
  9559  	s.Arn = &v
  9560  	return s
  9561  }
  9562  
  9563  // SetCreationTimestamp sets the CreationTimestamp field's value.
  9564  func (s *CreateGroupOutput) SetCreationTimestamp(v string) *CreateGroupOutput {
  9565  	s.CreationTimestamp = &v
  9566  	return s
  9567  }
  9568  
  9569  // SetId sets the Id field's value.
  9570  func (s *CreateGroupOutput) SetId(v string) *CreateGroupOutput {
  9571  	s.Id = &v
  9572  	return s
  9573  }
  9574  
  9575  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
  9576  func (s *CreateGroupOutput) SetLastUpdatedTimestamp(v string) *CreateGroupOutput {
  9577  	s.LastUpdatedTimestamp = &v
  9578  	return s
  9579  }
  9580  
  9581  // SetLatestVersion sets the LatestVersion field's value.
  9582  func (s *CreateGroupOutput) SetLatestVersion(v string) *CreateGroupOutput {
  9583  	s.LatestVersion = &v
  9584  	return s
  9585  }
  9586  
  9587  // SetLatestVersionArn sets the LatestVersionArn field's value.
  9588  func (s *CreateGroupOutput) SetLatestVersionArn(v string) *CreateGroupOutput {
  9589  	s.LatestVersionArn = &v
  9590  	return s
  9591  }
  9592  
  9593  // SetName sets the Name field's value.
  9594  func (s *CreateGroupOutput) SetName(v string) *CreateGroupOutput {
  9595  	s.Name = &v
  9596  	return s
  9597  }
  9598  
  9599  type CreateGroupVersionInput struct {
  9600  	_ struct{} `type:"structure"`
  9601  
  9602  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  9603  
  9604  	ConnectorDefinitionVersionArn *string `type:"string"`
  9605  
  9606  	CoreDefinitionVersionArn *string `type:"string"`
  9607  
  9608  	DeviceDefinitionVersionArn *string `type:"string"`
  9609  
  9610  	FunctionDefinitionVersionArn *string `type:"string"`
  9611  
  9612  	// GroupId is a required field
  9613  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
  9614  
  9615  	LoggerDefinitionVersionArn *string `type:"string"`
  9616  
  9617  	ResourceDefinitionVersionArn *string `type:"string"`
  9618  
  9619  	SubscriptionDefinitionVersionArn *string `type:"string"`
  9620  }
  9621  
  9622  // String returns the string representation.
  9623  //
  9624  // API parameter values that are decorated as "sensitive" in the API will not
  9625  // be included in the string output. The member name will be present, but the
  9626  // value will be replaced with "sensitive".
  9627  func (s CreateGroupVersionInput) String() string {
  9628  	return awsutil.Prettify(s)
  9629  }
  9630  
  9631  // GoString returns the string representation.
  9632  //
  9633  // API parameter values that are decorated as "sensitive" in the API will not
  9634  // be included in the string output. The member name will be present, but the
  9635  // value will be replaced with "sensitive".
  9636  func (s CreateGroupVersionInput) GoString() string {
  9637  	return s.String()
  9638  }
  9639  
  9640  // Validate inspects the fields of the type to determine if they are valid.
  9641  func (s *CreateGroupVersionInput) Validate() error {
  9642  	invalidParams := request.ErrInvalidParams{Context: "CreateGroupVersionInput"}
  9643  	if s.GroupId == nil {
  9644  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
  9645  	}
  9646  	if s.GroupId != nil && len(*s.GroupId) < 1 {
  9647  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
  9648  	}
  9649  
  9650  	if invalidParams.Len() > 0 {
  9651  		return invalidParams
  9652  	}
  9653  	return nil
  9654  }
  9655  
  9656  // SetAmznClientToken sets the AmznClientToken field's value.
  9657  func (s *CreateGroupVersionInput) SetAmznClientToken(v string) *CreateGroupVersionInput {
  9658  	s.AmznClientToken = &v
  9659  	return s
  9660  }
  9661  
  9662  // SetConnectorDefinitionVersionArn sets the ConnectorDefinitionVersionArn field's value.
  9663  func (s *CreateGroupVersionInput) SetConnectorDefinitionVersionArn(v string) *CreateGroupVersionInput {
  9664  	s.ConnectorDefinitionVersionArn = &v
  9665  	return s
  9666  }
  9667  
  9668  // SetCoreDefinitionVersionArn sets the CoreDefinitionVersionArn field's value.
  9669  func (s *CreateGroupVersionInput) SetCoreDefinitionVersionArn(v string) *CreateGroupVersionInput {
  9670  	s.CoreDefinitionVersionArn = &v
  9671  	return s
  9672  }
  9673  
  9674  // SetDeviceDefinitionVersionArn sets the DeviceDefinitionVersionArn field's value.
  9675  func (s *CreateGroupVersionInput) SetDeviceDefinitionVersionArn(v string) *CreateGroupVersionInput {
  9676  	s.DeviceDefinitionVersionArn = &v
  9677  	return s
  9678  }
  9679  
  9680  // SetFunctionDefinitionVersionArn sets the FunctionDefinitionVersionArn field's value.
  9681  func (s *CreateGroupVersionInput) SetFunctionDefinitionVersionArn(v string) *CreateGroupVersionInput {
  9682  	s.FunctionDefinitionVersionArn = &v
  9683  	return s
  9684  }
  9685  
  9686  // SetGroupId sets the GroupId field's value.
  9687  func (s *CreateGroupVersionInput) SetGroupId(v string) *CreateGroupVersionInput {
  9688  	s.GroupId = &v
  9689  	return s
  9690  }
  9691  
  9692  // SetLoggerDefinitionVersionArn sets the LoggerDefinitionVersionArn field's value.
  9693  func (s *CreateGroupVersionInput) SetLoggerDefinitionVersionArn(v string) *CreateGroupVersionInput {
  9694  	s.LoggerDefinitionVersionArn = &v
  9695  	return s
  9696  }
  9697  
  9698  // SetResourceDefinitionVersionArn sets the ResourceDefinitionVersionArn field's value.
  9699  func (s *CreateGroupVersionInput) SetResourceDefinitionVersionArn(v string) *CreateGroupVersionInput {
  9700  	s.ResourceDefinitionVersionArn = &v
  9701  	return s
  9702  }
  9703  
  9704  // SetSubscriptionDefinitionVersionArn sets the SubscriptionDefinitionVersionArn field's value.
  9705  func (s *CreateGroupVersionInput) SetSubscriptionDefinitionVersionArn(v string) *CreateGroupVersionInput {
  9706  	s.SubscriptionDefinitionVersionArn = &v
  9707  	return s
  9708  }
  9709  
  9710  type CreateGroupVersionOutput struct {
  9711  	_ struct{} `type:"structure"`
  9712  
  9713  	Arn *string `type:"string"`
  9714  
  9715  	CreationTimestamp *string `type:"string"`
  9716  
  9717  	Id *string `type:"string"`
  9718  
  9719  	Version *string `type:"string"`
  9720  }
  9721  
  9722  // String returns the string representation.
  9723  //
  9724  // API parameter values that are decorated as "sensitive" in the API will not
  9725  // be included in the string output. The member name will be present, but the
  9726  // value will be replaced with "sensitive".
  9727  func (s CreateGroupVersionOutput) String() string {
  9728  	return awsutil.Prettify(s)
  9729  }
  9730  
  9731  // GoString returns the string representation.
  9732  //
  9733  // API parameter values that are decorated as "sensitive" in the API will not
  9734  // be included in the string output. The member name will be present, but the
  9735  // value will be replaced with "sensitive".
  9736  func (s CreateGroupVersionOutput) GoString() string {
  9737  	return s.String()
  9738  }
  9739  
  9740  // SetArn sets the Arn field's value.
  9741  func (s *CreateGroupVersionOutput) SetArn(v string) *CreateGroupVersionOutput {
  9742  	s.Arn = &v
  9743  	return s
  9744  }
  9745  
  9746  // SetCreationTimestamp sets the CreationTimestamp field's value.
  9747  func (s *CreateGroupVersionOutput) SetCreationTimestamp(v string) *CreateGroupVersionOutput {
  9748  	s.CreationTimestamp = &v
  9749  	return s
  9750  }
  9751  
  9752  // SetId sets the Id field's value.
  9753  func (s *CreateGroupVersionOutput) SetId(v string) *CreateGroupVersionOutput {
  9754  	s.Id = &v
  9755  	return s
  9756  }
  9757  
  9758  // SetVersion sets the Version field's value.
  9759  func (s *CreateGroupVersionOutput) SetVersion(v string) *CreateGroupVersionOutput {
  9760  	s.Version = &v
  9761  	return s
  9762  }
  9763  
  9764  type CreateLoggerDefinitionInput struct {
  9765  	_ struct{} `type:"structure"`
  9766  
  9767  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  9768  
  9769  	// Information about a logger definition version.
  9770  	InitialVersion *LoggerDefinitionVersion `type:"structure"`
  9771  
  9772  	Name *string `type:"string"`
  9773  
  9774  	// The key-value pair for the resource tag.
  9775  	Tags map[string]*string `locationName:"tags" type:"map"`
  9776  }
  9777  
  9778  // String returns the string representation.
  9779  //
  9780  // API parameter values that are decorated as "sensitive" in the API will not
  9781  // be included in the string output. The member name will be present, but the
  9782  // value will be replaced with "sensitive".
  9783  func (s CreateLoggerDefinitionInput) String() string {
  9784  	return awsutil.Prettify(s)
  9785  }
  9786  
  9787  // GoString returns the string representation.
  9788  //
  9789  // API parameter values that are decorated as "sensitive" in the API will not
  9790  // be included in the string output. The member name will be present, but the
  9791  // value will be replaced with "sensitive".
  9792  func (s CreateLoggerDefinitionInput) GoString() string {
  9793  	return s.String()
  9794  }
  9795  
  9796  // Validate inspects the fields of the type to determine if they are valid.
  9797  func (s *CreateLoggerDefinitionInput) Validate() error {
  9798  	invalidParams := request.ErrInvalidParams{Context: "CreateLoggerDefinitionInput"}
  9799  	if s.InitialVersion != nil {
  9800  		if err := s.InitialVersion.Validate(); err != nil {
  9801  			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
  9802  		}
  9803  	}
  9804  
  9805  	if invalidParams.Len() > 0 {
  9806  		return invalidParams
  9807  	}
  9808  	return nil
  9809  }
  9810  
  9811  // SetAmznClientToken sets the AmznClientToken field's value.
  9812  func (s *CreateLoggerDefinitionInput) SetAmznClientToken(v string) *CreateLoggerDefinitionInput {
  9813  	s.AmznClientToken = &v
  9814  	return s
  9815  }
  9816  
  9817  // SetInitialVersion sets the InitialVersion field's value.
  9818  func (s *CreateLoggerDefinitionInput) SetInitialVersion(v *LoggerDefinitionVersion) *CreateLoggerDefinitionInput {
  9819  	s.InitialVersion = v
  9820  	return s
  9821  }
  9822  
  9823  // SetName sets the Name field's value.
  9824  func (s *CreateLoggerDefinitionInput) SetName(v string) *CreateLoggerDefinitionInput {
  9825  	s.Name = &v
  9826  	return s
  9827  }
  9828  
  9829  // SetTags sets the Tags field's value.
  9830  func (s *CreateLoggerDefinitionInput) SetTags(v map[string]*string) *CreateLoggerDefinitionInput {
  9831  	s.Tags = v
  9832  	return s
  9833  }
  9834  
  9835  type CreateLoggerDefinitionOutput struct {
  9836  	_ struct{} `type:"structure"`
  9837  
  9838  	Arn *string `type:"string"`
  9839  
  9840  	CreationTimestamp *string `type:"string"`
  9841  
  9842  	Id *string `type:"string"`
  9843  
  9844  	LastUpdatedTimestamp *string `type:"string"`
  9845  
  9846  	LatestVersion *string `type:"string"`
  9847  
  9848  	LatestVersionArn *string `type:"string"`
  9849  
  9850  	Name *string `type:"string"`
  9851  }
  9852  
  9853  // String returns the string representation.
  9854  //
  9855  // API parameter values that are decorated as "sensitive" in the API will not
  9856  // be included in the string output. The member name will be present, but the
  9857  // value will be replaced with "sensitive".
  9858  func (s CreateLoggerDefinitionOutput) String() string {
  9859  	return awsutil.Prettify(s)
  9860  }
  9861  
  9862  // GoString returns the string representation.
  9863  //
  9864  // API parameter values that are decorated as "sensitive" in the API will not
  9865  // be included in the string output. The member name will be present, but the
  9866  // value will be replaced with "sensitive".
  9867  func (s CreateLoggerDefinitionOutput) GoString() string {
  9868  	return s.String()
  9869  }
  9870  
  9871  // SetArn sets the Arn field's value.
  9872  func (s *CreateLoggerDefinitionOutput) SetArn(v string) *CreateLoggerDefinitionOutput {
  9873  	s.Arn = &v
  9874  	return s
  9875  }
  9876  
  9877  // SetCreationTimestamp sets the CreationTimestamp field's value.
  9878  func (s *CreateLoggerDefinitionOutput) SetCreationTimestamp(v string) *CreateLoggerDefinitionOutput {
  9879  	s.CreationTimestamp = &v
  9880  	return s
  9881  }
  9882  
  9883  // SetId sets the Id field's value.
  9884  func (s *CreateLoggerDefinitionOutput) SetId(v string) *CreateLoggerDefinitionOutput {
  9885  	s.Id = &v
  9886  	return s
  9887  }
  9888  
  9889  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
  9890  func (s *CreateLoggerDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateLoggerDefinitionOutput {
  9891  	s.LastUpdatedTimestamp = &v
  9892  	return s
  9893  }
  9894  
  9895  // SetLatestVersion sets the LatestVersion field's value.
  9896  func (s *CreateLoggerDefinitionOutput) SetLatestVersion(v string) *CreateLoggerDefinitionOutput {
  9897  	s.LatestVersion = &v
  9898  	return s
  9899  }
  9900  
  9901  // SetLatestVersionArn sets the LatestVersionArn field's value.
  9902  func (s *CreateLoggerDefinitionOutput) SetLatestVersionArn(v string) *CreateLoggerDefinitionOutput {
  9903  	s.LatestVersionArn = &v
  9904  	return s
  9905  }
  9906  
  9907  // SetName sets the Name field's value.
  9908  func (s *CreateLoggerDefinitionOutput) SetName(v string) *CreateLoggerDefinitionOutput {
  9909  	s.Name = &v
  9910  	return s
  9911  }
  9912  
  9913  type CreateLoggerDefinitionVersionInput struct {
  9914  	_ struct{} `type:"structure"`
  9915  
  9916  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
  9917  
  9918  	// LoggerDefinitionId is a required field
  9919  	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
  9920  
  9921  	Loggers []*Logger `type:"list"`
  9922  }
  9923  
  9924  // String returns the string representation.
  9925  //
  9926  // API parameter values that are decorated as "sensitive" in the API will not
  9927  // be included in the string output. The member name will be present, but the
  9928  // value will be replaced with "sensitive".
  9929  func (s CreateLoggerDefinitionVersionInput) String() string {
  9930  	return awsutil.Prettify(s)
  9931  }
  9932  
  9933  // GoString returns the string representation.
  9934  //
  9935  // API parameter values that are decorated as "sensitive" in the API will not
  9936  // be included in the string output. The member name will be present, but the
  9937  // value will be replaced with "sensitive".
  9938  func (s CreateLoggerDefinitionVersionInput) GoString() string {
  9939  	return s.String()
  9940  }
  9941  
  9942  // Validate inspects the fields of the type to determine if they are valid.
  9943  func (s *CreateLoggerDefinitionVersionInput) Validate() error {
  9944  	invalidParams := request.ErrInvalidParams{Context: "CreateLoggerDefinitionVersionInput"}
  9945  	if s.LoggerDefinitionId == nil {
  9946  		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
  9947  	}
  9948  	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
  9949  		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
  9950  	}
  9951  	if s.Loggers != nil {
  9952  		for i, v := range s.Loggers {
  9953  			if v == nil {
  9954  				continue
  9955  			}
  9956  			if err := v.Validate(); err != nil {
  9957  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Loggers", i), err.(request.ErrInvalidParams))
  9958  			}
  9959  		}
  9960  	}
  9961  
  9962  	if invalidParams.Len() > 0 {
  9963  		return invalidParams
  9964  	}
  9965  	return nil
  9966  }
  9967  
  9968  // SetAmznClientToken sets the AmznClientToken field's value.
  9969  func (s *CreateLoggerDefinitionVersionInput) SetAmznClientToken(v string) *CreateLoggerDefinitionVersionInput {
  9970  	s.AmznClientToken = &v
  9971  	return s
  9972  }
  9973  
  9974  // SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
  9975  func (s *CreateLoggerDefinitionVersionInput) SetLoggerDefinitionId(v string) *CreateLoggerDefinitionVersionInput {
  9976  	s.LoggerDefinitionId = &v
  9977  	return s
  9978  }
  9979  
  9980  // SetLoggers sets the Loggers field's value.
  9981  func (s *CreateLoggerDefinitionVersionInput) SetLoggers(v []*Logger) *CreateLoggerDefinitionVersionInput {
  9982  	s.Loggers = v
  9983  	return s
  9984  }
  9985  
  9986  type CreateLoggerDefinitionVersionOutput struct {
  9987  	_ struct{} `type:"structure"`
  9988  
  9989  	Arn *string `type:"string"`
  9990  
  9991  	CreationTimestamp *string `type:"string"`
  9992  
  9993  	Id *string `type:"string"`
  9994  
  9995  	Version *string `type:"string"`
  9996  }
  9997  
  9998  // String returns the string representation.
  9999  //
 10000  // API parameter values that are decorated as "sensitive" in the API will not
 10001  // be included in the string output. The member name will be present, but the
 10002  // value will be replaced with "sensitive".
 10003  func (s CreateLoggerDefinitionVersionOutput) String() string {
 10004  	return awsutil.Prettify(s)
 10005  }
 10006  
 10007  // GoString returns the string representation.
 10008  //
 10009  // API parameter values that are decorated as "sensitive" in the API will not
 10010  // be included in the string output. The member name will be present, but the
 10011  // value will be replaced with "sensitive".
 10012  func (s CreateLoggerDefinitionVersionOutput) GoString() string {
 10013  	return s.String()
 10014  }
 10015  
 10016  // SetArn sets the Arn field's value.
 10017  func (s *CreateLoggerDefinitionVersionOutput) SetArn(v string) *CreateLoggerDefinitionVersionOutput {
 10018  	s.Arn = &v
 10019  	return s
 10020  }
 10021  
 10022  // SetCreationTimestamp sets the CreationTimestamp field's value.
 10023  func (s *CreateLoggerDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateLoggerDefinitionVersionOutput {
 10024  	s.CreationTimestamp = &v
 10025  	return s
 10026  }
 10027  
 10028  // SetId sets the Id field's value.
 10029  func (s *CreateLoggerDefinitionVersionOutput) SetId(v string) *CreateLoggerDefinitionVersionOutput {
 10030  	s.Id = &v
 10031  	return s
 10032  }
 10033  
 10034  // SetVersion sets the Version field's value.
 10035  func (s *CreateLoggerDefinitionVersionOutput) SetVersion(v string) *CreateLoggerDefinitionVersionOutput {
 10036  	s.Version = &v
 10037  	return s
 10038  }
 10039  
 10040  type CreateResourceDefinitionInput struct {
 10041  	_ struct{} `type:"structure"`
 10042  
 10043  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
 10044  
 10045  	// Information about a resource definition version.
 10046  	InitialVersion *ResourceDefinitionVersion `type:"structure"`
 10047  
 10048  	Name *string `type:"string"`
 10049  
 10050  	// The key-value pair for the resource tag.
 10051  	Tags map[string]*string `locationName:"tags" type:"map"`
 10052  }
 10053  
 10054  // String returns the string representation.
 10055  //
 10056  // API parameter values that are decorated as "sensitive" in the API will not
 10057  // be included in the string output. The member name will be present, but the
 10058  // value will be replaced with "sensitive".
 10059  func (s CreateResourceDefinitionInput) String() string {
 10060  	return awsutil.Prettify(s)
 10061  }
 10062  
 10063  // GoString returns the string representation.
 10064  //
 10065  // API parameter values that are decorated as "sensitive" in the API will not
 10066  // be included in the string output. The member name will be present, but the
 10067  // value will be replaced with "sensitive".
 10068  func (s CreateResourceDefinitionInput) GoString() string {
 10069  	return s.String()
 10070  }
 10071  
 10072  // Validate inspects the fields of the type to determine if they are valid.
 10073  func (s *CreateResourceDefinitionInput) Validate() error {
 10074  	invalidParams := request.ErrInvalidParams{Context: "CreateResourceDefinitionInput"}
 10075  	if s.InitialVersion != nil {
 10076  		if err := s.InitialVersion.Validate(); err != nil {
 10077  			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
 10078  		}
 10079  	}
 10080  
 10081  	if invalidParams.Len() > 0 {
 10082  		return invalidParams
 10083  	}
 10084  	return nil
 10085  }
 10086  
 10087  // SetAmznClientToken sets the AmznClientToken field's value.
 10088  func (s *CreateResourceDefinitionInput) SetAmznClientToken(v string) *CreateResourceDefinitionInput {
 10089  	s.AmznClientToken = &v
 10090  	return s
 10091  }
 10092  
 10093  // SetInitialVersion sets the InitialVersion field's value.
 10094  func (s *CreateResourceDefinitionInput) SetInitialVersion(v *ResourceDefinitionVersion) *CreateResourceDefinitionInput {
 10095  	s.InitialVersion = v
 10096  	return s
 10097  }
 10098  
 10099  // SetName sets the Name field's value.
 10100  func (s *CreateResourceDefinitionInput) SetName(v string) *CreateResourceDefinitionInput {
 10101  	s.Name = &v
 10102  	return s
 10103  }
 10104  
 10105  // SetTags sets the Tags field's value.
 10106  func (s *CreateResourceDefinitionInput) SetTags(v map[string]*string) *CreateResourceDefinitionInput {
 10107  	s.Tags = v
 10108  	return s
 10109  }
 10110  
 10111  type CreateResourceDefinitionOutput struct {
 10112  	_ struct{} `type:"structure"`
 10113  
 10114  	Arn *string `type:"string"`
 10115  
 10116  	CreationTimestamp *string `type:"string"`
 10117  
 10118  	Id *string `type:"string"`
 10119  
 10120  	LastUpdatedTimestamp *string `type:"string"`
 10121  
 10122  	LatestVersion *string `type:"string"`
 10123  
 10124  	LatestVersionArn *string `type:"string"`
 10125  
 10126  	Name *string `type:"string"`
 10127  }
 10128  
 10129  // String returns the string representation.
 10130  //
 10131  // API parameter values that are decorated as "sensitive" in the API will not
 10132  // be included in the string output. The member name will be present, but the
 10133  // value will be replaced with "sensitive".
 10134  func (s CreateResourceDefinitionOutput) String() string {
 10135  	return awsutil.Prettify(s)
 10136  }
 10137  
 10138  // GoString returns the string representation.
 10139  //
 10140  // API parameter values that are decorated as "sensitive" in the API will not
 10141  // be included in the string output. The member name will be present, but the
 10142  // value will be replaced with "sensitive".
 10143  func (s CreateResourceDefinitionOutput) GoString() string {
 10144  	return s.String()
 10145  }
 10146  
 10147  // SetArn sets the Arn field's value.
 10148  func (s *CreateResourceDefinitionOutput) SetArn(v string) *CreateResourceDefinitionOutput {
 10149  	s.Arn = &v
 10150  	return s
 10151  }
 10152  
 10153  // SetCreationTimestamp sets the CreationTimestamp field's value.
 10154  func (s *CreateResourceDefinitionOutput) SetCreationTimestamp(v string) *CreateResourceDefinitionOutput {
 10155  	s.CreationTimestamp = &v
 10156  	return s
 10157  }
 10158  
 10159  // SetId sets the Id field's value.
 10160  func (s *CreateResourceDefinitionOutput) SetId(v string) *CreateResourceDefinitionOutput {
 10161  	s.Id = &v
 10162  	return s
 10163  }
 10164  
 10165  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 10166  func (s *CreateResourceDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateResourceDefinitionOutput {
 10167  	s.LastUpdatedTimestamp = &v
 10168  	return s
 10169  }
 10170  
 10171  // SetLatestVersion sets the LatestVersion field's value.
 10172  func (s *CreateResourceDefinitionOutput) SetLatestVersion(v string) *CreateResourceDefinitionOutput {
 10173  	s.LatestVersion = &v
 10174  	return s
 10175  }
 10176  
 10177  // SetLatestVersionArn sets the LatestVersionArn field's value.
 10178  func (s *CreateResourceDefinitionOutput) SetLatestVersionArn(v string) *CreateResourceDefinitionOutput {
 10179  	s.LatestVersionArn = &v
 10180  	return s
 10181  }
 10182  
 10183  // SetName sets the Name field's value.
 10184  func (s *CreateResourceDefinitionOutput) SetName(v string) *CreateResourceDefinitionOutput {
 10185  	s.Name = &v
 10186  	return s
 10187  }
 10188  
 10189  type CreateResourceDefinitionVersionInput struct {
 10190  	_ struct{} `type:"structure"`
 10191  
 10192  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
 10193  
 10194  	// ResourceDefinitionId is a required field
 10195  	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
 10196  
 10197  	Resources []*Resource `type:"list"`
 10198  }
 10199  
 10200  // String returns the string representation.
 10201  //
 10202  // API parameter values that are decorated as "sensitive" in the API will not
 10203  // be included in the string output. The member name will be present, but the
 10204  // value will be replaced with "sensitive".
 10205  func (s CreateResourceDefinitionVersionInput) String() string {
 10206  	return awsutil.Prettify(s)
 10207  }
 10208  
 10209  // GoString returns the string representation.
 10210  //
 10211  // API parameter values that are decorated as "sensitive" in the API will not
 10212  // be included in the string output. The member name will be present, but the
 10213  // value will be replaced with "sensitive".
 10214  func (s CreateResourceDefinitionVersionInput) GoString() string {
 10215  	return s.String()
 10216  }
 10217  
 10218  // Validate inspects the fields of the type to determine if they are valid.
 10219  func (s *CreateResourceDefinitionVersionInput) Validate() error {
 10220  	invalidParams := request.ErrInvalidParams{Context: "CreateResourceDefinitionVersionInput"}
 10221  	if s.ResourceDefinitionId == nil {
 10222  		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
 10223  	}
 10224  	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
 10225  		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
 10226  	}
 10227  	if s.Resources != nil {
 10228  		for i, v := range s.Resources {
 10229  			if v == nil {
 10230  				continue
 10231  			}
 10232  			if err := v.Validate(); err != nil {
 10233  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
 10234  			}
 10235  		}
 10236  	}
 10237  
 10238  	if invalidParams.Len() > 0 {
 10239  		return invalidParams
 10240  	}
 10241  	return nil
 10242  }
 10243  
 10244  // SetAmznClientToken sets the AmznClientToken field's value.
 10245  func (s *CreateResourceDefinitionVersionInput) SetAmznClientToken(v string) *CreateResourceDefinitionVersionInput {
 10246  	s.AmznClientToken = &v
 10247  	return s
 10248  }
 10249  
 10250  // SetResourceDefinitionId sets the ResourceDefinitionId field's value.
 10251  func (s *CreateResourceDefinitionVersionInput) SetResourceDefinitionId(v string) *CreateResourceDefinitionVersionInput {
 10252  	s.ResourceDefinitionId = &v
 10253  	return s
 10254  }
 10255  
 10256  // SetResources sets the Resources field's value.
 10257  func (s *CreateResourceDefinitionVersionInput) SetResources(v []*Resource) *CreateResourceDefinitionVersionInput {
 10258  	s.Resources = v
 10259  	return s
 10260  }
 10261  
 10262  type CreateResourceDefinitionVersionOutput struct {
 10263  	_ struct{} `type:"structure"`
 10264  
 10265  	Arn *string `type:"string"`
 10266  
 10267  	CreationTimestamp *string `type:"string"`
 10268  
 10269  	Id *string `type:"string"`
 10270  
 10271  	Version *string `type:"string"`
 10272  }
 10273  
 10274  // String returns the string representation.
 10275  //
 10276  // API parameter values that are decorated as "sensitive" in the API will not
 10277  // be included in the string output. The member name will be present, but the
 10278  // value will be replaced with "sensitive".
 10279  func (s CreateResourceDefinitionVersionOutput) String() string {
 10280  	return awsutil.Prettify(s)
 10281  }
 10282  
 10283  // GoString returns the string representation.
 10284  //
 10285  // API parameter values that are decorated as "sensitive" in the API will not
 10286  // be included in the string output. The member name will be present, but the
 10287  // value will be replaced with "sensitive".
 10288  func (s CreateResourceDefinitionVersionOutput) GoString() string {
 10289  	return s.String()
 10290  }
 10291  
 10292  // SetArn sets the Arn field's value.
 10293  func (s *CreateResourceDefinitionVersionOutput) SetArn(v string) *CreateResourceDefinitionVersionOutput {
 10294  	s.Arn = &v
 10295  	return s
 10296  }
 10297  
 10298  // SetCreationTimestamp sets the CreationTimestamp field's value.
 10299  func (s *CreateResourceDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateResourceDefinitionVersionOutput {
 10300  	s.CreationTimestamp = &v
 10301  	return s
 10302  }
 10303  
 10304  // SetId sets the Id field's value.
 10305  func (s *CreateResourceDefinitionVersionOutput) SetId(v string) *CreateResourceDefinitionVersionOutput {
 10306  	s.Id = &v
 10307  	return s
 10308  }
 10309  
 10310  // SetVersion sets the Version field's value.
 10311  func (s *CreateResourceDefinitionVersionOutput) SetVersion(v string) *CreateResourceDefinitionVersionOutput {
 10312  	s.Version = &v
 10313  	return s
 10314  }
 10315  
 10316  // Request for the CreateSoftwareUpdateJob API.
 10317  type CreateSoftwareUpdateJobInput struct {
 10318  	_ struct{} `type:"structure"`
 10319  
 10320  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
 10321  
 10322  	// The IAM Role that Greengrass will use to create pre-signed URLs pointing
 10323  	// towards the update artifact.
 10324  	//
 10325  	// S3UrlSignerRole is a required field
 10326  	S3UrlSignerRole *string `type:"string" required:"true"`
 10327  
 10328  	// The piece of software on the Greengrass core that will be updated.
 10329  	//
 10330  	// SoftwareToUpdate is a required field
 10331  	SoftwareToUpdate *string `type:"string" required:"true" enum:"SoftwareToUpdate"`
 10332  
 10333  	// The minimum level of log statements that should be logged by the OTA Agent
 10334  	// during an update.
 10335  	UpdateAgentLogLevel *string `type:"string" enum:"UpdateAgentLogLevel"`
 10336  
 10337  	// The ARNs of the targets (IoT things or IoT thing groups) that this update
 10338  	// will be applied to.
 10339  	//
 10340  	// UpdateTargets is a required field
 10341  	UpdateTargets []*string `type:"list" required:"true"`
 10342  
 10343  	// The architecture of the cores which are the targets of an update.
 10344  	//
 10345  	// UpdateTargetsArchitecture is a required field
 10346  	UpdateTargetsArchitecture *string `type:"string" required:"true" enum:"UpdateTargetsArchitecture"`
 10347  
 10348  	// The operating system of the cores which are the targets of an update.
 10349  	//
 10350  	// UpdateTargetsOperatingSystem is a required field
 10351  	UpdateTargetsOperatingSystem *string `type:"string" required:"true" enum:"UpdateTargetsOperatingSystem"`
 10352  }
 10353  
 10354  // String returns the string representation.
 10355  //
 10356  // API parameter values that are decorated as "sensitive" in the API will not
 10357  // be included in the string output. The member name will be present, but the
 10358  // value will be replaced with "sensitive".
 10359  func (s CreateSoftwareUpdateJobInput) String() string {
 10360  	return awsutil.Prettify(s)
 10361  }
 10362  
 10363  // GoString returns the string representation.
 10364  //
 10365  // API parameter values that are decorated as "sensitive" in the API will not
 10366  // be included in the string output. The member name will be present, but the
 10367  // value will be replaced with "sensitive".
 10368  func (s CreateSoftwareUpdateJobInput) GoString() string {
 10369  	return s.String()
 10370  }
 10371  
 10372  // Validate inspects the fields of the type to determine if they are valid.
 10373  func (s *CreateSoftwareUpdateJobInput) Validate() error {
 10374  	invalidParams := request.ErrInvalidParams{Context: "CreateSoftwareUpdateJobInput"}
 10375  	if s.S3UrlSignerRole == nil {
 10376  		invalidParams.Add(request.NewErrParamRequired("S3UrlSignerRole"))
 10377  	}
 10378  	if s.SoftwareToUpdate == nil {
 10379  		invalidParams.Add(request.NewErrParamRequired("SoftwareToUpdate"))
 10380  	}
 10381  	if s.UpdateTargets == nil {
 10382  		invalidParams.Add(request.NewErrParamRequired("UpdateTargets"))
 10383  	}
 10384  	if s.UpdateTargetsArchitecture == nil {
 10385  		invalidParams.Add(request.NewErrParamRequired("UpdateTargetsArchitecture"))
 10386  	}
 10387  	if s.UpdateTargetsOperatingSystem == nil {
 10388  		invalidParams.Add(request.NewErrParamRequired("UpdateTargetsOperatingSystem"))
 10389  	}
 10390  
 10391  	if invalidParams.Len() > 0 {
 10392  		return invalidParams
 10393  	}
 10394  	return nil
 10395  }
 10396  
 10397  // SetAmznClientToken sets the AmznClientToken field's value.
 10398  func (s *CreateSoftwareUpdateJobInput) SetAmznClientToken(v string) *CreateSoftwareUpdateJobInput {
 10399  	s.AmznClientToken = &v
 10400  	return s
 10401  }
 10402  
 10403  // SetS3UrlSignerRole sets the S3UrlSignerRole field's value.
 10404  func (s *CreateSoftwareUpdateJobInput) SetS3UrlSignerRole(v string) *CreateSoftwareUpdateJobInput {
 10405  	s.S3UrlSignerRole = &v
 10406  	return s
 10407  }
 10408  
 10409  // SetSoftwareToUpdate sets the SoftwareToUpdate field's value.
 10410  func (s *CreateSoftwareUpdateJobInput) SetSoftwareToUpdate(v string) *CreateSoftwareUpdateJobInput {
 10411  	s.SoftwareToUpdate = &v
 10412  	return s
 10413  }
 10414  
 10415  // SetUpdateAgentLogLevel sets the UpdateAgentLogLevel field's value.
 10416  func (s *CreateSoftwareUpdateJobInput) SetUpdateAgentLogLevel(v string) *CreateSoftwareUpdateJobInput {
 10417  	s.UpdateAgentLogLevel = &v
 10418  	return s
 10419  }
 10420  
 10421  // SetUpdateTargets sets the UpdateTargets field's value.
 10422  func (s *CreateSoftwareUpdateJobInput) SetUpdateTargets(v []*string) *CreateSoftwareUpdateJobInput {
 10423  	s.UpdateTargets = v
 10424  	return s
 10425  }
 10426  
 10427  // SetUpdateTargetsArchitecture sets the UpdateTargetsArchitecture field's value.
 10428  func (s *CreateSoftwareUpdateJobInput) SetUpdateTargetsArchitecture(v string) *CreateSoftwareUpdateJobInput {
 10429  	s.UpdateTargetsArchitecture = &v
 10430  	return s
 10431  }
 10432  
 10433  // SetUpdateTargetsOperatingSystem sets the UpdateTargetsOperatingSystem field's value.
 10434  func (s *CreateSoftwareUpdateJobInput) SetUpdateTargetsOperatingSystem(v string) *CreateSoftwareUpdateJobInput {
 10435  	s.UpdateTargetsOperatingSystem = &v
 10436  	return s
 10437  }
 10438  
 10439  type CreateSoftwareUpdateJobOutput struct {
 10440  	_ struct{} `type:"structure"`
 10441  
 10442  	// The IoT Job ARN corresponding to this update.
 10443  	IotJobArn *string `type:"string"`
 10444  
 10445  	// The IoT Job Id corresponding to this update.
 10446  	IotJobId *string `type:"string"`
 10447  
 10448  	// The software version installed on the device or devices after the update.
 10449  	PlatformSoftwareVersion *string `type:"string"`
 10450  }
 10451  
 10452  // String returns the string representation.
 10453  //
 10454  // API parameter values that are decorated as "sensitive" in the API will not
 10455  // be included in the string output. The member name will be present, but the
 10456  // value will be replaced with "sensitive".
 10457  func (s CreateSoftwareUpdateJobOutput) String() string {
 10458  	return awsutil.Prettify(s)
 10459  }
 10460  
 10461  // GoString returns the string representation.
 10462  //
 10463  // API parameter values that are decorated as "sensitive" in the API will not
 10464  // be included in the string output. The member name will be present, but the
 10465  // value will be replaced with "sensitive".
 10466  func (s CreateSoftwareUpdateJobOutput) GoString() string {
 10467  	return s.String()
 10468  }
 10469  
 10470  // SetIotJobArn sets the IotJobArn field's value.
 10471  func (s *CreateSoftwareUpdateJobOutput) SetIotJobArn(v string) *CreateSoftwareUpdateJobOutput {
 10472  	s.IotJobArn = &v
 10473  	return s
 10474  }
 10475  
 10476  // SetIotJobId sets the IotJobId field's value.
 10477  func (s *CreateSoftwareUpdateJobOutput) SetIotJobId(v string) *CreateSoftwareUpdateJobOutput {
 10478  	s.IotJobId = &v
 10479  	return s
 10480  }
 10481  
 10482  // SetPlatformSoftwareVersion sets the PlatformSoftwareVersion field's value.
 10483  func (s *CreateSoftwareUpdateJobOutput) SetPlatformSoftwareVersion(v string) *CreateSoftwareUpdateJobOutput {
 10484  	s.PlatformSoftwareVersion = &v
 10485  	return s
 10486  }
 10487  
 10488  type CreateSubscriptionDefinitionInput struct {
 10489  	_ struct{} `type:"structure"`
 10490  
 10491  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
 10492  
 10493  	// Information about a subscription definition version.
 10494  	InitialVersion *SubscriptionDefinitionVersion `type:"structure"`
 10495  
 10496  	Name *string `type:"string"`
 10497  
 10498  	// The key-value pair for the resource tag.
 10499  	Tags map[string]*string `locationName:"tags" type:"map"`
 10500  }
 10501  
 10502  // String returns the string representation.
 10503  //
 10504  // API parameter values that are decorated as "sensitive" in the API will not
 10505  // be included in the string output. The member name will be present, but the
 10506  // value will be replaced with "sensitive".
 10507  func (s CreateSubscriptionDefinitionInput) String() string {
 10508  	return awsutil.Prettify(s)
 10509  }
 10510  
 10511  // GoString returns the string representation.
 10512  //
 10513  // API parameter values that are decorated as "sensitive" in the API will not
 10514  // be included in the string output. The member name will be present, but the
 10515  // value will be replaced with "sensitive".
 10516  func (s CreateSubscriptionDefinitionInput) GoString() string {
 10517  	return s.String()
 10518  }
 10519  
 10520  // Validate inspects the fields of the type to determine if they are valid.
 10521  func (s *CreateSubscriptionDefinitionInput) Validate() error {
 10522  	invalidParams := request.ErrInvalidParams{Context: "CreateSubscriptionDefinitionInput"}
 10523  	if s.InitialVersion != nil {
 10524  		if err := s.InitialVersion.Validate(); err != nil {
 10525  			invalidParams.AddNested("InitialVersion", err.(request.ErrInvalidParams))
 10526  		}
 10527  	}
 10528  
 10529  	if invalidParams.Len() > 0 {
 10530  		return invalidParams
 10531  	}
 10532  	return nil
 10533  }
 10534  
 10535  // SetAmznClientToken sets the AmznClientToken field's value.
 10536  func (s *CreateSubscriptionDefinitionInput) SetAmznClientToken(v string) *CreateSubscriptionDefinitionInput {
 10537  	s.AmznClientToken = &v
 10538  	return s
 10539  }
 10540  
 10541  // SetInitialVersion sets the InitialVersion field's value.
 10542  func (s *CreateSubscriptionDefinitionInput) SetInitialVersion(v *SubscriptionDefinitionVersion) *CreateSubscriptionDefinitionInput {
 10543  	s.InitialVersion = v
 10544  	return s
 10545  }
 10546  
 10547  // SetName sets the Name field's value.
 10548  func (s *CreateSubscriptionDefinitionInput) SetName(v string) *CreateSubscriptionDefinitionInput {
 10549  	s.Name = &v
 10550  	return s
 10551  }
 10552  
 10553  // SetTags sets the Tags field's value.
 10554  func (s *CreateSubscriptionDefinitionInput) SetTags(v map[string]*string) *CreateSubscriptionDefinitionInput {
 10555  	s.Tags = v
 10556  	return s
 10557  }
 10558  
 10559  type CreateSubscriptionDefinitionOutput struct {
 10560  	_ struct{} `type:"structure"`
 10561  
 10562  	Arn *string `type:"string"`
 10563  
 10564  	CreationTimestamp *string `type:"string"`
 10565  
 10566  	Id *string `type:"string"`
 10567  
 10568  	LastUpdatedTimestamp *string `type:"string"`
 10569  
 10570  	LatestVersion *string `type:"string"`
 10571  
 10572  	LatestVersionArn *string `type:"string"`
 10573  
 10574  	Name *string `type:"string"`
 10575  }
 10576  
 10577  // String returns the string representation.
 10578  //
 10579  // API parameter values that are decorated as "sensitive" in the API will not
 10580  // be included in the string output. The member name will be present, but the
 10581  // value will be replaced with "sensitive".
 10582  func (s CreateSubscriptionDefinitionOutput) String() string {
 10583  	return awsutil.Prettify(s)
 10584  }
 10585  
 10586  // GoString returns the string representation.
 10587  //
 10588  // API parameter values that are decorated as "sensitive" in the API will not
 10589  // be included in the string output. The member name will be present, but the
 10590  // value will be replaced with "sensitive".
 10591  func (s CreateSubscriptionDefinitionOutput) GoString() string {
 10592  	return s.String()
 10593  }
 10594  
 10595  // SetArn sets the Arn field's value.
 10596  func (s *CreateSubscriptionDefinitionOutput) SetArn(v string) *CreateSubscriptionDefinitionOutput {
 10597  	s.Arn = &v
 10598  	return s
 10599  }
 10600  
 10601  // SetCreationTimestamp sets the CreationTimestamp field's value.
 10602  func (s *CreateSubscriptionDefinitionOutput) SetCreationTimestamp(v string) *CreateSubscriptionDefinitionOutput {
 10603  	s.CreationTimestamp = &v
 10604  	return s
 10605  }
 10606  
 10607  // SetId sets the Id field's value.
 10608  func (s *CreateSubscriptionDefinitionOutput) SetId(v string) *CreateSubscriptionDefinitionOutput {
 10609  	s.Id = &v
 10610  	return s
 10611  }
 10612  
 10613  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 10614  func (s *CreateSubscriptionDefinitionOutput) SetLastUpdatedTimestamp(v string) *CreateSubscriptionDefinitionOutput {
 10615  	s.LastUpdatedTimestamp = &v
 10616  	return s
 10617  }
 10618  
 10619  // SetLatestVersion sets the LatestVersion field's value.
 10620  func (s *CreateSubscriptionDefinitionOutput) SetLatestVersion(v string) *CreateSubscriptionDefinitionOutput {
 10621  	s.LatestVersion = &v
 10622  	return s
 10623  }
 10624  
 10625  // SetLatestVersionArn sets the LatestVersionArn field's value.
 10626  func (s *CreateSubscriptionDefinitionOutput) SetLatestVersionArn(v string) *CreateSubscriptionDefinitionOutput {
 10627  	s.LatestVersionArn = &v
 10628  	return s
 10629  }
 10630  
 10631  // SetName sets the Name field's value.
 10632  func (s *CreateSubscriptionDefinitionOutput) SetName(v string) *CreateSubscriptionDefinitionOutput {
 10633  	s.Name = &v
 10634  	return s
 10635  }
 10636  
 10637  type CreateSubscriptionDefinitionVersionInput struct {
 10638  	_ struct{} `type:"structure"`
 10639  
 10640  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
 10641  
 10642  	// SubscriptionDefinitionId is a required field
 10643  	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
 10644  
 10645  	Subscriptions []*Subscription `type:"list"`
 10646  }
 10647  
 10648  // String returns the string representation.
 10649  //
 10650  // API parameter values that are decorated as "sensitive" in the API will not
 10651  // be included in the string output. The member name will be present, but the
 10652  // value will be replaced with "sensitive".
 10653  func (s CreateSubscriptionDefinitionVersionInput) String() string {
 10654  	return awsutil.Prettify(s)
 10655  }
 10656  
 10657  // GoString returns the string representation.
 10658  //
 10659  // API parameter values that are decorated as "sensitive" in the API will not
 10660  // be included in the string output. The member name will be present, but the
 10661  // value will be replaced with "sensitive".
 10662  func (s CreateSubscriptionDefinitionVersionInput) GoString() string {
 10663  	return s.String()
 10664  }
 10665  
 10666  // Validate inspects the fields of the type to determine if they are valid.
 10667  func (s *CreateSubscriptionDefinitionVersionInput) Validate() error {
 10668  	invalidParams := request.ErrInvalidParams{Context: "CreateSubscriptionDefinitionVersionInput"}
 10669  	if s.SubscriptionDefinitionId == nil {
 10670  		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
 10671  	}
 10672  	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
 10673  		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
 10674  	}
 10675  	if s.Subscriptions != nil {
 10676  		for i, v := range s.Subscriptions {
 10677  			if v == nil {
 10678  				continue
 10679  			}
 10680  			if err := v.Validate(); err != nil {
 10681  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscriptions", i), err.(request.ErrInvalidParams))
 10682  			}
 10683  		}
 10684  	}
 10685  
 10686  	if invalidParams.Len() > 0 {
 10687  		return invalidParams
 10688  	}
 10689  	return nil
 10690  }
 10691  
 10692  // SetAmznClientToken sets the AmznClientToken field's value.
 10693  func (s *CreateSubscriptionDefinitionVersionInput) SetAmznClientToken(v string) *CreateSubscriptionDefinitionVersionInput {
 10694  	s.AmznClientToken = &v
 10695  	return s
 10696  }
 10697  
 10698  // SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
 10699  func (s *CreateSubscriptionDefinitionVersionInput) SetSubscriptionDefinitionId(v string) *CreateSubscriptionDefinitionVersionInput {
 10700  	s.SubscriptionDefinitionId = &v
 10701  	return s
 10702  }
 10703  
 10704  // SetSubscriptions sets the Subscriptions field's value.
 10705  func (s *CreateSubscriptionDefinitionVersionInput) SetSubscriptions(v []*Subscription) *CreateSubscriptionDefinitionVersionInput {
 10706  	s.Subscriptions = v
 10707  	return s
 10708  }
 10709  
 10710  type CreateSubscriptionDefinitionVersionOutput struct {
 10711  	_ struct{} `type:"structure"`
 10712  
 10713  	Arn *string `type:"string"`
 10714  
 10715  	CreationTimestamp *string `type:"string"`
 10716  
 10717  	Id *string `type:"string"`
 10718  
 10719  	Version *string `type:"string"`
 10720  }
 10721  
 10722  // String returns the string representation.
 10723  //
 10724  // API parameter values that are decorated as "sensitive" in the API will not
 10725  // be included in the string output. The member name will be present, but the
 10726  // value will be replaced with "sensitive".
 10727  func (s CreateSubscriptionDefinitionVersionOutput) String() string {
 10728  	return awsutil.Prettify(s)
 10729  }
 10730  
 10731  // GoString returns the string representation.
 10732  //
 10733  // API parameter values that are decorated as "sensitive" in the API will not
 10734  // be included in the string output. The member name will be present, but the
 10735  // value will be replaced with "sensitive".
 10736  func (s CreateSubscriptionDefinitionVersionOutput) GoString() string {
 10737  	return s.String()
 10738  }
 10739  
 10740  // SetArn sets the Arn field's value.
 10741  func (s *CreateSubscriptionDefinitionVersionOutput) SetArn(v string) *CreateSubscriptionDefinitionVersionOutput {
 10742  	s.Arn = &v
 10743  	return s
 10744  }
 10745  
 10746  // SetCreationTimestamp sets the CreationTimestamp field's value.
 10747  func (s *CreateSubscriptionDefinitionVersionOutput) SetCreationTimestamp(v string) *CreateSubscriptionDefinitionVersionOutput {
 10748  	s.CreationTimestamp = &v
 10749  	return s
 10750  }
 10751  
 10752  // SetId sets the Id field's value.
 10753  func (s *CreateSubscriptionDefinitionVersionOutput) SetId(v string) *CreateSubscriptionDefinitionVersionOutput {
 10754  	s.Id = &v
 10755  	return s
 10756  }
 10757  
 10758  // SetVersion sets the Version field's value.
 10759  func (s *CreateSubscriptionDefinitionVersionOutput) SetVersion(v string) *CreateSubscriptionDefinitionVersionOutput {
 10760  	s.Version = &v
 10761  	return s
 10762  }
 10763  
 10764  // Information about a definition.
 10765  type DefinitionInformation struct {
 10766  	_ struct{} `type:"structure"`
 10767  
 10768  	// The ARN of the definition.
 10769  	Arn *string `type:"string"`
 10770  
 10771  	// The time, in milliseconds since the epoch, when the definition was created.
 10772  	CreationTimestamp *string `type:"string"`
 10773  
 10774  	// The ID of the definition.
 10775  	Id *string `type:"string"`
 10776  
 10777  	// The time, in milliseconds since the epoch, when the definition was last updated.
 10778  	LastUpdatedTimestamp *string `type:"string"`
 10779  
 10780  	// The ID of the latest version associated with the definition.
 10781  	LatestVersion *string `type:"string"`
 10782  
 10783  	// The ARN of the latest version associated with the definition.
 10784  	LatestVersionArn *string `type:"string"`
 10785  
 10786  	// The name of the definition.
 10787  	Name *string `type:"string"`
 10788  
 10789  	// Tag(s) attached to the resource arn.
 10790  	Tags map[string]*string `locationName:"tags" type:"map"`
 10791  }
 10792  
 10793  // String returns the string representation.
 10794  //
 10795  // API parameter values that are decorated as "sensitive" in the API will not
 10796  // be included in the string output. The member name will be present, but the
 10797  // value will be replaced with "sensitive".
 10798  func (s DefinitionInformation) String() string {
 10799  	return awsutil.Prettify(s)
 10800  }
 10801  
 10802  // GoString returns the string representation.
 10803  //
 10804  // API parameter values that are decorated as "sensitive" in the API will not
 10805  // be included in the string output. The member name will be present, but the
 10806  // value will be replaced with "sensitive".
 10807  func (s DefinitionInformation) GoString() string {
 10808  	return s.String()
 10809  }
 10810  
 10811  // SetArn sets the Arn field's value.
 10812  func (s *DefinitionInformation) SetArn(v string) *DefinitionInformation {
 10813  	s.Arn = &v
 10814  	return s
 10815  }
 10816  
 10817  // SetCreationTimestamp sets the CreationTimestamp field's value.
 10818  func (s *DefinitionInformation) SetCreationTimestamp(v string) *DefinitionInformation {
 10819  	s.CreationTimestamp = &v
 10820  	return s
 10821  }
 10822  
 10823  // SetId sets the Id field's value.
 10824  func (s *DefinitionInformation) SetId(v string) *DefinitionInformation {
 10825  	s.Id = &v
 10826  	return s
 10827  }
 10828  
 10829  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 10830  func (s *DefinitionInformation) SetLastUpdatedTimestamp(v string) *DefinitionInformation {
 10831  	s.LastUpdatedTimestamp = &v
 10832  	return s
 10833  }
 10834  
 10835  // SetLatestVersion sets the LatestVersion field's value.
 10836  func (s *DefinitionInformation) SetLatestVersion(v string) *DefinitionInformation {
 10837  	s.LatestVersion = &v
 10838  	return s
 10839  }
 10840  
 10841  // SetLatestVersionArn sets the LatestVersionArn field's value.
 10842  func (s *DefinitionInformation) SetLatestVersionArn(v string) *DefinitionInformation {
 10843  	s.LatestVersionArn = &v
 10844  	return s
 10845  }
 10846  
 10847  // SetName sets the Name field's value.
 10848  func (s *DefinitionInformation) SetName(v string) *DefinitionInformation {
 10849  	s.Name = &v
 10850  	return s
 10851  }
 10852  
 10853  // SetTags sets the Tags field's value.
 10854  func (s *DefinitionInformation) SetTags(v map[string]*string) *DefinitionInformation {
 10855  	s.Tags = v
 10856  	return s
 10857  }
 10858  
 10859  type DeleteConnectorDefinitionInput struct {
 10860  	_ struct{} `type:"structure" nopayload:"true"`
 10861  
 10862  	// ConnectorDefinitionId is a required field
 10863  	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
 10864  }
 10865  
 10866  // String returns the string representation.
 10867  //
 10868  // API parameter values that are decorated as "sensitive" in the API will not
 10869  // be included in the string output. The member name will be present, but the
 10870  // value will be replaced with "sensitive".
 10871  func (s DeleteConnectorDefinitionInput) String() string {
 10872  	return awsutil.Prettify(s)
 10873  }
 10874  
 10875  // GoString returns the string representation.
 10876  //
 10877  // API parameter values that are decorated as "sensitive" in the API will not
 10878  // be included in the string output. The member name will be present, but the
 10879  // value will be replaced with "sensitive".
 10880  func (s DeleteConnectorDefinitionInput) GoString() string {
 10881  	return s.String()
 10882  }
 10883  
 10884  // Validate inspects the fields of the type to determine if they are valid.
 10885  func (s *DeleteConnectorDefinitionInput) Validate() error {
 10886  	invalidParams := request.ErrInvalidParams{Context: "DeleteConnectorDefinitionInput"}
 10887  	if s.ConnectorDefinitionId == nil {
 10888  		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
 10889  	}
 10890  	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
 10891  		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
 10892  	}
 10893  
 10894  	if invalidParams.Len() > 0 {
 10895  		return invalidParams
 10896  	}
 10897  	return nil
 10898  }
 10899  
 10900  // SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
 10901  func (s *DeleteConnectorDefinitionInput) SetConnectorDefinitionId(v string) *DeleteConnectorDefinitionInput {
 10902  	s.ConnectorDefinitionId = &v
 10903  	return s
 10904  }
 10905  
 10906  type DeleteConnectorDefinitionOutput struct {
 10907  	_ struct{} `type:"structure" nopayload:"true"`
 10908  }
 10909  
 10910  // String returns the string representation.
 10911  //
 10912  // API parameter values that are decorated as "sensitive" in the API will not
 10913  // be included in the string output. The member name will be present, but the
 10914  // value will be replaced with "sensitive".
 10915  func (s DeleteConnectorDefinitionOutput) String() string {
 10916  	return awsutil.Prettify(s)
 10917  }
 10918  
 10919  // GoString returns the string representation.
 10920  //
 10921  // API parameter values that are decorated as "sensitive" in the API will not
 10922  // be included in the string output. The member name will be present, but the
 10923  // value will be replaced with "sensitive".
 10924  func (s DeleteConnectorDefinitionOutput) GoString() string {
 10925  	return s.String()
 10926  }
 10927  
 10928  type DeleteCoreDefinitionInput struct {
 10929  	_ struct{} `type:"structure" nopayload:"true"`
 10930  
 10931  	// CoreDefinitionId is a required field
 10932  	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
 10933  }
 10934  
 10935  // String returns the string representation.
 10936  //
 10937  // API parameter values that are decorated as "sensitive" in the API will not
 10938  // be included in the string output. The member name will be present, but the
 10939  // value will be replaced with "sensitive".
 10940  func (s DeleteCoreDefinitionInput) String() string {
 10941  	return awsutil.Prettify(s)
 10942  }
 10943  
 10944  // GoString returns the string representation.
 10945  //
 10946  // API parameter values that are decorated as "sensitive" in the API will not
 10947  // be included in the string output. The member name will be present, but the
 10948  // value will be replaced with "sensitive".
 10949  func (s DeleteCoreDefinitionInput) GoString() string {
 10950  	return s.String()
 10951  }
 10952  
 10953  // Validate inspects the fields of the type to determine if they are valid.
 10954  func (s *DeleteCoreDefinitionInput) Validate() error {
 10955  	invalidParams := request.ErrInvalidParams{Context: "DeleteCoreDefinitionInput"}
 10956  	if s.CoreDefinitionId == nil {
 10957  		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
 10958  	}
 10959  	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
 10960  		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
 10961  	}
 10962  
 10963  	if invalidParams.Len() > 0 {
 10964  		return invalidParams
 10965  	}
 10966  	return nil
 10967  }
 10968  
 10969  // SetCoreDefinitionId sets the CoreDefinitionId field's value.
 10970  func (s *DeleteCoreDefinitionInput) SetCoreDefinitionId(v string) *DeleteCoreDefinitionInput {
 10971  	s.CoreDefinitionId = &v
 10972  	return s
 10973  }
 10974  
 10975  type DeleteCoreDefinitionOutput struct {
 10976  	_ struct{} `type:"structure" nopayload:"true"`
 10977  }
 10978  
 10979  // String returns the string representation.
 10980  //
 10981  // API parameter values that are decorated as "sensitive" in the API will not
 10982  // be included in the string output. The member name will be present, but the
 10983  // value will be replaced with "sensitive".
 10984  func (s DeleteCoreDefinitionOutput) String() string {
 10985  	return awsutil.Prettify(s)
 10986  }
 10987  
 10988  // GoString returns the string representation.
 10989  //
 10990  // API parameter values that are decorated as "sensitive" in the API will not
 10991  // be included in the string output. The member name will be present, but the
 10992  // value will be replaced with "sensitive".
 10993  func (s DeleteCoreDefinitionOutput) GoString() string {
 10994  	return s.String()
 10995  }
 10996  
 10997  type DeleteDeviceDefinitionInput struct {
 10998  	_ struct{} `type:"structure" nopayload:"true"`
 10999  
 11000  	// DeviceDefinitionId is a required field
 11001  	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
 11002  }
 11003  
 11004  // String returns the string representation.
 11005  //
 11006  // API parameter values that are decorated as "sensitive" in the API will not
 11007  // be included in the string output. The member name will be present, but the
 11008  // value will be replaced with "sensitive".
 11009  func (s DeleteDeviceDefinitionInput) String() string {
 11010  	return awsutil.Prettify(s)
 11011  }
 11012  
 11013  // GoString returns the string representation.
 11014  //
 11015  // API parameter values that are decorated as "sensitive" in the API will not
 11016  // be included in the string output. The member name will be present, but the
 11017  // value will be replaced with "sensitive".
 11018  func (s DeleteDeviceDefinitionInput) GoString() string {
 11019  	return s.String()
 11020  }
 11021  
 11022  // Validate inspects the fields of the type to determine if they are valid.
 11023  func (s *DeleteDeviceDefinitionInput) Validate() error {
 11024  	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceDefinitionInput"}
 11025  	if s.DeviceDefinitionId == nil {
 11026  		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
 11027  	}
 11028  	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
 11029  		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
 11030  	}
 11031  
 11032  	if invalidParams.Len() > 0 {
 11033  		return invalidParams
 11034  	}
 11035  	return nil
 11036  }
 11037  
 11038  // SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
 11039  func (s *DeleteDeviceDefinitionInput) SetDeviceDefinitionId(v string) *DeleteDeviceDefinitionInput {
 11040  	s.DeviceDefinitionId = &v
 11041  	return s
 11042  }
 11043  
 11044  type DeleteDeviceDefinitionOutput struct {
 11045  	_ struct{} `type:"structure" nopayload:"true"`
 11046  }
 11047  
 11048  // String returns the string representation.
 11049  //
 11050  // API parameter values that are decorated as "sensitive" in the API will not
 11051  // be included in the string output. The member name will be present, but the
 11052  // value will be replaced with "sensitive".
 11053  func (s DeleteDeviceDefinitionOutput) String() string {
 11054  	return awsutil.Prettify(s)
 11055  }
 11056  
 11057  // GoString returns the string representation.
 11058  //
 11059  // API parameter values that are decorated as "sensitive" in the API will not
 11060  // be included in the string output. The member name will be present, but the
 11061  // value will be replaced with "sensitive".
 11062  func (s DeleteDeviceDefinitionOutput) GoString() string {
 11063  	return s.String()
 11064  }
 11065  
 11066  type DeleteFunctionDefinitionInput struct {
 11067  	_ struct{} `type:"structure" nopayload:"true"`
 11068  
 11069  	// FunctionDefinitionId is a required field
 11070  	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
 11071  }
 11072  
 11073  // String returns the string representation.
 11074  //
 11075  // API parameter values that are decorated as "sensitive" in the API will not
 11076  // be included in the string output. The member name will be present, but the
 11077  // value will be replaced with "sensitive".
 11078  func (s DeleteFunctionDefinitionInput) String() string {
 11079  	return awsutil.Prettify(s)
 11080  }
 11081  
 11082  // GoString returns the string representation.
 11083  //
 11084  // API parameter values that are decorated as "sensitive" in the API will not
 11085  // be included in the string output. The member name will be present, but the
 11086  // value will be replaced with "sensitive".
 11087  func (s DeleteFunctionDefinitionInput) GoString() string {
 11088  	return s.String()
 11089  }
 11090  
 11091  // Validate inspects the fields of the type to determine if they are valid.
 11092  func (s *DeleteFunctionDefinitionInput) Validate() error {
 11093  	invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionDefinitionInput"}
 11094  	if s.FunctionDefinitionId == nil {
 11095  		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
 11096  	}
 11097  	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
 11098  		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
 11099  	}
 11100  
 11101  	if invalidParams.Len() > 0 {
 11102  		return invalidParams
 11103  	}
 11104  	return nil
 11105  }
 11106  
 11107  // SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
 11108  func (s *DeleteFunctionDefinitionInput) SetFunctionDefinitionId(v string) *DeleteFunctionDefinitionInput {
 11109  	s.FunctionDefinitionId = &v
 11110  	return s
 11111  }
 11112  
 11113  type DeleteFunctionDefinitionOutput struct {
 11114  	_ struct{} `type:"structure" nopayload:"true"`
 11115  }
 11116  
 11117  // String returns the string representation.
 11118  //
 11119  // API parameter values that are decorated as "sensitive" in the API will not
 11120  // be included in the string output. The member name will be present, but the
 11121  // value will be replaced with "sensitive".
 11122  func (s DeleteFunctionDefinitionOutput) String() string {
 11123  	return awsutil.Prettify(s)
 11124  }
 11125  
 11126  // GoString returns the string representation.
 11127  //
 11128  // API parameter values that are decorated as "sensitive" in the API will not
 11129  // be included in the string output. The member name will be present, but the
 11130  // value will be replaced with "sensitive".
 11131  func (s DeleteFunctionDefinitionOutput) GoString() string {
 11132  	return s.String()
 11133  }
 11134  
 11135  type DeleteGroupInput struct {
 11136  	_ struct{} `type:"structure" nopayload:"true"`
 11137  
 11138  	// GroupId is a required field
 11139  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 11140  }
 11141  
 11142  // String returns the string representation.
 11143  //
 11144  // API parameter values that are decorated as "sensitive" in the API will not
 11145  // be included in the string output. The member name will be present, but the
 11146  // value will be replaced with "sensitive".
 11147  func (s DeleteGroupInput) String() string {
 11148  	return awsutil.Prettify(s)
 11149  }
 11150  
 11151  // GoString returns the string representation.
 11152  //
 11153  // API parameter values that are decorated as "sensitive" in the API will not
 11154  // be included in the string output. The member name will be present, but the
 11155  // value will be replaced with "sensitive".
 11156  func (s DeleteGroupInput) GoString() string {
 11157  	return s.String()
 11158  }
 11159  
 11160  // Validate inspects the fields of the type to determine if they are valid.
 11161  func (s *DeleteGroupInput) Validate() error {
 11162  	invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"}
 11163  	if s.GroupId == nil {
 11164  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 11165  	}
 11166  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 11167  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 11168  	}
 11169  
 11170  	if invalidParams.Len() > 0 {
 11171  		return invalidParams
 11172  	}
 11173  	return nil
 11174  }
 11175  
 11176  // SetGroupId sets the GroupId field's value.
 11177  func (s *DeleteGroupInput) SetGroupId(v string) *DeleteGroupInput {
 11178  	s.GroupId = &v
 11179  	return s
 11180  }
 11181  
 11182  type DeleteGroupOutput struct {
 11183  	_ struct{} `type:"structure" nopayload:"true"`
 11184  }
 11185  
 11186  // String returns the string representation.
 11187  //
 11188  // API parameter values that are decorated as "sensitive" in the API will not
 11189  // be included in the string output. The member name will be present, but the
 11190  // value will be replaced with "sensitive".
 11191  func (s DeleteGroupOutput) String() string {
 11192  	return awsutil.Prettify(s)
 11193  }
 11194  
 11195  // GoString returns the string representation.
 11196  //
 11197  // API parameter values that are decorated as "sensitive" in the API will not
 11198  // be included in the string output. The member name will be present, but the
 11199  // value will be replaced with "sensitive".
 11200  func (s DeleteGroupOutput) GoString() string {
 11201  	return s.String()
 11202  }
 11203  
 11204  type DeleteLoggerDefinitionInput struct {
 11205  	_ struct{} `type:"structure" nopayload:"true"`
 11206  
 11207  	// LoggerDefinitionId is a required field
 11208  	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
 11209  }
 11210  
 11211  // String returns the string representation.
 11212  //
 11213  // API parameter values that are decorated as "sensitive" in the API will not
 11214  // be included in the string output. The member name will be present, but the
 11215  // value will be replaced with "sensitive".
 11216  func (s DeleteLoggerDefinitionInput) String() string {
 11217  	return awsutil.Prettify(s)
 11218  }
 11219  
 11220  // GoString returns the string representation.
 11221  //
 11222  // API parameter values that are decorated as "sensitive" in the API will not
 11223  // be included in the string output. The member name will be present, but the
 11224  // value will be replaced with "sensitive".
 11225  func (s DeleteLoggerDefinitionInput) GoString() string {
 11226  	return s.String()
 11227  }
 11228  
 11229  // Validate inspects the fields of the type to determine if they are valid.
 11230  func (s *DeleteLoggerDefinitionInput) Validate() error {
 11231  	invalidParams := request.ErrInvalidParams{Context: "DeleteLoggerDefinitionInput"}
 11232  	if s.LoggerDefinitionId == nil {
 11233  		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
 11234  	}
 11235  	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
 11236  		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
 11237  	}
 11238  
 11239  	if invalidParams.Len() > 0 {
 11240  		return invalidParams
 11241  	}
 11242  	return nil
 11243  }
 11244  
 11245  // SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
 11246  func (s *DeleteLoggerDefinitionInput) SetLoggerDefinitionId(v string) *DeleteLoggerDefinitionInput {
 11247  	s.LoggerDefinitionId = &v
 11248  	return s
 11249  }
 11250  
 11251  type DeleteLoggerDefinitionOutput struct {
 11252  	_ struct{} `type:"structure" nopayload:"true"`
 11253  }
 11254  
 11255  // String returns the string representation.
 11256  //
 11257  // API parameter values that are decorated as "sensitive" in the API will not
 11258  // be included in the string output. The member name will be present, but the
 11259  // value will be replaced with "sensitive".
 11260  func (s DeleteLoggerDefinitionOutput) String() string {
 11261  	return awsutil.Prettify(s)
 11262  }
 11263  
 11264  // GoString returns the string representation.
 11265  //
 11266  // API parameter values that are decorated as "sensitive" in the API will not
 11267  // be included in the string output. The member name will be present, but the
 11268  // value will be replaced with "sensitive".
 11269  func (s DeleteLoggerDefinitionOutput) GoString() string {
 11270  	return s.String()
 11271  }
 11272  
 11273  type DeleteResourceDefinitionInput struct {
 11274  	_ struct{} `type:"structure" nopayload:"true"`
 11275  
 11276  	// ResourceDefinitionId is a required field
 11277  	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
 11278  }
 11279  
 11280  // String returns the string representation.
 11281  //
 11282  // API parameter values that are decorated as "sensitive" in the API will not
 11283  // be included in the string output. The member name will be present, but the
 11284  // value will be replaced with "sensitive".
 11285  func (s DeleteResourceDefinitionInput) String() string {
 11286  	return awsutil.Prettify(s)
 11287  }
 11288  
 11289  // GoString returns the string representation.
 11290  //
 11291  // API parameter values that are decorated as "sensitive" in the API will not
 11292  // be included in the string output. The member name will be present, but the
 11293  // value will be replaced with "sensitive".
 11294  func (s DeleteResourceDefinitionInput) GoString() string {
 11295  	return s.String()
 11296  }
 11297  
 11298  // Validate inspects the fields of the type to determine if they are valid.
 11299  func (s *DeleteResourceDefinitionInput) Validate() error {
 11300  	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceDefinitionInput"}
 11301  	if s.ResourceDefinitionId == nil {
 11302  		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
 11303  	}
 11304  	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
 11305  		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
 11306  	}
 11307  
 11308  	if invalidParams.Len() > 0 {
 11309  		return invalidParams
 11310  	}
 11311  	return nil
 11312  }
 11313  
 11314  // SetResourceDefinitionId sets the ResourceDefinitionId field's value.
 11315  func (s *DeleteResourceDefinitionInput) SetResourceDefinitionId(v string) *DeleteResourceDefinitionInput {
 11316  	s.ResourceDefinitionId = &v
 11317  	return s
 11318  }
 11319  
 11320  type DeleteResourceDefinitionOutput struct {
 11321  	_ struct{} `type:"structure" nopayload:"true"`
 11322  }
 11323  
 11324  // String returns the string representation.
 11325  //
 11326  // API parameter values that are decorated as "sensitive" in the API will not
 11327  // be included in the string output. The member name will be present, but the
 11328  // value will be replaced with "sensitive".
 11329  func (s DeleteResourceDefinitionOutput) String() string {
 11330  	return awsutil.Prettify(s)
 11331  }
 11332  
 11333  // GoString returns the string representation.
 11334  //
 11335  // API parameter values that are decorated as "sensitive" in the API will not
 11336  // be included in the string output. The member name will be present, but the
 11337  // value will be replaced with "sensitive".
 11338  func (s DeleteResourceDefinitionOutput) GoString() string {
 11339  	return s.String()
 11340  }
 11341  
 11342  type DeleteSubscriptionDefinitionInput struct {
 11343  	_ struct{} `type:"structure" nopayload:"true"`
 11344  
 11345  	// SubscriptionDefinitionId is a required field
 11346  	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
 11347  }
 11348  
 11349  // String returns the string representation.
 11350  //
 11351  // API parameter values that are decorated as "sensitive" in the API will not
 11352  // be included in the string output. The member name will be present, but the
 11353  // value will be replaced with "sensitive".
 11354  func (s DeleteSubscriptionDefinitionInput) String() string {
 11355  	return awsutil.Prettify(s)
 11356  }
 11357  
 11358  // GoString returns the string representation.
 11359  //
 11360  // API parameter values that are decorated as "sensitive" in the API will not
 11361  // be included in the string output. The member name will be present, but the
 11362  // value will be replaced with "sensitive".
 11363  func (s DeleteSubscriptionDefinitionInput) GoString() string {
 11364  	return s.String()
 11365  }
 11366  
 11367  // Validate inspects the fields of the type to determine if they are valid.
 11368  func (s *DeleteSubscriptionDefinitionInput) Validate() error {
 11369  	invalidParams := request.ErrInvalidParams{Context: "DeleteSubscriptionDefinitionInput"}
 11370  	if s.SubscriptionDefinitionId == nil {
 11371  		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
 11372  	}
 11373  	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
 11374  		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
 11375  	}
 11376  
 11377  	if invalidParams.Len() > 0 {
 11378  		return invalidParams
 11379  	}
 11380  	return nil
 11381  }
 11382  
 11383  // SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
 11384  func (s *DeleteSubscriptionDefinitionInput) SetSubscriptionDefinitionId(v string) *DeleteSubscriptionDefinitionInput {
 11385  	s.SubscriptionDefinitionId = &v
 11386  	return s
 11387  }
 11388  
 11389  type DeleteSubscriptionDefinitionOutput struct {
 11390  	_ struct{} `type:"structure" nopayload:"true"`
 11391  }
 11392  
 11393  // String returns the string representation.
 11394  //
 11395  // API parameter values that are decorated as "sensitive" in the API will not
 11396  // be included in the string output. The member name will be present, but the
 11397  // value will be replaced with "sensitive".
 11398  func (s DeleteSubscriptionDefinitionOutput) String() string {
 11399  	return awsutil.Prettify(s)
 11400  }
 11401  
 11402  // GoString returns the string representation.
 11403  //
 11404  // API parameter values that are decorated as "sensitive" in the API will not
 11405  // be included in the string output. The member name will be present, but the
 11406  // value will be replaced with "sensitive".
 11407  func (s DeleteSubscriptionDefinitionOutput) GoString() string {
 11408  	return s.String()
 11409  }
 11410  
 11411  // Information about a deployment.
 11412  type Deployment struct {
 11413  	_ struct{} `type:"structure"`
 11414  
 11415  	// The time, in milliseconds since the epoch, when the deployment was created.
 11416  	CreatedAt *string `type:"string"`
 11417  
 11418  	// The ARN of the deployment.
 11419  	DeploymentArn *string `type:"string"`
 11420  
 11421  	// The ID of the deployment.
 11422  	DeploymentId *string `type:"string"`
 11423  
 11424  	// The type of the deployment.
 11425  	DeploymentType *string `type:"string" enum:"DeploymentType"`
 11426  
 11427  	// The ARN of the group for this deployment.
 11428  	GroupArn *string `type:"string"`
 11429  }
 11430  
 11431  // String returns the string representation.
 11432  //
 11433  // API parameter values that are decorated as "sensitive" in the API will not
 11434  // be included in the string output. The member name will be present, but the
 11435  // value will be replaced with "sensitive".
 11436  func (s Deployment) String() string {
 11437  	return awsutil.Prettify(s)
 11438  }
 11439  
 11440  // GoString returns the string representation.
 11441  //
 11442  // API parameter values that are decorated as "sensitive" in the API will not
 11443  // be included in the string output. The member name will be present, but the
 11444  // value will be replaced with "sensitive".
 11445  func (s Deployment) GoString() string {
 11446  	return s.String()
 11447  }
 11448  
 11449  // SetCreatedAt sets the CreatedAt field's value.
 11450  func (s *Deployment) SetCreatedAt(v string) *Deployment {
 11451  	s.CreatedAt = &v
 11452  	return s
 11453  }
 11454  
 11455  // SetDeploymentArn sets the DeploymentArn field's value.
 11456  func (s *Deployment) SetDeploymentArn(v string) *Deployment {
 11457  	s.DeploymentArn = &v
 11458  	return s
 11459  }
 11460  
 11461  // SetDeploymentId sets the DeploymentId field's value.
 11462  func (s *Deployment) SetDeploymentId(v string) *Deployment {
 11463  	s.DeploymentId = &v
 11464  	return s
 11465  }
 11466  
 11467  // SetDeploymentType sets the DeploymentType field's value.
 11468  func (s *Deployment) SetDeploymentType(v string) *Deployment {
 11469  	s.DeploymentType = &v
 11470  	return s
 11471  }
 11472  
 11473  // SetGroupArn sets the GroupArn field's value.
 11474  func (s *Deployment) SetGroupArn(v string) *Deployment {
 11475  	s.GroupArn = &v
 11476  	return s
 11477  }
 11478  
 11479  // Information about a device.
 11480  type Device struct {
 11481  	_ struct{} `type:"structure"`
 11482  
 11483  	// The ARN of the certificate associated with the device.
 11484  	//
 11485  	// CertificateArn is a required field
 11486  	CertificateArn *string `type:"string" required:"true"`
 11487  
 11488  	// A descriptive or arbitrary ID for the device. This value must be unique within
 11489  	// the device definition version. Max length is 128 characters with pattern
 11490  	// ''[a-zA-Z0-9:_-]+''.
 11491  	//
 11492  	// Id is a required field
 11493  	Id *string `type:"string" required:"true"`
 11494  
 11495  	// If true, the device's local shadow will be automatically synced with the
 11496  	// cloud.
 11497  	SyncShadow *bool `type:"boolean"`
 11498  
 11499  	// The thing ARN of the device.
 11500  	//
 11501  	// ThingArn is a required field
 11502  	ThingArn *string `type:"string" required:"true"`
 11503  }
 11504  
 11505  // String returns the string representation.
 11506  //
 11507  // API parameter values that are decorated as "sensitive" in the API will not
 11508  // be included in the string output. The member name will be present, but the
 11509  // value will be replaced with "sensitive".
 11510  func (s Device) String() string {
 11511  	return awsutil.Prettify(s)
 11512  }
 11513  
 11514  // GoString returns the string representation.
 11515  //
 11516  // API parameter values that are decorated as "sensitive" in the API will not
 11517  // be included in the string output. The member name will be present, but the
 11518  // value will be replaced with "sensitive".
 11519  func (s Device) GoString() string {
 11520  	return s.String()
 11521  }
 11522  
 11523  // Validate inspects the fields of the type to determine if they are valid.
 11524  func (s *Device) Validate() error {
 11525  	invalidParams := request.ErrInvalidParams{Context: "Device"}
 11526  	if s.CertificateArn == nil {
 11527  		invalidParams.Add(request.NewErrParamRequired("CertificateArn"))
 11528  	}
 11529  	if s.Id == nil {
 11530  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11531  	}
 11532  	if s.ThingArn == nil {
 11533  		invalidParams.Add(request.NewErrParamRequired("ThingArn"))
 11534  	}
 11535  
 11536  	if invalidParams.Len() > 0 {
 11537  		return invalidParams
 11538  	}
 11539  	return nil
 11540  }
 11541  
 11542  // SetCertificateArn sets the CertificateArn field's value.
 11543  func (s *Device) SetCertificateArn(v string) *Device {
 11544  	s.CertificateArn = &v
 11545  	return s
 11546  }
 11547  
 11548  // SetId sets the Id field's value.
 11549  func (s *Device) SetId(v string) *Device {
 11550  	s.Id = &v
 11551  	return s
 11552  }
 11553  
 11554  // SetSyncShadow sets the SyncShadow field's value.
 11555  func (s *Device) SetSyncShadow(v bool) *Device {
 11556  	s.SyncShadow = &v
 11557  	return s
 11558  }
 11559  
 11560  // SetThingArn sets the ThingArn field's value.
 11561  func (s *Device) SetThingArn(v string) *Device {
 11562  	s.ThingArn = &v
 11563  	return s
 11564  }
 11565  
 11566  // Information about a device definition version.
 11567  type DeviceDefinitionVersion struct {
 11568  	_ struct{} `type:"structure"`
 11569  
 11570  	// A list of devices in the definition version.
 11571  	Devices []*Device `type:"list"`
 11572  }
 11573  
 11574  // String returns the string representation.
 11575  //
 11576  // API parameter values that are decorated as "sensitive" in the API will not
 11577  // be included in the string output. The member name will be present, but the
 11578  // value will be replaced with "sensitive".
 11579  func (s DeviceDefinitionVersion) String() string {
 11580  	return awsutil.Prettify(s)
 11581  }
 11582  
 11583  // GoString returns the string representation.
 11584  //
 11585  // API parameter values that are decorated as "sensitive" in the API will not
 11586  // be included in the string output. The member name will be present, but the
 11587  // value will be replaced with "sensitive".
 11588  func (s DeviceDefinitionVersion) GoString() string {
 11589  	return s.String()
 11590  }
 11591  
 11592  // Validate inspects the fields of the type to determine if they are valid.
 11593  func (s *DeviceDefinitionVersion) Validate() error {
 11594  	invalidParams := request.ErrInvalidParams{Context: "DeviceDefinitionVersion"}
 11595  	if s.Devices != nil {
 11596  		for i, v := range s.Devices {
 11597  			if v == nil {
 11598  				continue
 11599  			}
 11600  			if err := v.Validate(); err != nil {
 11601  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams))
 11602  			}
 11603  		}
 11604  	}
 11605  
 11606  	if invalidParams.Len() > 0 {
 11607  		return invalidParams
 11608  	}
 11609  	return nil
 11610  }
 11611  
 11612  // SetDevices sets the Devices field's value.
 11613  func (s *DeviceDefinitionVersion) SetDevices(v []*Device) *DeviceDefinitionVersion {
 11614  	s.Devices = v
 11615  	return s
 11616  }
 11617  
 11618  type DisassociateRoleFromGroupInput struct {
 11619  	_ struct{} `type:"structure" nopayload:"true"`
 11620  
 11621  	// GroupId is a required field
 11622  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 11623  }
 11624  
 11625  // String returns the string representation.
 11626  //
 11627  // API parameter values that are decorated as "sensitive" in the API will not
 11628  // be included in the string output. The member name will be present, but the
 11629  // value will be replaced with "sensitive".
 11630  func (s DisassociateRoleFromGroupInput) String() string {
 11631  	return awsutil.Prettify(s)
 11632  }
 11633  
 11634  // GoString returns the string representation.
 11635  //
 11636  // API parameter values that are decorated as "sensitive" in the API will not
 11637  // be included in the string output. The member name will be present, but the
 11638  // value will be replaced with "sensitive".
 11639  func (s DisassociateRoleFromGroupInput) GoString() string {
 11640  	return s.String()
 11641  }
 11642  
 11643  // Validate inspects the fields of the type to determine if they are valid.
 11644  func (s *DisassociateRoleFromGroupInput) Validate() error {
 11645  	invalidParams := request.ErrInvalidParams{Context: "DisassociateRoleFromGroupInput"}
 11646  	if s.GroupId == nil {
 11647  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 11648  	}
 11649  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 11650  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 11651  	}
 11652  
 11653  	if invalidParams.Len() > 0 {
 11654  		return invalidParams
 11655  	}
 11656  	return nil
 11657  }
 11658  
 11659  // SetGroupId sets the GroupId field's value.
 11660  func (s *DisassociateRoleFromGroupInput) SetGroupId(v string) *DisassociateRoleFromGroupInput {
 11661  	s.GroupId = &v
 11662  	return s
 11663  }
 11664  
 11665  type DisassociateRoleFromGroupOutput struct {
 11666  	_ struct{} `type:"structure"`
 11667  
 11668  	// The time, in milliseconds since the epoch, when the role was disassociated
 11669  	// from the group.
 11670  	DisassociatedAt *string `type:"string"`
 11671  }
 11672  
 11673  // String returns the string representation.
 11674  //
 11675  // API parameter values that are decorated as "sensitive" in the API will not
 11676  // be included in the string output. The member name will be present, but the
 11677  // value will be replaced with "sensitive".
 11678  func (s DisassociateRoleFromGroupOutput) String() string {
 11679  	return awsutil.Prettify(s)
 11680  }
 11681  
 11682  // GoString returns the string representation.
 11683  //
 11684  // API parameter values that are decorated as "sensitive" in the API will not
 11685  // be included in the string output. The member name will be present, but the
 11686  // value will be replaced with "sensitive".
 11687  func (s DisassociateRoleFromGroupOutput) GoString() string {
 11688  	return s.String()
 11689  }
 11690  
 11691  // SetDisassociatedAt sets the DisassociatedAt field's value.
 11692  func (s *DisassociateRoleFromGroupOutput) SetDisassociatedAt(v string) *DisassociateRoleFromGroupOutput {
 11693  	s.DisassociatedAt = &v
 11694  	return s
 11695  }
 11696  
 11697  type DisassociateServiceRoleFromAccountInput struct {
 11698  	_ struct{} `type:"structure" nopayload:"true"`
 11699  }
 11700  
 11701  // String returns the string representation.
 11702  //
 11703  // API parameter values that are decorated as "sensitive" in the API will not
 11704  // be included in the string output. The member name will be present, but the
 11705  // value will be replaced with "sensitive".
 11706  func (s DisassociateServiceRoleFromAccountInput) String() string {
 11707  	return awsutil.Prettify(s)
 11708  }
 11709  
 11710  // GoString returns the string representation.
 11711  //
 11712  // API parameter values that are decorated as "sensitive" in the API will not
 11713  // be included in the string output. The member name will be present, but the
 11714  // value will be replaced with "sensitive".
 11715  func (s DisassociateServiceRoleFromAccountInput) GoString() string {
 11716  	return s.String()
 11717  }
 11718  
 11719  type DisassociateServiceRoleFromAccountOutput struct {
 11720  	_ struct{} `type:"structure"`
 11721  
 11722  	// The time when the service role was disassociated from the account.
 11723  	DisassociatedAt *string `type:"string"`
 11724  }
 11725  
 11726  // String returns the string representation.
 11727  //
 11728  // API parameter values that are decorated as "sensitive" in the API will not
 11729  // be included in the string output. The member name will be present, but the
 11730  // value will be replaced with "sensitive".
 11731  func (s DisassociateServiceRoleFromAccountOutput) String() string {
 11732  	return awsutil.Prettify(s)
 11733  }
 11734  
 11735  // GoString returns the string representation.
 11736  //
 11737  // API parameter values that are decorated as "sensitive" in the API will not
 11738  // be included in the string output. The member name will be present, but the
 11739  // value will be replaced with "sensitive".
 11740  func (s DisassociateServiceRoleFromAccountOutput) GoString() string {
 11741  	return s.String()
 11742  }
 11743  
 11744  // SetDisassociatedAt sets the DisassociatedAt field's value.
 11745  func (s *DisassociateServiceRoleFromAccountOutput) SetDisassociatedAt(v string) *DisassociateServiceRoleFromAccountOutput {
 11746  	s.DisassociatedAt = &v
 11747  	return s
 11748  }
 11749  
 11750  // Details about the error.
 11751  type ErrorDetail struct {
 11752  	_ struct{} `type:"structure"`
 11753  
 11754  	// A detailed error code.
 11755  	DetailedErrorCode *string `type:"string"`
 11756  
 11757  	// A detailed error message.
 11758  	DetailedErrorMessage *string `type:"string"`
 11759  }
 11760  
 11761  // String returns the string representation.
 11762  //
 11763  // API parameter values that are decorated as "sensitive" in the API will not
 11764  // be included in the string output. The member name will be present, but the
 11765  // value will be replaced with "sensitive".
 11766  func (s ErrorDetail) String() string {
 11767  	return awsutil.Prettify(s)
 11768  }
 11769  
 11770  // GoString returns the string representation.
 11771  //
 11772  // API parameter values that are decorated as "sensitive" in the API will not
 11773  // be included in the string output. The member name will be present, but the
 11774  // value will be replaced with "sensitive".
 11775  func (s ErrorDetail) GoString() string {
 11776  	return s.String()
 11777  }
 11778  
 11779  // SetDetailedErrorCode sets the DetailedErrorCode field's value.
 11780  func (s *ErrorDetail) SetDetailedErrorCode(v string) *ErrorDetail {
 11781  	s.DetailedErrorCode = &v
 11782  	return s
 11783  }
 11784  
 11785  // SetDetailedErrorMessage sets the DetailedErrorMessage field's value.
 11786  func (s *ErrorDetail) SetDetailedErrorMessage(v string) *ErrorDetail {
 11787  	s.DetailedErrorMessage = &v
 11788  	return s
 11789  }
 11790  
 11791  // Information about a Lambda function.
 11792  type Function struct {
 11793  	_ struct{} `type:"structure"`
 11794  
 11795  	// The ARN of the Lambda function.
 11796  	FunctionArn *string `type:"string"`
 11797  
 11798  	// The configuration of the Lambda function.
 11799  	FunctionConfiguration *FunctionConfiguration `type:"structure"`
 11800  
 11801  	// A descriptive or arbitrary ID for the function. This value must be unique
 11802  	// within the function definition version. Max length is 128 characters with
 11803  	// pattern ''[a-zA-Z0-9:_-]+''.
 11804  	//
 11805  	// Id is a required field
 11806  	Id *string `type:"string" required:"true"`
 11807  }
 11808  
 11809  // String returns the string representation.
 11810  //
 11811  // API parameter values that are decorated as "sensitive" in the API will not
 11812  // be included in the string output. The member name will be present, but the
 11813  // value will be replaced with "sensitive".
 11814  func (s Function) String() string {
 11815  	return awsutil.Prettify(s)
 11816  }
 11817  
 11818  // GoString returns the string representation.
 11819  //
 11820  // API parameter values that are decorated as "sensitive" in the API will not
 11821  // be included in the string output. The member name will be present, but the
 11822  // value will be replaced with "sensitive".
 11823  func (s Function) GoString() string {
 11824  	return s.String()
 11825  }
 11826  
 11827  // Validate inspects the fields of the type to determine if they are valid.
 11828  func (s *Function) Validate() error {
 11829  	invalidParams := request.ErrInvalidParams{Context: "Function"}
 11830  	if s.Id == nil {
 11831  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11832  	}
 11833  	if s.FunctionConfiguration != nil {
 11834  		if err := s.FunctionConfiguration.Validate(); err != nil {
 11835  			invalidParams.AddNested("FunctionConfiguration", err.(request.ErrInvalidParams))
 11836  		}
 11837  	}
 11838  
 11839  	if invalidParams.Len() > 0 {
 11840  		return invalidParams
 11841  	}
 11842  	return nil
 11843  }
 11844  
 11845  // SetFunctionArn sets the FunctionArn field's value.
 11846  func (s *Function) SetFunctionArn(v string) *Function {
 11847  	s.FunctionArn = &v
 11848  	return s
 11849  }
 11850  
 11851  // SetFunctionConfiguration sets the FunctionConfiguration field's value.
 11852  func (s *Function) SetFunctionConfiguration(v *FunctionConfiguration) *Function {
 11853  	s.FunctionConfiguration = v
 11854  	return s
 11855  }
 11856  
 11857  // SetId sets the Id field's value.
 11858  func (s *Function) SetId(v string) *Function {
 11859  	s.Id = &v
 11860  	return s
 11861  }
 11862  
 11863  // The configuration of the Lambda function.
 11864  type FunctionConfiguration struct {
 11865  	_ struct{} `type:"structure"`
 11866  
 11867  	// The expected encoding type of the input payload for the function. The default
 11868  	// is ''json''.
 11869  	EncodingType *string `type:"string" enum:"EncodingType"`
 11870  
 11871  	// The environment configuration of the function.
 11872  	Environment *FunctionConfigurationEnvironment `type:"structure"`
 11873  
 11874  	// The execution arguments.
 11875  	ExecArgs *string `type:"string"`
 11876  
 11877  	// The name of the function executable.
 11878  	Executable *string `type:"string"`
 11879  
 11880  	// The memory size, in KB, which the function requires. This setting is not
 11881  	// applicable and should be cleared when you run the Lambda function without
 11882  	// containerization.
 11883  	MemorySize *int64 `type:"integer"`
 11884  
 11885  	// True if the function is pinned. Pinned means the function is long-lived and
 11886  	// starts when the core starts.
 11887  	Pinned *bool `type:"boolean"`
 11888  
 11889  	// The allowed function execution time, after which Lambda should terminate
 11890  	// the function. This timeout still applies to pinned Lambda functions for each
 11891  	// request.
 11892  	Timeout *int64 `type:"integer"`
 11893  }
 11894  
 11895  // String returns the string representation.
 11896  //
 11897  // API parameter values that are decorated as "sensitive" in the API will not
 11898  // be included in the string output. The member name will be present, but the
 11899  // value will be replaced with "sensitive".
 11900  func (s FunctionConfiguration) String() string {
 11901  	return awsutil.Prettify(s)
 11902  }
 11903  
 11904  // GoString returns the string representation.
 11905  //
 11906  // API parameter values that are decorated as "sensitive" in the API will not
 11907  // be included in the string output. The member name will be present, but the
 11908  // value will be replaced with "sensitive".
 11909  func (s FunctionConfiguration) GoString() string {
 11910  	return s.String()
 11911  }
 11912  
 11913  // Validate inspects the fields of the type to determine if they are valid.
 11914  func (s *FunctionConfiguration) Validate() error {
 11915  	invalidParams := request.ErrInvalidParams{Context: "FunctionConfiguration"}
 11916  	if s.Environment != nil {
 11917  		if err := s.Environment.Validate(); err != nil {
 11918  			invalidParams.AddNested("Environment", err.(request.ErrInvalidParams))
 11919  		}
 11920  	}
 11921  
 11922  	if invalidParams.Len() > 0 {
 11923  		return invalidParams
 11924  	}
 11925  	return nil
 11926  }
 11927  
 11928  // SetEncodingType sets the EncodingType field's value.
 11929  func (s *FunctionConfiguration) SetEncodingType(v string) *FunctionConfiguration {
 11930  	s.EncodingType = &v
 11931  	return s
 11932  }
 11933  
 11934  // SetEnvironment sets the Environment field's value.
 11935  func (s *FunctionConfiguration) SetEnvironment(v *FunctionConfigurationEnvironment) *FunctionConfiguration {
 11936  	s.Environment = v
 11937  	return s
 11938  }
 11939  
 11940  // SetExecArgs sets the ExecArgs field's value.
 11941  func (s *FunctionConfiguration) SetExecArgs(v string) *FunctionConfiguration {
 11942  	s.ExecArgs = &v
 11943  	return s
 11944  }
 11945  
 11946  // SetExecutable sets the Executable field's value.
 11947  func (s *FunctionConfiguration) SetExecutable(v string) *FunctionConfiguration {
 11948  	s.Executable = &v
 11949  	return s
 11950  }
 11951  
 11952  // SetMemorySize sets the MemorySize field's value.
 11953  func (s *FunctionConfiguration) SetMemorySize(v int64) *FunctionConfiguration {
 11954  	s.MemorySize = &v
 11955  	return s
 11956  }
 11957  
 11958  // SetPinned sets the Pinned field's value.
 11959  func (s *FunctionConfiguration) SetPinned(v bool) *FunctionConfiguration {
 11960  	s.Pinned = &v
 11961  	return s
 11962  }
 11963  
 11964  // SetTimeout sets the Timeout field's value.
 11965  func (s *FunctionConfiguration) SetTimeout(v int64) *FunctionConfiguration {
 11966  	s.Timeout = &v
 11967  	return s
 11968  }
 11969  
 11970  // The environment configuration of the function.
 11971  type FunctionConfigurationEnvironment struct {
 11972  	_ struct{} `type:"structure"`
 11973  
 11974  	// If true, the Lambda function is allowed to access the host's /sys folder.
 11975  	// Use this when the Lambda function needs to read device information from /sys.
 11976  	// This setting applies only when you run the Lambda function in a Greengrass
 11977  	// container.
 11978  	AccessSysfs *bool `type:"boolean"`
 11979  
 11980  	// Configuration related to executing the Lambda function
 11981  	Execution *FunctionExecutionConfig `type:"structure"`
 11982  
 11983  	// A list of the resources, with their permissions, to which the Lambda function
 11984  	// will be granted access. A Lambda function can have at most 10 resources.
 11985  	// ResourceAccessPolicies apply only when you run the Lambda function in a Greengrass
 11986  	// container.
 11987  	ResourceAccessPolicies []*ResourceAccessPolicy `type:"list"`
 11988  
 11989  	// Environment variables for the Lambda function's configuration.
 11990  	Variables map[string]*string `type:"map"`
 11991  }
 11992  
 11993  // String returns the string representation.
 11994  //
 11995  // API parameter values that are decorated as "sensitive" in the API will not
 11996  // be included in the string output. The member name will be present, but the
 11997  // value will be replaced with "sensitive".
 11998  func (s FunctionConfigurationEnvironment) String() string {
 11999  	return awsutil.Prettify(s)
 12000  }
 12001  
 12002  // GoString returns the string representation.
 12003  //
 12004  // API parameter values that are decorated as "sensitive" in the API will not
 12005  // be included in the string output. The member name will be present, but the
 12006  // value will be replaced with "sensitive".
 12007  func (s FunctionConfigurationEnvironment) GoString() string {
 12008  	return s.String()
 12009  }
 12010  
 12011  // Validate inspects the fields of the type to determine if they are valid.
 12012  func (s *FunctionConfigurationEnvironment) Validate() error {
 12013  	invalidParams := request.ErrInvalidParams{Context: "FunctionConfigurationEnvironment"}
 12014  	if s.ResourceAccessPolicies != nil {
 12015  		for i, v := range s.ResourceAccessPolicies {
 12016  			if v == nil {
 12017  				continue
 12018  			}
 12019  			if err := v.Validate(); err != nil {
 12020  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceAccessPolicies", i), err.(request.ErrInvalidParams))
 12021  			}
 12022  		}
 12023  	}
 12024  
 12025  	if invalidParams.Len() > 0 {
 12026  		return invalidParams
 12027  	}
 12028  	return nil
 12029  }
 12030  
 12031  // SetAccessSysfs sets the AccessSysfs field's value.
 12032  func (s *FunctionConfigurationEnvironment) SetAccessSysfs(v bool) *FunctionConfigurationEnvironment {
 12033  	s.AccessSysfs = &v
 12034  	return s
 12035  }
 12036  
 12037  // SetExecution sets the Execution field's value.
 12038  func (s *FunctionConfigurationEnvironment) SetExecution(v *FunctionExecutionConfig) *FunctionConfigurationEnvironment {
 12039  	s.Execution = v
 12040  	return s
 12041  }
 12042  
 12043  // SetResourceAccessPolicies sets the ResourceAccessPolicies field's value.
 12044  func (s *FunctionConfigurationEnvironment) SetResourceAccessPolicies(v []*ResourceAccessPolicy) *FunctionConfigurationEnvironment {
 12045  	s.ResourceAccessPolicies = v
 12046  	return s
 12047  }
 12048  
 12049  // SetVariables sets the Variables field's value.
 12050  func (s *FunctionConfigurationEnvironment) SetVariables(v map[string]*string) *FunctionConfigurationEnvironment {
 12051  	s.Variables = v
 12052  	return s
 12053  }
 12054  
 12055  // The default configuration that applies to all Lambda functions in the group.
 12056  // Individual Lambda functions can override these settings.
 12057  type FunctionDefaultConfig struct {
 12058  	_ struct{} `type:"structure"`
 12059  
 12060  	// Configuration information that specifies how a Lambda function runs.
 12061  	Execution *FunctionDefaultExecutionConfig `type:"structure"`
 12062  }
 12063  
 12064  // String returns the string representation.
 12065  //
 12066  // API parameter values that are decorated as "sensitive" in the API will not
 12067  // be included in the string output. The member name will be present, but the
 12068  // value will be replaced with "sensitive".
 12069  func (s FunctionDefaultConfig) String() string {
 12070  	return awsutil.Prettify(s)
 12071  }
 12072  
 12073  // GoString returns the string representation.
 12074  //
 12075  // API parameter values that are decorated as "sensitive" in the API will not
 12076  // be included in the string output. The member name will be present, but the
 12077  // value will be replaced with "sensitive".
 12078  func (s FunctionDefaultConfig) GoString() string {
 12079  	return s.String()
 12080  }
 12081  
 12082  // SetExecution sets the Execution field's value.
 12083  func (s *FunctionDefaultConfig) SetExecution(v *FunctionDefaultExecutionConfig) *FunctionDefaultConfig {
 12084  	s.Execution = v
 12085  	return s
 12086  }
 12087  
 12088  // Configuration information that specifies how a Lambda function runs.
 12089  type FunctionDefaultExecutionConfig struct {
 12090  	_ struct{} `type:"structure"`
 12091  
 12092  	// Specifies whether the Lambda function runs in a Greengrass container (default)
 12093  	// or without containerization. Unless your scenario requires that you run without
 12094  	// containerization, we recommend that you run in a Greengrass container. Omit
 12095  	// this value to run the Lambda function with the default containerization for
 12096  	// the group.
 12097  	IsolationMode *string `type:"string" enum:"FunctionIsolationMode"`
 12098  
 12099  	// Specifies the user and group whose permissions are used when running the
 12100  	// Lambda function. You can specify one or both values to override the default
 12101  	// values. We recommend that you avoid running as root unless absolutely necessary
 12102  	// to minimize the risk of unintended changes or malicious attacks. To run as
 12103  	// root, you must set ''IsolationMode'' to ''NoContainer'' and update config.json
 12104  	// in ''greengrass-root/config'' to set ''allowFunctionsToRunAsRoot'' to ''yes''.
 12105  	RunAs *FunctionRunAsConfig `type:"structure"`
 12106  }
 12107  
 12108  // String returns the string representation.
 12109  //
 12110  // API parameter values that are decorated as "sensitive" in the API will not
 12111  // be included in the string output. The member name will be present, but the
 12112  // value will be replaced with "sensitive".
 12113  func (s FunctionDefaultExecutionConfig) String() string {
 12114  	return awsutil.Prettify(s)
 12115  }
 12116  
 12117  // GoString returns the string representation.
 12118  //
 12119  // API parameter values that are decorated as "sensitive" in the API will not
 12120  // be included in the string output. The member name will be present, but the
 12121  // value will be replaced with "sensitive".
 12122  func (s FunctionDefaultExecutionConfig) GoString() string {
 12123  	return s.String()
 12124  }
 12125  
 12126  // SetIsolationMode sets the IsolationMode field's value.
 12127  func (s *FunctionDefaultExecutionConfig) SetIsolationMode(v string) *FunctionDefaultExecutionConfig {
 12128  	s.IsolationMode = &v
 12129  	return s
 12130  }
 12131  
 12132  // SetRunAs sets the RunAs field's value.
 12133  func (s *FunctionDefaultExecutionConfig) SetRunAs(v *FunctionRunAsConfig) *FunctionDefaultExecutionConfig {
 12134  	s.RunAs = v
 12135  	return s
 12136  }
 12137  
 12138  // Information about a function definition version.
 12139  type FunctionDefinitionVersion struct {
 12140  	_ struct{} `type:"structure"`
 12141  
 12142  	// The default configuration that applies to all Lambda functions in this function
 12143  	// definition version. Individual Lambda functions can override these settings.
 12144  	DefaultConfig *FunctionDefaultConfig `type:"structure"`
 12145  
 12146  	// A list of Lambda functions in this function definition version.
 12147  	Functions []*Function `type:"list"`
 12148  }
 12149  
 12150  // String returns the string representation.
 12151  //
 12152  // API parameter values that are decorated as "sensitive" in the API will not
 12153  // be included in the string output. The member name will be present, but the
 12154  // value will be replaced with "sensitive".
 12155  func (s FunctionDefinitionVersion) String() string {
 12156  	return awsutil.Prettify(s)
 12157  }
 12158  
 12159  // GoString returns the string representation.
 12160  //
 12161  // API parameter values that are decorated as "sensitive" in the API will not
 12162  // be included in the string output. The member name will be present, but the
 12163  // value will be replaced with "sensitive".
 12164  func (s FunctionDefinitionVersion) GoString() string {
 12165  	return s.String()
 12166  }
 12167  
 12168  // Validate inspects the fields of the type to determine if they are valid.
 12169  func (s *FunctionDefinitionVersion) Validate() error {
 12170  	invalidParams := request.ErrInvalidParams{Context: "FunctionDefinitionVersion"}
 12171  	if s.Functions != nil {
 12172  		for i, v := range s.Functions {
 12173  			if v == nil {
 12174  				continue
 12175  			}
 12176  			if err := v.Validate(); err != nil {
 12177  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Functions", i), err.(request.ErrInvalidParams))
 12178  			}
 12179  		}
 12180  	}
 12181  
 12182  	if invalidParams.Len() > 0 {
 12183  		return invalidParams
 12184  	}
 12185  	return nil
 12186  }
 12187  
 12188  // SetDefaultConfig sets the DefaultConfig field's value.
 12189  func (s *FunctionDefinitionVersion) SetDefaultConfig(v *FunctionDefaultConfig) *FunctionDefinitionVersion {
 12190  	s.DefaultConfig = v
 12191  	return s
 12192  }
 12193  
 12194  // SetFunctions sets the Functions field's value.
 12195  func (s *FunctionDefinitionVersion) SetFunctions(v []*Function) *FunctionDefinitionVersion {
 12196  	s.Functions = v
 12197  	return s
 12198  }
 12199  
 12200  // Configuration information that specifies how a Lambda function runs.
 12201  type FunctionExecutionConfig struct {
 12202  	_ struct{} `type:"structure"`
 12203  
 12204  	// Specifies whether the Lambda function runs in a Greengrass container (default)
 12205  	// or without containerization. Unless your scenario requires that you run without
 12206  	// containerization, we recommend that you run in a Greengrass container. Omit
 12207  	// this value to run the Lambda function with the default containerization for
 12208  	// the group.
 12209  	IsolationMode *string `type:"string" enum:"FunctionIsolationMode"`
 12210  
 12211  	// Specifies the user and group whose permissions are used when running the
 12212  	// Lambda function. You can specify one or both values to override the default
 12213  	// values. We recommend that you avoid running as root unless absolutely necessary
 12214  	// to minimize the risk of unintended changes or malicious attacks. To run as
 12215  	// root, you must set ''IsolationMode'' to ''NoContainer'' and update config.json
 12216  	// in ''greengrass-root/config'' to set ''allowFunctionsToRunAsRoot'' to ''yes''.
 12217  	RunAs *FunctionRunAsConfig `type:"structure"`
 12218  }
 12219  
 12220  // String returns the string representation.
 12221  //
 12222  // API parameter values that are decorated as "sensitive" in the API will not
 12223  // be included in the string output. The member name will be present, but the
 12224  // value will be replaced with "sensitive".
 12225  func (s FunctionExecutionConfig) String() string {
 12226  	return awsutil.Prettify(s)
 12227  }
 12228  
 12229  // GoString returns the string representation.
 12230  //
 12231  // API parameter values that are decorated as "sensitive" in the API will not
 12232  // be included in the string output. The member name will be present, but the
 12233  // value will be replaced with "sensitive".
 12234  func (s FunctionExecutionConfig) GoString() string {
 12235  	return s.String()
 12236  }
 12237  
 12238  // SetIsolationMode sets the IsolationMode field's value.
 12239  func (s *FunctionExecutionConfig) SetIsolationMode(v string) *FunctionExecutionConfig {
 12240  	s.IsolationMode = &v
 12241  	return s
 12242  }
 12243  
 12244  // SetRunAs sets the RunAs field's value.
 12245  func (s *FunctionExecutionConfig) SetRunAs(v *FunctionRunAsConfig) *FunctionExecutionConfig {
 12246  	s.RunAs = v
 12247  	return s
 12248  }
 12249  
 12250  // Specifies the user and group whose permissions are used when running the
 12251  // Lambda function. You can specify one or both values to override the default
 12252  // values. We recommend that you avoid running as root unless absolutely necessary
 12253  // to minimize the risk of unintended changes or malicious attacks. To run as
 12254  // root, you must set ''IsolationMode'' to ''NoContainer'' and update config.json
 12255  // in ''greengrass-root/config'' to set ''allowFunctionsToRunAsRoot'' to ''yes''.
 12256  type FunctionRunAsConfig struct {
 12257  	_ struct{} `type:"structure"`
 12258  
 12259  	// The group ID whose permissions are used to run a Lambda function.
 12260  	Gid *int64 `type:"integer"`
 12261  
 12262  	// The user ID whose permissions are used to run a Lambda function.
 12263  	Uid *int64 `type:"integer"`
 12264  }
 12265  
 12266  // String returns the string representation.
 12267  //
 12268  // API parameter values that are decorated as "sensitive" in the API will not
 12269  // be included in the string output. The member name will be present, but the
 12270  // value will be replaced with "sensitive".
 12271  func (s FunctionRunAsConfig) String() string {
 12272  	return awsutil.Prettify(s)
 12273  }
 12274  
 12275  // GoString returns the string representation.
 12276  //
 12277  // API parameter values that are decorated as "sensitive" in the API will not
 12278  // be included in the string output. The member name will be present, but the
 12279  // value will be replaced with "sensitive".
 12280  func (s FunctionRunAsConfig) GoString() string {
 12281  	return s.String()
 12282  }
 12283  
 12284  // SetGid sets the Gid field's value.
 12285  func (s *FunctionRunAsConfig) SetGid(v int64) *FunctionRunAsConfig {
 12286  	s.Gid = &v
 12287  	return s
 12288  }
 12289  
 12290  // SetUid sets the Uid field's value.
 12291  func (s *FunctionRunAsConfig) SetUid(v int64) *FunctionRunAsConfig {
 12292  	s.Uid = &v
 12293  	return s
 12294  }
 12295  
 12296  type GetAssociatedRoleInput struct {
 12297  	_ struct{} `type:"structure" nopayload:"true"`
 12298  
 12299  	// GroupId is a required field
 12300  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 12301  }
 12302  
 12303  // String returns the string representation.
 12304  //
 12305  // API parameter values that are decorated as "sensitive" in the API will not
 12306  // be included in the string output. The member name will be present, but the
 12307  // value will be replaced with "sensitive".
 12308  func (s GetAssociatedRoleInput) String() string {
 12309  	return awsutil.Prettify(s)
 12310  }
 12311  
 12312  // GoString returns the string representation.
 12313  //
 12314  // API parameter values that are decorated as "sensitive" in the API will not
 12315  // be included in the string output. The member name will be present, but the
 12316  // value will be replaced with "sensitive".
 12317  func (s GetAssociatedRoleInput) GoString() string {
 12318  	return s.String()
 12319  }
 12320  
 12321  // Validate inspects the fields of the type to determine if they are valid.
 12322  func (s *GetAssociatedRoleInput) Validate() error {
 12323  	invalidParams := request.ErrInvalidParams{Context: "GetAssociatedRoleInput"}
 12324  	if s.GroupId == nil {
 12325  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 12326  	}
 12327  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 12328  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 12329  	}
 12330  
 12331  	if invalidParams.Len() > 0 {
 12332  		return invalidParams
 12333  	}
 12334  	return nil
 12335  }
 12336  
 12337  // SetGroupId sets the GroupId field's value.
 12338  func (s *GetAssociatedRoleInput) SetGroupId(v string) *GetAssociatedRoleInput {
 12339  	s.GroupId = &v
 12340  	return s
 12341  }
 12342  
 12343  type GetAssociatedRoleOutput struct {
 12344  	_ struct{} `type:"structure"`
 12345  
 12346  	// The time when the role was associated with the group.
 12347  	AssociatedAt *string `type:"string"`
 12348  
 12349  	// The ARN of the role that is associated with the group.
 12350  	RoleArn *string `type:"string"`
 12351  }
 12352  
 12353  // String returns the string representation.
 12354  //
 12355  // API parameter values that are decorated as "sensitive" in the API will not
 12356  // be included in the string output. The member name will be present, but the
 12357  // value will be replaced with "sensitive".
 12358  func (s GetAssociatedRoleOutput) String() string {
 12359  	return awsutil.Prettify(s)
 12360  }
 12361  
 12362  // GoString returns the string representation.
 12363  //
 12364  // API parameter values that are decorated as "sensitive" in the API will not
 12365  // be included in the string output. The member name will be present, but the
 12366  // value will be replaced with "sensitive".
 12367  func (s GetAssociatedRoleOutput) GoString() string {
 12368  	return s.String()
 12369  }
 12370  
 12371  // SetAssociatedAt sets the AssociatedAt field's value.
 12372  func (s *GetAssociatedRoleOutput) SetAssociatedAt(v string) *GetAssociatedRoleOutput {
 12373  	s.AssociatedAt = &v
 12374  	return s
 12375  }
 12376  
 12377  // SetRoleArn sets the RoleArn field's value.
 12378  func (s *GetAssociatedRoleOutput) SetRoleArn(v string) *GetAssociatedRoleOutput {
 12379  	s.RoleArn = &v
 12380  	return s
 12381  }
 12382  
 12383  type GetBulkDeploymentStatusInput struct {
 12384  	_ struct{} `type:"structure" nopayload:"true"`
 12385  
 12386  	// BulkDeploymentId is a required field
 12387  	BulkDeploymentId *string `location:"uri" locationName:"BulkDeploymentId" type:"string" required:"true"`
 12388  }
 12389  
 12390  // String returns the string representation.
 12391  //
 12392  // API parameter values that are decorated as "sensitive" in the API will not
 12393  // be included in the string output. The member name will be present, but the
 12394  // value will be replaced with "sensitive".
 12395  func (s GetBulkDeploymentStatusInput) String() string {
 12396  	return awsutil.Prettify(s)
 12397  }
 12398  
 12399  // GoString returns the string representation.
 12400  //
 12401  // API parameter values that are decorated as "sensitive" in the API will not
 12402  // be included in the string output. The member name will be present, but the
 12403  // value will be replaced with "sensitive".
 12404  func (s GetBulkDeploymentStatusInput) GoString() string {
 12405  	return s.String()
 12406  }
 12407  
 12408  // Validate inspects the fields of the type to determine if they are valid.
 12409  func (s *GetBulkDeploymentStatusInput) Validate() error {
 12410  	invalidParams := request.ErrInvalidParams{Context: "GetBulkDeploymentStatusInput"}
 12411  	if s.BulkDeploymentId == nil {
 12412  		invalidParams.Add(request.NewErrParamRequired("BulkDeploymentId"))
 12413  	}
 12414  	if s.BulkDeploymentId != nil && len(*s.BulkDeploymentId) < 1 {
 12415  		invalidParams.Add(request.NewErrParamMinLen("BulkDeploymentId", 1))
 12416  	}
 12417  
 12418  	if invalidParams.Len() > 0 {
 12419  		return invalidParams
 12420  	}
 12421  	return nil
 12422  }
 12423  
 12424  // SetBulkDeploymentId sets the BulkDeploymentId field's value.
 12425  func (s *GetBulkDeploymentStatusInput) SetBulkDeploymentId(v string) *GetBulkDeploymentStatusInput {
 12426  	s.BulkDeploymentId = &v
 12427  	return s
 12428  }
 12429  
 12430  // Information about the status of a bulk deployment at the time of the request.
 12431  type GetBulkDeploymentStatusOutput struct {
 12432  	_ struct{} `type:"structure"`
 12433  
 12434  	// Relevant metrics on input records processed during bulk deployment.
 12435  	BulkDeploymentMetrics *BulkDeploymentMetrics `type:"structure"`
 12436  
 12437  	// The status of the bulk deployment.
 12438  	BulkDeploymentStatus *string `type:"string" enum:"BulkDeploymentStatus"`
 12439  
 12440  	// The time, in ISO format, when the deployment was created.
 12441  	CreatedAt *string `type:"string"`
 12442  
 12443  	// Error details
 12444  	ErrorDetails []*ErrorDetail `type:"list"`
 12445  
 12446  	// Error message
 12447  	ErrorMessage *string `type:"string"`
 12448  
 12449  	// The key-value pair for the resource tag.
 12450  	Tags map[string]*string `locationName:"tags" type:"map"`
 12451  }
 12452  
 12453  // String returns the string representation.
 12454  //
 12455  // API parameter values that are decorated as "sensitive" in the API will not
 12456  // be included in the string output. The member name will be present, but the
 12457  // value will be replaced with "sensitive".
 12458  func (s GetBulkDeploymentStatusOutput) String() string {
 12459  	return awsutil.Prettify(s)
 12460  }
 12461  
 12462  // GoString returns the string representation.
 12463  //
 12464  // API parameter values that are decorated as "sensitive" in the API will not
 12465  // be included in the string output. The member name will be present, but the
 12466  // value will be replaced with "sensitive".
 12467  func (s GetBulkDeploymentStatusOutput) GoString() string {
 12468  	return s.String()
 12469  }
 12470  
 12471  // SetBulkDeploymentMetrics sets the BulkDeploymentMetrics field's value.
 12472  func (s *GetBulkDeploymentStatusOutput) SetBulkDeploymentMetrics(v *BulkDeploymentMetrics) *GetBulkDeploymentStatusOutput {
 12473  	s.BulkDeploymentMetrics = v
 12474  	return s
 12475  }
 12476  
 12477  // SetBulkDeploymentStatus sets the BulkDeploymentStatus field's value.
 12478  func (s *GetBulkDeploymentStatusOutput) SetBulkDeploymentStatus(v string) *GetBulkDeploymentStatusOutput {
 12479  	s.BulkDeploymentStatus = &v
 12480  	return s
 12481  }
 12482  
 12483  // SetCreatedAt sets the CreatedAt field's value.
 12484  func (s *GetBulkDeploymentStatusOutput) SetCreatedAt(v string) *GetBulkDeploymentStatusOutput {
 12485  	s.CreatedAt = &v
 12486  	return s
 12487  }
 12488  
 12489  // SetErrorDetails sets the ErrorDetails field's value.
 12490  func (s *GetBulkDeploymentStatusOutput) SetErrorDetails(v []*ErrorDetail) *GetBulkDeploymentStatusOutput {
 12491  	s.ErrorDetails = v
 12492  	return s
 12493  }
 12494  
 12495  // SetErrorMessage sets the ErrorMessage field's value.
 12496  func (s *GetBulkDeploymentStatusOutput) SetErrorMessage(v string) *GetBulkDeploymentStatusOutput {
 12497  	s.ErrorMessage = &v
 12498  	return s
 12499  }
 12500  
 12501  // SetTags sets the Tags field's value.
 12502  func (s *GetBulkDeploymentStatusOutput) SetTags(v map[string]*string) *GetBulkDeploymentStatusOutput {
 12503  	s.Tags = v
 12504  	return s
 12505  }
 12506  
 12507  type GetConnectivityInfoInput struct {
 12508  	_ struct{} `type:"structure" nopayload:"true"`
 12509  
 12510  	// ThingName is a required field
 12511  	ThingName *string `location:"uri" locationName:"ThingName" type:"string" required:"true"`
 12512  }
 12513  
 12514  // String returns the string representation.
 12515  //
 12516  // API parameter values that are decorated as "sensitive" in the API will not
 12517  // be included in the string output. The member name will be present, but the
 12518  // value will be replaced with "sensitive".
 12519  func (s GetConnectivityInfoInput) String() string {
 12520  	return awsutil.Prettify(s)
 12521  }
 12522  
 12523  // GoString returns the string representation.
 12524  //
 12525  // API parameter values that are decorated as "sensitive" in the API will not
 12526  // be included in the string output. The member name will be present, but the
 12527  // value will be replaced with "sensitive".
 12528  func (s GetConnectivityInfoInput) GoString() string {
 12529  	return s.String()
 12530  }
 12531  
 12532  // Validate inspects the fields of the type to determine if they are valid.
 12533  func (s *GetConnectivityInfoInput) Validate() error {
 12534  	invalidParams := request.ErrInvalidParams{Context: "GetConnectivityInfoInput"}
 12535  	if s.ThingName == nil {
 12536  		invalidParams.Add(request.NewErrParamRequired("ThingName"))
 12537  	}
 12538  	if s.ThingName != nil && len(*s.ThingName) < 1 {
 12539  		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
 12540  	}
 12541  
 12542  	if invalidParams.Len() > 0 {
 12543  		return invalidParams
 12544  	}
 12545  	return nil
 12546  }
 12547  
 12548  // SetThingName sets the ThingName field's value.
 12549  func (s *GetConnectivityInfoInput) SetThingName(v string) *GetConnectivityInfoInput {
 12550  	s.ThingName = &v
 12551  	return s
 12552  }
 12553  
 12554  // Information about a Greengrass core's connectivity.
 12555  type GetConnectivityInfoOutput struct {
 12556  	_ struct{} `type:"structure"`
 12557  
 12558  	// Connectivity info list.
 12559  	ConnectivityInfo []*ConnectivityInfo `type:"list"`
 12560  
 12561  	// A message about the connectivity info request.
 12562  	Message *string `locationName:"message" type:"string"`
 12563  }
 12564  
 12565  // String returns the string representation.
 12566  //
 12567  // API parameter values that are decorated as "sensitive" in the API will not
 12568  // be included in the string output. The member name will be present, but the
 12569  // value will be replaced with "sensitive".
 12570  func (s GetConnectivityInfoOutput) String() string {
 12571  	return awsutil.Prettify(s)
 12572  }
 12573  
 12574  // GoString returns the string representation.
 12575  //
 12576  // API parameter values that are decorated as "sensitive" in the API will not
 12577  // be included in the string output. The member name will be present, but the
 12578  // value will be replaced with "sensitive".
 12579  func (s GetConnectivityInfoOutput) GoString() string {
 12580  	return s.String()
 12581  }
 12582  
 12583  // SetConnectivityInfo sets the ConnectivityInfo field's value.
 12584  func (s *GetConnectivityInfoOutput) SetConnectivityInfo(v []*ConnectivityInfo) *GetConnectivityInfoOutput {
 12585  	s.ConnectivityInfo = v
 12586  	return s
 12587  }
 12588  
 12589  // SetMessage sets the Message field's value.
 12590  func (s *GetConnectivityInfoOutput) SetMessage(v string) *GetConnectivityInfoOutput {
 12591  	s.Message = &v
 12592  	return s
 12593  }
 12594  
 12595  type GetConnectorDefinitionInput struct {
 12596  	_ struct{} `type:"structure" nopayload:"true"`
 12597  
 12598  	// ConnectorDefinitionId is a required field
 12599  	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
 12600  }
 12601  
 12602  // String returns the string representation.
 12603  //
 12604  // API parameter values that are decorated as "sensitive" in the API will not
 12605  // be included in the string output. The member name will be present, but the
 12606  // value will be replaced with "sensitive".
 12607  func (s GetConnectorDefinitionInput) String() string {
 12608  	return awsutil.Prettify(s)
 12609  }
 12610  
 12611  // GoString returns the string representation.
 12612  //
 12613  // API parameter values that are decorated as "sensitive" in the API will not
 12614  // be included in the string output. The member name will be present, but the
 12615  // value will be replaced with "sensitive".
 12616  func (s GetConnectorDefinitionInput) GoString() string {
 12617  	return s.String()
 12618  }
 12619  
 12620  // Validate inspects the fields of the type to determine if they are valid.
 12621  func (s *GetConnectorDefinitionInput) Validate() error {
 12622  	invalidParams := request.ErrInvalidParams{Context: "GetConnectorDefinitionInput"}
 12623  	if s.ConnectorDefinitionId == nil {
 12624  		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
 12625  	}
 12626  	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
 12627  		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
 12628  	}
 12629  
 12630  	if invalidParams.Len() > 0 {
 12631  		return invalidParams
 12632  	}
 12633  	return nil
 12634  }
 12635  
 12636  // SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
 12637  func (s *GetConnectorDefinitionInput) SetConnectorDefinitionId(v string) *GetConnectorDefinitionInput {
 12638  	s.ConnectorDefinitionId = &v
 12639  	return s
 12640  }
 12641  
 12642  type GetConnectorDefinitionOutput struct {
 12643  	_ struct{} `type:"structure"`
 12644  
 12645  	Arn *string `type:"string"`
 12646  
 12647  	CreationTimestamp *string `type:"string"`
 12648  
 12649  	Id *string `type:"string"`
 12650  
 12651  	LastUpdatedTimestamp *string `type:"string"`
 12652  
 12653  	LatestVersion *string `type:"string"`
 12654  
 12655  	LatestVersionArn *string `type:"string"`
 12656  
 12657  	Name *string `type:"string"`
 12658  
 12659  	// The key-value pair for the resource tag.
 12660  	Tags map[string]*string `locationName:"tags" type:"map"`
 12661  }
 12662  
 12663  // String returns the string representation.
 12664  //
 12665  // API parameter values that are decorated as "sensitive" in the API will not
 12666  // be included in the string output. The member name will be present, but the
 12667  // value will be replaced with "sensitive".
 12668  func (s GetConnectorDefinitionOutput) String() string {
 12669  	return awsutil.Prettify(s)
 12670  }
 12671  
 12672  // GoString returns the string representation.
 12673  //
 12674  // API parameter values that are decorated as "sensitive" in the API will not
 12675  // be included in the string output. The member name will be present, but the
 12676  // value will be replaced with "sensitive".
 12677  func (s GetConnectorDefinitionOutput) GoString() string {
 12678  	return s.String()
 12679  }
 12680  
 12681  // SetArn sets the Arn field's value.
 12682  func (s *GetConnectorDefinitionOutput) SetArn(v string) *GetConnectorDefinitionOutput {
 12683  	s.Arn = &v
 12684  	return s
 12685  }
 12686  
 12687  // SetCreationTimestamp sets the CreationTimestamp field's value.
 12688  func (s *GetConnectorDefinitionOutput) SetCreationTimestamp(v string) *GetConnectorDefinitionOutput {
 12689  	s.CreationTimestamp = &v
 12690  	return s
 12691  }
 12692  
 12693  // SetId sets the Id field's value.
 12694  func (s *GetConnectorDefinitionOutput) SetId(v string) *GetConnectorDefinitionOutput {
 12695  	s.Id = &v
 12696  	return s
 12697  }
 12698  
 12699  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 12700  func (s *GetConnectorDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetConnectorDefinitionOutput {
 12701  	s.LastUpdatedTimestamp = &v
 12702  	return s
 12703  }
 12704  
 12705  // SetLatestVersion sets the LatestVersion field's value.
 12706  func (s *GetConnectorDefinitionOutput) SetLatestVersion(v string) *GetConnectorDefinitionOutput {
 12707  	s.LatestVersion = &v
 12708  	return s
 12709  }
 12710  
 12711  // SetLatestVersionArn sets the LatestVersionArn field's value.
 12712  func (s *GetConnectorDefinitionOutput) SetLatestVersionArn(v string) *GetConnectorDefinitionOutput {
 12713  	s.LatestVersionArn = &v
 12714  	return s
 12715  }
 12716  
 12717  // SetName sets the Name field's value.
 12718  func (s *GetConnectorDefinitionOutput) SetName(v string) *GetConnectorDefinitionOutput {
 12719  	s.Name = &v
 12720  	return s
 12721  }
 12722  
 12723  // SetTags sets the Tags field's value.
 12724  func (s *GetConnectorDefinitionOutput) SetTags(v map[string]*string) *GetConnectorDefinitionOutput {
 12725  	s.Tags = v
 12726  	return s
 12727  }
 12728  
 12729  type GetConnectorDefinitionVersionInput struct {
 12730  	_ struct{} `type:"structure" nopayload:"true"`
 12731  
 12732  	// ConnectorDefinitionId is a required field
 12733  	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
 12734  
 12735  	// ConnectorDefinitionVersionId is a required field
 12736  	ConnectorDefinitionVersionId *string `location:"uri" locationName:"ConnectorDefinitionVersionId" type:"string" required:"true"`
 12737  
 12738  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 12739  }
 12740  
 12741  // String returns the string representation.
 12742  //
 12743  // API parameter values that are decorated as "sensitive" in the API will not
 12744  // be included in the string output. The member name will be present, but the
 12745  // value will be replaced with "sensitive".
 12746  func (s GetConnectorDefinitionVersionInput) String() string {
 12747  	return awsutil.Prettify(s)
 12748  }
 12749  
 12750  // GoString returns the string representation.
 12751  //
 12752  // API parameter values that are decorated as "sensitive" in the API will not
 12753  // be included in the string output. The member name will be present, but the
 12754  // value will be replaced with "sensitive".
 12755  func (s GetConnectorDefinitionVersionInput) GoString() string {
 12756  	return s.String()
 12757  }
 12758  
 12759  // Validate inspects the fields of the type to determine if they are valid.
 12760  func (s *GetConnectorDefinitionVersionInput) Validate() error {
 12761  	invalidParams := request.ErrInvalidParams{Context: "GetConnectorDefinitionVersionInput"}
 12762  	if s.ConnectorDefinitionId == nil {
 12763  		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
 12764  	}
 12765  	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
 12766  		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
 12767  	}
 12768  	if s.ConnectorDefinitionVersionId == nil {
 12769  		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionVersionId"))
 12770  	}
 12771  	if s.ConnectorDefinitionVersionId != nil && len(*s.ConnectorDefinitionVersionId) < 1 {
 12772  		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionVersionId", 1))
 12773  	}
 12774  
 12775  	if invalidParams.Len() > 0 {
 12776  		return invalidParams
 12777  	}
 12778  	return nil
 12779  }
 12780  
 12781  // SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
 12782  func (s *GetConnectorDefinitionVersionInput) SetConnectorDefinitionId(v string) *GetConnectorDefinitionVersionInput {
 12783  	s.ConnectorDefinitionId = &v
 12784  	return s
 12785  }
 12786  
 12787  // SetConnectorDefinitionVersionId sets the ConnectorDefinitionVersionId field's value.
 12788  func (s *GetConnectorDefinitionVersionInput) SetConnectorDefinitionVersionId(v string) *GetConnectorDefinitionVersionInput {
 12789  	s.ConnectorDefinitionVersionId = &v
 12790  	return s
 12791  }
 12792  
 12793  // SetNextToken sets the NextToken field's value.
 12794  func (s *GetConnectorDefinitionVersionInput) SetNextToken(v string) *GetConnectorDefinitionVersionInput {
 12795  	s.NextToken = &v
 12796  	return s
 12797  }
 12798  
 12799  // Information about a connector definition version.
 12800  type GetConnectorDefinitionVersionOutput struct {
 12801  	_ struct{} `type:"structure"`
 12802  
 12803  	// The ARN of the connector definition version.
 12804  	Arn *string `type:"string"`
 12805  
 12806  	// The time, in milliseconds since the epoch, when the connector definition
 12807  	// version was created.
 12808  	CreationTimestamp *string `type:"string"`
 12809  
 12810  	// Information about the connector definition version.
 12811  	Definition *ConnectorDefinitionVersion `type:"structure"`
 12812  
 12813  	// The ID of the connector definition version.
 12814  	Id *string `type:"string"`
 12815  
 12816  	// The token for the next set of results, or ''null'' if there are no additional
 12817  	// results.
 12818  	NextToken *string `type:"string"`
 12819  
 12820  	// The version of the connector definition version.
 12821  	Version *string `type:"string"`
 12822  }
 12823  
 12824  // String returns the string representation.
 12825  //
 12826  // API parameter values that are decorated as "sensitive" in the API will not
 12827  // be included in the string output. The member name will be present, but the
 12828  // value will be replaced with "sensitive".
 12829  func (s GetConnectorDefinitionVersionOutput) String() string {
 12830  	return awsutil.Prettify(s)
 12831  }
 12832  
 12833  // GoString returns the string representation.
 12834  //
 12835  // API parameter values that are decorated as "sensitive" in the API will not
 12836  // be included in the string output. The member name will be present, but the
 12837  // value will be replaced with "sensitive".
 12838  func (s GetConnectorDefinitionVersionOutput) GoString() string {
 12839  	return s.String()
 12840  }
 12841  
 12842  // SetArn sets the Arn field's value.
 12843  func (s *GetConnectorDefinitionVersionOutput) SetArn(v string) *GetConnectorDefinitionVersionOutput {
 12844  	s.Arn = &v
 12845  	return s
 12846  }
 12847  
 12848  // SetCreationTimestamp sets the CreationTimestamp field's value.
 12849  func (s *GetConnectorDefinitionVersionOutput) SetCreationTimestamp(v string) *GetConnectorDefinitionVersionOutput {
 12850  	s.CreationTimestamp = &v
 12851  	return s
 12852  }
 12853  
 12854  // SetDefinition sets the Definition field's value.
 12855  func (s *GetConnectorDefinitionVersionOutput) SetDefinition(v *ConnectorDefinitionVersion) *GetConnectorDefinitionVersionOutput {
 12856  	s.Definition = v
 12857  	return s
 12858  }
 12859  
 12860  // SetId sets the Id field's value.
 12861  func (s *GetConnectorDefinitionVersionOutput) SetId(v string) *GetConnectorDefinitionVersionOutput {
 12862  	s.Id = &v
 12863  	return s
 12864  }
 12865  
 12866  // SetNextToken sets the NextToken field's value.
 12867  func (s *GetConnectorDefinitionVersionOutput) SetNextToken(v string) *GetConnectorDefinitionVersionOutput {
 12868  	s.NextToken = &v
 12869  	return s
 12870  }
 12871  
 12872  // SetVersion sets the Version field's value.
 12873  func (s *GetConnectorDefinitionVersionOutput) SetVersion(v string) *GetConnectorDefinitionVersionOutput {
 12874  	s.Version = &v
 12875  	return s
 12876  }
 12877  
 12878  type GetCoreDefinitionInput struct {
 12879  	_ struct{} `type:"structure" nopayload:"true"`
 12880  
 12881  	// CoreDefinitionId is a required field
 12882  	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
 12883  }
 12884  
 12885  // String returns the string representation.
 12886  //
 12887  // API parameter values that are decorated as "sensitive" in the API will not
 12888  // be included in the string output. The member name will be present, but the
 12889  // value will be replaced with "sensitive".
 12890  func (s GetCoreDefinitionInput) String() string {
 12891  	return awsutil.Prettify(s)
 12892  }
 12893  
 12894  // GoString returns the string representation.
 12895  //
 12896  // API parameter values that are decorated as "sensitive" in the API will not
 12897  // be included in the string output. The member name will be present, but the
 12898  // value will be replaced with "sensitive".
 12899  func (s GetCoreDefinitionInput) GoString() string {
 12900  	return s.String()
 12901  }
 12902  
 12903  // Validate inspects the fields of the type to determine if they are valid.
 12904  func (s *GetCoreDefinitionInput) Validate() error {
 12905  	invalidParams := request.ErrInvalidParams{Context: "GetCoreDefinitionInput"}
 12906  	if s.CoreDefinitionId == nil {
 12907  		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
 12908  	}
 12909  	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
 12910  		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
 12911  	}
 12912  
 12913  	if invalidParams.Len() > 0 {
 12914  		return invalidParams
 12915  	}
 12916  	return nil
 12917  }
 12918  
 12919  // SetCoreDefinitionId sets the CoreDefinitionId field's value.
 12920  func (s *GetCoreDefinitionInput) SetCoreDefinitionId(v string) *GetCoreDefinitionInput {
 12921  	s.CoreDefinitionId = &v
 12922  	return s
 12923  }
 12924  
 12925  type GetCoreDefinitionOutput struct {
 12926  	_ struct{} `type:"structure"`
 12927  
 12928  	Arn *string `type:"string"`
 12929  
 12930  	CreationTimestamp *string `type:"string"`
 12931  
 12932  	Id *string `type:"string"`
 12933  
 12934  	LastUpdatedTimestamp *string `type:"string"`
 12935  
 12936  	LatestVersion *string `type:"string"`
 12937  
 12938  	LatestVersionArn *string `type:"string"`
 12939  
 12940  	Name *string `type:"string"`
 12941  
 12942  	// The key-value pair for the resource tag.
 12943  	Tags map[string]*string `locationName:"tags" type:"map"`
 12944  }
 12945  
 12946  // String returns the string representation.
 12947  //
 12948  // API parameter values that are decorated as "sensitive" in the API will not
 12949  // be included in the string output. The member name will be present, but the
 12950  // value will be replaced with "sensitive".
 12951  func (s GetCoreDefinitionOutput) String() string {
 12952  	return awsutil.Prettify(s)
 12953  }
 12954  
 12955  // GoString returns the string representation.
 12956  //
 12957  // API parameter values that are decorated as "sensitive" in the API will not
 12958  // be included in the string output. The member name will be present, but the
 12959  // value will be replaced with "sensitive".
 12960  func (s GetCoreDefinitionOutput) GoString() string {
 12961  	return s.String()
 12962  }
 12963  
 12964  // SetArn sets the Arn field's value.
 12965  func (s *GetCoreDefinitionOutput) SetArn(v string) *GetCoreDefinitionOutput {
 12966  	s.Arn = &v
 12967  	return s
 12968  }
 12969  
 12970  // SetCreationTimestamp sets the CreationTimestamp field's value.
 12971  func (s *GetCoreDefinitionOutput) SetCreationTimestamp(v string) *GetCoreDefinitionOutput {
 12972  	s.CreationTimestamp = &v
 12973  	return s
 12974  }
 12975  
 12976  // SetId sets the Id field's value.
 12977  func (s *GetCoreDefinitionOutput) SetId(v string) *GetCoreDefinitionOutput {
 12978  	s.Id = &v
 12979  	return s
 12980  }
 12981  
 12982  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 12983  func (s *GetCoreDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetCoreDefinitionOutput {
 12984  	s.LastUpdatedTimestamp = &v
 12985  	return s
 12986  }
 12987  
 12988  // SetLatestVersion sets the LatestVersion field's value.
 12989  func (s *GetCoreDefinitionOutput) SetLatestVersion(v string) *GetCoreDefinitionOutput {
 12990  	s.LatestVersion = &v
 12991  	return s
 12992  }
 12993  
 12994  // SetLatestVersionArn sets the LatestVersionArn field's value.
 12995  func (s *GetCoreDefinitionOutput) SetLatestVersionArn(v string) *GetCoreDefinitionOutput {
 12996  	s.LatestVersionArn = &v
 12997  	return s
 12998  }
 12999  
 13000  // SetName sets the Name field's value.
 13001  func (s *GetCoreDefinitionOutput) SetName(v string) *GetCoreDefinitionOutput {
 13002  	s.Name = &v
 13003  	return s
 13004  }
 13005  
 13006  // SetTags sets the Tags field's value.
 13007  func (s *GetCoreDefinitionOutput) SetTags(v map[string]*string) *GetCoreDefinitionOutput {
 13008  	s.Tags = v
 13009  	return s
 13010  }
 13011  
 13012  type GetCoreDefinitionVersionInput struct {
 13013  	_ struct{} `type:"structure" nopayload:"true"`
 13014  
 13015  	// CoreDefinitionId is a required field
 13016  	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
 13017  
 13018  	// CoreDefinitionVersionId is a required field
 13019  	CoreDefinitionVersionId *string `location:"uri" locationName:"CoreDefinitionVersionId" type:"string" required:"true"`
 13020  }
 13021  
 13022  // String returns the string representation.
 13023  //
 13024  // API parameter values that are decorated as "sensitive" in the API will not
 13025  // be included in the string output. The member name will be present, but the
 13026  // value will be replaced with "sensitive".
 13027  func (s GetCoreDefinitionVersionInput) String() string {
 13028  	return awsutil.Prettify(s)
 13029  }
 13030  
 13031  // GoString returns the string representation.
 13032  //
 13033  // API parameter values that are decorated as "sensitive" in the API will not
 13034  // be included in the string output. The member name will be present, but the
 13035  // value will be replaced with "sensitive".
 13036  func (s GetCoreDefinitionVersionInput) GoString() string {
 13037  	return s.String()
 13038  }
 13039  
 13040  // Validate inspects the fields of the type to determine if they are valid.
 13041  func (s *GetCoreDefinitionVersionInput) Validate() error {
 13042  	invalidParams := request.ErrInvalidParams{Context: "GetCoreDefinitionVersionInput"}
 13043  	if s.CoreDefinitionId == nil {
 13044  		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
 13045  	}
 13046  	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
 13047  		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
 13048  	}
 13049  	if s.CoreDefinitionVersionId == nil {
 13050  		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionVersionId"))
 13051  	}
 13052  	if s.CoreDefinitionVersionId != nil && len(*s.CoreDefinitionVersionId) < 1 {
 13053  		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionVersionId", 1))
 13054  	}
 13055  
 13056  	if invalidParams.Len() > 0 {
 13057  		return invalidParams
 13058  	}
 13059  	return nil
 13060  }
 13061  
 13062  // SetCoreDefinitionId sets the CoreDefinitionId field's value.
 13063  func (s *GetCoreDefinitionVersionInput) SetCoreDefinitionId(v string) *GetCoreDefinitionVersionInput {
 13064  	s.CoreDefinitionId = &v
 13065  	return s
 13066  }
 13067  
 13068  // SetCoreDefinitionVersionId sets the CoreDefinitionVersionId field's value.
 13069  func (s *GetCoreDefinitionVersionInput) SetCoreDefinitionVersionId(v string) *GetCoreDefinitionVersionInput {
 13070  	s.CoreDefinitionVersionId = &v
 13071  	return s
 13072  }
 13073  
 13074  type GetCoreDefinitionVersionOutput struct {
 13075  	_ struct{} `type:"structure"`
 13076  
 13077  	// The ARN of the core definition version.
 13078  	Arn *string `type:"string"`
 13079  
 13080  	// The time, in milliseconds since the epoch, when the core definition version
 13081  	// was created.
 13082  	CreationTimestamp *string `type:"string"`
 13083  
 13084  	// Information about the core definition version.
 13085  	Definition *CoreDefinitionVersion `type:"structure"`
 13086  
 13087  	// The ID of the core definition version.
 13088  	Id *string `type:"string"`
 13089  
 13090  	// The token for the next set of results, or ''null'' if there are no additional
 13091  	// results.
 13092  	NextToken *string `type:"string"`
 13093  
 13094  	// The version of the core definition version.
 13095  	Version *string `type:"string"`
 13096  }
 13097  
 13098  // String returns the string representation.
 13099  //
 13100  // API parameter values that are decorated as "sensitive" in the API will not
 13101  // be included in the string output. The member name will be present, but the
 13102  // value will be replaced with "sensitive".
 13103  func (s GetCoreDefinitionVersionOutput) String() string {
 13104  	return awsutil.Prettify(s)
 13105  }
 13106  
 13107  // GoString returns the string representation.
 13108  //
 13109  // API parameter values that are decorated as "sensitive" in the API will not
 13110  // be included in the string output. The member name will be present, but the
 13111  // value will be replaced with "sensitive".
 13112  func (s GetCoreDefinitionVersionOutput) GoString() string {
 13113  	return s.String()
 13114  }
 13115  
 13116  // SetArn sets the Arn field's value.
 13117  func (s *GetCoreDefinitionVersionOutput) SetArn(v string) *GetCoreDefinitionVersionOutput {
 13118  	s.Arn = &v
 13119  	return s
 13120  }
 13121  
 13122  // SetCreationTimestamp sets the CreationTimestamp field's value.
 13123  func (s *GetCoreDefinitionVersionOutput) SetCreationTimestamp(v string) *GetCoreDefinitionVersionOutput {
 13124  	s.CreationTimestamp = &v
 13125  	return s
 13126  }
 13127  
 13128  // SetDefinition sets the Definition field's value.
 13129  func (s *GetCoreDefinitionVersionOutput) SetDefinition(v *CoreDefinitionVersion) *GetCoreDefinitionVersionOutput {
 13130  	s.Definition = v
 13131  	return s
 13132  }
 13133  
 13134  // SetId sets the Id field's value.
 13135  func (s *GetCoreDefinitionVersionOutput) SetId(v string) *GetCoreDefinitionVersionOutput {
 13136  	s.Id = &v
 13137  	return s
 13138  }
 13139  
 13140  // SetNextToken sets the NextToken field's value.
 13141  func (s *GetCoreDefinitionVersionOutput) SetNextToken(v string) *GetCoreDefinitionVersionOutput {
 13142  	s.NextToken = &v
 13143  	return s
 13144  }
 13145  
 13146  // SetVersion sets the Version field's value.
 13147  func (s *GetCoreDefinitionVersionOutput) SetVersion(v string) *GetCoreDefinitionVersionOutput {
 13148  	s.Version = &v
 13149  	return s
 13150  }
 13151  
 13152  type GetDeploymentStatusInput struct {
 13153  	_ struct{} `type:"structure" nopayload:"true"`
 13154  
 13155  	// DeploymentId is a required field
 13156  	DeploymentId *string `location:"uri" locationName:"DeploymentId" type:"string" required:"true"`
 13157  
 13158  	// GroupId is a required field
 13159  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 13160  }
 13161  
 13162  // String returns the string representation.
 13163  //
 13164  // API parameter values that are decorated as "sensitive" in the API will not
 13165  // be included in the string output. The member name will be present, but the
 13166  // value will be replaced with "sensitive".
 13167  func (s GetDeploymentStatusInput) String() string {
 13168  	return awsutil.Prettify(s)
 13169  }
 13170  
 13171  // GoString returns the string representation.
 13172  //
 13173  // API parameter values that are decorated as "sensitive" in the API will not
 13174  // be included in the string output. The member name will be present, but the
 13175  // value will be replaced with "sensitive".
 13176  func (s GetDeploymentStatusInput) GoString() string {
 13177  	return s.String()
 13178  }
 13179  
 13180  // Validate inspects the fields of the type to determine if they are valid.
 13181  func (s *GetDeploymentStatusInput) Validate() error {
 13182  	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentStatusInput"}
 13183  	if s.DeploymentId == nil {
 13184  		invalidParams.Add(request.NewErrParamRequired("DeploymentId"))
 13185  	}
 13186  	if s.DeploymentId != nil && len(*s.DeploymentId) < 1 {
 13187  		invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1))
 13188  	}
 13189  	if s.GroupId == nil {
 13190  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 13191  	}
 13192  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 13193  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 13194  	}
 13195  
 13196  	if invalidParams.Len() > 0 {
 13197  		return invalidParams
 13198  	}
 13199  	return nil
 13200  }
 13201  
 13202  // SetDeploymentId sets the DeploymentId field's value.
 13203  func (s *GetDeploymentStatusInput) SetDeploymentId(v string) *GetDeploymentStatusInput {
 13204  	s.DeploymentId = &v
 13205  	return s
 13206  }
 13207  
 13208  // SetGroupId sets the GroupId field's value.
 13209  func (s *GetDeploymentStatusInput) SetGroupId(v string) *GetDeploymentStatusInput {
 13210  	s.GroupId = &v
 13211  	return s
 13212  }
 13213  
 13214  // Information about the status of a deployment for a group.
 13215  type GetDeploymentStatusOutput struct {
 13216  	_ struct{} `type:"structure"`
 13217  
 13218  	// The status of the deployment: ''InProgress'', ''Building'', ''Success'',
 13219  	// or ''Failure''.
 13220  	DeploymentStatus *string `type:"string"`
 13221  
 13222  	// The type of the deployment.
 13223  	DeploymentType *string `type:"string" enum:"DeploymentType"`
 13224  
 13225  	// Error details
 13226  	ErrorDetails []*ErrorDetail `type:"list"`
 13227  
 13228  	// Error message
 13229  	ErrorMessage *string `type:"string"`
 13230  
 13231  	// The time, in milliseconds since the epoch, when the deployment status was
 13232  	// updated.
 13233  	UpdatedAt *string `type:"string"`
 13234  }
 13235  
 13236  // String returns the string representation.
 13237  //
 13238  // API parameter values that are decorated as "sensitive" in the API will not
 13239  // be included in the string output. The member name will be present, but the
 13240  // value will be replaced with "sensitive".
 13241  func (s GetDeploymentStatusOutput) String() string {
 13242  	return awsutil.Prettify(s)
 13243  }
 13244  
 13245  // GoString returns the string representation.
 13246  //
 13247  // API parameter values that are decorated as "sensitive" in the API will not
 13248  // be included in the string output. The member name will be present, but the
 13249  // value will be replaced with "sensitive".
 13250  func (s GetDeploymentStatusOutput) GoString() string {
 13251  	return s.String()
 13252  }
 13253  
 13254  // SetDeploymentStatus sets the DeploymentStatus field's value.
 13255  func (s *GetDeploymentStatusOutput) SetDeploymentStatus(v string) *GetDeploymentStatusOutput {
 13256  	s.DeploymentStatus = &v
 13257  	return s
 13258  }
 13259  
 13260  // SetDeploymentType sets the DeploymentType field's value.
 13261  func (s *GetDeploymentStatusOutput) SetDeploymentType(v string) *GetDeploymentStatusOutput {
 13262  	s.DeploymentType = &v
 13263  	return s
 13264  }
 13265  
 13266  // SetErrorDetails sets the ErrorDetails field's value.
 13267  func (s *GetDeploymentStatusOutput) SetErrorDetails(v []*ErrorDetail) *GetDeploymentStatusOutput {
 13268  	s.ErrorDetails = v
 13269  	return s
 13270  }
 13271  
 13272  // SetErrorMessage sets the ErrorMessage field's value.
 13273  func (s *GetDeploymentStatusOutput) SetErrorMessage(v string) *GetDeploymentStatusOutput {
 13274  	s.ErrorMessage = &v
 13275  	return s
 13276  }
 13277  
 13278  // SetUpdatedAt sets the UpdatedAt field's value.
 13279  func (s *GetDeploymentStatusOutput) SetUpdatedAt(v string) *GetDeploymentStatusOutput {
 13280  	s.UpdatedAt = &v
 13281  	return s
 13282  }
 13283  
 13284  type GetDeviceDefinitionInput struct {
 13285  	_ struct{} `type:"structure" nopayload:"true"`
 13286  
 13287  	// DeviceDefinitionId is a required field
 13288  	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
 13289  }
 13290  
 13291  // String returns the string representation.
 13292  //
 13293  // API parameter values that are decorated as "sensitive" in the API will not
 13294  // be included in the string output. The member name will be present, but the
 13295  // value will be replaced with "sensitive".
 13296  func (s GetDeviceDefinitionInput) String() string {
 13297  	return awsutil.Prettify(s)
 13298  }
 13299  
 13300  // GoString returns the string representation.
 13301  //
 13302  // API parameter values that are decorated as "sensitive" in the API will not
 13303  // be included in the string output. The member name will be present, but the
 13304  // value will be replaced with "sensitive".
 13305  func (s GetDeviceDefinitionInput) GoString() string {
 13306  	return s.String()
 13307  }
 13308  
 13309  // Validate inspects the fields of the type to determine if they are valid.
 13310  func (s *GetDeviceDefinitionInput) Validate() error {
 13311  	invalidParams := request.ErrInvalidParams{Context: "GetDeviceDefinitionInput"}
 13312  	if s.DeviceDefinitionId == nil {
 13313  		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
 13314  	}
 13315  	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
 13316  		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
 13317  	}
 13318  
 13319  	if invalidParams.Len() > 0 {
 13320  		return invalidParams
 13321  	}
 13322  	return nil
 13323  }
 13324  
 13325  // SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
 13326  func (s *GetDeviceDefinitionInput) SetDeviceDefinitionId(v string) *GetDeviceDefinitionInput {
 13327  	s.DeviceDefinitionId = &v
 13328  	return s
 13329  }
 13330  
 13331  type GetDeviceDefinitionOutput struct {
 13332  	_ struct{} `type:"structure"`
 13333  
 13334  	Arn *string `type:"string"`
 13335  
 13336  	CreationTimestamp *string `type:"string"`
 13337  
 13338  	Id *string `type:"string"`
 13339  
 13340  	LastUpdatedTimestamp *string `type:"string"`
 13341  
 13342  	LatestVersion *string `type:"string"`
 13343  
 13344  	LatestVersionArn *string `type:"string"`
 13345  
 13346  	Name *string `type:"string"`
 13347  
 13348  	// The key-value pair for the resource tag.
 13349  	Tags map[string]*string `locationName:"tags" type:"map"`
 13350  }
 13351  
 13352  // String returns the string representation.
 13353  //
 13354  // API parameter values that are decorated as "sensitive" in the API will not
 13355  // be included in the string output. The member name will be present, but the
 13356  // value will be replaced with "sensitive".
 13357  func (s GetDeviceDefinitionOutput) String() string {
 13358  	return awsutil.Prettify(s)
 13359  }
 13360  
 13361  // GoString returns the string representation.
 13362  //
 13363  // API parameter values that are decorated as "sensitive" in the API will not
 13364  // be included in the string output. The member name will be present, but the
 13365  // value will be replaced with "sensitive".
 13366  func (s GetDeviceDefinitionOutput) GoString() string {
 13367  	return s.String()
 13368  }
 13369  
 13370  // SetArn sets the Arn field's value.
 13371  func (s *GetDeviceDefinitionOutput) SetArn(v string) *GetDeviceDefinitionOutput {
 13372  	s.Arn = &v
 13373  	return s
 13374  }
 13375  
 13376  // SetCreationTimestamp sets the CreationTimestamp field's value.
 13377  func (s *GetDeviceDefinitionOutput) SetCreationTimestamp(v string) *GetDeviceDefinitionOutput {
 13378  	s.CreationTimestamp = &v
 13379  	return s
 13380  }
 13381  
 13382  // SetId sets the Id field's value.
 13383  func (s *GetDeviceDefinitionOutput) SetId(v string) *GetDeviceDefinitionOutput {
 13384  	s.Id = &v
 13385  	return s
 13386  }
 13387  
 13388  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 13389  func (s *GetDeviceDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetDeviceDefinitionOutput {
 13390  	s.LastUpdatedTimestamp = &v
 13391  	return s
 13392  }
 13393  
 13394  // SetLatestVersion sets the LatestVersion field's value.
 13395  func (s *GetDeviceDefinitionOutput) SetLatestVersion(v string) *GetDeviceDefinitionOutput {
 13396  	s.LatestVersion = &v
 13397  	return s
 13398  }
 13399  
 13400  // SetLatestVersionArn sets the LatestVersionArn field's value.
 13401  func (s *GetDeviceDefinitionOutput) SetLatestVersionArn(v string) *GetDeviceDefinitionOutput {
 13402  	s.LatestVersionArn = &v
 13403  	return s
 13404  }
 13405  
 13406  // SetName sets the Name field's value.
 13407  func (s *GetDeviceDefinitionOutput) SetName(v string) *GetDeviceDefinitionOutput {
 13408  	s.Name = &v
 13409  	return s
 13410  }
 13411  
 13412  // SetTags sets the Tags field's value.
 13413  func (s *GetDeviceDefinitionOutput) SetTags(v map[string]*string) *GetDeviceDefinitionOutput {
 13414  	s.Tags = v
 13415  	return s
 13416  }
 13417  
 13418  type GetDeviceDefinitionVersionInput struct {
 13419  	_ struct{} `type:"structure" nopayload:"true"`
 13420  
 13421  	// DeviceDefinitionId is a required field
 13422  	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
 13423  
 13424  	// DeviceDefinitionVersionId is a required field
 13425  	DeviceDefinitionVersionId *string `location:"uri" locationName:"DeviceDefinitionVersionId" type:"string" required:"true"`
 13426  
 13427  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 13428  }
 13429  
 13430  // String returns the string representation.
 13431  //
 13432  // API parameter values that are decorated as "sensitive" in the API will not
 13433  // be included in the string output. The member name will be present, but the
 13434  // value will be replaced with "sensitive".
 13435  func (s GetDeviceDefinitionVersionInput) String() string {
 13436  	return awsutil.Prettify(s)
 13437  }
 13438  
 13439  // GoString returns the string representation.
 13440  //
 13441  // API parameter values that are decorated as "sensitive" in the API will not
 13442  // be included in the string output. The member name will be present, but the
 13443  // value will be replaced with "sensitive".
 13444  func (s GetDeviceDefinitionVersionInput) GoString() string {
 13445  	return s.String()
 13446  }
 13447  
 13448  // Validate inspects the fields of the type to determine if they are valid.
 13449  func (s *GetDeviceDefinitionVersionInput) Validate() error {
 13450  	invalidParams := request.ErrInvalidParams{Context: "GetDeviceDefinitionVersionInput"}
 13451  	if s.DeviceDefinitionId == nil {
 13452  		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
 13453  	}
 13454  	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
 13455  		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
 13456  	}
 13457  	if s.DeviceDefinitionVersionId == nil {
 13458  		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionVersionId"))
 13459  	}
 13460  	if s.DeviceDefinitionVersionId != nil && len(*s.DeviceDefinitionVersionId) < 1 {
 13461  		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionVersionId", 1))
 13462  	}
 13463  
 13464  	if invalidParams.Len() > 0 {
 13465  		return invalidParams
 13466  	}
 13467  	return nil
 13468  }
 13469  
 13470  // SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
 13471  func (s *GetDeviceDefinitionVersionInput) SetDeviceDefinitionId(v string) *GetDeviceDefinitionVersionInput {
 13472  	s.DeviceDefinitionId = &v
 13473  	return s
 13474  }
 13475  
 13476  // SetDeviceDefinitionVersionId sets the DeviceDefinitionVersionId field's value.
 13477  func (s *GetDeviceDefinitionVersionInput) SetDeviceDefinitionVersionId(v string) *GetDeviceDefinitionVersionInput {
 13478  	s.DeviceDefinitionVersionId = &v
 13479  	return s
 13480  }
 13481  
 13482  // SetNextToken sets the NextToken field's value.
 13483  func (s *GetDeviceDefinitionVersionInput) SetNextToken(v string) *GetDeviceDefinitionVersionInput {
 13484  	s.NextToken = &v
 13485  	return s
 13486  }
 13487  
 13488  type GetDeviceDefinitionVersionOutput struct {
 13489  	_ struct{} `type:"structure"`
 13490  
 13491  	// The ARN of the device definition version.
 13492  	Arn *string `type:"string"`
 13493  
 13494  	// The time, in milliseconds since the epoch, when the device definition version
 13495  	// was created.
 13496  	CreationTimestamp *string `type:"string"`
 13497  
 13498  	// Information about the device definition version.
 13499  	Definition *DeviceDefinitionVersion `type:"structure"`
 13500  
 13501  	// The ID of the device definition version.
 13502  	Id *string `type:"string"`
 13503  
 13504  	// The token for the next set of results, or ''null'' if there are no additional
 13505  	// results.
 13506  	NextToken *string `type:"string"`
 13507  
 13508  	// The version of the device definition version.
 13509  	Version *string `type:"string"`
 13510  }
 13511  
 13512  // String returns the string representation.
 13513  //
 13514  // API parameter values that are decorated as "sensitive" in the API will not
 13515  // be included in the string output. The member name will be present, but the
 13516  // value will be replaced with "sensitive".
 13517  func (s GetDeviceDefinitionVersionOutput) String() string {
 13518  	return awsutil.Prettify(s)
 13519  }
 13520  
 13521  // GoString returns the string representation.
 13522  //
 13523  // API parameter values that are decorated as "sensitive" in the API will not
 13524  // be included in the string output. The member name will be present, but the
 13525  // value will be replaced with "sensitive".
 13526  func (s GetDeviceDefinitionVersionOutput) GoString() string {
 13527  	return s.String()
 13528  }
 13529  
 13530  // SetArn sets the Arn field's value.
 13531  func (s *GetDeviceDefinitionVersionOutput) SetArn(v string) *GetDeviceDefinitionVersionOutput {
 13532  	s.Arn = &v
 13533  	return s
 13534  }
 13535  
 13536  // SetCreationTimestamp sets the CreationTimestamp field's value.
 13537  func (s *GetDeviceDefinitionVersionOutput) SetCreationTimestamp(v string) *GetDeviceDefinitionVersionOutput {
 13538  	s.CreationTimestamp = &v
 13539  	return s
 13540  }
 13541  
 13542  // SetDefinition sets the Definition field's value.
 13543  func (s *GetDeviceDefinitionVersionOutput) SetDefinition(v *DeviceDefinitionVersion) *GetDeviceDefinitionVersionOutput {
 13544  	s.Definition = v
 13545  	return s
 13546  }
 13547  
 13548  // SetId sets the Id field's value.
 13549  func (s *GetDeviceDefinitionVersionOutput) SetId(v string) *GetDeviceDefinitionVersionOutput {
 13550  	s.Id = &v
 13551  	return s
 13552  }
 13553  
 13554  // SetNextToken sets the NextToken field's value.
 13555  func (s *GetDeviceDefinitionVersionOutput) SetNextToken(v string) *GetDeviceDefinitionVersionOutput {
 13556  	s.NextToken = &v
 13557  	return s
 13558  }
 13559  
 13560  // SetVersion sets the Version field's value.
 13561  func (s *GetDeviceDefinitionVersionOutput) SetVersion(v string) *GetDeviceDefinitionVersionOutput {
 13562  	s.Version = &v
 13563  	return s
 13564  }
 13565  
 13566  type GetFunctionDefinitionInput struct {
 13567  	_ struct{} `type:"structure" nopayload:"true"`
 13568  
 13569  	// FunctionDefinitionId is a required field
 13570  	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
 13571  }
 13572  
 13573  // String returns the string representation.
 13574  //
 13575  // API parameter values that are decorated as "sensitive" in the API will not
 13576  // be included in the string output. The member name will be present, but the
 13577  // value will be replaced with "sensitive".
 13578  func (s GetFunctionDefinitionInput) String() string {
 13579  	return awsutil.Prettify(s)
 13580  }
 13581  
 13582  // GoString returns the string representation.
 13583  //
 13584  // API parameter values that are decorated as "sensitive" in the API will not
 13585  // be included in the string output. The member name will be present, but the
 13586  // value will be replaced with "sensitive".
 13587  func (s GetFunctionDefinitionInput) GoString() string {
 13588  	return s.String()
 13589  }
 13590  
 13591  // Validate inspects the fields of the type to determine if they are valid.
 13592  func (s *GetFunctionDefinitionInput) Validate() error {
 13593  	invalidParams := request.ErrInvalidParams{Context: "GetFunctionDefinitionInput"}
 13594  	if s.FunctionDefinitionId == nil {
 13595  		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
 13596  	}
 13597  	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
 13598  		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
 13599  	}
 13600  
 13601  	if invalidParams.Len() > 0 {
 13602  		return invalidParams
 13603  	}
 13604  	return nil
 13605  }
 13606  
 13607  // SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
 13608  func (s *GetFunctionDefinitionInput) SetFunctionDefinitionId(v string) *GetFunctionDefinitionInput {
 13609  	s.FunctionDefinitionId = &v
 13610  	return s
 13611  }
 13612  
 13613  type GetFunctionDefinitionOutput struct {
 13614  	_ struct{} `type:"structure"`
 13615  
 13616  	Arn *string `type:"string"`
 13617  
 13618  	CreationTimestamp *string `type:"string"`
 13619  
 13620  	Id *string `type:"string"`
 13621  
 13622  	LastUpdatedTimestamp *string `type:"string"`
 13623  
 13624  	LatestVersion *string `type:"string"`
 13625  
 13626  	LatestVersionArn *string `type:"string"`
 13627  
 13628  	Name *string `type:"string"`
 13629  
 13630  	// The key-value pair for the resource tag.
 13631  	Tags map[string]*string `locationName:"tags" type:"map"`
 13632  }
 13633  
 13634  // String returns the string representation.
 13635  //
 13636  // API parameter values that are decorated as "sensitive" in the API will not
 13637  // be included in the string output. The member name will be present, but the
 13638  // value will be replaced with "sensitive".
 13639  func (s GetFunctionDefinitionOutput) String() string {
 13640  	return awsutil.Prettify(s)
 13641  }
 13642  
 13643  // GoString returns the string representation.
 13644  //
 13645  // API parameter values that are decorated as "sensitive" in the API will not
 13646  // be included in the string output. The member name will be present, but the
 13647  // value will be replaced with "sensitive".
 13648  func (s GetFunctionDefinitionOutput) GoString() string {
 13649  	return s.String()
 13650  }
 13651  
 13652  // SetArn sets the Arn field's value.
 13653  func (s *GetFunctionDefinitionOutput) SetArn(v string) *GetFunctionDefinitionOutput {
 13654  	s.Arn = &v
 13655  	return s
 13656  }
 13657  
 13658  // SetCreationTimestamp sets the CreationTimestamp field's value.
 13659  func (s *GetFunctionDefinitionOutput) SetCreationTimestamp(v string) *GetFunctionDefinitionOutput {
 13660  	s.CreationTimestamp = &v
 13661  	return s
 13662  }
 13663  
 13664  // SetId sets the Id field's value.
 13665  func (s *GetFunctionDefinitionOutput) SetId(v string) *GetFunctionDefinitionOutput {
 13666  	s.Id = &v
 13667  	return s
 13668  }
 13669  
 13670  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 13671  func (s *GetFunctionDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetFunctionDefinitionOutput {
 13672  	s.LastUpdatedTimestamp = &v
 13673  	return s
 13674  }
 13675  
 13676  // SetLatestVersion sets the LatestVersion field's value.
 13677  func (s *GetFunctionDefinitionOutput) SetLatestVersion(v string) *GetFunctionDefinitionOutput {
 13678  	s.LatestVersion = &v
 13679  	return s
 13680  }
 13681  
 13682  // SetLatestVersionArn sets the LatestVersionArn field's value.
 13683  func (s *GetFunctionDefinitionOutput) SetLatestVersionArn(v string) *GetFunctionDefinitionOutput {
 13684  	s.LatestVersionArn = &v
 13685  	return s
 13686  }
 13687  
 13688  // SetName sets the Name field's value.
 13689  func (s *GetFunctionDefinitionOutput) SetName(v string) *GetFunctionDefinitionOutput {
 13690  	s.Name = &v
 13691  	return s
 13692  }
 13693  
 13694  // SetTags sets the Tags field's value.
 13695  func (s *GetFunctionDefinitionOutput) SetTags(v map[string]*string) *GetFunctionDefinitionOutput {
 13696  	s.Tags = v
 13697  	return s
 13698  }
 13699  
 13700  type GetFunctionDefinitionVersionInput struct {
 13701  	_ struct{} `type:"structure" nopayload:"true"`
 13702  
 13703  	// FunctionDefinitionId is a required field
 13704  	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
 13705  
 13706  	// FunctionDefinitionVersionId is a required field
 13707  	FunctionDefinitionVersionId *string `location:"uri" locationName:"FunctionDefinitionVersionId" type:"string" required:"true"`
 13708  
 13709  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 13710  }
 13711  
 13712  // String returns the string representation.
 13713  //
 13714  // API parameter values that are decorated as "sensitive" in the API will not
 13715  // be included in the string output. The member name will be present, but the
 13716  // value will be replaced with "sensitive".
 13717  func (s GetFunctionDefinitionVersionInput) String() string {
 13718  	return awsutil.Prettify(s)
 13719  }
 13720  
 13721  // GoString returns the string representation.
 13722  //
 13723  // API parameter values that are decorated as "sensitive" in the API will not
 13724  // be included in the string output. The member name will be present, but the
 13725  // value will be replaced with "sensitive".
 13726  func (s GetFunctionDefinitionVersionInput) GoString() string {
 13727  	return s.String()
 13728  }
 13729  
 13730  // Validate inspects the fields of the type to determine if they are valid.
 13731  func (s *GetFunctionDefinitionVersionInput) Validate() error {
 13732  	invalidParams := request.ErrInvalidParams{Context: "GetFunctionDefinitionVersionInput"}
 13733  	if s.FunctionDefinitionId == nil {
 13734  		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
 13735  	}
 13736  	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
 13737  		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
 13738  	}
 13739  	if s.FunctionDefinitionVersionId == nil {
 13740  		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionVersionId"))
 13741  	}
 13742  	if s.FunctionDefinitionVersionId != nil && len(*s.FunctionDefinitionVersionId) < 1 {
 13743  		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionVersionId", 1))
 13744  	}
 13745  
 13746  	if invalidParams.Len() > 0 {
 13747  		return invalidParams
 13748  	}
 13749  	return nil
 13750  }
 13751  
 13752  // SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
 13753  func (s *GetFunctionDefinitionVersionInput) SetFunctionDefinitionId(v string) *GetFunctionDefinitionVersionInput {
 13754  	s.FunctionDefinitionId = &v
 13755  	return s
 13756  }
 13757  
 13758  // SetFunctionDefinitionVersionId sets the FunctionDefinitionVersionId field's value.
 13759  func (s *GetFunctionDefinitionVersionInput) SetFunctionDefinitionVersionId(v string) *GetFunctionDefinitionVersionInput {
 13760  	s.FunctionDefinitionVersionId = &v
 13761  	return s
 13762  }
 13763  
 13764  // SetNextToken sets the NextToken field's value.
 13765  func (s *GetFunctionDefinitionVersionInput) SetNextToken(v string) *GetFunctionDefinitionVersionInput {
 13766  	s.NextToken = &v
 13767  	return s
 13768  }
 13769  
 13770  // Information about a function definition version.
 13771  type GetFunctionDefinitionVersionOutput struct {
 13772  	_ struct{} `type:"structure"`
 13773  
 13774  	// The ARN of the function definition version.
 13775  	Arn *string `type:"string"`
 13776  
 13777  	// The time, in milliseconds since the epoch, when the function definition version
 13778  	// was created.
 13779  	CreationTimestamp *string `type:"string"`
 13780  
 13781  	// Information on the definition.
 13782  	Definition *FunctionDefinitionVersion `type:"structure"`
 13783  
 13784  	// The ID of the function definition version.
 13785  	Id *string `type:"string"`
 13786  
 13787  	// The token for the next set of results, or ''null'' if there are no additional
 13788  	// results.
 13789  	NextToken *string `type:"string"`
 13790  
 13791  	// The version of the function definition version.
 13792  	Version *string `type:"string"`
 13793  }
 13794  
 13795  // String returns the string representation.
 13796  //
 13797  // API parameter values that are decorated as "sensitive" in the API will not
 13798  // be included in the string output. The member name will be present, but the
 13799  // value will be replaced with "sensitive".
 13800  func (s GetFunctionDefinitionVersionOutput) String() string {
 13801  	return awsutil.Prettify(s)
 13802  }
 13803  
 13804  // GoString returns the string representation.
 13805  //
 13806  // API parameter values that are decorated as "sensitive" in the API will not
 13807  // be included in the string output. The member name will be present, but the
 13808  // value will be replaced with "sensitive".
 13809  func (s GetFunctionDefinitionVersionOutput) GoString() string {
 13810  	return s.String()
 13811  }
 13812  
 13813  // SetArn sets the Arn field's value.
 13814  func (s *GetFunctionDefinitionVersionOutput) SetArn(v string) *GetFunctionDefinitionVersionOutput {
 13815  	s.Arn = &v
 13816  	return s
 13817  }
 13818  
 13819  // SetCreationTimestamp sets the CreationTimestamp field's value.
 13820  func (s *GetFunctionDefinitionVersionOutput) SetCreationTimestamp(v string) *GetFunctionDefinitionVersionOutput {
 13821  	s.CreationTimestamp = &v
 13822  	return s
 13823  }
 13824  
 13825  // SetDefinition sets the Definition field's value.
 13826  func (s *GetFunctionDefinitionVersionOutput) SetDefinition(v *FunctionDefinitionVersion) *GetFunctionDefinitionVersionOutput {
 13827  	s.Definition = v
 13828  	return s
 13829  }
 13830  
 13831  // SetId sets the Id field's value.
 13832  func (s *GetFunctionDefinitionVersionOutput) SetId(v string) *GetFunctionDefinitionVersionOutput {
 13833  	s.Id = &v
 13834  	return s
 13835  }
 13836  
 13837  // SetNextToken sets the NextToken field's value.
 13838  func (s *GetFunctionDefinitionVersionOutput) SetNextToken(v string) *GetFunctionDefinitionVersionOutput {
 13839  	s.NextToken = &v
 13840  	return s
 13841  }
 13842  
 13843  // SetVersion sets the Version field's value.
 13844  func (s *GetFunctionDefinitionVersionOutput) SetVersion(v string) *GetFunctionDefinitionVersionOutput {
 13845  	s.Version = &v
 13846  	return s
 13847  }
 13848  
 13849  type GetGroupCertificateAuthorityInput struct {
 13850  	_ struct{} `type:"structure" nopayload:"true"`
 13851  
 13852  	// CertificateAuthorityId is a required field
 13853  	CertificateAuthorityId *string `location:"uri" locationName:"CertificateAuthorityId" type:"string" required:"true"`
 13854  
 13855  	// GroupId is a required field
 13856  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 13857  }
 13858  
 13859  // String returns the string representation.
 13860  //
 13861  // API parameter values that are decorated as "sensitive" in the API will not
 13862  // be included in the string output. The member name will be present, but the
 13863  // value will be replaced with "sensitive".
 13864  func (s GetGroupCertificateAuthorityInput) String() string {
 13865  	return awsutil.Prettify(s)
 13866  }
 13867  
 13868  // GoString returns the string representation.
 13869  //
 13870  // API parameter values that are decorated as "sensitive" in the API will not
 13871  // be included in the string output. The member name will be present, but the
 13872  // value will be replaced with "sensitive".
 13873  func (s GetGroupCertificateAuthorityInput) GoString() string {
 13874  	return s.String()
 13875  }
 13876  
 13877  // Validate inspects the fields of the type to determine if they are valid.
 13878  func (s *GetGroupCertificateAuthorityInput) Validate() error {
 13879  	invalidParams := request.ErrInvalidParams{Context: "GetGroupCertificateAuthorityInput"}
 13880  	if s.CertificateAuthorityId == nil {
 13881  		invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityId"))
 13882  	}
 13883  	if s.CertificateAuthorityId != nil && len(*s.CertificateAuthorityId) < 1 {
 13884  		invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityId", 1))
 13885  	}
 13886  	if s.GroupId == nil {
 13887  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 13888  	}
 13889  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 13890  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 13891  	}
 13892  
 13893  	if invalidParams.Len() > 0 {
 13894  		return invalidParams
 13895  	}
 13896  	return nil
 13897  }
 13898  
 13899  // SetCertificateAuthorityId sets the CertificateAuthorityId field's value.
 13900  func (s *GetGroupCertificateAuthorityInput) SetCertificateAuthorityId(v string) *GetGroupCertificateAuthorityInput {
 13901  	s.CertificateAuthorityId = &v
 13902  	return s
 13903  }
 13904  
 13905  // SetGroupId sets the GroupId field's value.
 13906  func (s *GetGroupCertificateAuthorityInput) SetGroupId(v string) *GetGroupCertificateAuthorityInput {
 13907  	s.GroupId = &v
 13908  	return s
 13909  }
 13910  
 13911  // Information about a certificate authority for a group.
 13912  type GetGroupCertificateAuthorityOutput struct {
 13913  	_ struct{} `type:"structure"`
 13914  
 13915  	// The ARN of the certificate authority for the group.
 13916  	GroupCertificateAuthorityArn *string `type:"string"`
 13917  
 13918  	// The ID of the certificate authority for the group.
 13919  	GroupCertificateAuthorityId *string `type:"string"`
 13920  
 13921  	// The PEM encoded certificate for the group.
 13922  	PemEncodedCertificate *string `type:"string"`
 13923  }
 13924  
 13925  // String returns the string representation.
 13926  //
 13927  // API parameter values that are decorated as "sensitive" in the API will not
 13928  // be included in the string output. The member name will be present, but the
 13929  // value will be replaced with "sensitive".
 13930  func (s GetGroupCertificateAuthorityOutput) String() string {
 13931  	return awsutil.Prettify(s)
 13932  }
 13933  
 13934  // GoString returns the string representation.
 13935  //
 13936  // API parameter values that are decorated as "sensitive" in the API will not
 13937  // be included in the string output. The member name will be present, but the
 13938  // value will be replaced with "sensitive".
 13939  func (s GetGroupCertificateAuthorityOutput) GoString() string {
 13940  	return s.String()
 13941  }
 13942  
 13943  // SetGroupCertificateAuthorityArn sets the GroupCertificateAuthorityArn field's value.
 13944  func (s *GetGroupCertificateAuthorityOutput) SetGroupCertificateAuthorityArn(v string) *GetGroupCertificateAuthorityOutput {
 13945  	s.GroupCertificateAuthorityArn = &v
 13946  	return s
 13947  }
 13948  
 13949  // SetGroupCertificateAuthorityId sets the GroupCertificateAuthorityId field's value.
 13950  func (s *GetGroupCertificateAuthorityOutput) SetGroupCertificateAuthorityId(v string) *GetGroupCertificateAuthorityOutput {
 13951  	s.GroupCertificateAuthorityId = &v
 13952  	return s
 13953  }
 13954  
 13955  // SetPemEncodedCertificate sets the PemEncodedCertificate field's value.
 13956  func (s *GetGroupCertificateAuthorityOutput) SetPemEncodedCertificate(v string) *GetGroupCertificateAuthorityOutput {
 13957  	s.PemEncodedCertificate = &v
 13958  	return s
 13959  }
 13960  
 13961  type GetGroupCertificateConfigurationInput struct {
 13962  	_ struct{} `type:"structure" nopayload:"true"`
 13963  
 13964  	// GroupId is a required field
 13965  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 13966  }
 13967  
 13968  // String returns the string representation.
 13969  //
 13970  // API parameter values that are decorated as "sensitive" in the API will not
 13971  // be included in the string output. The member name will be present, but the
 13972  // value will be replaced with "sensitive".
 13973  func (s GetGroupCertificateConfigurationInput) String() string {
 13974  	return awsutil.Prettify(s)
 13975  }
 13976  
 13977  // GoString returns the string representation.
 13978  //
 13979  // API parameter values that are decorated as "sensitive" in the API will not
 13980  // be included in the string output. The member name will be present, but the
 13981  // value will be replaced with "sensitive".
 13982  func (s GetGroupCertificateConfigurationInput) GoString() string {
 13983  	return s.String()
 13984  }
 13985  
 13986  // Validate inspects the fields of the type to determine if they are valid.
 13987  func (s *GetGroupCertificateConfigurationInput) Validate() error {
 13988  	invalidParams := request.ErrInvalidParams{Context: "GetGroupCertificateConfigurationInput"}
 13989  	if s.GroupId == nil {
 13990  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 13991  	}
 13992  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 13993  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 13994  	}
 13995  
 13996  	if invalidParams.Len() > 0 {
 13997  		return invalidParams
 13998  	}
 13999  	return nil
 14000  }
 14001  
 14002  // SetGroupId sets the GroupId field's value.
 14003  func (s *GetGroupCertificateConfigurationInput) SetGroupId(v string) *GetGroupCertificateConfigurationInput {
 14004  	s.GroupId = &v
 14005  	return s
 14006  }
 14007  
 14008  type GetGroupCertificateConfigurationOutput struct {
 14009  	_ struct{} `type:"structure"`
 14010  
 14011  	CertificateAuthorityExpiryInMilliseconds *string `type:"string"`
 14012  
 14013  	CertificateExpiryInMilliseconds *string `type:"string"`
 14014  
 14015  	GroupId *string `type:"string"`
 14016  }
 14017  
 14018  // String returns the string representation.
 14019  //
 14020  // API parameter values that are decorated as "sensitive" in the API will not
 14021  // be included in the string output. The member name will be present, but the
 14022  // value will be replaced with "sensitive".
 14023  func (s GetGroupCertificateConfigurationOutput) String() string {
 14024  	return awsutil.Prettify(s)
 14025  }
 14026  
 14027  // GoString returns the string representation.
 14028  //
 14029  // API parameter values that are decorated as "sensitive" in the API will not
 14030  // be included in the string output. The member name will be present, but the
 14031  // value will be replaced with "sensitive".
 14032  func (s GetGroupCertificateConfigurationOutput) GoString() string {
 14033  	return s.String()
 14034  }
 14035  
 14036  // SetCertificateAuthorityExpiryInMilliseconds sets the CertificateAuthorityExpiryInMilliseconds field's value.
 14037  func (s *GetGroupCertificateConfigurationOutput) SetCertificateAuthorityExpiryInMilliseconds(v string) *GetGroupCertificateConfigurationOutput {
 14038  	s.CertificateAuthorityExpiryInMilliseconds = &v
 14039  	return s
 14040  }
 14041  
 14042  // SetCertificateExpiryInMilliseconds sets the CertificateExpiryInMilliseconds field's value.
 14043  func (s *GetGroupCertificateConfigurationOutput) SetCertificateExpiryInMilliseconds(v string) *GetGroupCertificateConfigurationOutput {
 14044  	s.CertificateExpiryInMilliseconds = &v
 14045  	return s
 14046  }
 14047  
 14048  // SetGroupId sets the GroupId field's value.
 14049  func (s *GetGroupCertificateConfigurationOutput) SetGroupId(v string) *GetGroupCertificateConfigurationOutput {
 14050  	s.GroupId = &v
 14051  	return s
 14052  }
 14053  
 14054  type GetGroupInput struct {
 14055  	_ struct{} `type:"structure" nopayload:"true"`
 14056  
 14057  	// GroupId is a required field
 14058  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 14059  }
 14060  
 14061  // String returns the string representation.
 14062  //
 14063  // API parameter values that are decorated as "sensitive" in the API will not
 14064  // be included in the string output. The member name will be present, but the
 14065  // value will be replaced with "sensitive".
 14066  func (s GetGroupInput) String() string {
 14067  	return awsutil.Prettify(s)
 14068  }
 14069  
 14070  // GoString returns the string representation.
 14071  //
 14072  // API parameter values that are decorated as "sensitive" in the API will not
 14073  // be included in the string output. The member name will be present, but the
 14074  // value will be replaced with "sensitive".
 14075  func (s GetGroupInput) GoString() string {
 14076  	return s.String()
 14077  }
 14078  
 14079  // Validate inspects the fields of the type to determine if they are valid.
 14080  func (s *GetGroupInput) Validate() error {
 14081  	invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"}
 14082  	if s.GroupId == nil {
 14083  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 14084  	}
 14085  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 14086  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 14087  	}
 14088  
 14089  	if invalidParams.Len() > 0 {
 14090  		return invalidParams
 14091  	}
 14092  	return nil
 14093  }
 14094  
 14095  // SetGroupId sets the GroupId field's value.
 14096  func (s *GetGroupInput) SetGroupId(v string) *GetGroupInput {
 14097  	s.GroupId = &v
 14098  	return s
 14099  }
 14100  
 14101  type GetGroupOutput struct {
 14102  	_ struct{} `type:"structure"`
 14103  
 14104  	Arn *string `type:"string"`
 14105  
 14106  	CreationTimestamp *string `type:"string"`
 14107  
 14108  	Id *string `type:"string"`
 14109  
 14110  	LastUpdatedTimestamp *string `type:"string"`
 14111  
 14112  	LatestVersion *string `type:"string"`
 14113  
 14114  	LatestVersionArn *string `type:"string"`
 14115  
 14116  	Name *string `type:"string"`
 14117  
 14118  	// The key-value pair for the resource tag.
 14119  	Tags map[string]*string `locationName:"tags" type:"map"`
 14120  }
 14121  
 14122  // String returns the string representation.
 14123  //
 14124  // API parameter values that are decorated as "sensitive" in the API will not
 14125  // be included in the string output. The member name will be present, but the
 14126  // value will be replaced with "sensitive".
 14127  func (s GetGroupOutput) String() string {
 14128  	return awsutil.Prettify(s)
 14129  }
 14130  
 14131  // GoString returns the string representation.
 14132  //
 14133  // API parameter values that are decorated as "sensitive" in the API will not
 14134  // be included in the string output. The member name will be present, but the
 14135  // value will be replaced with "sensitive".
 14136  func (s GetGroupOutput) GoString() string {
 14137  	return s.String()
 14138  }
 14139  
 14140  // SetArn sets the Arn field's value.
 14141  func (s *GetGroupOutput) SetArn(v string) *GetGroupOutput {
 14142  	s.Arn = &v
 14143  	return s
 14144  }
 14145  
 14146  // SetCreationTimestamp sets the CreationTimestamp field's value.
 14147  func (s *GetGroupOutput) SetCreationTimestamp(v string) *GetGroupOutput {
 14148  	s.CreationTimestamp = &v
 14149  	return s
 14150  }
 14151  
 14152  // SetId sets the Id field's value.
 14153  func (s *GetGroupOutput) SetId(v string) *GetGroupOutput {
 14154  	s.Id = &v
 14155  	return s
 14156  }
 14157  
 14158  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 14159  func (s *GetGroupOutput) SetLastUpdatedTimestamp(v string) *GetGroupOutput {
 14160  	s.LastUpdatedTimestamp = &v
 14161  	return s
 14162  }
 14163  
 14164  // SetLatestVersion sets the LatestVersion field's value.
 14165  func (s *GetGroupOutput) SetLatestVersion(v string) *GetGroupOutput {
 14166  	s.LatestVersion = &v
 14167  	return s
 14168  }
 14169  
 14170  // SetLatestVersionArn sets the LatestVersionArn field's value.
 14171  func (s *GetGroupOutput) SetLatestVersionArn(v string) *GetGroupOutput {
 14172  	s.LatestVersionArn = &v
 14173  	return s
 14174  }
 14175  
 14176  // SetName sets the Name field's value.
 14177  func (s *GetGroupOutput) SetName(v string) *GetGroupOutput {
 14178  	s.Name = &v
 14179  	return s
 14180  }
 14181  
 14182  // SetTags sets the Tags field's value.
 14183  func (s *GetGroupOutput) SetTags(v map[string]*string) *GetGroupOutput {
 14184  	s.Tags = v
 14185  	return s
 14186  }
 14187  
 14188  type GetGroupVersionInput struct {
 14189  	_ struct{} `type:"structure" nopayload:"true"`
 14190  
 14191  	// GroupId is a required field
 14192  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 14193  
 14194  	// GroupVersionId is a required field
 14195  	GroupVersionId *string `location:"uri" locationName:"GroupVersionId" type:"string" required:"true"`
 14196  }
 14197  
 14198  // String returns the string representation.
 14199  //
 14200  // API parameter values that are decorated as "sensitive" in the API will not
 14201  // be included in the string output. The member name will be present, but the
 14202  // value will be replaced with "sensitive".
 14203  func (s GetGroupVersionInput) String() string {
 14204  	return awsutil.Prettify(s)
 14205  }
 14206  
 14207  // GoString returns the string representation.
 14208  //
 14209  // API parameter values that are decorated as "sensitive" in the API will not
 14210  // be included in the string output. The member name will be present, but the
 14211  // value will be replaced with "sensitive".
 14212  func (s GetGroupVersionInput) GoString() string {
 14213  	return s.String()
 14214  }
 14215  
 14216  // Validate inspects the fields of the type to determine if they are valid.
 14217  func (s *GetGroupVersionInput) Validate() error {
 14218  	invalidParams := request.ErrInvalidParams{Context: "GetGroupVersionInput"}
 14219  	if s.GroupId == nil {
 14220  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 14221  	}
 14222  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 14223  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 14224  	}
 14225  	if s.GroupVersionId == nil {
 14226  		invalidParams.Add(request.NewErrParamRequired("GroupVersionId"))
 14227  	}
 14228  	if s.GroupVersionId != nil && len(*s.GroupVersionId) < 1 {
 14229  		invalidParams.Add(request.NewErrParamMinLen("GroupVersionId", 1))
 14230  	}
 14231  
 14232  	if invalidParams.Len() > 0 {
 14233  		return invalidParams
 14234  	}
 14235  	return nil
 14236  }
 14237  
 14238  // SetGroupId sets the GroupId field's value.
 14239  func (s *GetGroupVersionInput) SetGroupId(v string) *GetGroupVersionInput {
 14240  	s.GroupId = &v
 14241  	return s
 14242  }
 14243  
 14244  // SetGroupVersionId sets the GroupVersionId field's value.
 14245  func (s *GetGroupVersionInput) SetGroupVersionId(v string) *GetGroupVersionInput {
 14246  	s.GroupVersionId = &v
 14247  	return s
 14248  }
 14249  
 14250  // Information about a group version.
 14251  type GetGroupVersionOutput struct {
 14252  	_ struct{} `type:"structure"`
 14253  
 14254  	// The ARN of the group version.
 14255  	Arn *string `type:"string"`
 14256  
 14257  	// The time, in milliseconds since the epoch, when the group version was created.
 14258  	CreationTimestamp *string `type:"string"`
 14259  
 14260  	// Information about the group version definition.
 14261  	Definition *GroupVersion `type:"structure"`
 14262  
 14263  	// The ID of the group that the version is associated with.
 14264  	Id *string `type:"string"`
 14265  
 14266  	// The ID of the group version.
 14267  	Version *string `type:"string"`
 14268  }
 14269  
 14270  // String returns the string representation.
 14271  //
 14272  // API parameter values that are decorated as "sensitive" in the API will not
 14273  // be included in the string output. The member name will be present, but the
 14274  // value will be replaced with "sensitive".
 14275  func (s GetGroupVersionOutput) String() string {
 14276  	return awsutil.Prettify(s)
 14277  }
 14278  
 14279  // GoString returns the string representation.
 14280  //
 14281  // API parameter values that are decorated as "sensitive" in the API will not
 14282  // be included in the string output. The member name will be present, but the
 14283  // value will be replaced with "sensitive".
 14284  func (s GetGroupVersionOutput) GoString() string {
 14285  	return s.String()
 14286  }
 14287  
 14288  // SetArn sets the Arn field's value.
 14289  func (s *GetGroupVersionOutput) SetArn(v string) *GetGroupVersionOutput {
 14290  	s.Arn = &v
 14291  	return s
 14292  }
 14293  
 14294  // SetCreationTimestamp sets the CreationTimestamp field's value.
 14295  func (s *GetGroupVersionOutput) SetCreationTimestamp(v string) *GetGroupVersionOutput {
 14296  	s.CreationTimestamp = &v
 14297  	return s
 14298  }
 14299  
 14300  // SetDefinition sets the Definition field's value.
 14301  func (s *GetGroupVersionOutput) SetDefinition(v *GroupVersion) *GetGroupVersionOutput {
 14302  	s.Definition = v
 14303  	return s
 14304  }
 14305  
 14306  // SetId sets the Id field's value.
 14307  func (s *GetGroupVersionOutput) SetId(v string) *GetGroupVersionOutput {
 14308  	s.Id = &v
 14309  	return s
 14310  }
 14311  
 14312  // SetVersion sets the Version field's value.
 14313  func (s *GetGroupVersionOutput) SetVersion(v string) *GetGroupVersionOutput {
 14314  	s.Version = &v
 14315  	return s
 14316  }
 14317  
 14318  type GetLoggerDefinitionInput struct {
 14319  	_ struct{} `type:"structure" nopayload:"true"`
 14320  
 14321  	// LoggerDefinitionId is a required field
 14322  	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
 14323  }
 14324  
 14325  // String returns the string representation.
 14326  //
 14327  // API parameter values that are decorated as "sensitive" in the API will not
 14328  // be included in the string output. The member name will be present, but the
 14329  // value will be replaced with "sensitive".
 14330  func (s GetLoggerDefinitionInput) String() string {
 14331  	return awsutil.Prettify(s)
 14332  }
 14333  
 14334  // GoString returns the string representation.
 14335  //
 14336  // API parameter values that are decorated as "sensitive" in the API will not
 14337  // be included in the string output. The member name will be present, but the
 14338  // value will be replaced with "sensitive".
 14339  func (s GetLoggerDefinitionInput) GoString() string {
 14340  	return s.String()
 14341  }
 14342  
 14343  // Validate inspects the fields of the type to determine if they are valid.
 14344  func (s *GetLoggerDefinitionInput) Validate() error {
 14345  	invalidParams := request.ErrInvalidParams{Context: "GetLoggerDefinitionInput"}
 14346  	if s.LoggerDefinitionId == nil {
 14347  		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
 14348  	}
 14349  	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
 14350  		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
 14351  	}
 14352  
 14353  	if invalidParams.Len() > 0 {
 14354  		return invalidParams
 14355  	}
 14356  	return nil
 14357  }
 14358  
 14359  // SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
 14360  func (s *GetLoggerDefinitionInput) SetLoggerDefinitionId(v string) *GetLoggerDefinitionInput {
 14361  	s.LoggerDefinitionId = &v
 14362  	return s
 14363  }
 14364  
 14365  type GetLoggerDefinitionOutput struct {
 14366  	_ struct{} `type:"structure"`
 14367  
 14368  	Arn *string `type:"string"`
 14369  
 14370  	CreationTimestamp *string `type:"string"`
 14371  
 14372  	Id *string `type:"string"`
 14373  
 14374  	LastUpdatedTimestamp *string `type:"string"`
 14375  
 14376  	LatestVersion *string `type:"string"`
 14377  
 14378  	LatestVersionArn *string `type:"string"`
 14379  
 14380  	Name *string `type:"string"`
 14381  
 14382  	// The key-value pair for the resource tag.
 14383  	Tags map[string]*string `locationName:"tags" type:"map"`
 14384  }
 14385  
 14386  // String returns the string representation.
 14387  //
 14388  // API parameter values that are decorated as "sensitive" in the API will not
 14389  // be included in the string output. The member name will be present, but the
 14390  // value will be replaced with "sensitive".
 14391  func (s GetLoggerDefinitionOutput) String() string {
 14392  	return awsutil.Prettify(s)
 14393  }
 14394  
 14395  // GoString returns the string representation.
 14396  //
 14397  // API parameter values that are decorated as "sensitive" in the API will not
 14398  // be included in the string output. The member name will be present, but the
 14399  // value will be replaced with "sensitive".
 14400  func (s GetLoggerDefinitionOutput) GoString() string {
 14401  	return s.String()
 14402  }
 14403  
 14404  // SetArn sets the Arn field's value.
 14405  func (s *GetLoggerDefinitionOutput) SetArn(v string) *GetLoggerDefinitionOutput {
 14406  	s.Arn = &v
 14407  	return s
 14408  }
 14409  
 14410  // SetCreationTimestamp sets the CreationTimestamp field's value.
 14411  func (s *GetLoggerDefinitionOutput) SetCreationTimestamp(v string) *GetLoggerDefinitionOutput {
 14412  	s.CreationTimestamp = &v
 14413  	return s
 14414  }
 14415  
 14416  // SetId sets the Id field's value.
 14417  func (s *GetLoggerDefinitionOutput) SetId(v string) *GetLoggerDefinitionOutput {
 14418  	s.Id = &v
 14419  	return s
 14420  }
 14421  
 14422  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 14423  func (s *GetLoggerDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetLoggerDefinitionOutput {
 14424  	s.LastUpdatedTimestamp = &v
 14425  	return s
 14426  }
 14427  
 14428  // SetLatestVersion sets the LatestVersion field's value.
 14429  func (s *GetLoggerDefinitionOutput) SetLatestVersion(v string) *GetLoggerDefinitionOutput {
 14430  	s.LatestVersion = &v
 14431  	return s
 14432  }
 14433  
 14434  // SetLatestVersionArn sets the LatestVersionArn field's value.
 14435  func (s *GetLoggerDefinitionOutput) SetLatestVersionArn(v string) *GetLoggerDefinitionOutput {
 14436  	s.LatestVersionArn = &v
 14437  	return s
 14438  }
 14439  
 14440  // SetName sets the Name field's value.
 14441  func (s *GetLoggerDefinitionOutput) SetName(v string) *GetLoggerDefinitionOutput {
 14442  	s.Name = &v
 14443  	return s
 14444  }
 14445  
 14446  // SetTags sets the Tags field's value.
 14447  func (s *GetLoggerDefinitionOutput) SetTags(v map[string]*string) *GetLoggerDefinitionOutput {
 14448  	s.Tags = v
 14449  	return s
 14450  }
 14451  
 14452  type GetLoggerDefinitionVersionInput struct {
 14453  	_ struct{} `type:"structure" nopayload:"true"`
 14454  
 14455  	// LoggerDefinitionId is a required field
 14456  	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
 14457  
 14458  	// LoggerDefinitionVersionId is a required field
 14459  	LoggerDefinitionVersionId *string `location:"uri" locationName:"LoggerDefinitionVersionId" type:"string" required:"true"`
 14460  
 14461  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 14462  }
 14463  
 14464  // String returns the string representation.
 14465  //
 14466  // API parameter values that are decorated as "sensitive" in the API will not
 14467  // be included in the string output. The member name will be present, but the
 14468  // value will be replaced with "sensitive".
 14469  func (s GetLoggerDefinitionVersionInput) String() string {
 14470  	return awsutil.Prettify(s)
 14471  }
 14472  
 14473  // GoString returns the string representation.
 14474  //
 14475  // API parameter values that are decorated as "sensitive" in the API will not
 14476  // be included in the string output. The member name will be present, but the
 14477  // value will be replaced with "sensitive".
 14478  func (s GetLoggerDefinitionVersionInput) GoString() string {
 14479  	return s.String()
 14480  }
 14481  
 14482  // Validate inspects the fields of the type to determine if they are valid.
 14483  func (s *GetLoggerDefinitionVersionInput) Validate() error {
 14484  	invalidParams := request.ErrInvalidParams{Context: "GetLoggerDefinitionVersionInput"}
 14485  	if s.LoggerDefinitionId == nil {
 14486  		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
 14487  	}
 14488  	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
 14489  		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
 14490  	}
 14491  	if s.LoggerDefinitionVersionId == nil {
 14492  		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionVersionId"))
 14493  	}
 14494  	if s.LoggerDefinitionVersionId != nil && len(*s.LoggerDefinitionVersionId) < 1 {
 14495  		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionVersionId", 1))
 14496  	}
 14497  
 14498  	if invalidParams.Len() > 0 {
 14499  		return invalidParams
 14500  	}
 14501  	return nil
 14502  }
 14503  
 14504  // SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
 14505  func (s *GetLoggerDefinitionVersionInput) SetLoggerDefinitionId(v string) *GetLoggerDefinitionVersionInput {
 14506  	s.LoggerDefinitionId = &v
 14507  	return s
 14508  }
 14509  
 14510  // SetLoggerDefinitionVersionId sets the LoggerDefinitionVersionId field's value.
 14511  func (s *GetLoggerDefinitionVersionInput) SetLoggerDefinitionVersionId(v string) *GetLoggerDefinitionVersionInput {
 14512  	s.LoggerDefinitionVersionId = &v
 14513  	return s
 14514  }
 14515  
 14516  // SetNextToken sets the NextToken field's value.
 14517  func (s *GetLoggerDefinitionVersionInput) SetNextToken(v string) *GetLoggerDefinitionVersionInput {
 14518  	s.NextToken = &v
 14519  	return s
 14520  }
 14521  
 14522  // Information about a logger definition version.
 14523  type GetLoggerDefinitionVersionOutput struct {
 14524  	_ struct{} `type:"structure"`
 14525  
 14526  	// The ARN of the logger definition version.
 14527  	Arn *string `type:"string"`
 14528  
 14529  	// The time, in milliseconds since the epoch, when the logger definition version
 14530  	// was created.
 14531  	CreationTimestamp *string `type:"string"`
 14532  
 14533  	// Information about the logger definition version.
 14534  	Definition *LoggerDefinitionVersion `type:"structure"`
 14535  
 14536  	// The ID of the logger definition version.
 14537  	Id *string `type:"string"`
 14538  
 14539  	// The version of the logger definition version.
 14540  	Version *string `type:"string"`
 14541  }
 14542  
 14543  // String returns the string representation.
 14544  //
 14545  // API parameter values that are decorated as "sensitive" in the API will not
 14546  // be included in the string output. The member name will be present, but the
 14547  // value will be replaced with "sensitive".
 14548  func (s GetLoggerDefinitionVersionOutput) String() string {
 14549  	return awsutil.Prettify(s)
 14550  }
 14551  
 14552  // GoString returns the string representation.
 14553  //
 14554  // API parameter values that are decorated as "sensitive" in the API will not
 14555  // be included in the string output. The member name will be present, but the
 14556  // value will be replaced with "sensitive".
 14557  func (s GetLoggerDefinitionVersionOutput) GoString() string {
 14558  	return s.String()
 14559  }
 14560  
 14561  // SetArn sets the Arn field's value.
 14562  func (s *GetLoggerDefinitionVersionOutput) SetArn(v string) *GetLoggerDefinitionVersionOutput {
 14563  	s.Arn = &v
 14564  	return s
 14565  }
 14566  
 14567  // SetCreationTimestamp sets the CreationTimestamp field's value.
 14568  func (s *GetLoggerDefinitionVersionOutput) SetCreationTimestamp(v string) *GetLoggerDefinitionVersionOutput {
 14569  	s.CreationTimestamp = &v
 14570  	return s
 14571  }
 14572  
 14573  // SetDefinition sets the Definition field's value.
 14574  func (s *GetLoggerDefinitionVersionOutput) SetDefinition(v *LoggerDefinitionVersion) *GetLoggerDefinitionVersionOutput {
 14575  	s.Definition = v
 14576  	return s
 14577  }
 14578  
 14579  // SetId sets the Id field's value.
 14580  func (s *GetLoggerDefinitionVersionOutput) SetId(v string) *GetLoggerDefinitionVersionOutput {
 14581  	s.Id = &v
 14582  	return s
 14583  }
 14584  
 14585  // SetVersion sets the Version field's value.
 14586  func (s *GetLoggerDefinitionVersionOutput) SetVersion(v string) *GetLoggerDefinitionVersionOutput {
 14587  	s.Version = &v
 14588  	return s
 14589  }
 14590  
 14591  type GetResourceDefinitionInput struct {
 14592  	_ struct{} `type:"structure" nopayload:"true"`
 14593  
 14594  	// ResourceDefinitionId is a required field
 14595  	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
 14596  }
 14597  
 14598  // String returns the string representation.
 14599  //
 14600  // API parameter values that are decorated as "sensitive" in the API will not
 14601  // be included in the string output. The member name will be present, but the
 14602  // value will be replaced with "sensitive".
 14603  func (s GetResourceDefinitionInput) String() string {
 14604  	return awsutil.Prettify(s)
 14605  }
 14606  
 14607  // GoString returns the string representation.
 14608  //
 14609  // API parameter values that are decorated as "sensitive" in the API will not
 14610  // be included in the string output. The member name will be present, but the
 14611  // value will be replaced with "sensitive".
 14612  func (s GetResourceDefinitionInput) GoString() string {
 14613  	return s.String()
 14614  }
 14615  
 14616  // Validate inspects the fields of the type to determine if they are valid.
 14617  func (s *GetResourceDefinitionInput) Validate() error {
 14618  	invalidParams := request.ErrInvalidParams{Context: "GetResourceDefinitionInput"}
 14619  	if s.ResourceDefinitionId == nil {
 14620  		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
 14621  	}
 14622  	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
 14623  		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
 14624  	}
 14625  
 14626  	if invalidParams.Len() > 0 {
 14627  		return invalidParams
 14628  	}
 14629  	return nil
 14630  }
 14631  
 14632  // SetResourceDefinitionId sets the ResourceDefinitionId field's value.
 14633  func (s *GetResourceDefinitionInput) SetResourceDefinitionId(v string) *GetResourceDefinitionInput {
 14634  	s.ResourceDefinitionId = &v
 14635  	return s
 14636  }
 14637  
 14638  type GetResourceDefinitionOutput struct {
 14639  	_ struct{} `type:"structure"`
 14640  
 14641  	Arn *string `type:"string"`
 14642  
 14643  	CreationTimestamp *string `type:"string"`
 14644  
 14645  	Id *string `type:"string"`
 14646  
 14647  	LastUpdatedTimestamp *string `type:"string"`
 14648  
 14649  	LatestVersion *string `type:"string"`
 14650  
 14651  	LatestVersionArn *string `type:"string"`
 14652  
 14653  	Name *string `type:"string"`
 14654  
 14655  	// The key-value pair for the resource tag.
 14656  	Tags map[string]*string `locationName:"tags" type:"map"`
 14657  }
 14658  
 14659  // String returns the string representation.
 14660  //
 14661  // API parameter values that are decorated as "sensitive" in the API will not
 14662  // be included in the string output. The member name will be present, but the
 14663  // value will be replaced with "sensitive".
 14664  func (s GetResourceDefinitionOutput) String() string {
 14665  	return awsutil.Prettify(s)
 14666  }
 14667  
 14668  // GoString returns the string representation.
 14669  //
 14670  // API parameter values that are decorated as "sensitive" in the API will not
 14671  // be included in the string output. The member name will be present, but the
 14672  // value will be replaced with "sensitive".
 14673  func (s GetResourceDefinitionOutput) GoString() string {
 14674  	return s.String()
 14675  }
 14676  
 14677  // SetArn sets the Arn field's value.
 14678  func (s *GetResourceDefinitionOutput) SetArn(v string) *GetResourceDefinitionOutput {
 14679  	s.Arn = &v
 14680  	return s
 14681  }
 14682  
 14683  // SetCreationTimestamp sets the CreationTimestamp field's value.
 14684  func (s *GetResourceDefinitionOutput) SetCreationTimestamp(v string) *GetResourceDefinitionOutput {
 14685  	s.CreationTimestamp = &v
 14686  	return s
 14687  }
 14688  
 14689  // SetId sets the Id field's value.
 14690  func (s *GetResourceDefinitionOutput) SetId(v string) *GetResourceDefinitionOutput {
 14691  	s.Id = &v
 14692  	return s
 14693  }
 14694  
 14695  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 14696  func (s *GetResourceDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetResourceDefinitionOutput {
 14697  	s.LastUpdatedTimestamp = &v
 14698  	return s
 14699  }
 14700  
 14701  // SetLatestVersion sets the LatestVersion field's value.
 14702  func (s *GetResourceDefinitionOutput) SetLatestVersion(v string) *GetResourceDefinitionOutput {
 14703  	s.LatestVersion = &v
 14704  	return s
 14705  }
 14706  
 14707  // SetLatestVersionArn sets the LatestVersionArn field's value.
 14708  func (s *GetResourceDefinitionOutput) SetLatestVersionArn(v string) *GetResourceDefinitionOutput {
 14709  	s.LatestVersionArn = &v
 14710  	return s
 14711  }
 14712  
 14713  // SetName sets the Name field's value.
 14714  func (s *GetResourceDefinitionOutput) SetName(v string) *GetResourceDefinitionOutput {
 14715  	s.Name = &v
 14716  	return s
 14717  }
 14718  
 14719  // SetTags sets the Tags field's value.
 14720  func (s *GetResourceDefinitionOutput) SetTags(v map[string]*string) *GetResourceDefinitionOutput {
 14721  	s.Tags = v
 14722  	return s
 14723  }
 14724  
 14725  type GetResourceDefinitionVersionInput struct {
 14726  	_ struct{} `type:"structure" nopayload:"true"`
 14727  
 14728  	// ResourceDefinitionId is a required field
 14729  	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
 14730  
 14731  	// ResourceDefinitionVersionId is a required field
 14732  	ResourceDefinitionVersionId *string `location:"uri" locationName:"ResourceDefinitionVersionId" type:"string" required:"true"`
 14733  }
 14734  
 14735  // String returns the string representation.
 14736  //
 14737  // API parameter values that are decorated as "sensitive" in the API will not
 14738  // be included in the string output. The member name will be present, but the
 14739  // value will be replaced with "sensitive".
 14740  func (s GetResourceDefinitionVersionInput) String() string {
 14741  	return awsutil.Prettify(s)
 14742  }
 14743  
 14744  // GoString returns the string representation.
 14745  //
 14746  // API parameter values that are decorated as "sensitive" in the API will not
 14747  // be included in the string output. The member name will be present, but the
 14748  // value will be replaced with "sensitive".
 14749  func (s GetResourceDefinitionVersionInput) GoString() string {
 14750  	return s.String()
 14751  }
 14752  
 14753  // Validate inspects the fields of the type to determine if they are valid.
 14754  func (s *GetResourceDefinitionVersionInput) Validate() error {
 14755  	invalidParams := request.ErrInvalidParams{Context: "GetResourceDefinitionVersionInput"}
 14756  	if s.ResourceDefinitionId == nil {
 14757  		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
 14758  	}
 14759  	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
 14760  		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
 14761  	}
 14762  	if s.ResourceDefinitionVersionId == nil {
 14763  		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionVersionId"))
 14764  	}
 14765  	if s.ResourceDefinitionVersionId != nil && len(*s.ResourceDefinitionVersionId) < 1 {
 14766  		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionVersionId", 1))
 14767  	}
 14768  
 14769  	if invalidParams.Len() > 0 {
 14770  		return invalidParams
 14771  	}
 14772  	return nil
 14773  }
 14774  
 14775  // SetResourceDefinitionId sets the ResourceDefinitionId field's value.
 14776  func (s *GetResourceDefinitionVersionInput) SetResourceDefinitionId(v string) *GetResourceDefinitionVersionInput {
 14777  	s.ResourceDefinitionId = &v
 14778  	return s
 14779  }
 14780  
 14781  // SetResourceDefinitionVersionId sets the ResourceDefinitionVersionId field's value.
 14782  func (s *GetResourceDefinitionVersionInput) SetResourceDefinitionVersionId(v string) *GetResourceDefinitionVersionInput {
 14783  	s.ResourceDefinitionVersionId = &v
 14784  	return s
 14785  }
 14786  
 14787  // Information about a resource definition version.
 14788  type GetResourceDefinitionVersionOutput struct {
 14789  	_ struct{} `type:"structure"`
 14790  
 14791  	// Arn of the resource definition version.
 14792  	Arn *string `type:"string"`
 14793  
 14794  	// The time, in milliseconds since the epoch, when the resource definition version
 14795  	// was created.
 14796  	CreationTimestamp *string `type:"string"`
 14797  
 14798  	// Information about the definition.
 14799  	Definition *ResourceDefinitionVersion `type:"structure"`
 14800  
 14801  	// The ID of the resource definition version.
 14802  	Id *string `type:"string"`
 14803  
 14804  	// The version of the resource definition version.
 14805  	Version *string `type:"string"`
 14806  }
 14807  
 14808  // String returns the string representation.
 14809  //
 14810  // API parameter values that are decorated as "sensitive" in the API will not
 14811  // be included in the string output. The member name will be present, but the
 14812  // value will be replaced with "sensitive".
 14813  func (s GetResourceDefinitionVersionOutput) String() string {
 14814  	return awsutil.Prettify(s)
 14815  }
 14816  
 14817  // GoString returns the string representation.
 14818  //
 14819  // API parameter values that are decorated as "sensitive" in the API will not
 14820  // be included in the string output. The member name will be present, but the
 14821  // value will be replaced with "sensitive".
 14822  func (s GetResourceDefinitionVersionOutput) GoString() string {
 14823  	return s.String()
 14824  }
 14825  
 14826  // SetArn sets the Arn field's value.
 14827  func (s *GetResourceDefinitionVersionOutput) SetArn(v string) *GetResourceDefinitionVersionOutput {
 14828  	s.Arn = &v
 14829  	return s
 14830  }
 14831  
 14832  // SetCreationTimestamp sets the CreationTimestamp field's value.
 14833  func (s *GetResourceDefinitionVersionOutput) SetCreationTimestamp(v string) *GetResourceDefinitionVersionOutput {
 14834  	s.CreationTimestamp = &v
 14835  	return s
 14836  }
 14837  
 14838  // SetDefinition sets the Definition field's value.
 14839  func (s *GetResourceDefinitionVersionOutput) SetDefinition(v *ResourceDefinitionVersion) *GetResourceDefinitionVersionOutput {
 14840  	s.Definition = v
 14841  	return s
 14842  }
 14843  
 14844  // SetId sets the Id field's value.
 14845  func (s *GetResourceDefinitionVersionOutput) SetId(v string) *GetResourceDefinitionVersionOutput {
 14846  	s.Id = &v
 14847  	return s
 14848  }
 14849  
 14850  // SetVersion sets the Version field's value.
 14851  func (s *GetResourceDefinitionVersionOutput) SetVersion(v string) *GetResourceDefinitionVersionOutput {
 14852  	s.Version = &v
 14853  	return s
 14854  }
 14855  
 14856  type GetServiceRoleForAccountInput struct {
 14857  	_ struct{} `type:"structure" nopayload:"true"`
 14858  }
 14859  
 14860  // String returns the string representation.
 14861  //
 14862  // API parameter values that are decorated as "sensitive" in the API will not
 14863  // be included in the string output. The member name will be present, but the
 14864  // value will be replaced with "sensitive".
 14865  func (s GetServiceRoleForAccountInput) String() string {
 14866  	return awsutil.Prettify(s)
 14867  }
 14868  
 14869  // GoString returns the string representation.
 14870  //
 14871  // API parameter values that are decorated as "sensitive" in the API will not
 14872  // be included in the string output. The member name will be present, but the
 14873  // value will be replaced with "sensitive".
 14874  func (s GetServiceRoleForAccountInput) GoString() string {
 14875  	return s.String()
 14876  }
 14877  
 14878  type GetServiceRoleForAccountOutput struct {
 14879  	_ struct{} `type:"structure"`
 14880  
 14881  	// The time when the service role was associated with the account.
 14882  	AssociatedAt *string `type:"string"`
 14883  
 14884  	// The ARN of the role which is associated with the account.
 14885  	RoleArn *string `type:"string"`
 14886  }
 14887  
 14888  // String returns the string representation.
 14889  //
 14890  // API parameter values that are decorated as "sensitive" in the API will not
 14891  // be included in the string output. The member name will be present, but the
 14892  // value will be replaced with "sensitive".
 14893  func (s GetServiceRoleForAccountOutput) String() string {
 14894  	return awsutil.Prettify(s)
 14895  }
 14896  
 14897  // GoString returns the string representation.
 14898  //
 14899  // API parameter values that are decorated as "sensitive" in the API will not
 14900  // be included in the string output. The member name will be present, but the
 14901  // value will be replaced with "sensitive".
 14902  func (s GetServiceRoleForAccountOutput) GoString() string {
 14903  	return s.String()
 14904  }
 14905  
 14906  // SetAssociatedAt sets the AssociatedAt field's value.
 14907  func (s *GetServiceRoleForAccountOutput) SetAssociatedAt(v string) *GetServiceRoleForAccountOutput {
 14908  	s.AssociatedAt = &v
 14909  	return s
 14910  }
 14911  
 14912  // SetRoleArn sets the RoleArn field's value.
 14913  func (s *GetServiceRoleForAccountOutput) SetRoleArn(v string) *GetServiceRoleForAccountOutput {
 14914  	s.RoleArn = &v
 14915  	return s
 14916  }
 14917  
 14918  type GetSubscriptionDefinitionInput struct {
 14919  	_ struct{} `type:"structure" nopayload:"true"`
 14920  
 14921  	// SubscriptionDefinitionId is a required field
 14922  	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
 14923  }
 14924  
 14925  // String returns the string representation.
 14926  //
 14927  // API parameter values that are decorated as "sensitive" in the API will not
 14928  // be included in the string output. The member name will be present, but the
 14929  // value will be replaced with "sensitive".
 14930  func (s GetSubscriptionDefinitionInput) String() string {
 14931  	return awsutil.Prettify(s)
 14932  }
 14933  
 14934  // GoString returns the string representation.
 14935  //
 14936  // API parameter values that are decorated as "sensitive" in the API will not
 14937  // be included in the string output. The member name will be present, but the
 14938  // value will be replaced with "sensitive".
 14939  func (s GetSubscriptionDefinitionInput) GoString() string {
 14940  	return s.String()
 14941  }
 14942  
 14943  // Validate inspects the fields of the type to determine if they are valid.
 14944  func (s *GetSubscriptionDefinitionInput) Validate() error {
 14945  	invalidParams := request.ErrInvalidParams{Context: "GetSubscriptionDefinitionInput"}
 14946  	if s.SubscriptionDefinitionId == nil {
 14947  		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
 14948  	}
 14949  	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
 14950  		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
 14951  	}
 14952  
 14953  	if invalidParams.Len() > 0 {
 14954  		return invalidParams
 14955  	}
 14956  	return nil
 14957  }
 14958  
 14959  // SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
 14960  func (s *GetSubscriptionDefinitionInput) SetSubscriptionDefinitionId(v string) *GetSubscriptionDefinitionInput {
 14961  	s.SubscriptionDefinitionId = &v
 14962  	return s
 14963  }
 14964  
 14965  type GetSubscriptionDefinitionOutput struct {
 14966  	_ struct{} `type:"structure"`
 14967  
 14968  	Arn *string `type:"string"`
 14969  
 14970  	CreationTimestamp *string `type:"string"`
 14971  
 14972  	Id *string `type:"string"`
 14973  
 14974  	LastUpdatedTimestamp *string `type:"string"`
 14975  
 14976  	LatestVersion *string `type:"string"`
 14977  
 14978  	LatestVersionArn *string `type:"string"`
 14979  
 14980  	Name *string `type:"string"`
 14981  
 14982  	// The key-value pair for the resource tag.
 14983  	Tags map[string]*string `locationName:"tags" type:"map"`
 14984  }
 14985  
 14986  // String returns the string representation.
 14987  //
 14988  // API parameter values that are decorated as "sensitive" in the API will not
 14989  // be included in the string output. The member name will be present, but the
 14990  // value will be replaced with "sensitive".
 14991  func (s GetSubscriptionDefinitionOutput) String() string {
 14992  	return awsutil.Prettify(s)
 14993  }
 14994  
 14995  // GoString returns the string representation.
 14996  //
 14997  // API parameter values that are decorated as "sensitive" in the API will not
 14998  // be included in the string output. The member name will be present, but the
 14999  // value will be replaced with "sensitive".
 15000  func (s GetSubscriptionDefinitionOutput) GoString() string {
 15001  	return s.String()
 15002  }
 15003  
 15004  // SetArn sets the Arn field's value.
 15005  func (s *GetSubscriptionDefinitionOutput) SetArn(v string) *GetSubscriptionDefinitionOutput {
 15006  	s.Arn = &v
 15007  	return s
 15008  }
 15009  
 15010  // SetCreationTimestamp sets the CreationTimestamp field's value.
 15011  func (s *GetSubscriptionDefinitionOutput) SetCreationTimestamp(v string) *GetSubscriptionDefinitionOutput {
 15012  	s.CreationTimestamp = &v
 15013  	return s
 15014  }
 15015  
 15016  // SetId sets the Id field's value.
 15017  func (s *GetSubscriptionDefinitionOutput) SetId(v string) *GetSubscriptionDefinitionOutput {
 15018  	s.Id = &v
 15019  	return s
 15020  }
 15021  
 15022  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 15023  func (s *GetSubscriptionDefinitionOutput) SetLastUpdatedTimestamp(v string) *GetSubscriptionDefinitionOutput {
 15024  	s.LastUpdatedTimestamp = &v
 15025  	return s
 15026  }
 15027  
 15028  // SetLatestVersion sets the LatestVersion field's value.
 15029  func (s *GetSubscriptionDefinitionOutput) SetLatestVersion(v string) *GetSubscriptionDefinitionOutput {
 15030  	s.LatestVersion = &v
 15031  	return s
 15032  }
 15033  
 15034  // SetLatestVersionArn sets the LatestVersionArn field's value.
 15035  func (s *GetSubscriptionDefinitionOutput) SetLatestVersionArn(v string) *GetSubscriptionDefinitionOutput {
 15036  	s.LatestVersionArn = &v
 15037  	return s
 15038  }
 15039  
 15040  // SetName sets the Name field's value.
 15041  func (s *GetSubscriptionDefinitionOutput) SetName(v string) *GetSubscriptionDefinitionOutput {
 15042  	s.Name = &v
 15043  	return s
 15044  }
 15045  
 15046  // SetTags sets the Tags field's value.
 15047  func (s *GetSubscriptionDefinitionOutput) SetTags(v map[string]*string) *GetSubscriptionDefinitionOutput {
 15048  	s.Tags = v
 15049  	return s
 15050  }
 15051  
 15052  type GetSubscriptionDefinitionVersionInput struct {
 15053  	_ struct{} `type:"structure" nopayload:"true"`
 15054  
 15055  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15056  
 15057  	// SubscriptionDefinitionId is a required field
 15058  	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
 15059  
 15060  	// SubscriptionDefinitionVersionId is a required field
 15061  	SubscriptionDefinitionVersionId *string `location:"uri" locationName:"SubscriptionDefinitionVersionId" type:"string" required:"true"`
 15062  }
 15063  
 15064  // String returns the string representation.
 15065  //
 15066  // API parameter values that are decorated as "sensitive" in the API will not
 15067  // be included in the string output. The member name will be present, but the
 15068  // value will be replaced with "sensitive".
 15069  func (s GetSubscriptionDefinitionVersionInput) String() string {
 15070  	return awsutil.Prettify(s)
 15071  }
 15072  
 15073  // GoString returns the string representation.
 15074  //
 15075  // API parameter values that are decorated as "sensitive" in the API will not
 15076  // be included in the string output. The member name will be present, but the
 15077  // value will be replaced with "sensitive".
 15078  func (s GetSubscriptionDefinitionVersionInput) GoString() string {
 15079  	return s.String()
 15080  }
 15081  
 15082  // Validate inspects the fields of the type to determine if they are valid.
 15083  func (s *GetSubscriptionDefinitionVersionInput) Validate() error {
 15084  	invalidParams := request.ErrInvalidParams{Context: "GetSubscriptionDefinitionVersionInput"}
 15085  	if s.SubscriptionDefinitionId == nil {
 15086  		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
 15087  	}
 15088  	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
 15089  		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
 15090  	}
 15091  	if s.SubscriptionDefinitionVersionId == nil {
 15092  		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionVersionId"))
 15093  	}
 15094  	if s.SubscriptionDefinitionVersionId != nil && len(*s.SubscriptionDefinitionVersionId) < 1 {
 15095  		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionVersionId", 1))
 15096  	}
 15097  
 15098  	if invalidParams.Len() > 0 {
 15099  		return invalidParams
 15100  	}
 15101  	return nil
 15102  }
 15103  
 15104  // SetNextToken sets the NextToken field's value.
 15105  func (s *GetSubscriptionDefinitionVersionInput) SetNextToken(v string) *GetSubscriptionDefinitionVersionInput {
 15106  	s.NextToken = &v
 15107  	return s
 15108  }
 15109  
 15110  // SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
 15111  func (s *GetSubscriptionDefinitionVersionInput) SetSubscriptionDefinitionId(v string) *GetSubscriptionDefinitionVersionInput {
 15112  	s.SubscriptionDefinitionId = &v
 15113  	return s
 15114  }
 15115  
 15116  // SetSubscriptionDefinitionVersionId sets the SubscriptionDefinitionVersionId field's value.
 15117  func (s *GetSubscriptionDefinitionVersionInput) SetSubscriptionDefinitionVersionId(v string) *GetSubscriptionDefinitionVersionInput {
 15118  	s.SubscriptionDefinitionVersionId = &v
 15119  	return s
 15120  }
 15121  
 15122  // Information about a subscription definition version.
 15123  type GetSubscriptionDefinitionVersionOutput struct {
 15124  	_ struct{} `type:"structure"`
 15125  
 15126  	// The ARN of the subscription definition version.
 15127  	Arn *string `type:"string"`
 15128  
 15129  	// The time, in milliseconds since the epoch, when the subscription definition
 15130  	// version was created.
 15131  	CreationTimestamp *string `type:"string"`
 15132  
 15133  	// Information about the subscription definition version.
 15134  	Definition *SubscriptionDefinitionVersion `type:"structure"`
 15135  
 15136  	// The ID of the subscription definition version.
 15137  	Id *string `type:"string"`
 15138  
 15139  	// The token for the next set of results, or ''null'' if there are no additional
 15140  	// results.
 15141  	NextToken *string `type:"string"`
 15142  
 15143  	// The version of the subscription definition version.
 15144  	Version *string `type:"string"`
 15145  }
 15146  
 15147  // String returns the string representation.
 15148  //
 15149  // API parameter values that are decorated as "sensitive" in the API will not
 15150  // be included in the string output. The member name will be present, but the
 15151  // value will be replaced with "sensitive".
 15152  func (s GetSubscriptionDefinitionVersionOutput) String() string {
 15153  	return awsutil.Prettify(s)
 15154  }
 15155  
 15156  // GoString returns the string representation.
 15157  //
 15158  // API parameter values that are decorated as "sensitive" in the API will not
 15159  // be included in the string output. The member name will be present, but the
 15160  // value will be replaced with "sensitive".
 15161  func (s GetSubscriptionDefinitionVersionOutput) GoString() string {
 15162  	return s.String()
 15163  }
 15164  
 15165  // SetArn sets the Arn field's value.
 15166  func (s *GetSubscriptionDefinitionVersionOutput) SetArn(v string) *GetSubscriptionDefinitionVersionOutput {
 15167  	s.Arn = &v
 15168  	return s
 15169  }
 15170  
 15171  // SetCreationTimestamp sets the CreationTimestamp field's value.
 15172  func (s *GetSubscriptionDefinitionVersionOutput) SetCreationTimestamp(v string) *GetSubscriptionDefinitionVersionOutput {
 15173  	s.CreationTimestamp = &v
 15174  	return s
 15175  }
 15176  
 15177  // SetDefinition sets the Definition field's value.
 15178  func (s *GetSubscriptionDefinitionVersionOutput) SetDefinition(v *SubscriptionDefinitionVersion) *GetSubscriptionDefinitionVersionOutput {
 15179  	s.Definition = v
 15180  	return s
 15181  }
 15182  
 15183  // SetId sets the Id field's value.
 15184  func (s *GetSubscriptionDefinitionVersionOutput) SetId(v string) *GetSubscriptionDefinitionVersionOutput {
 15185  	s.Id = &v
 15186  	return s
 15187  }
 15188  
 15189  // SetNextToken sets the NextToken field's value.
 15190  func (s *GetSubscriptionDefinitionVersionOutput) SetNextToken(v string) *GetSubscriptionDefinitionVersionOutput {
 15191  	s.NextToken = &v
 15192  	return s
 15193  }
 15194  
 15195  // SetVersion sets the Version field's value.
 15196  func (s *GetSubscriptionDefinitionVersionOutput) SetVersion(v string) *GetSubscriptionDefinitionVersionOutput {
 15197  	s.Version = &v
 15198  	return s
 15199  }
 15200  
 15201  type GetThingRuntimeConfigurationInput struct {
 15202  	_ struct{} `type:"structure" nopayload:"true"`
 15203  
 15204  	// ThingName is a required field
 15205  	ThingName *string `location:"uri" locationName:"ThingName" type:"string" required:"true"`
 15206  }
 15207  
 15208  // String returns the string representation.
 15209  //
 15210  // API parameter values that are decorated as "sensitive" in the API will not
 15211  // be included in the string output. The member name will be present, but the
 15212  // value will be replaced with "sensitive".
 15213  func (s GetThingRuntimeConfigurationInput) String() string {
 15214  	return awsutil.Prettify(s)
 15215  }
 15216  
 15217  // GoString returns the string representation.
 15218  //
 15219  // API parameter values that are decorated as "sensitive" in the API will not
 15220  // be included in the string output. The member name will be present, but the
 15221  // value will be replaced with "sensitive".
 15222  func (s GetThingRuntimeConfigurationInput) GoString() string {
 15223  	return s.String()
 15224  }
 15225  
 15226  // Validate inspects the fields of the type to determine if they are valid.
 15227  func (s *GetThingRuntimeConfigurationInput) Validate() error {
 15228  	invalidParams := request.ErrInvalidParams{Context: "GetThingRuntimeConfigurationInput"}
 15229  	if s.ThingName == nil {
 15230  		invalidParams.Add(request.NewErrParamRequired("ThingName"))
 15231  	}
 15232  	if s.ThingName != nil && len(*s.ThingName) < 1 {
 15233  		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
 15234  	}
 15235  
 15236  	if invalidParams.Len() > 0 {
 15237  		return invalidParams
 15238  	}
 15239  	return nil
 15240  }
 15241  
 15242  // SetThingName sets the ThingName field's value.
 15243  func (s *GetThingRuntimeConfigurationInput) SetThingName(v string) *GetThingRuntimeConfigurationInput {
 15244  	s.ThingName = &v
 15245  	return s
 15246  }
 15247  
 15248  // The runtime configuration for a thing.
 15249  type GetThingRuntimeConfigurationOutput struct {
 15250  	_ struct{} `type:"structure"`
 15251  
 15252  	// Runtime configuration for a thing.
 15253  	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
 15254  }
 15255  
 15256  // String returns the string representation.
 15257  //
 15258  // API parameter values that are decorated as "sensitive" in the API will not
 15259  // be included in the string output. The member name will be present, but the
 15260  // value will be replaced with "sensitive".
 15261  func (s GetThingRuntimeConfigurationOutput) String() string {
 15262  	return awsutil.Prettify(s)
 15263  }
 15264  
 15265  // GoString returns the string representation.
 15266  //
 15267  // API parameter values that are decorated as "sensitive" in the API will not
 15268  // be included in the string output. The member name will be present, but the
 15269  // value will be replaced with "sensitive".
 15270  func (s GetThingRuntimeConfigurationOutput) GoString() string {
 15271  	return s.String()
 15272  }
 15273  
 15274  // SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
 15275  func (s *GetThingRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *GetThingRuntimeConfigurationOutput {
 15276  	s.RuntimeConfiguration = v
 15277  	return s
 15278  }
 15279  
 15280  // Information about a certificate authority for a group.
 15281  type GroupCertificateAuthorityProperties struct {
 15282  	_ struct{} `type:"structure"`
 15283  
 15284  	// The ARN of the certificate authority for the group.
 15285  	GroupCertificateAuthorityArn *string `type:"string"`
 15286  
 15287  	// The ID of the certificate authority for the group.
 15288  	GroupCertificateAuthorityId *string `type:"string"`
 15289  }
 15290  
 15291  // String returns the string representation.
 15292  //
 15293  // API parameter values that are decorated as "sensitive" in the API will not
 15294  // be included in the string output. The member name will be present, but the
 15295  // value will be replaced with "sensitive".
 15296  func (s GroupCertificateAuthorityProperties) String() string {
 15297  	return awsutil.Prettify(s)
 15298  }
 15299  
 15300  // GoString returns the string representation.
 15301  //
 15302  // API parameter values that are decorated as "sensitive" in the API will not
 15303  // be included in the string output. The member name will be present, but the
 15304  // value will be replaced with "sensitive".
 15305  func (s GroupCertificateAuthorityProperties) GoString() string {
 15306  	return s.String()
 15307  }
 15308  
 15309  // SetGroupCertificateAuthorityArn sets the GroupCertificateAuthorityArn field's value.
 15310  func (s *GroupCertificateAuthorityProperties) SetGroupCertificateAuthorityArn(v string) *GroupCertificateAuthorityProperties {
 15311  	s.GroupCertificateAuthorityArn = &v
 15312  	return s
 15313  }
 15314  
 15315  // SetGroupCertificateAuthorityId sets the GroupCertificateAuthorityId field's value.
 15316  func (s *GroupCertificateAuthorityProperties) SetGroupCertificateAuthorityId(v string) *GroupCertificateAuthorityProperties {
 15317  	s.GroupCertificateAuthorityId = &v
 15318  	return s
 15319  }
 15320  
 15321  // Information about a group.
 15322  type GroupInformation struct {
 15323  	_ struct{} `type:"structure"`
 15324  
 15325  	// The ARN of the group.
 15326  	Arn *string `type:"string"`
 15327  
 15328  	// The time, in milliseconds since the epoch, when the group was created.
 15329  	CreationTimestamp *string `type:"string"`
 15330  
 15331  	// The ID of the group.
 15332  	Id *string `type:"string"`
 15333  
 15334  	// The time, in milliseconds since the epoch, when the group was last updated.
 15335  	LastUpdatedTimestamp *string `type:"string"`
 15336  
 15337  	// The ID of the latest version associated with the group.
 15338  	LatestVersion *string `type:"string"`
 15339  
 15340  	// The ARN of the latest version associated with the group.
 15341  	LatestVersionArn *string `type:"string"`
 15342  
 15343  	// The name of the group.
 15344  	Name *string `type:"string"`
 15345  }
 15346  
 15347  // String returns the string representation.
 15348  //
 15349  // API parameter values that are decorated as "sensitive" in the API will not
 15350  // be included in the string output. The member name will be present, but the
 15351  // value will be replaced with "sensitive".
 15352  func (s GroupInformation) String() string {
 15353  	return awsutil.Prettify(s)
 15354  }
 15355  
 15356  // GoString returns the string representation.
 15357  //
 15358  // API parameter values that are decorated as "sensitive" in the API will not
 15359  // be included in the string output. The member name will be present, but the
 15360  // value will be replaced with "sensitive".
 15361  func (s GroupInformation) GoString() string {
 15362  	return s.String()
 15363  }
 15364  
 15365  // SetArn sets the Arn field's value.
 15366  func (s *GroupInformation) SetArn(v string) *GroupInformation {
 15367  	s.Arn = &v
 15368  	return s
 15369  }
 15370  
 15371  // SetCreationTimestamp sets the CreationTimestamp field's value.
 15372  func (s *GroupInformation) SetCreationTimestamp(v string) *GroupInformation {
 15373  	s.CreationTimestamp = &v
 15374  	return s
 15375  }
 15376  
 15377  // SetId sets the Id field's value.
 15378  func (s *GroupInformation) SetId(v string) *GroupInformation {
 15379  	s.Id = &v
 15380  	return s
 15381  }
 15382  
 15383  // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
 15384  func (s *GroupInformation) SetLastUpdatedTimestamp(v string) *GroupInformation {
 15385  	s.LastUpdatedTimestamp = &v
 15386  	return s
 15387  }
 15388  
 15389  // SetLatestVersion sets the LatestVersion field's value.
 15390  func (s *GroupInformation) SetLatestVersion(v string) *GroupInformation {
 15391  	s.LatestVersion = &v
 15392  	return s
 15393  }
 15394  
 15395  // SetLatestVersionArn sets the LatestVersionArn field's value.
 15396  func (s *GroupInformation) SetLatestVersionArn(v string) *GroupInformation {
 15397  	s.LatestVersionArn = &v
 15398  	return s
 15399  }
 15400  
 15401  // SetName sets the Name field's value.
 15402  func (s *GroupInformation) SetName(v string) *GroupInformation {
 15403  	s.Name = &v
 15404  	return s
 15405  }
 15406  
 15407  // Group owner related settings for local resources.
 15408  type GroupOwnerSetting struct {
 15409  	_ struct{} `type:"structure"`
 15410  
 15411  	// If true, AWS IoT Greengrass automatically adds the specified Linux OS group
 15412  	// owner of the resource to the Lambda process privileges. Thus the Lambda process
 15413  	// will have the file access permissions of the added Linux group.
 15414  	AutoAddGroupOwner *bool `type:"boolean"`
 15415  
 15416  	// The name of the Linux OS group whose privileges will be added to the Lambda
 15417  	// process. This field is optional.
 15418  	GroupOwner *string `type:"string"`
 15419  }
 15420  
 15421  // String returns the string representation.
 15422  //
 15423  // API parameter values that are decorated as "sensitive" in the API will not
 15424  // be included in the string output. The member name will be present, but the
 15425  // value will be replaced with "sensitive".
 15426  func (s GroupOwnerSetting) String() string {
 15427  	return awsutil.Prettify(s)
 15428  }
 15429  
 15430  // GoString returns the string representation.
 15431  //
 15432  // API parameter values that are decorated as "sensitive" in the API will not
 15433  // be included in the string output. The member name will be present, but the
 15434  // value will be replaced with "sensitive".
 15435  func (s GroupOwnerSetting) GoString() string {
 15436  	return s.String()
 15437  }
 15438  
 15439  // SetAutoAddGroupOwner sets the AutoAddGroupOwner field's value.
 15440  func (s *GroupOwnerSetting) SetAutoAddGroupOwner(v bool) *GroupOwnerSetting {
 15441  	s.AutoAddGroupOwner = &v
 15442  	return s
 15443  }
 15444  
 15445  // SetGroupOwner sets the GroupOwner field's value.
 15446  func (s *GroupOwnerSetting) SetGroupOwner(v string) *GroupOwnerSetting {
 15447  	s.GroupOwner = &v
 15448  	return s
 15449  }
 15450  
 15451  // Information about a group version.
 15452  type GroupVersion struct {
 15453  	_ struct{} `type:"structure"`
 15454  
 15455  	// The ARN of the connector definition version for this group.
 15456  	ConnectorDefinitionVersionArn *string `type:"string"`
 15457  
 15458  	// The ARN of the core definition version for this group.
 15459  	CoreDefinitionVersionArn *string `type:"string"`
 15460  
 15461  	// The ARN of the device definition version for this group.
 15462  	DeviceDefinitionVersionArn *string `type:"string"`
 15463  
 15464  	// The ARN of the function definition version for this group.
 15465  	FunctionDefinitionVersionArn *string `type:"string"`
 15466  
 15467  	// The ARN of the logger definition version for this group.
 15468  	LoggerDefinitionVersionArn *string `type:"string"`
 15469  
 15470  	// The ARN of the resource definition version for this group.
 15471  	ResourceDefinitionVersionArn *string `type:"string"`
 15472  
 15473  	// The ARN of the subscription definition version for this group.
 15474  	SubscriptionDefinitionVersionArn *string `type:"string"`
 15475  }
 15476  
 15477  // String returns the string representation.
 15478  //
 15479  // API parameter values that are decorated as "sensitive" in the API will not
 15480  // be included in the string output. The member name will be present, but the
 15481  // value will be replaced with "sensitive".
 15482  func (s GroupVersion) String() string {
 15483  	return awsutil.Prettify(s)
 15484  }
 15485  
 15486  // GoString returns the string representation.
 15487  //
 15488  // API parameter values that are decorated as "sensitive" in the API will not
 15489  // be included in the string output. The member name will be present, but the
 15490  // value will be replaced with "sensitive".
 15491  func (s GroupVersion) GoString() string {
 15492  	return s.String()
 15493  }
 15494  
 15495  // SetConnectorDefinitionVersionArn sets the ConnectorDefinitionVersionArn field's value.
 15496  func (s *GroupVersion) SetConnectorDefinitionVersionArn(v string) *GroupVersion {
 15497  	s.ConnectorDefinitionVersionArn = &v
 15498  	return s
 15499  }
 15500  
 15501  // SetCoreDefinitionVersionArn sets the CoreDefinitionVersionArn field's value.
 15502  func (s *GroupVersion) SetCoreDefinitionVersionArn(v string) *GroupVersion {
 15503  	s.CoreDefinitionVersionArn = &v
 15504  	return s
 15505  }
 15506  
 15507  // SetDeviceDefinitionVersionArn sets the DeviceDefinitionVersionArn field's value.
 15508  func (s *GroupVersion) SetDeviceDefinitionVersionArn(v string) *GroupVersion {
 15509  	s.DeviceDefinitionVersionArn = &v
 15510  	return s
 15511  }
 15512  
 15513  // SetFunctionDefinitionVersionArn sets the FunctionDefinitionVersionArn field's value.
 15514  func (s *GroupVersion) SetFunctionDefinitionVersionArn(v string) *GroupVersion {
 15515  	s.FunctionDefinitionVersionArn = &v
 15516  	return s
 15517  }
 15518  
 15519  // SetLoggerDefinitionVersionArn sets the LoggerDefinitionVersionArn field's value.
 15520  func (s *GroupVersion) SetLoggerDefinitionVersionArn(v string) *GroupVersion {
 15521  	s.LoggerDefinitionVersionArn = &v
 15522  	return s
 15523  }
 15524  
 15525  // SetResourceDefinitionVersionArn sets the ResourceDefinitionVersionArn field's value.
 15526  func (s *GroupVersion) SetResourceDefinitionVersionArn(v string) *GroupVersion {
 15527  	s.ResourceDefinitionVersionArn = &v
 15528  	return s
 15529  }
 15530  
 15531  // SetSubscriptionDefinitionVersionArn sets the SubscriptionDefinitionVersionArn field's value.
 15532  func (s *GroupVersion) SetSubscriptionDefinitionVersionArn(v string) *GroupVersion {
 15533  	s.SubscriptionDefinitionVersionArn = &v
 15534  	return s
 15535  }
 15536  
 15537  // General error information.
 15538  type InternalServerErrorException struct {
 15539  	_            struct{}                  `type:"structure"`
 15540  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15541  
 15542  	// A list of error details.
 15543  	ErrorDetails []*ErrorDetail `type:"list"`
 15544  
 15545  	Message_ *string `locationName:"Message" type:"string"`
 15546  }
 15547  
 15548  // String returns the string representation.
 15549  //
 15550  // API parameter values that are decorated as "sensitive" in the API will not
 15551  // be included in the string output. The member name will be present, but the
 15552  // value will be replaced with "sensitive".
 15553  func (s InternalServerErrorException) String() string {
 15554  	return awsutil.Prettify(s)
 15555  }
 15556  
 15557  // GoString returns the string representation.
 15558  //
 15559  // API parameter values that are decorated as "sensitive" in the API will not
 15560  // be included in the string output. The member name will be present, but the
 15561  // value will be replaced with "sensitive".
 15562  func (s InternalServerErrorException) GoString() string {
 15563  	return s.String()
 15564  }
 15565  
 15566  func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
 15567  	return &InternalServerErrorException{
 15568  		RespMetadata: v,
 15569  	}
 15570  }
 15571  
 15572  // Code returns the exception type name.
 15573  func (s *InternalServerErrorException) Code() string {
 15574  	return "InternalServerErrorException"
 15575  }
 15576  
 15577  // Message returns the exception's message.
 15578  func (s *InternalServerErrorException) Message() string {
 15579  	if s.Message_ != nil {
 15580  		return *s.Message_
 15581  	}
 15582  	return ""
 15583  }
 15584  
 15585  // OrigErr always returns nil, satisfies awserr.Error interface.
 15586  func (s *InternalServerErrorException) OrigErr() error {
 15587  	return nil
 15588  }
 15589  
 15590  func (s *InternalServerErrorException) Error() string {
 15591  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 15592  }
 15593  
 15594  // Status code returns the HTTP status code for the request's response error.
 15595  func (s *InternalServerErrorException) StatusCode() int {
 15596  	return s.RespMetadata.StatusCode
 15597  }
 15598  
 15599  // RequestID returns the service's response RequestID for request.
 15600  func (s *InternalServerErrorException) RequestID() string {
 15601  	return s.RespMetadata.RequestID
 15602  }
 15603  
 15604  type ListBulkDeploymentDetailedReportsInput struct {
 15605  	_ struct{} `type:"structure" nopayload:"true"`
 15606  
 15607  	// BulkDeploymentId is a required field
 15608  	BulkDeploymentId *string `location:"uri" locationName:"BulkDeploymentId" type:"string" required:"true"`
 15609  
 15610  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 15611  
 15612  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15613  }
 15614  
 15615  // String returns the string representation.
 15616  //
 15617  // API parameter values that are decorated as "sensitive" in the API will not
 15618  // be included in the string output. The member name will be present, but the
 15619  // value will be replaced with "sensitive".
 15620  func (s ListBulkDeploymentDetailedReportsInput) String() string {
 15621  	return awsutil.Prettify(s)
 15622  }
 15623  
 15624  // GoString returns the string representation.
 15625  //
 15626  // API parameter values that are decorated as "sensitive" in the API will not
 15627  // be included in the string output. The member name will be present, but the
 15628  // value will be replaced with "sensitive".
 15629  func (s ListBulkDeploymentDetailedReportsInput) GoString() string {
 15630  	return s.String()
 15631  }
 15632  
 15633  // Validate inspects the fields of the type to determine if they are valid.
 15634  func (s *ListBulkDeploymentDetailedReportsInput) Validate() error {
 15635  	invalidParams := request.ErrInvalidParams{Context: "ListBulkDeploymentDetailedReportsInput"}
 15636  	if s.BulkDeploymentId == nil {
 15637  		invalidParams.Add(request.NewErrParamRequired("BulkDeploymentId"))
 15638  	}
 15639  	if s.BulkDeploymentId != nil && len(*s.BulkDeploymentId) < 1 {
 15640  		invalidParams.Add(request.NewErrParamMinLen("BulkDeploymentId", 1))
 15641  	}
 15642  
 15643  	if invalidParams.Len() > 0 {
 15644  		return invalidParams
 15645  	}
 15646  	return nil
 15647  }
 15648  
 15649  // SetBulkDeploymentId sets the BulkDeploymentId field's value.
 15650  func (s *ListBulkDeploymentDetailedReportsInput) SetBulkDeploymentId(v string) *ListBulkDeploymentDetailedReportsInput {
 15651  	s.BulkDeploymentId = &v
 15652  	return s
 15653  }
 15654  
 15655  // SetMaxResults sets the MaxResults field's value.
 15656  func (s *ListBulkDeploymentDetailedReportsInput) SetMaxResults(v string) *ListBulkDeploymentDetailedReportsInput {
 15657  	s.MaxResults = &v
 15658  	return s
 15659  }
 15660  
 15661  // SetNextToken sets the NextToken field's value.
 15662  func (s *ListBulkDeploymentDetailedReportsInput) SetNextToken(v string) *ListBulkDeploymentDetailedReportsInput {
 15663  	s.NextToken = &v
 15664  	return s
 15665  }
 15666  
 15667  type ListBulkDeploymentDetailedReportsOutput struct {
 15668  	_ struct{} `type:"structure"`
 15669  
 15670  	// A list of the individual group deployments in the bulk deployment operation.
 15671  	Deployments []*BulkDeploymentResult `type:"list"`
 15672  
 15673  	// The token for the next set of results, or ''null'' if there are no additional
 15674  	// results.
 15675  	NextToken *string `type:"string"`
 15676  }
 15677  
 15678  // String returns the string representation.
 15679  //
 15680  // API parameter values that are decorated as "sensitive" in the API will not
 15681  // be included in the string output. The member name will be present, but the
 15682  // value will be replaced with "sensitive".
 15683  func (s ListBulkDeploymentDetailedReportsOutput) String() string {
 15684  	return awsutil.Prettify(s)
 15685  }
 15686  
 15687  // GoString returns the string representation.
 15688  //
 15689  // API parameter values that are decorated as "sensitive" in the API will not
 15690  // be included in the string output. The member name will be present, but the
 15691  // value will be replaced with "sensitive".
 15692  func (s ListBulkDeploymentDetailedReportsOutput) GoString() string {
 15693  	return s.String()
 15694  }
 15695  
 15696  // SetDeployments sets the Deployments field's value.
 15697  func (s *ListBulkDeploymentDetailedReportsOutput) SetDeployments(v []*BulkDeploymentResult) *ListBulkDeploymentDetailedReportsOutput {
 15698  	s.Deployments = v
 15699  	return s
 15700  }
 15701  
 15702  // SetNextToken sets the NextToken field's value.
 15703  func (s *ListBulkDeploymentDetailedReportsOutput) SetNextToken(v string) *ListBulkDeploymentDetailedReportsOutput {
 15704  	s.NextToken = &v
 15705  	return s
 15706  }
 15707  
 15708  type ListBulkDeploymentsInput struct {
 15709  	_ struct{} `type:"structure" nopayload:"true"`
 15710  
 15711  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 15712  
 15713  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15714  }
 15715  
 15716  // String returns the string representation.
 15717  //
 15718  // API parameter values that are decorated as "sensitive" in the API will not
 15719  // be included in the string output. The member name will be present, but the
 15720  // value will be replaced with "sensitive".
 15721  func (s ListBulkDeploymentsInput) String() string {
 15722  	return awsutil.Prettify(s)
 15723  }
 15724  
 15725  // GoString returns the string representation.
 15726  //
 15727  // API parameter values that are decorated as "sensitive" in the API will not
 15728  // be included in the string output. The member name will be present, but the
 15729  // value will be replaced with "sensitive".
 15730  func (s ListBulkDeploymentsInput) GoString() string {
 15731  	return s.String()
 15732  }
 15733  
 15734  // SetMaxResults sets the MaxResults field's value.
 15735  func (s *ListBulkDeploymentsInput) SetMaxResults(v string) *ListBulkDeploymentsInput {
 15736  	s.MaxResults = &v
 15737  	return s
 15738  }
 15739  
 15740  // SetNextToken sets the NextToken field's value.
 15741  func (s *ListBulkDeploymentsInput) SetNextToken(v string) *ListBulkDeploymentsInput {
 15742  	s.NextToken = &v
 15743  	return s
 15744  }
 15745  
 15746  type ListBulkDeploymentsOutput struct {
 15747  	_ struct{} `type:"structure"`
 15748  
 15749  	// A list of bulk deployments.
 15750  	BulkDeployments []*BulkDeployment `type:"list"`
 15751  
 15752  	// The token for the next set of results, or ''null'' if there are no additional
 15753  	// results.
 15754  	NextToken *string `type:"string"`
 15755  }
 15756  
 15757  // String returns the string representation.
 15758  //
 15759  // API parameter values that are decorated as "sensitive" in the API will not
 15760  // be included in the string output. The member name will be present, but the
 15761  // value will be replaced with "sensitive".
 15762  func (s ListBulkDeploymentsOutput) String() string {
 15763  	return awsutil.Prettify(s)
 15764  }
 15765  
 15766  // GoString returns the string representation.
 15767  //
 15768  // API parameter values that are decorated as "sensitive" in the API will not
 15769  // be included in the string output. The member name will be present, but the
 15770  // value will be replaced with "sensitive".
 15771  func (s ListBulkDeploymentsOutput) GoString() string {
 15772  	return s.String()
 15773  }
 15774  
 15775  // SetBulkDeployments sets the BulkDeployments field's value.
 15776  func (s *ListBulkDeploymentsOutput) SetBulkDeployments(v []*BulkDeployment) *ListBulkDeploymentsOutput {
 15777  	s.BulkDeployments = v
 15778  	return s
 15779  }
 15780  
 15781  // SetNextToken sets the NextToken field's value.
 15782  func (s *ListBulkDeploymentsOutput) SetNextToken(v string) *ListBulkDeploymentsOutput {
 15783  	s.NextToken = &v
 15784  	return s
 15785  }
 15786  
 15787  type ListConnectorDefinitionVersionsInput struct {
 15788  	_ struct{} `type:"structure" nopayload:"true"`
 15789  
 15790  	// ConnectorDefinitionId is a required field
 15791  	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
 15792  
 15793  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 15794  
 15795  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15796  }
 15797  
 15798  // String returns the string representation.
 15799  //
 15800  // API parameter values that are decorated as "sensitive" in the API will not
 15801  // be included in the string output. The member name will be present, but the
 15802  // value will be replaced with "sensitive".
 15803  func (s ListConnectorDefinitionVersionsInput) String() string {
 15804  	return awsutil.Prettify(s)
 15805  }
 15806  
 15807  // GoString returns the string representation.
 15808  //
 15809  // API parameter values that are decorated as "sensitive" in the API will not
 15810  // be included in the string output. The member name will be present, but the
 15811  // value will be replaced with "sensitive".
 15812  func (s ListConnectorDefinitionVersionsInput) GoString() string {
 15813  	return s.String()
 15814  }
 15815  
 15816  // Validate inspects the fields of the type to determine if they are valid.
 15817  func (s *ListConnectorDefinitionVersionsInput) Validate() error {
 15818  	invalidParams := request.ErrInvalidParams{Context: "ListConnectorDefinitionVersionsInput"}
 15819  	if s.ConnectorDefinitionId == nil {
 15820  		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
 15821  	}
 15822  	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
 15823  		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
 15824  	}
 15825  
 15826  	if invalidParams.Len() > 0 {
 15827  		return invalidParams
 15828  	}
 15829  	return nil
 15830  }
 15831  
 15832  // SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
 15833  func (s *ListConnectorDefinitionVersionsInput) SetConnectorDefinitionId(v string) *ListConnectorDefinitionVersionsInput {
 15834  	s.ConnectorDefinitionId = &v
 15835  	return s
 15836  }
 15837  
 15838  // SetMaxResults sets the MaxResults field's value.
 15839  func (s *ListConnectorDefinitionVersionsInput) SetMaxResults(v string) *ListConnectorDefinitionVersionsInput {
 15840  	s.MaxResults = &v
 15841  	return s
 15842  }
 15843  
 15844  // SetNextToken sets the NextToken field's value.
 15845  func (s *ListConnectorDefinitionVersionsInput) SetNextToken(v string) *ListConnectorDefinitionVersionsInput {
 15846  	s.NextToken = &v
 15847  	return s
 15848  }
 15849  
 15850  type ListConnectorDefinitionVersionsOutput struct {
 15851  	_ struct{} `type:"structure"`
 15852  
 15853  	NextToken *string `type:"string"`
 15854  
 15855  	Versions []*VersionInformation `type:"list"`
 15856  }
 15857  
 15858  // String returns the string representation.
 15859  //
 15860  // API parameter values that are decorated as "sensitive" in the API will not
 15861  // be included in the string output. The member name will be present, but the
 15862  // value will be replaced with "sensitive".
 15863  func (s ListConnectorDefinitionVersionsOutput) String() string {
 15864  	return awsutil.Prettify(s)
 15865  }
 15866  
 15867  // GoString returns the string representation.
 15868  //
 15869  // API parameter values that are decorated as "sensitive" in the API will not
 15870  // be included in the string output. The member name will be present, but the
 15871  // value will be replaced with "sensitive".
 15872  func (s ListConnectorDefinitionVersionsOutput) GoString() string {
 15873  	return s.String()
 15874  }
 15875  
 15876  // SetNextToken sets the NextToken field's value.
 15877  func (s *ListConnectorDefinitionVersionsOutput) SetNextToken(v string) *ListConnectorDefinitionVersionsOutput {
 15878  	s.NextToken = &v
 15879  	return s
 15880  }
 15881  
 15882  // SetVersions sets the Versions field's value.
 15883  func (s *ListConnectorDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListConnectorDefinitionVersionsOutput {
 15884  	s.Versions = v
 15885  	return s
 15886  }
 15887  
 15888  type ListConnectorDefinitionsInput struct {
 15889  	_ struct{} `type:"structure" nopayload:"true"`
 15890  
 15891  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 15892  
 15893  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15894  }
 15895  
 15896  // String returns the string representation.
 15897  //
 15898  // API parameter values that are decorated as "sensitive" in the API will not
 15899  // be included in the string output. The member name will be present, but the
 15900  // value will be replaced with "sensitive".
 15901  func (s ListConnectorDefinitionsInput) String() string {
 15902  	return awsutil.Prettify(s)
 15903  }
 15904  
 15905  // GoString returns the string representation.
 15906  //
 15907  // API parameter values that are decorated as "sensitive" in the API will not
 15908  // be included in the string output. The member name will be present, but the
 15909  // value will be replaced with "sensitive".
 15910  func (s ListConnectorDefinitionsInput) GoString() string {
 15911  	return s.String()
 15912  }
 15913  
 15914  // SetMaxResults sets the MaxResults field's value.
 15915  func (s *ListConnectorDefinitionsInput) SetMaxResults(v string) *ListConnectorDefinitionsInput {
 15916  	s.MaxResults = &v
 15917  	return s
 15918  }
 15919  
 15920  // SetNextToken sets the NextToken field's value.
 15921  func (s *ListConnectorDefinitionsInput) SetNextToken(v string) *ListConnectorDefinitionsInput {
 15922  	s.NextToken = &v
 15923  	return s
 15924  }
 15925  
 15926  type ListConnectorDefinitionsOutput struct {
 15927  	_ struct{} `type:"structure"`
 15928  
 15929  	Definitions []*DefinitionInformation `type:"list"`
 15930  
 15931  	NextToken *string `type:"string"`
 15932  }
 15933  
 15934  // String returns the string representation.
 15935  //
 15936  // API parameter values that are decorated as "sensitive" in the API will not
 15937  // be included in the string output. The member name will be present, but the
 15938  // value will be replaced with "sensitive".
 15939  func (s ListConnectorDefinitionsOutput) String() string {
 15940  	return awsutil.Prettify(s)
 15941  }
 15942  
 15943  // GoString returns the string representation.
 15944  //
 15945  // API parameter values that are decorated as "sensitive" in the API will not
 15946  // be included in the string output. The member name will be present, but the
 15947  // value will be replaced with "sensitive".
 15948  func (s ListConnectorDefinitionsOutput) GoString() string {
 15949  	return s.String()
 15950  }
 15951  
 15952  // SetDefinitions sets the Definitions field's value.
 15953  func (s *ListConnectorDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListConnectorDefinitionsOutput {
 15954  	s.Definitions = v
 15955  	return s
 15956  }
 15957  
 15958  // SetNextToken sets the NextToken field's value.
 15959  func (s *ListConnectorDefinitionsOutput) SetNextToken(v string) *ListConnectorDefinitionsOutput {
 15960  	s.NextToken = &v
 15961  	return s
 15962  }
 15963  
 15964  type ListCoreDefinitionVersionsInput struct {
 15965  	_ struct{} `type:"structure" nopayload:"true"`
 15966  
 15967  	// CoreDefinitionId is a required field
 15968  	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
 15969  
 15970  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 15971  
 15972  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 15973  }
 15974  
 15975  // String returns the string representation.
 15976  //
 15977  // API parameter values that are decorated as "sensitive" in the API will not
 15978  // be included in the string output. The member name will be present, but the
 15979  // value will be replaced with "sensitive".
 15980  func (s ListCoreDefinitionVersionsInput) String() string {
 15981  	return awsutil.Prettify(s)
 15982  }
 15983  
 15984  // GoString returns the string representation.
 15985  //
 15986  // API parameter values that are decorated as "sensitive" in the API will not
 15987  // be included in the string output. The member name will be present, but the
 15988  // value will be replaced with "sensitive".
 15989  func (s ListCoreDefinitionVersionsInput) GoString() string {
 15990  	return s.String()
 15991  }
 15992  
 15993  // Validate inspects the fields of the type to determine if they are valid.
 15994  func (s *ListCoreDefinitionVersionsInput) Validate() error {
 15995  	invalidParams := request.ErrInvalidParams{Context: "ListCoreDefinitionVersionsInput"}
 15996  	if s.CoreDefinitionId == nil {
 15997  		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
 15998  	}
 15999  	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
 16000  		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
 16001  	}
 16002  
 16003  	if invalidParams.Len() > 0 {
 16004  		return invalidParams
 16005  	}
 16006  	return nil
 16007  }
 16008  
 16009  // SetCoreDefinitionId sets the CoreDefinitionId field's value.
 16010  func (s *ListCoreDefinitionVersionsInput) SetCoreDefinitionId(v string) *ListCoreDefinitionVersionsInput {
 16011  	s.CoreDefinitionId = &v
 16012  	return s
 16013  }
 16014  
 16015  // SetMaxResults sets the MaxResults field's value.
 16016  func (s *ListCoreDefinitionVersionsInput) SetMaxResults(v string) *ListCoreDefinitionVersionsInput {
 16017  	s.MaxResults = &v
 16018  	return s
 16019  }
 16020  
 16021  // SetNextToken sets the NextToken field's value.
 16022  func (s *ListCoreDefinitionVersionsInput) SetNextToken(v string) *ListCoreDefinitionVersionsInput {
 16023  	s.NextToken = &v
 16024  	return s
 16025  }
 16026  
 16027  type ListCoreDefinitionVersionsOutput struct {
 16028  	_ struct{} `type:"structure"`
 16029  
 16030  	NextToken *string `type:"string"`
 16031  
 16032  	Versions []*VersionInformation `type:"list"`
 16033  }
 16034  
 16035  // String returns the string representation.
 16036  //
 16037  // API parameter values that are decorated as "sensitive" in the API will not
 16038  // be included in the string output. The member name will be present, but the
 16039  // value will be replaced with "sensitive".
 16040  func (s ListCoreDefinitionVersionsOutput) String() string {
 16041  	return awsutil.Prettify(s)
 16042  }
 16043  
 16044  // GoString returns the string representation.
 16045  //
 16046  // API parameter values that are decorated as "sensitive" in the API will not
 16047  // be included in the string output. The member name will be present, but the
 16048  // value will be replaced with "sensitive".
 16049  func (s ListCoreDefinitionVersionsOutput) GoString() string {
 16050  	return s.String()
 16051  }
 16052  
 16053  // SetNextToken sets the NextToken field's value.
 16054  func (s *ListCoreDefinitionVersionsOutput) SetNextToken(v string) *ListCoreDefinitionVersionsOutput {
 16055  	s.NextToken = &v
 16056  	return s
 16057  }
 16058  
 16059  // SetVersions sets the Versions field's value.
 16060  func (s *ListCoreDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListCoreDefinitionVersionsOutput {
 16061  	s.Versions = v
 16062  	return s
 16063  }
 16064  
 16065  type ListCoreDefinitionsInput struct {
 16066  	_ struct{} `type:"structure" nopayload:"true"`
 16067  
 16068  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 16069  
 16070  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16071  }
 16072  
 16073  // String returns the string representation.
 16074  //
 16075  // API parameter values that are decorated as "sensitive" in the API will not
 16076  // be included in the string output. The member name will be present, but the
 16077  // value will be replaced with "sensitive".
 16078  func (s ListCoreDefinitionsInput) String() string {
 16079  	return awsutil.Prettify(s)
 16080  }
 16081  
 16082  // GoString returns the string representation.
 16083  //
 16084  // API parameter values that are decorated as "sensitive" in the API will not
 16085  // be included in the string output. The member name will be present, but the
 16086  // value will be replaced with "sensitive".
 16087  func (s ListCoreDefinitionsInput) GoString() string {
 16088  	return s.String()
 16089  }
 16090  
 16091  // SetMaxResults sets the MaxResults field's value.
 16092  func (s *ListCoreDefinitionsInput) SetMaxResults(v string) *ListCoreDefinitionsInput {
 16093  	s.MaxResults = &v
 16094  	return s
 16095  }
 16096  
 16097  // SetNextToken sets the NextToken field's value.
 16098  func (s *ListCoreDefinitionsInput) SetNextToken(v string) *ListCoreDefinitionsInput {
 16099  	s.NextToken = &v
 16100  	return s
 16101  }
 16102  
 16103  type ListCoreDefinitionsOutput struct {
 16104  	_ struct{} `type:"structure"`
 16105  
 16106  	Definitions []*DefinitionInformation `type:"list"`
 16107  
 16108  	NextToken *string `type:"string"`
 16109  }
 16110  
 16111  // String returns the string representation.
 16112  //
 16113  // API parameter values that are decorated as "sensitive" in the API will not
 16114  // be included in the string output. The member name will be present, but the
 16115  // value will be replaced with "sensitive".
 16116  func (s ListCoreDefinitionsOutput) String() string {
 16117  	return awsutil.Prettify(s)
 16118  }
 16119  
 16120  // GoString returns the string representation.
 16121  //
 16122  // API parameter values that are decorated as "sensitive" in the API will not
 16123  // be included in the string output. The member name will be present, but the
 16124  // value will be replaced with "sensitive".
 16125  func (s ListCoreDefinitionsOutput) GoString() string {
 16126  	return s.String()
 16127  }
 16128  
 16129  // SetDefinitions sets the Definitions field's value.
 16130  func (s *ListCoreDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListCoreDefinitionsOutput {
 16131  	s.Definitions = v
 16132  	return s
 16133  }
 16134  
 16135  // SetNextToken sets the NextToken field's value.
 16136  func (s *ListCoreDefinitionsOutput) SetNextToken(v string) *ListCoreDefinitionsOutput {
 16137  	s.NextToken = &v
 16138  	return s
 16139  }
 16140  
 16141  type ListDeploymentsInput struct {
 16142  	_ struct{} `type:"structure" nopayload:"true"`
 16143  
 16144  	// GroupId is a required field
 16145  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 16146  
 16147  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 16148  
 16149  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16150  }
 16151  
 16152  // String returns the string representation.
 16153  //
 16154  // API parameter values that are decorated as "sensitive" in the API will not
 16155  // be included in the string output. The member name will be present, but the
 16156  // value will be replaced with "sensitive".
 16157  func (s ListDeploymentsInput) String() string {
 16158  	return awsutil.Prettify(s)
 16159  }
 16160  
 16161  // GoString returns the string representation.
 16162  //
 16163  // API parameter values that are decorated as "sensitive" in the API will not
 16164  // be included in the string output. The member name will be present, but the
 16165  // value will be replaced with "sensitive".
 16166  func (s ListDeploymentsInput) GoString() string {
 16167  	return s.String()
 16168  }
 16169  
 16170  // Validate inspects the fields of the type to determine if they are valid.
 16171  func (s *ListDeploymentsInput) Validate() error {
 16172  	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentsInput"}
 16173  	if s.GroupId == nil {
 16174  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 16175  	}
 16176  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 16177  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 16178  	}
 16179  
 16180  	if invalidParams.Len() > 0 {
 16181  		return invalidParams
 16182  	}
 16183  	return nil
 16184  }
 16185  
 16186  // SetGroupId sets the GroupId field's value.
 16187  func (s *ListDeploymentsInput) SetGroupId(v string) *ListDeploymentsInput {
 16188  	s.GroupId = &v
 16189  	return s
 16190  }
 16191  
 16192  // SetMaxResults sets the MaxResults field's value.
 16193  func (s *ListDeploymentsInput) SetMaxResults(v string) *ListDeploymentsInput {
 16194  	s.MaxResults = &v
 16195  	return s
 16196  }
 16197  
 16198  // SetNextToken sets the NextToken field's value.
 16199  func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput {
 16200  	s.NextToken = &v
 16201  	return s
 16202  }
 16203  
 16204  type ListDeploymentsOutput struct {
 16205  	_ struct{} `type:"structure"`
 16206  
 16207  	// A list of deployments for the requested groups.
 16208  	Deployments []*Deployment `type:"list"`
 16209  
 16210  	// The token for the next set of results, or ''null'' if there are no additional
 16211  	// results.
 16212  	NextToken *string `type:"string"`
 16213  }
 16214  
 16215  // String returns the string representation.
 16216  //
 16217  // API parameter values that are decorated as "sensitive" in the API will not
 16218  // be included in the string output. The member name will be present, but the
 16219  // value will be replaced with "sensitive".
 16220  func (s ListDeploymentsOutput) String() string {
 16221  	return awsutil.Prettify(s)
 16222  }
 16223  
 16224  // GoString returns the string representation.
 16225  //
 16226  // API parameter values that are decorated as "sensitive" in the API will not
 16227  // be included in the string output. The member name will be present, but the
 16228  // value will be replaced with "sensitive".
 16229  func (s ListDeploymentsOutput) GoString() string {
 16230  	return s.String()
 16231  }
 16232  
 16233  // SetDeployments sets the Deployments field's value.
 16234  func (s *ListDeploymentsOutput) SetDeployments(v []*Deployment) *ListDeploymentsOutput {
 16235  	s.Deployments = v
 16236  	return s
 16237  }
 16238  
 16239  // SetNextToken sets the NextToken field's value.
 16240  func (s *ListDeploymentsOutput) SetNextToken(v string) *ListDeploymentsOutput {
 16241  	s.NextToken = &v
 16242  	return s
 16243  }
 16244  
 16245  type ListDeviceDefinitionVersionsInput struct {
 16246  	_ struct{} `type:"structure" nopayload:"true"`
 16247  
 16248  	// DeviceDefinitionId is a required field
 16249  	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
 16250  
 16251  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 16252  
 16253  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16254  }
 16255  
 16256  // String returns the string representation.
 16257  //
 16258  // API parameter values that are decorated as "sensitive" in the API will not
 16259  // be included in the string output. The member name will be present, but the
 16260  // value will be replaced with "sensitive".
 16261  func (s ListDeviceDefinitionVersionsInput) String() string {
 16262  	return awsutil.Prettify(s)
 16263  }
 16264  
 16265  // GoString returns the string representation.
 16266  //
 16267  // API parameter values that are decorated as "sensitive" in the API will not
 16268  // be included in the string output. The member name will be present, but the
 16269  // value will be replaced with "sensitive".
 16270  func (s ListDeviceDefinitionVersionsInput) GoString() string {
 16271  	return s.String()
 16272  }
 16273  
 16274  // Validate inspects the fields of the type to determine if they are valid.
 16275  func (s *ListDeviceDefinitionVersionsInput) Validate() error {
 16276  	invalidParams := request.ErrInvalidParams{Context: "ListDeviceDefinitionVersionsInput"}
 16277  	if s.DeviceDefinitionId == nil {
 16278  		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
 16279  	}
 16280  	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
 16281  		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
 16282  	}
 16283  
 16284  	if invalidParams.Len() > 0 {
 16285  		return invalidParams
 16286  	}
 16287  	return nil
 16288  }
 16289  
 16290  // SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
 16291  func (s *ListDeviceDefinitionVersionsInput) SetDeviceDefinitionId(v string) *ListDeviceDefinitionVersionsInput {
 16292  	s.DeviceDefinitionId = &v
 16293  	return s
 16294  }
 16295  
 16296  // SetMaxResults sets the MaxResults field's value.
 16297  func (s *ListDeviceDefinitionVersionsInput) SetMaxResults(v string) *ListDeviceDefinitionVersionsInput {
 16298  	s.MaxResults = &v
 16299  	return s
 16300  }
 16301  
 16302  // SetNextToken sets the NextToken field's value.
 16303  func (s *ListDeviceDefinitionVersionsInput) SetNextToken(v string) *ListDeviceDefinitionVersionsInput {
 16304  	s.NextToken = &v
 16305  	return s
 16306  }
 16307  
 16308  type ListDeviceDefinitionVersionsOutput struct {
 16309  	_ struct{} `type:"structure"`
 16310  
 16311  	NextToken *string `type:"string"`
 16312  
 16313  	Versions []*VersionInformation `type:"list"`
 16314  }
 16315  
 16316  // String returns the string representation.
 16317  //
 16318  // API parameter values that are decorated as "sensitive" in the API will not
 16319  // be included in the string output. The member name will be present, but the
 16320  // value will be replaced with "sensitive".
 16321  func (s ListDeviceDefinitionVersionsOutput) String() string {
 16322  	return awsutil.Prettify(s)
 16323  }
 16324  
 16325  // GoString returns the string representation.
 16326  //
 16327  // API parameter values that are decorated as "sensitive" in the API will not
 16328  // be included in the string output. The member name will be present, but the
 16329  // value will be replaced with "sensitive".
 16330  func (s ListDeviceDefinitionVersionsOutput) GoString() string {
 16331  	return s.String()
 16332  }
 16333  
 16334  // SetNextToken sets the NextToken field's value.
 16335  func (s *ListDeviceDefinitionVersionsOutput) SetNextToken(v string) *ListDeviceDefinitionVersionsOutput {
 16336  	s.NextToken = &v
 16337  	return s
 16338  }
 16339  
 16340  // SetVersions sets the Versions field's value.
 16341  func (s *ListDeviceDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListDeviceDefinitionVersionsOutput {
 16342  	s.Versions = v
 16343  	return s
 16344  }
 16345  
 16346  type ListDeviceDefinitionsInput struct {
 16347  	_ struct{} `type:"structure" nopayload:"true"`
 16348  
 16349  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 16350  
 16351  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16352  }
 16353  
 16354  // String returns the string representation.
 16355  //
 16356  // API parameter values that are decorated as "sensitive" in the API will not
 16357  // be included in the string output. The member name will be present, but the
 16358  // value will be replaced with "sensitive".
 16359  func (s ListDeviceDefinitionsInput) String() string {
 16360  	return awsutil.Prettify(s)
 16361  }
 16362  
 16363  // GoString returns the string representation.
 16364  //
 16365  // API parameter values that are decorated as "sensitive" in the API will not
 16366  // be included in the string output. The member name will be present, but the
 16367  // value will be replaced with "sensitive".
 16368  func (s ListDeviceDefinitionsInput) GoString() string {
 16369  	return s.String()
 16370  }
 16371  
 16372  // SetMaxResults sets the MaxResults field's value.
 16373  func (s *ListDeviceDefinitionsInput) SetMaxResults(v string) *ListDeviceDefinitionsInput {
 16374  	s.MaxResults = &v
 16375  	return s
 16376  }
 16377  
 16378  // SetNextToken sets the NextToken field's value.
 16379  func (s *ListDeviceDefinitionsInput) SetNextToken(v string) *ListDeviceDefinitionsInput {
 16380  	s.NextToken = &v
 16381  	return s
 16382  }
 16383  
 16384  type ListDeviceDefinitionsOutput struct {
 16385  	_ struct{} `type:"structure"`
 16386  
 16387  	Definitions []*DefinitionInformation `type:"list"`
 16388  
 16389  	NextToken *string `type:"string"`
 16390  }
 16391  
 16392  // String returns the string representation.
 16393  //
 16394  // API parameter values that are decorated as "sensitive" in the API will not
 16395  // be included in the string output. The member name will be present, but the
 16396  // value will be replaced with "sensitive".
 16397  func (s ListDeviceDefinitionsOutput) String() string {
 16398  	return awsutil.Prettify(s)
 16399  }
 16400  
 16401  // GoString returns the string representation.
 16402  //
 16403  // API parameter values that are decorated as "sensitive" in the API will not
 16404  // be included in the string output. The member name will be present, but the
 16405  // value will be replaced with "sensitive".
 16406  func (s ListDeviceDefinitionsOutput) GoString() string {
 16407  	return s.String()
 16408  }
 16409  
 16410  // SetDefinitions sets the Definitions field's value.
 16411  func (s *ListDeviceDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListDeviceDefinitionsOutput {
 16412  	s.Definitions = v
 16413  	return s
 16414  }
 16415  
 16416  // SetNextToken sets the NextToken field's value.
 16417  func (s *ListDeviceDefinitionsOutput) SetNextToken(v string) *ListDeviceDefinitionsOutput {
 16418  	s.NextToken = &v
 16419  	return s
 16420  }
 16421  
 16422  type ListFunctionDefinitionVersionsInput struct {
 16423  	_ struct{} `type:"structure" nopayload:"true"`
 16424  
 16425  	// FunctionDefinitionId is a required field
 16426  	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
 16427  
 16428  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 16429  
 16430  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16431  }
 16432  
 16433  // String returns the string representation.
 16434  //
 16435  // API parameter values that are decorated as "sensitive" in the API will not
 16436  // be included in the string output. The member name will be present, but the
 16437  // value will be replaced with "sensitive".
 16438  func (s ListFunctionDefinitionVersionsInput) String() string {
 16439  	return awsutil.Prettify(s)
 16440  }
 16441  
 16442  // GoString returns the string representation.
 16443  //
 16444  // API parameter values that are decorated as "sensitive" in the API will not
 16445  // be included in the string output. The member name will be present, but the
 16446  // value will be replaced with "sensitive".
 16447  func (s ListFunctionDefinitionVersionsInput) GoString() string {
 16448  	return s.String()
 16449  }
 16450  
 16451  // Validate inspects the fields of the type to determine if they are valid.
 16452  func (s *ListFunctionDefinitionVersionsInput) Validate() error {
 16453  	invalidParams := request.ErrInvalidParams{Context: "ListFunctionDefinitionVersionsInput"}
 16454  	if s.FunctionDefinitionId == nil {
 16455  		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
 16456  	}
 16457  	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
 16458  		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
 16459  	}
 16460  
 16461  	if invalidParams.Len() > 0 {
 16462  		return invalidParams
 16463  	}
 16464  	return nil
 16465  }
 16466  
 16467  // SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
 16468  func (s *ListFunctionDefinitionVersionsInput) SetFunctionDefinitionId(v string) *ListFunctionDefinitionVersionsInput {
 16469  	s.FunctionDefinitionId = &v
 16470  	return s
 16471  }
 16472  
 16473  // SetMaxResults sets the MaxResults field's value.
 16474  func (s *ListFunctionDefinitionVersionsInput) SetMaxResults(v string) *ListFunctionDefinitionVersionsInput {
 16475  	s.MaxResults = &v
 16476  	return s
 16477  }
 16478  
 16479  // SetNextToken sets the NextToken field's value.
 16480  func (s *ListFunctionDefinitionVersionsInput) SetNextToken(v string) *ListFunctionDefinitionVersionsInput {
 16481  	s.NextToken = &v
 16482  	return s
 16483  }
 16484  
 16485  type ListFunctionDefinitionVersionsOutput struct {
 16486  	_ struct{} `type:"structure"`
 16487  
 16488  	NextToken *string `type:"string"`
 16489  
 16490  	Versions []*VersionInformation `type:"list"`
 16491  }
 16492  
 16493  // String returns the string representation.
 16494  //
 16495  // API parameter values that are decorated as "sensitive" in the API will not
 16496  // be included in the string output. The member name will be present, but the
 16497  // value will be replaced with "sensitive".
 16498  func (s ListFunctionDefinitionVersionsOutput) String() string {
 16499  	return awsutil.Prettify(s)
 16500  }
 16501  
 16502  // GoString returns the string representation.
 16503  //
 16504  // API parameter values that are decorated as "sensitive" in the API will not
 16505  // be included in the string output. The member name will be present, but the
 16506  // value will be replaced with "sensitive".
 16507  func (s ListFunctionDefinitionVersionsOutput) GoString() string {
 16508  	return s.String()
 16509  }
 16510  
 16511  // SetNextToken sets the NextToken field's value.
 16512  func (s *ListFunctionDefinitionVersionsOutput) SetNextToken(v string) *ListFunctionDefinitionVersionsOutput {
 16513  	s.NextToken = &v
 16514  	return s
 16515  }
 16516  
 16517  // SetVersions sets the Versions field's value.
 16518  func (s *ListFunctionDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListFunctionDefinitionVersionsOutput {
 16519  	s.Versions = v
 16520  	return s
 16521  }
 16522  
 16523  type ListFunctionDefinitionsInput struct {
 16524  	_ struct{} `type:"structure" nopayload:"true"`
 16525  
 16526  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 16527  
 16528  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16529  }
 16530  
 16531  // String returns the string representation.
 16532  //
 16533  // API parameter values that are decorated as "sensitive" in the API will not
 16534  // be included in the string output. The member name will be present, but the
 16535  // value will be replaced with "sensitive".
 16536  func (s ListFunctionDefinitionsInput) String() string {
 16537  	return awsutil.Prettify(s)
 16538  }
 16539  
 16540  // GoString returns the string representation.
 16541  //
 16542  // API parameter values that are decorated as "sensitive" in the API will not
 16543  // be included in the string output. The member name will be present, but the
 16544  // value will be replaced with "sensitive".
 16545  func (s ListFunctionDefinitionsInput) GoString() string {
 16546  	return s.String()
 16547  }
 16548  
 16549  // SetMaxResults sets the MaxResults field's value.
 16550  func (s *ListFunctionDefinitionsInput) SetMaxResults(v string) *ListFunctionDefinitionsInput {
 16551  	s.MaxResults = &v
 16552  	return s
 16553  }
 16554  
 16555  // SetNextToken sets the NextToken field's value.
 16556  func (s *ListFunctionDefinitionsInput) SetNextToken(v string) *ListFunctionDefinitionsInput {
 16557  	s.NextToken = &v
 16558  	return s
 16559  }
 16560  
 16561  type ListFunctionDefinitionsOutput struct {
 16562  	_ struct{} `type:"structure"`
 16563  
 16564  	Definitions []*DefinitionInformation `type:"list"`
 16565  
 16566  	NextToken *string `type:"string"`
 16567  }
 16568  
 16569  // String returns the string representation.
 16570  //
 16571  // API parameter values that are decorated as "sensitive" in the API will not
 16572  // be included in the string output. The member name will be present, but the
 16573  // value will be replaced with "sensitive".
 16574  func (s ListFunctionDefinitionsOutput) String() string {
 16575  	return awsutil.Prettify(s)
 16576  }
 16577  
 16578  // GoString returns the string representation.
 16579  //
 16580  // API parameter values that are decorated as "sensitive" in the API will not
 16581  // be included in the string output. The member name will be present, but the
 16582  // value will be replaced with "sensitive".
 16583  func (s ListFunctionDefinitionsOutput) GoString() string {
 16584  	return s.String()
 16585  }
 16586  
 16587  // SetDefinitions sets the Definitions field's value.
 16588  func (s *ListFunctionDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListFunctionDefinitionsOutput {
 16589  	s.Definitions = v
 16590  	return s
 16591  }
 16592  
 16593  // SetNextToken sets the NextToken field's value.
 16594  func (s *ListFunctionDefinitionsOutput) SetNextToken(v string) *ListFunctionDefinitionsOutput {
 16595  	s.NextToken = &v
 16596  	return s
 16597  }
 16598  
 16599  type ListGroupCertificateAuthoritiesInput struct {
 16600  	_ struct{} `type:"structure" nopayload:"true"`
 16601  
 16602  	// GroupId is a required field
 16603  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 16604  }
 16605  
 16606  // String returns the string representation.
 16607  //
 16608  // API parameter values that are decorated as "sensitive" in the API will not
 16609  // be included in the string output. The member name will be present, but the
 16610  // value will be replaced with "sensitive".
 16611  func (s ListGroupCertificateAuthoritiesInput) String() string {
 16612  	return awsutil.Prettify(s)
 16613  }
 16614  
 16615  // GoString returns the string representation.
 16616  //
 16617  // API parameter values that are decorated as "sensitive" in the API will not
 16618  // be included in the string output. The member name will be present, but the
 16619  // value will be replaced with "sensitive".
 16620  func (s ListGroupCertificateAuthoritiesInput) GoString() string {
 16621  	return s.String()
 16622  }
 16623  
 16624  // Validate inspects the fields of the type to determine if they are valid.
 16625  func (s *ListGroupCertificateAuthoritiesInput) Validate() error {
 16626  	invalidParams := request.ErrInvalidParams{Context: "ListGroupCertificateAuthoritiesInput"}
 16627  	if s.GroupId == nil {
 16628  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 16629  	}
 16630  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 16631  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 16632  	}
 16633  
 16634  	if invalidParams.Len() > 0 {
 16635  		return invalidParams
 16636  	}
 16637  	return nil
 16638  }
 16639  
 16640  // SetGroupId sets the GroupId field's value.
 16641  func (s *ListGroupCertificateAuthoritiesInput) SetGroupId(v string) *ListGroupCertificateAuthoritiesInput {
 16642  	s.GroupId = &v
 16643  	return s
 16644  }
 16645  
 16646  type ListGroupCertificateAuthoritiesOutput struct {
 16647  	_ struct{} `type:"structure"`
 16648  
 16649  	// A list of certificate authorities associated with the group.
 16650  	GroupCertificateAuthorities []*GroupCertificateAuthorityProperties `type:"list"`
 16651  }
 16652  
 16653  // String returns the string representation.
 16654  //
 16655  // API parameter values that are decorated as "sensitive" in the API will not
 16656  // be included in the string output. The member name will be present, but the
 16657  // value will be replaced with "sensitive".
 16658  func (s ListGroupCertificateAuthoritiesOutput) String() string {
 16659  	return awsutil.Prettify(s)
 16660  }
 16661  
 16662  // GoString returns the string representation.
 16663  //
 16664  // API parameter values that are decorated as "sensitive" in the API will not
 16665  // be included in the string output. The member name will be present, but the
 16666  // value will be replaced with "sensitive".
 16667  func (s ListGroupCertificateAuthoritiesOutput) GoString() string {
 16668  	return s.String()
 16669  }
 16670  
 16671  // SetGroupCertificateAuthorities sets the GroupCertificateAuthorities field's value.
 16672  func (s *ListGroupCertificateAuthoritiesOutput) SetGroupCertificateAuthorities(v []*GroupCertificateAuthorityProperties) *ListGroupCertificateAuthoritiesOutput {
 16673  	s.GroupCertificateAuthorities = v
 16674  	return s
 16675  }
 16676  
 16677  type ListGroupVersionsInput struct {
 16678  	_ struct{} `type:"structure" nopayload:"true"`
 16679  
 16680  	// GroupId is a required field
 16681  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 16682  
 16683  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 16684  
 16685  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16686  }
 16687  
 16688  // String returns the string representation.
 16689  //
 16690  // API parameter values that are decorated as "sensitive" in the API will not
 16691  // be included in the string output. The member name will be present, but the
 16692  // value will be replaced with "sensitive".
 16693  func (s ListGroupVersionsInput) String() string {
 16694  	return awsutil.Prettify(s)
 16695  }
 16696  
 16697  // GoString returns the string representation.
 16698  //
 16699  // API parameter values that are decorated as "sensitive" in the API will not
 16700  // be included in the string output. The member name will be present, but the
 16701  // value will be replaced with "sensitive".
 16702  func (s ListGroupVersionsInput) GoString() string {
 16703  	return s.String()
 16704  }
 16705  
 16706  // Validate inspects the fields of the type to determine if they are valid.
 16707  func (s *ListGroupVersionsInput) Validate() error {
 16708  	invalidParams := request.ErrInvalidParams{Context: "ListGroupVersionsInput"}
 16709  	if s.GroupId == nil {
 16710  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 16711  	}
 16712  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 16713  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 16714  	}
 16715  
 16716  	if invalidParams.Len() > 0 {
 16717  		return invalidParams
 16718  	}
 16719  	return nil
 16720  }
 16721  
 16722  // SetGroupId sets the GroupId field's value.
 16723  func (s *ListGroupVersionsInput) SetGroupId(v string) *ListGroupVersionsInput {
 16724  	s.GroupId = &v
 16725  	return s
 16726  }
 16727  
 16728  // SetMaxResults sets the MaxResults field's value.
 16729  func (s *ListGroupVersionsInput) SetMaxResults(v string) *ListGroupVersionsInput {
 16730  	s.MaxResults = &v
 16731  	return s
 16732  }
 16733  
 16734  // SetNextToken sets the NextToken field's value.
 16735  func (s *ListGroupVersionsInput) SetNextToken(v string) *ListGroupVersionsInput {
 16736  	s.NextToken = &v
 16737  	return s
 16738  }
 16739  
 16740  type ListGroupVersionsOutput struct {
 16741  	_ struct{} `type:"structure"`
 16742  
 16743  	NextToken *string `type:"string"`
 16744  
 16745  	Versions []*VersionInformation `type:"list"`
 16746  }
 16747  
 16748  // String returns the string representation.
 16749  //
 16750  // API parameter values that are decorated as "sensitive" in the API will not
 16751  // be included in the string output. The member name will be present, but the
 16752  // value will be replaced with "sensitive".
 16753  func (s ListGroupVersionsOutput) String() string {
 16754  	return awsutil.Prettify(s)
 16755  }
 16756  
 16757  // GoString returns the string representation.
 16758  //
 16759  // API parameter values that are decorated as "sensitive" in the API will not
 16760  // be included in the string output. The member name will be present, but the
 16761  // value will be replaced with "sensitive".
 16762  func (s ListGroupVersionsOutput) GoString() string {
 16763  	return s.String()
 16764  }
 16765  
 16766  // SetNextToken sets the NextToken field's value.
 16767  func (s *ListGroupVersionsOutput) SetNextToken(v string) *ListGroupVersionsOutput {
 16768  	s.NextToken = &v
 16769  	return s
 16770  }
 16771  
 16772  // SetVersions sets the Versions field's value.
 16773  func (s *ListGroupVersionsOutput) SetVersions(v []*VersionInformation) *ListGroupVersionsOutput {
 16774  	s.Versions = v
 16775  	return s
 16776  }
 16777  
 16778  type ListGroupsInput struct {
 16779  	_ struct{} `type:"structure" nopayload:"true"`
 16780  
 16781  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 16782  
 16783  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16784  }
 16785  
 16786  // String returns the string representation.
 16787  //
 16788  // API parameter values that are decorated as "sensitive" in the API will not
 16789  // be included in the string output. The member name will be present, but the
 16790  // value will be replaced with "sensitive".
 16791  func (s ListGroupsInput) String() string {
 16792  	return awsutil.Prettify(s)
 16793  }
 16794  
 16795  // GoString returns the string representation.
 16796  //
 16797  // API parameter values that are decorated as "sensitive" in the API will not
 16798  // be included in the string output. The member name will be present, but the
 16799  // value will be replaced with "sensitive".
 16800  func (s ListGroupsInput) GoString() string {
 16801  	return s.String()
 16802  }
 16803  
 16804  // SetMaxResults sets the MaxResults field's value.
 16805  func (s *ListGroupsInput) SetMaxResults(v string) *ListGroupsInput {
 16806  	s.MaxResults = &v
 16807  	return s
 16808  }
 16809  
 16810  // SetNextToken sets the NextToken field's value.
 16811  func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput {
 16812  	s.NextToken = &v
 16813  	return s
 16814  }
 16815  
 16816  type ListGroupsOutput struct {
 16817  	_ struct{} `type:"structure"`
 16818  
 16819  	// Information about a group.
 16820  	Groups []*GroupInformation `type:"list"`
 16821  
 16822  	// The token for the next set of results, or ''null'' if there are no additional
 16823  	// results.
 16824  	NextToken *string `type:"string"`
 16825  }
 16826  
 16827  // String returns the string representation.
 16828  //
 16829  // API parameter values that are decorated as "sensitive" in the API will not
 16830  // be included in the string output. The member name will be present, but the
 16831  // value will be replaced with "sensitive".
 16832  func (s ListGroupsOutput) String() string {
 16833  	return awsutil.Prettify(s)
 16834  }
 16835  
 16836  // GoString returns the string representation.
 16837  //
 16838  // API parameter values that are decorated as "sensitive" in the API will not
 16839  // be included in the string output. The member name will be present, but the
 16840  // value will be replaced with "sensitive".
 16841  func (s ListGroupsOutput) GoString() string {
 16842  	return s.String()
 16843  }
 16844  
 16845  // SetGroups sets the Groups field's value.
 16846  func (s *ListGroupsOutput) SetGroups(v []*GroupInformation) *ListGroupsOutput {
 16847  	s.Groups = v
 16848  	return s
 16849  }
 16850  
 16851  // SetNextToken sets the NextToken field's value.
 16852  func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput {
 16853  	s.NextToken = &v
 16854  	return s
 16855  }
 16856  
 16857  type ListLoggerDefinitionVersionsInput struct {
 16858  	_ struct{} `type:"structure" nopayload:"true"`
 16859  
 16860  	// LoggerDefinitionId is a required field
 16861  	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
 16862  
 16863  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 16864  
 16865  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16866  }
 16867  
 16868  // String returns the string representation.
 16869  //
 16870  // API parameter values that are decorated as "sensitive" in the API will not
 16871  // be included in the string output. The member name will be present, but the
 16872  // value will be replaced with "sensitive".
 16873  func (s ListLoggerDefinitionVersionsInput) String() string {
 16874  	return awsutil.Prettify(s)
 16875  }
 16876  
 16877  // GoString returns the string representation.
 16878  //
 16879  // API parameter values that are decorated as "sensitive" in the API will not
 16880  // be included in the string output. The member name will be present, but the
 16881  // value will be replaced with "sensitive".
 16882  func (s ListLoggerDefinitionVersionsInput) GoString() string {
 16883  	return s.String()
 16884  }
 16885  
 16886  // Validate inspects the fields of the type to determine if they are valid.
 16887  func (s *ListLoggerDefinitionVersionsInput) Validate() error {
 16888  	invalidParams := request.ErrInvalidParams{Context: "ListLoggerDefinitionVersionsInput"}
 16889  	if s.LoggerDefinitionId == nil {
 16890  		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
 16891  	}
 16892  	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
 16893  		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
 16894  	}
 16895  
 16896  	if invalidParams.Len() > 0 {
 16897  		return invalidParams
 16898  	}
 16899  	return nil
 16900  }
 16901  
 16902  // SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
 16903  func (s *ListLoggerDefinitionVersionsInput) SetLoggerDefinitionId(v string) *ListLoggerDefinitionVersionsInput {
 16904  	s.LoggerDefinitionId = &v
 16905  	return s
 16906  }
 16907  
 16908  // SetMaxResults sets the MaxResults field's value.
 16909  func (s *ListLoggerDefinitionVersionsInput) SetMaxResults(v string) *ListLoggerDefinitionVersionsInput {
 16910  	s.MaxResults = &v
 16911  	return s
 16912  }
 16913  
 16914  // SetNextToken sets the NextToken field's value.
 16915  func (s *ListLoggerDefinitionVersionsInput) SetNextToken(v string) *ListLoggerDefinitionVersionsInput {
 16916  	s.NextToken = &v
 16917  	return s
 16918  }
 16919  
 16920  type ListLoggerDefinitionVersionsOutput struct {
 16921  	_ struct{} `type:"structure"`
 16922  
 16923  	NextToken *string `type:"string"`
 16924  
 16925  	Versions []*VersionInformation `type:"list"`
 16926  }
 16927  
 16928  // String returns the string representation.
 16929  //
 16930  // API parameter values that are decorated as "sensitive" in the API will not
 16931  // be included in the string output. The member name will be present, but the
 16932  // value will be replaced with "sensitive".
 16933  func (s ListLoggerDefinitionVersionsOutput) String() string {
 16934  	return awsutil.Prettify(s)
 16935  }
 16936  
 16937  // GoString returns the string representation.
 16938  //
 16939  // API parameter values that are decorated as "sensitive" in the API will not
 16940  // be included in the string output. The member name will be present, but the
 16941  // value will be replaced with "sensitive".
 16942  func (s ListLoggerDefinitionVersionsOutput) GoString() string {
 16943  	return s.String()
 16944  }
 16945  
 16946  // SetNextToken sets the NextToken field's value.
 16947  func (s *ListLoggerDefinitionVersionsOutput) SetNextToken(v string) *ListLoggerDefinitionVersionsOutput {
 16948  	s.NextToken = &v
 16949  	return s
 16950  }
 16951  
 16952  // SetVersions sets the Versions field's value.
 16953  func (s *ListLoggerDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListLoggerDefinitionVersionsOutput {
 16954  	s.Versions = v
 16955  	return s
 16956  }
 16957  
 16958  type ListLoggerDefinitionsInput struct {
 16959  	_ struct{} `type:"structure" nopayload:"true"`
 16960  
 16961  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 16962  
 16963  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 16964  }
 16965  
 16966  // String returns the string representation.
 16967  //
 16968  // API parameter values that are decorated as "sensitive" in the API will not
 16969  // be included in the string output. The member name will be present, but the
 16970  // value will be replaced with "sensitive".
 16971  func (s ListLoggerDefinitionsInput) String() string {
 16972  	return awsutil.Prettify(s)
 16973  }
 16974  
 16975  // GoString returns the string representation.
 16976  //
 16977  // API parameter values that are decorated as "sensitive" in the API will not
 16978  // be included in the string output. The member name will be present, but the
 16979  // value will be replaced with "sensitive".
 16980  func (s ListLoggerDefinitionsInput) GoString() string {
 16981  	return s.String()
 16982  }
 16983  
 16984  // SetMaxResults sets the MaxResults field's value.
 16985  func (s *ListLoggerDefinitionsInput) SetMaxResults(v string) *ListLoggerDefinitionsInput {
 16986  	s.MaxResults = &v
 16987  	return s
 16988  }
 16989  
 16990  // SetNextToken sets the NextToken field's value.
 16991  func (s *ListLoggerDefinitionsInput) SetNextToken(v string) *ListLoggerDefinitionsInput {
 16992  	s.NextToken = &v
 16993  	return s
 16994  }
 16995  
 16996  type ListLoggerDefinitionsOutput struct {
 16997  	_ struct{} `type:"structure"`
 16998  
 16999  	Definitions []*DefinitionInformation `type:"list"`
 17000  
 17001  	NextToken *string `type:"string"`
 17002  }
 17003  
 17004  // String returns the string representation.
 17005  //
 17006  // API parameter values that are decorated as "sensitive" in the API will not
 17007  // be included in the string output. The member name will be present, but the
 17008  // value will be replaced with "sensitive".
 17009  func (s ListLoggerDefinitionsOutput) String() string {
 17010  	return awsutil.Prettify(s)
 17011  }
 17012  
 17013  // GoString returns the string representation.
 17014  //
 17015  // API parameter values that are decorated as "sensitive" in the API will not
 17016  // be included in the string output. The member name will be present, but the
 17017  // value will be replaced with "sensitive".
 17018  func (s ListLoggerDefinitionsOutput) GoString() string {
 17019  	return s.String()
 17020  }
 17021  
 17022  // SetDefinitions sets the Definitions field's value.
 17023  func (s *ListLoggerDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListLoggerDefinitionsOutput {
 17024  	s.Definitions = v
 17025  	return s
 17026  }
 17027  
 17028  // SetNextToken sets the NextToken field's value.
 17029  func (s *ListLoggerDefinitionsOutput) SetNextToken(v string) *ListLoggerDefinitionsOutput {
 17030  	s.NextToken = &v
 17031  	return s
 17032  }
 17033  
 17034  type ListResourceDefinitionVersionsInput struct {
 17035  	_ struct{} `type:"structure" nopayload:"true"`
 17036  
 17037  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 17038  
 17039  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 17040  
 17041  	// ResourceDefinitionId is a required field
 17042  	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
 17043  }
 17044  
 17045  // String returns the string representation.
 17046  //
 17047  // API parameter values that are decorated as "sensitive" in the API will not
 17048  // be included in the string output. The member name will be present, but the
 17049  // value will be replaced with "sensitive".
 17050  func (s ListResourceDefinitionVersionsInput) String() string {
 17051  	return awsutil.Prettify(s)
 17052  }
 17053  
 17054  // GoString returns the string representation.
 17055  //
 17056  // API parameter values that are decorated as "sensitive" in the API will not
 17057  // be included in the string output. The member name will be present, but the
 17058  // value will be replaced with "sensitive".
 17059  func (s ListResourceDefinitionVersionsInput) GoString() string {
 17060  	return s.String()
 17061  }
 17062  
 17063  // Validate inspects the fields of the type to determine if they are valid.
 17064  func (s *ListResourceDefinitionVersionsInput) Validate() error {
 17065  	invalidParams := request.ErrInvalidParams{Context: "ListResourceDefinitionVersionsInput"}
 17066  	if s.ResourceDefinitionId == nil {
 17067  		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
 17068  	}
 17069  	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
 17070  		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
 17071  	}
 17072  
 17073  	if invalidParams.Len() > 0 {
 17074  		return invalidParams
 17075  	}
 17076  	return nil
 17077  }
 17078  
 17079  // SetMaxResults sets the MaxResults field's value.
 17080  func (s *ListResourceDefinitionVersionsInput) SetMaxResults(v string) *ListResourceDefinitionVersionsInput {
 17081  	s.MaxResults = &v
 17082  	return s
 17083  }
 17084  
 17085  // SetNextToken sets the NextToken field's value.
 17086  func (s *ListResourceDefinitionVersionsInput) SetNextToken(v string) *ListResourceDefinitionVersionsInput {
 17087  	s.NextToken = &v
 17088  	return s
 17089  }
 17090  
 17091  // SetResourceDefinitionId sets the ResourceDefinitionId field's value.
 17092  func (s *ListResourceDefinitionVersionsInput) SetResourceDefinitionId(v string) *ListResourceDefinitionVersionsInput {
 17093  	s.ResourceDefinitionId = &v
 17094  	return s
 17095  }
 17096  
 17097  type ListResourceDefinitionVersionsOutput struct {
 17098  	_ struct{} `type:"structure"`
 17099  
 17100  	NextToken *string `type:"string"`
 17101  
 17102  	Versions []*VersionInformation `type:"list"`
 17103  }
 17104  
 17105  // String returns the string representation.
 17106  //
 17107  // API parameter values that are decorated as "sensitive" in the API will not
 17108  // be included in the string output. The member name will be present, but the
 17109  // value will be replaced with "sensitive".
 17110  func (s ListResourceDefinitionVersionsOutput) String() string {
 17111  	return awsutil.Prettify(s)
 17112  }
 17113  
 17114  // GoString returns the string representation.
 17115  //
 17116  // API parameter values that are decorated as "sensitive" in the API will not
 17117  // be included in the string output. The member name will be present, but the
 17118  // value will be replaced with "sensitive".
 17119  func (s ListResourceDefinitionVersionsOutput) GoString() string {
 17120  	return s.String()
 17121  }
 17122  
 17123  // SetNextToken sets the NextToken field's value.
 17124  func (s *ListResourceDefinitionVersionsOutput) SetNextToken(v string) *ListResourceDefinitionVersionsOutput {
 17125  	s.NextToken = &v
 17126  	return s
 17127  }
 17128  
 17129  // SetVersions sets the Versions field's value.
 17130  func (s *ListResourceDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListResourceDefinitionVersionsOutput {
 17131  	s.Versions = v
 17132  	return s
 17133  }
 17134  
 17135  type ListResourceDefinitionsInput struct {
 17136  	_ struct{} `type:"structure" nopayload:"true"`
 17137  
 17138  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 17139  
 17140  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 17141  }
 17142  
 17143  // String returns the string representation.
 17144  //
 17145  // API parameter values that are decorated as "sensitive" in the API will not
 17146  // be included in the string output. The member name will be present, but the
 17147  // value will be replaced with "sensitive".
 17148  func (s ListResourceDefinitionsInput) String() string {
 17149  	return awsutil.Prettify(s)
 17150  }
 17151  
 17152  // GoString returns the string representation.
 17153  //
 17154  // API parameter values that are decorated as "sensitive" in the API will not
 17155  // be included in the string output. The member name will be present, but the
 17156  // value will be replaced with "sensitive".
 17157  func (s ListResourceDefinitionsInput) GoString() string {
 17158  	return s.String()
 17159  }
 17160  
 17161  // SetMaxResults sets the MaxResults field's value.
 17162  func (s *ListResourceDefinitionsInput) SetMaxResults(v string) *ListResourceDefinitionsInput {
 17163  	s.MaxResults = &v
 17164  	return s
 17165  }
 17166  
 17167  // SetNextToken sets the NextToken field's value.
 17168  func (s *ListResourceDefinitionsInput) SetNextToken(v string) *ListResourceDefinitionsInput {
 17169  	s.NextToken = &v
 17170  	return s
 17171  }
 17172  
 17173  type ListResourceDefinitionsOutput struct {
 17174  	_ struct{} `type:"structure"`
 17175  
 17176  	Definitions []*DefinitionInformation `type:"list"`
 17177  
 17178  	NextToken *string `type:"string"`
 17179  }
 17180  
 17181  // String returns the string representation.
 17182  //
 17183  // API parameter values that are decorated as "sensitive" in the API will not
 17184  // be included in the string output. The member name will be present, but the
 17185  // value will be replaced with "sensitive".
 17186  func (s ListResourceDefinitionsOutput) String() string {
 17187  	return awsutil.Prettify(s)
 17188  }
 17189  
 17190  // GoString returns the string representation.
 17191  //
 17192  // API parameter values that are decorated as "sensitive" in the API will not
 17193  // be included in the string output. The member name will be present, but the
 17194  // value will be replaced with "sensitive".
 17195  func (s ListResourceDefinitionsOutput) GoString() string {
 17196  	return s.String()
 17197  }
 17198  
 17199  // SetDefinitions sets the Definitions field's value.
 17200  func (s *ListResourceDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListResourceDefinitionsOutput {
 17201  	s.Definitions = v
 17202  	return s
 17203  }
 17204  
 17205  // SetNextToken sets the NextToken field's value.
 17206  func (s *ListResourceDefinitionsOutput) SetNextToken(v string) *ListResourceDefinitionsOutput {
 17207  	s.NextToken = &v
 17208  	return s
 17209  }
 17210  
 17211  type ListSubscriptionDefinitionVersionsInput struct {
 17212  	_ struct{} `type:"structure" nopayload:"true"`
 17213  
 17214  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 17215  
 17216  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 17217  
 17218  	// SubscriptionDefinitionId is a required field
 17219  	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
 17220  }
 17221  
 17222  // String returns the string representation.
 17223  //
 17224  // API parameter values that are decorated as "sensitive" in the API will not
 17225  // be included in the string output. The member name will be present, but the
 17226  // value will be replaced with "sensitive".
 17227  func (s ListSubscriptionDefinitionVersionsInput) String() string {
 17228  	return awsutil.Prettify(s)
 17229  }
 17230  
 17231  // GoString returns the string representation.
 17232  //
 17233  // API parameter values that are decorated as "sensitive" in the API will not
 17234  // be included in the string output. The member name will be present, but the
 17235  // value will be replaced with "sensitive".
 17236  func (s ListSubscriptionDefinitionVersionsInput) GoString() string {
 17237  	return s.String()
 17238  }
 17239  
 17240  // Validate inspects the fields of the type to determine if they are valid.
 17241  func (s *ListSubscriptionDefinitionVersionsInput) Validate() error {
 17242  	invalidParams := request.ErrInvalidParams{Context: "ListSubscriptionDefinitionVersionsInput"}
 17243  	if s.SubscriptionDefinitionId == nil {
 17244  		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
 17245  	}
 17246  	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
 17247  		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
 17248  	}
 17249  
 17250  	if invalidParams.Len() > 0 {
 17251  		return invalidParams
 17252  	}
 17253  	return nil
 17254  }
 17255  
 17256  // SetMaxResults sets the MaxResults field's value.
 17257  func (s *ListSubscriptionDefinitionVersionsInput) SetMaxResults(v string) *ListSubscriptionDefinitionVersionsInput {
 17258  	s.MaxResults = &v
 17259  	return s
 17260  }
 17261  
 17262  // SetNextToken sets the NextToken field's value.
 17263  func (s *ListSubscriptionDefinitionVersionsInput) SetNextToken(v string) *ListSubscriptionDefinitionVersionsInput {
 17264  	s.NextToken = &v
 17265  	return s
 17266  }
 17267  
 17268  // SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
 17269  func (s *ListSubscriptionDefinitionVersionsInput) SetSubscriptionDefinitionId(v string) *ListSubscriptionDefinitionVersionsInput {
 17270  	s.SubscriptionDefinitionId = &v
 17271  	return s
 17272  }
 17273  
 17274  type ListSubscriptionDefinitionVersionsOutput struct {
 17275  	_ struct{} `type:"structure"`
 17276  
 17277  	NextToken *string `type:"string"`
 17278  
 17279  	Versions []*VersionInformation `type:"list"`
 17280  }
 17281  
 17282  // String returns the string representation.
 17283  //
 17284  // API parameter values that are decorated as "sensitive" in the API will not
 17285  // be included in the string output. The member name will be present, but the
 17286  // value will be replaced with "sensitive".
 17287  func (s ListSubscriptionDefinitionVersionsOutput) String() string {
 17288  	return awsutil.Prettify(s)
 17289  }
 17290  
 17291  // GoString returns the string representation.
 17292  //
 17293  // API parameter values that are decorated as "sensitive" in the API will not
 17294  // be included in the string output. The member name will be present, but the
 17295  // value will be replaced with "sensitive".
 17296  func (s ListSubscriptionDefinitionVersionsOutput) GoString() string {
 17297  	return s.String()
 17298  }
 17299  
 17300  // SetNextToken sets the NextToken field's value.
 17301  func (s *ListSubscriptionDefinitionVersionsOutput) SetNextToken(v string) *ListSubscriptionDefinitionVersionsOutput {
 17302  	s.NextToken = &v
 17303  	return s
 17304  }
 17305  
 17306  // SetVersions sets the Versions field's value.
 17307  func (s *ListSubscriptionDefinitionVersionsOutput) SetVersions(v []*VersionInformation) *ListSubscriptionDefinitionVersionsOutput {
 17308  	s.Versions = v
 17309  	return s
 17310  }
 17311  
 17312  type ListSubscriptionDefinitionsInput struct {
 17313  	_ struct{} `type:"structure" nopayload:"true"`
 17314  
 17315  	MaxResults *string `location:"querystring" locationName:"MaxResults" type:"string"`
 17316  
 17317  	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
 17318  }
 17319  
 17320  // String returns the string representation.
 17321  //
 17322  // API parameter values that are decorated as "sensitive" in the API will not
 17323  // be included in the string output. The member name will be present, but the
 17324  // value will be replaced with "sensitive".
 17325  func (s ListSubscriptionDefinitionsInput) String() string {
 17326  	return awsutil.Prettify(s)
 17327  }
 17328  
 17329  // GoString returns the string representation.
 17330  //
 17331  // API parameter values that are decorated as "sensitive" in the API will not
 17332  // be included in the string output. The member name will be present, but the
 17333  // value will be replaced with "sensitive".
 17334  func (s ListSubscriptionDefinitionsInput) GoString() string {
 17335  	return s.String()
 17336  }
 17337  
 17338  // SetMaxResults sets the MaxResults field's value.
 17339  func (s *ListSubscriptionDefinitionsInput) SetMaxResults(v string) *ListSubscriptionDefinitionsInput {
 17340  	s.MaxResults = &v
 17341  	return s
 17342  }
 17343  
 17344  // SetNextToken sets the NextToken field's value.
 17345  func (s *ListSubscriptionDefinitionsInput) SetNextToken(v string) *ListSubscriptionDefinitionsInput {
 17346  	s.NextToken = &v
 17347  	return s
 17348  }
 17349  
 17350  type ListSubscriptionDefinitionsOutput struct {
 17351  	_ struct{} `type:"structure"`
 17352  
 17353  	Definitions []*DefinitionInformation `type:"list"`
 17354  
 17355  	NextToken *string `type:"string"`
 17356  }
 17357  
 17358  // String returns the string representation.
 17359  //
 17360  // API parameter values that are decorated as "sensitive" in the API will not
 17361  // be included in the string output. The member name will be present, but the
 17362  // value will be replaced with "sensitive".
 17363  func (s ListSubscriptionDefinitionsOutput) String() string {
 17364  	return awsutil.Prettify(s)
 17365  }
 17366  
 17367  // GoString returns the string representation.
 17368  //
 17369  // API parameter values that are decorated as "sensitive" in the API will not
 17370  // be included in the string output. The member name will be present, but the
 17371  // value will be replaced with "sensitive".
 17372  func (s ListSubscriptionDefinitionsOutput) GoString() string {
 17373  	return s.String()
 17374  }
 17375  
 17376  // SetDefinitions sets the Definitions field's value.
 17377  func (s *ListSubscriptionDefinitionsOutput) SetDefinitions(v []*DefinitionInformation) *ListSubscriptionDefinitionsOutput {
 17378  	s.Definitions = v
 17379  	return s
 17380  }
 17381  
 17382  // SetNextToken sets the NextToken field's value.
 17383  func (s *ListSubscriptionDefinitionsOutput) SetNextToken(v string) *ListSubscriptionDefinitionsOutput {
 17384  	s.NextToken = &v
 17385  	return s
 17386  }
 17387  
 17388  type ListTagsForResourceInput struct {
 17389  	_ struct{} `type:"structure" nopayload:"true"`
 17390  
 17391  	// ResourceArn is a required field
 17392  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
 17393  }
 17394  
 17395  // String returns the string representation.
 17396  //
 17397  // API parameter values that are decorated as "sensitive" in the API will not
 17398  // be included in the string output. The member name will be present, but the
 17399  // value will be replaced with "sensitive".
 17400  func (s ListTagsForResourceInput) String() string {
 17401  	return awsutil.Prettify(s)
 17402  }
 17403  
 17404  // GoString returns the string representation.
 17405  //
 17406  // API parameter values that are decorated as "sensitive" in the API will not
 17407  // be included in the string output. The member name will be present, but the
 17408  // value will be replaced with "sensitive".
 17409  func (s ListTagsForResourceInput) GoString() string {
 17410  	return s.String()
 17411  }
 17412  
 17413  // Validate inspects the fields of the type to determine if they are valid.
 17414  func (s *ListTagsForResourceInput) Validate() error {
 17415  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 17416  	if s.ResourceArn == nil {
 17417  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 17418  	}
 17419  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 17420  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 17421  	}
 17422  
 17423  	if invalidParams.Len() > 0 {
 17424  		return invalidParams
 17425  	}
 17426  	return nil
 17427  }
 17428  
 17429  // SetResourceArn sets the ResourceArn field's value.
 17430  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 17431  	s.ResourceArn = &v
 17432  	return s
 17433  }
 17434  
 17435  type ListTagsForResourceOutput struct {
 17436  	_ struct{} `type:"structure"`
 17437  
 17438  	// The key-value pair for the resource tag.
 17439  	Tags map[string]*string `locationName:"tags" type:"map"`
 17440  }
 17441  
 17442  // String returns the string representation.
 17443  //
 17444  // API parameter values that are decorated as "sensitive" in the API will not
 17445  // be included in the string output. The member name will be present, but the
 17446  // value will be replaced with "sensitive".
 17447  func (s ListTagsForResourceOutput) String() string {
 17448  	return awsutil.Prettify(s)
 17449  }
 17450  
 17451  // GoString returns the string representation.
 17452  //
 17453  // API parameter values that are decorated as "sensitive" in the API will not
 17454  // be included in the string output. The member name will be present, but the
 17455  // value will be replaced with "sensitive".
 17456  func (s ListTagsForResourceOutput) GoString() string {
 17457  	return s.String()
 17458  }
 17459  
 17460  // SetTags sets the Tags field's value.
 17461  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 17462  	s.Tags = v
 17463  	return s
 17464  }
 17465  
 17466  // Attributes that define a local device resource.
 17467  type LocalDeviceResourceData struct {
 17468  	_ struct{} `type:"structure"`
 17469  
 17470  	// Group/owner related settings for local resources.
 17471  	GroupOwnerSetting *GroupOwnerSetting `type:"structure"`
 17472  
 17473  	// The local absolute path of the device resource. The source path for a device
 17474  	// resource can refer only to a character device or block device under ''/dev''.
 17475  	SourcePath *string `type:"string"`
 17476  }
 17477  
 17478  // String returns the string representation.
 17479  //
 17480  // API parameter values that are decorated as "sensitive" in the API will not
 17481  // be included in the string output. The member name will be present, but the
 17482  // value will be replaced with "sensitive".
 17483  func (s LocalDeviceResourceData) String() string {
 17484  	return awsutil.Prettify(s)
 17485  }
 17486  
 17487  // GoString returns the string representation.
 17488  //
 17489  // API parameter values that are decorated as "sensitive" in the API will not
 17490  // be included in the string output. The member name will be present, but the
 17491  // value will be replaced with "sensitive".
 17492  func (s LocalDeviceResourceData) GoString() string {
 17493  	return s.String()
 17494  }
 17495  
 17496  // SetGroupOwnerSetting sets the GroupOwnerSetting field's value.
 17497  func (s *LocalDeviceResourceData) SetGroupOwnerSetting(v *GroupOwnerSetting) *LocalDeviceResourceData {
 17498  	s.GroupOwnerSetting = v
 17499  	return s
 17500  }
 17501  
 17502  // SetSourcePath sets the SourcePath field's value.
 17503  func (s *LocalDeviceResourceData) SetSourcePath(v string) *LocalDeviceResourceData {
 17504  	s.SourcePath = &v
 17505  	return s
 17506  }
 17507  
 17508  // Attributes that define a local volume resource.
 17509  type LocalVolumeResourceData struct {
 17510  	_ struct{} `type:"structure"`
 17511  
 17512  	// The absolute local path of the resource inside the Lambda environment.
 17513  	DestinationPath *string `type:"string"`
 17514  
 17515  	// Allows you to configure additional group privileges for the Lambda process.
 17516  	// This field is optional.
 17517  	GroupOwnerSetting *GroupOwnerSetting `type:"structure"`
 17518  
 17519  	// The local absolute path of the volume resource on the host. The source path
 17520  	// for a volume resource type cannot start with ''/sys''.
 17521  	SourcePath *string `type:"string"`
 17522  }
 17523  
 17524  // String returns the string representation.
 17525  //
 17526  // API parameter values that are decorated as "sensitive" in the API will not
 17527  // be included in the string output. The member name will be present, but the
 17528  // value will be replaced with "sensitive".
 17529  func (s LocalVolumeResourceData) String() string {
 17530  	return awsutil.Prettify(s)
 17531  }
 17532  
 17533  // GoString returns the string representation.
 17534  //
 17535  // API parameter values that are decorated as "sensitive" in the API will not
 17536  // be included in the string output. The member name will be present, but the
 17537  // value will be replaced with "sensitive".
 17538  func (s LocalVolumeResourceData) GoString() string {
 17539  	return s.String()
 17540  }
 17541  
 17542  // SetDestinationPath sets the DestinationPath field's value.
 17543  func (s *LocalVolumeResourceData) SetDestinationPath(v string) *LocalVolumeResourceData {
 17544  	s.DestinationPath = &v
 17545  	return s
 17546  }
 17547  
 17548  // SetGroupOwnerSetting sets the GroupOwnerSetting field's value.
 17549  func (s *LocalVolumeResourceData) SetGroupOwnerSetting(v *GroupOwnerSetting) *LocalVolumeResourceData {
 17550  	s.GroupOwnerSetting = v
 17551  	return s
 17552  }
 17553  
 17554  // SetSourcePath sets the SourcePath field's value.
 17555  func (s *LocalVolumeResourceData) SetSourcePath(v string) *LocalVolumeResourceData {
 17556  	s.SourcePath = &v
 17557  	return s
 17558  }
 17559  
 17560  // Information about a logger
 17561  type Logger struct {
 17562  	_ struct{} `type:"structure"`
 17563  
 17564  	// The component that will be subject to logging.
 17565  	//
 17566  	// Component is a required field
 17567  	Component *string `type:"string" required:"true" enum:"LoggerComponent"`
 17568  
 17569  	// A descriptive or arbitrary ID for the logger. This value must be unique within
 17570  	// the logger definition version. Max length is 128 characters with pattern
 17571  	// ''[a-zA-Z0-9:_-]+''.
 17572  	//
 17573  	// Id is a required field
 17574  	Id *string `type:"string" required:"true"`
 17575  
 17576  	// The level of the logs.
 17577  	//
 17578  	// Level is a required field
 17579  	Level *string `type:"string" required:"true" enum:"LoggerLevel"`
 17580  
 17581  	// The amount of file space, in KB, to use if the local file system is used
 17582  	// for logging purposes.
 17583  	Space *int64 `type:"integer"`
 17584  
 17585  	// The type of log output which will be used.
 17586  	//
 17587  	// Type is a required field
 17588  	Type *string `type:"string" required:"true" enum:"LoggerType"`
 17589  }
 17590  
 17591  // String returns the string representation.
 17592  //
 17593  // API parameter values that are decorated as "sensitive" in the API will not
 17594  // be included in the string output. The member name will be present, but the
 17595  // value will be replaced with "sensitive".
 17596  func (s Logger) String() string {
 17597  	return awsutil.Prettify(s)
 17598  }
 17599  
 17600  // GoString returns the string representation.
 17601  //
 17602  // API parameter values that are decorated as "sensitive" in the API will not
 17603  // be included in the string output. The member name will be present, but the
 17604  // value will be replaced with "sensitive".
 17605  func (s Logger) GoString() string {
 17606  	return s.String()
 17607  }
 17608  
 17609  // Validate inspects the fields of the type to determine if they are valid.
 17610  func (s *Logger) Validate() error {
 17611  	invalidParams := request.ErrInvalidParams{Context: "Logger"}
 17612  	if s.Component == nil {
 17613  		invalidParams.Add(request.NewErrParamRequired("Component"))
 17614  	}
 17615  	if s.Id == nil {
 17616  		invalidParams.Add(request.NewErrParamRequired("Id"))
 17617  	}
 17618  	if s.Level == nil {
 17619  		invalidParams.Add(request.NewErrParamRequired("Level"))
 17620  	}
 17621  	if s.Type == nil {
 17622  		invalidParams.Add(request.NewErrParamRequired("Type"))
 17623  	}
 17624  
 17625  	if invalidParams.Len() > 0 {
 17626  		return invalidParams
 17627  	}
 17628  	return nil
 17629  }
 17630  
 17631  // SetComponent sets the Component field's value.
 17632  func (s *Logger) SetComponent(v string) *Logger {
 17633  	s.Component = &v
 17634  	return s
 17635  }
 17636  
 17637  // SetId sets the Id field's value.
 17638  func (s *Logger) SetId(v string) *Logger {
 17639  	s.Id = &v
 17640  	return s
 17641  }
 17642  
 17643  // SetLevel sets the Level field's value.
 17644  func (s *Logger) SetLevel(v string) *Logger {
 17645  	s.Level = &v
 17646  	return s
 17647  }
 17648  
 17649  // SetSpace sets the Space field's value.
 17650  func (s *Logger) SetSpace(v int64) *Logger {
 17651  	s.Space = &v
 17652  	return s
 17653  }
 17654  
 17655  // SetType sets the Type field's value.
 17656  func (s *Logger) SetType(v string) *Logger {
 17657  	s.Type = &v
 17658  	return s
 17659  }
 17660  
 17661  // Information about a logger definition version.
 17662  type LoggerDefinitionVersion struct {
 17663  	_ struct{} `type:"structure"`
 17664  
 17665  	// A list of loggers.
 17666  	Loggers []*Logger `type:"list"`
 17667  }
 17668  
 17669  // String returns the string representation.
 17670  //
 17671  // API parameter values that are decorated as "sensitive" in the API will not
 17672  // be included in the string output. The member name will be present, but the
 17673  // value will be replaced with "sensitive".
 17674  func (s LoggerDefinitionVersion) String() string {
 17675  	return awsutil.Prettify(s)
 17676  }
 17677  
 17678  // GoString returns the string representation.
 17679  //
 17680  // API parameter values that are decorated as "sensitive" in the API will not
 17681  // be included in the string output. The member name will be present, but the
 17682  // value will be replaced with "sensitive".
 17683  func (s LoggerDefinitionVersion) GoString() string {
 17684  	return s.String()
 17685  }
 17686  
 17687  // Validate inspects the fields of the type to determine if they are valid.
 17688  func (s *LoggerDefinitionVersion) Validate() error {
 17689  	invalidParams := request.ErrInvalidParams{Context: "LoggerDefinitionVersion"}
 17690  	if s.Loggers != nil {
 17691  		for i, v := range s.Loggers {
 17692  			if v == nil {
 17693  				continue
 17694  			}
 17695  			if err := v.Validate(); err != nil {
 17696  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Loggers", i), err.(request.ErrInvalidParams))
 17697  			}
 17698  		}
 17699  	}
 17700  
 17701  	if invalidParams.Len() > 0 {
 17702  		return invalidParams
 17703  	}
 17704  	return nil
 17705  }
 17706  
 17707  // SetLoggers sets the Loggers field's value.
 17708  func (s *LoggerDefinitionVersion) SetLoggers(v []*Logger) *LoggerDefinitionVersion {
 17709  	s.Loggers = v
 17710  	return s
 17711  }
 17712  
 17713  // Information about a group reset request.
 17714  type ResetDeploymentsInput struct {
 17715  	_ struct{} `type:"structure"`
 17716  
 17717  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
 17718  
 17719  	// If true, performs a best-effort only core reset.
 17720  	Force *bool `type:"boolean"`
 17721  
 17722  	// GroupId is a required field
 17723  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 17724  }
 17725  
 17726  // String returns the string representation.
 17727  //
 17728  // API parameter values that are decorated as "sensitive" in the API will not
 17729  // be included in the string output. The member name will be present, but the
 17730  // value will be replaced with "sensitive".
 17731  func (s ResetDeploymentsInput) String() string {
 17732  	return awsutil.Prettify(s)
 17733  }
 17734  
 17735  // GoString returns the string representation.
 17736  //
 17737  // API parameter values that are decorated as "sensitive" in the API will not
 17738  // be included in the string output. The member name will be present, but the
 17739  // value will be replaced with "sensitive".
 17740  func (s ResetDeploymentsInput) GoString() string {
 17741  	return s.String()
 17742  }
 17743  
 17744  // Validate inspects the fields of the type to determine if they are valid.
 17745  func (s *ResetDeploymentsInput) Validate() error {
 17746  	invalidParams := request.ErrInvalidParams{Context: "ResetDeploymentsInput"}
 17747  	if s.GroupId == nil {
 17748  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 17749  	}
 17750  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 17751  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 17752  	}
 17753  
 17754  	if invalidParams.Len() > 0 {
 17755  		return invalidParams
 17756  	}
 17757  	return nil
 17758  }
 17759  
 17760  // SetAmznClientToken sets the AmznClientToken field's value.
 17761  func (s *ResetDeploymentsInput) SetAmznClientToken(v string) *ResetDeploymentsInput {
 17762  	s.AmznClientToken = &v
 17763  	return s
 17764  }
 17765  
 17766  // SetForce sets the Force field's value.
 17767  func (s *ResetDeploymentsInput) SetForce(v bool) *ResetDeploymentsInput {
 17768  	s.Force = &v
 17769  	return s
 17770  }
 17771  
 17772  // SetGroupId sets the GroupId field's value.
 17773  func (s *ResetDeploymentsInput) SetGroupId(v string) *ResetDeploymentsInput {
 17774  	s.GroupId = &v
 17775  	return s
 17776  }
 17777  
 17778  type ResetDeploymentsOutput struct {
 17779  	_ struct{} `type:"structure"`
 17780  
 17781  	// The ARN of the deployment.
 17782  	DeploymentArn *string `type:"string"`
 17783  
 17784  	// The ID of the deployment.
 17785  	DeploymentId *string `type:"string"`
 17786  }
 17787  
 17788  // String returns the string representation.
 17789  //
 17790  // API parameter values that are decorated as "sensitive" in the API will not
 17791  // be included in the string output. The member name will be present, but the
 17792  // value will be replaced with "sensitive".
 17793  func (s ResetDeploymentsOutput) String() string {
 17794  	return awsutil.Prettify(s)
 17795  }
 17796  
 17797  // GoString returns the string representation.
 17798  //
 17799  // API parameter values that are decorated as "sensitive" in the API will not
 17800  // be included in the string output. The member name will be present, but the
 17801  // value will be replaced with "sensitive".
 17802  func (s ResetDeploymentsOutput) GoString() string {
 17803  	return s.String()
 17804  }
 17805  
 17806  // SetDeploymentArn sets the DeploymentArn field's value.
 17807  func (s *ResetDeploymentsOutput) SetDeploymentArn(v string) *ResetDeploymentsOutput {
 17808  	s.DeploymentArn = &v
 17809  	return s
 17810  }
 17811  
 17812  // SetDeploymentId sets the DeploymentId field's value.
 17813  func (s *ResetDeploymentsOutput) SetDeploymentId(v string) *ResetDeploymentsOutput {
 17814  	s.DeploymentId = &v
 17815  	return s
 17816  }
 17817  
 17818  // Information about a resource.
 17819  type Resource struct {
 17820  	_ struct{} `type:"structure"`
 17821  
 17822  	// The resource ID, used to refer to a resource in the Lambda function configuration.
 17823  	// Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This must
 17824  	// be unique within a Greengrass group.
 17825  	//
 17826  	// Id is a required field
 17827  	Id *string `type:"string" required:"true"`
 17828  
 17829  	// The descriptive resource name, which is displayed on the AWS IoT Greengrass
 17830  	// console. Max length 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This
 17831  	// must be unique within a Greengrass group.
 17832  	//
 17833  	// Name is a required field
 17834  	Name *string `type:"string" required:"true"`
 17835  
 17836  	// A container of data for all resource types.
 17837  	//
 17838  	// ResourceDataContainer is a required field
 17839  	ResourceDataContainer *ResourceDataContainer `type:"structure" required:"true"`
 17840  }
 17841  
 17842  // String returns the string representation.
 17843  //
 17844  // API parameter values that are decorated as "sensitive" in the API will not
 17845  // be included in the string output. The member name will be present, but the
 17846  // value will be replaced with "sensitive".
 17847  func (s Resource) String() string {
 17848  	return awsutil.Prettify(s)
 17849  }
 17850  
 17851  // GoString returns the string representation.
 17852  //
 17853  // API parameter values that are decorated as "sensitive" in the API will not
 17854  // be included in the string output. The member name will be present, but the
 17855  // value will be replaced with "sensitive".
 17856  func (s Resource) GoString() string {
 17857  	return s.String()
 17858  }
 17859  
 17860  // Validate inspects the fields of the type to determine if they are valid.
 17861  func (s *Resource) Validate() error {
 17862  	invalidParams := request.ErrInvalidParams{Context: "Resource"}
 17863  	if s.Id == nil {
 17864  		invalidParams.Add(request.NewErrParamRequired("Id"))
 17865  	}
 17866  	if s.Name == nil {
 17867  		invalidParams.Add(request.NewErrParamRequired("Name"))
 17868  	}
 17869  	if s.ResourceDataContainer == nil {
 17870  		invalidParams.Add(request.NewErrParamRequired("ResourceDataContainer"))
 17871  	}
 17872  	if s.ResourceDataContainer != nil {
 17873  		if err := s.ResourceDataContainer.Validate(); err != nil {
 17874  			invalidParams.AddNested("ResourceDataContainer", err.(request.ErrInvalidParams))
 17875  		}
 17876  	}
 17877  
 17878  	if invalidParams.Len() > 0 {
 17879  		return invalidParams
 17880  	}
 17881  	return nil
 17882  }
 17883  
 17884  // SetId sets the Id field's value.
 17885  func (s *Resource) SetId(v string) *Resource {
 17886  	s.Id = &v
 17887  	return s
 17888  }
 17889  
 17890  // SetName sets the Name field's value.
 17891  func (s *Resource) SetName(v string) *Resource {
 17892  	s.Name = &v
 17893  	return s
 17894  }
 17895  
 17896  // SetResourceDataContainer sets the ResourceDataContainer field's value.
 17897  func (s *Resource) SetResourceDataContainer(v *ResourceDataContainer) *Resource {
 17898  	s.ResourceDataContainer = v
 17899  	return s
 17900  }
 17901  
 17902  // A policy used by the function to access a resource.
 17903  type ResourceAccessPolicy struct {
 17904  	_ struct{} `type:"structure"`
 17905  
 17906  	// The permissions that the Lambda function has to the resource. Can be one
 17907  	// of ''rw'' (read/write) or ''ro'' (read-only).
 17908  	Permission *string `type:"string" enum:"Permission"`
 17909  
 17910  	// The ID of the resource. (This ID is assigned to the resource when you create
 17911  	// the resource definiton.)
 17912  	//
 17913  	// ResourceId is a required field
 17914  	ResourceId *string `type:"string" required:"true"`
 17915  }
 17916  
 17917  // String returns the string representation.
 17918  //
 17919  // API parameter values that are decorated as "sensitive" in the API will not
 17920  // be included in the string output. The member name will be present, but the
 17921  // value will be replaced with "sensitive".
 17922  func (s ResourceAccessPolicy) String() string {
 17923  	return awsutil.Prettify(s)
 17924  }
 17925  
 17926  // GoString returns the string representation.
 17927  //
 17928  // API parameter values that are decorated as "sensitive" in the API will not
 17929  // be included in the string output. The member name will be present, but the
 17930  // value will be replaced with "sensitive".
 17931  func (s ResourceAccessPolicy) GoString() string {
 17932  	return s.String()
 17933  }
 17934  
 17935  // Validate inspects the fields of the type to determine if they are valid.
 17936  func (s *ResourceAccessPolicy) Validate() error {
 17937  	invalidParams := request.ErrInvalidParams{Context: "ResourceAccessPolicy"}
 17938  	if s.ResourceId == nil {
 17939  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 17940  	}
 17941  
 17942  	if invalidParams.Len() > 0 {
 17943  		return invalidParams
 17944  	}
 17945  	return nil
 17946  }
 17947  
 17948  // SetPermission sets the Permission field's value.
 17949  func (s *ResourceAccessPolicy) SetPermission(v string) *ResourceAccessPolicy {
 17950  	s.Permission = &v
 17951  	return s
 17952  }
 17953  
 17954  // SetResourceId sets the ResourceId field's value.
 17955  func (s *ResourceAccessPolicy) SetResourceId(v string) *ResourceAccessPolicy {
 17956  	s.ResourceId = &v
 17957  	return s
 17958  }
 17959  
 17960  // A container for resource data. The container takes only one of the following
 17961  // supported resource data types: ''LocalDeviceResourceData'', ''LocalVolumeResourceData'',
 17962  // ''SageMakerMachineLearningModelResourceData'', ''S3MachineLearningModelResourceData'',
 17963  // ''SecretsManagerSecretResourceData''.
 17964  type ResourceDataContainer struct {
 17965  	_ struct{} `type:"structure"`
 17966  
 17967  	// Attributes that define the local device resource.
 17968  	LocalDeviceResourceData *LocalDeviceResourceData `type:"structure"`
 17969  
 17970  	// Attributes that define the local volume resource.
 17971  	LocalVolumeResourceData *LocalVolumeResourceData `type:"structure"`
 17972  
 17973  	// Attributes that define an Amazon S3 machine learning resource.
 17974  	S3MachineLearningModelResourceData *S3MachineLearningModelResourceData `type:"structure"`
 17975  
 17976  	// Attributes that define an Amazon SageMaker machine learning resource.
 17977  	SageMakerMachineLearningModelResourceData *SageMakerMachineLearningModelResourceData `type:"structure"`
 17978  
 17979  	// Attributes that define a secret resource, which references a secret from
 17980  	// AWS Secrets Manager.
 17981  	SecretsManagerSecretResourceData *SecretsManagerSecretResourceData `type:"structure"`
 17982  }
 17983  
 17984  // String returns the string representation.
 17985  //
 17986  // API parameter values that are decorated as "sensitive" in the API will not
 17987  // be included in the string output. The member name will be present, but the
 17988  // value will be replaced with "sensitive".
 17989  func (s ResourceDataContainer) String() string {
 17990  	return awsutil.Prettify(s)
 17991  }
 17992  
 17993  // GoString returns the string representation.
 17994  //
 17995  // API parameter values that are decorated as "sensitive" in the API will not
 17996  // be included in the string output. The member name will be present, but the
 17997  // value will be replaced with "sensitive".
 17998  func (s ResourceDataContainer) GoString() string {
 17999  	return s.String()
 18000  }
 18001  
 18002  // Validate inspects the fields of the type to determine if they are valid.
 18003  func (s *ResourceDataContainer) Validate() error {
 18004  	invalidParams := request.ErrInvalidParams{Context: "ResourceDataContainer"}
 18005  	if s.S3MachineLearningModelResourceData != nil {
 18006  		if err := s.S3MachineLearningModelResourceData.Validate(); err != nil {
 18007  			invalidParams.AddNested("S3MachineLearningModelResourceData", err.(request.ErrInvalidParams))
 18008  		}
 18009  	}
 18010  	if s.SageMakerMachineLearningModelResourceData != nil {
 18011  		if err := s.SageMakerMachineLearningModelResourceData.Validate(); err != nil {
 18012  			invalidParams.AddNested("SageMakerMachineLearningModelResourceData", err.(request.ErrInvalidParams))
 18013  		}
 18014  	}
 18015  
 18016  	if invalidParams.Len() > 0 {
 18017  		return invalidParams
 18018  	}
 18019  	return nil
 18020  }
 18021  
 18022  // SetLocalDeviceResourceData sets the LocalDeviceResourceData field's value.
 18023  func (s *ResourceDataContainer) SetLocalDeviceResourceData(v *LocalDeviceResourceData) *ResourceDataContainer {
 18024  	s.LocalDeviceResourceData = v
 18025  	return s
 18026  }
 18027  
 18028  // SetLocalVolumeResourceData sets the LocalVolumeResourceData field's value.
 18029  func (s *ResourceDataContainer) SetLocalVolumeResourceData(v *LocalVolumeResourceData) *ResourceDataContainer {
 18030  	s.LocalVolumeResourceData = v
 18031  	return s
 18032  }
 18033  
 18034  // SetS3MachineLearningModelResourceData sets the S3MachineLearningModelResourceData field's value.
 18035  func (s *ResourceDataContainer) SetS3MachineLearningModelResourceData(v *S3MachineLearningModelResourceData) *ResourceDataContainer {
 18036  	s.S3MachineLearningModelResourceData = v
 18037  	return s
 18038  }
 18039  
 18040  // SetSageMakerMachineLearningModelResourceData sets the SageMakerMachineLearningModelResourceData field's value.
 18041  func (s *ResourceDataContainer) SetSageMakerMachineLearningModelResourceData(v *SageMakerMachineLearningModelResourceData) *ResourceDataContainer {
 18042  	s.SageMakerMachineLearningModelResourceData = v
 18043  	return s
 18044  }
 18045  
 18046  // SetSecretsManagerSecretResourceData sets the SecretsManagerSecretResourceData field's value.
 18047  func (s *ResourceDataContainer) SetSecretsManagerSecretResourceData(v *SecretsManagerSecretResourceData) *ResourceDataContainer {
 18048  	s.SecretsManagerSecretResourceData = v
 18049  	return s
 18050  }
 18051  
 18052  // Information about a resource definition version.
 18053  type ResourceDefinitionVersion struct {
 18054  	_ struct{} `type:"structure"`
 18055  
 18056  	// A list of resources.
 18057  	Resources []*Resource `type:"list"`
 18058  }
 18059  
 18060  // String returns the string representation.
 18061  //
 18062  // API parameter values that are decorated as "sensitive" in the API will not
 18063  // be included in the string output. The member name will be present, but the
 18064  // value will be replaced with "sensitive".
 18065  func (s ResourceDefinitionVersion) String() string {
 18066  	return awsutil.Prettify(s)
 18067  }
 18068  
 18069  // GoString returns the string representation.
 18070  //
 18071  // API parameter values that are decorated as "sensitive" in the API will not
 18072  // be included in the string output. The member name will be present, but the
 18073  // value will be replaced with "sensitive".
 18074  func (s ResourceDefinitionVersion) GoString() string {
 18075  	return s.String()
 18076  }
 18077  
 18078  // Validate inspects the fields of the type to determine if they are valid.
 18079  func (s *ResourceDefinitionVersion) Validate() error {
 18080  	invalidParams := request.ErrInvalidParams{Context: "ResourceDefinitionVersion"}
 18081  	if s.Resources != nil {
 18082  		for i, v := range s.Resources {
 18083  			if v == nil {
 18084  				continue
 18085  			}
 18086  			if err := v.Validate(); err != nil {
 18087  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
 18088  			}
 18089  		}
 18090  	}
 18091  
 18092  	if invalidParams.Len() > 0 {
 18093  		return invalidParams
 18094  	}
 18095  	return nil
 18096  }
 18097  
 18098  // SetResources sets the Resources field's value.
 18099  func (s *ResourceDefinitionVersion) SetResources(v []*Resource) *ResourceDefinitionVersion {
 18100  	s.Resources = v
 18101  	return s
 18102  }
 18103  
 18104  // The owner setting for downloaded machine learning resources.
 18105  type ResourceDownloadOwnerSetting struct {
 18106  	_ struct{} `type:"structure"`
 18107  
 18108  	// The group owner of the resource. This is the name of an existing Linux OS
 18109  	// group on the system or a GID. The group's permissions are added to the Lambda
 18110  	// process.
 18111  	//
 18112  	// GroupOwner is a required field
 18113  	GroupOwner *string `type:"string" required:"true"`
 18114  
 18115  	// The permissions that the group owner has to the resource. Valid values are
 18116  	// ''rw'' (read/write) or ''ro'' (read-only).
 18117  	//
 18118  	// GroupPermission is a required field
 18119  	GroupPermission *string `type:"string" required:"true" enum:"Permission"`
 18120  }
 18121  
 18122  // String returns the string representation.
 18123  //
 18124  // API parameter values that are decorated as "sensitive" in the API will not
 18125  // be included in the string output. The member name will be present, but the
 18126  // value will be replaced with "sensitive".
 18127  func (s ResourceDownloadOwnerSetting) String() string {
 18128  	return awsutil.Prettify(s)
 18129  }
 18130  
 18131  // GoString returns the string representation.
 18132  //
 18133  // API parameter values that are decorated as "sensitive" in the API will not
 18134  // be included in the string output. The member name will be present, but the
 18135  // value will be replaced with "sensitive".
 18136  func (s ResourceDownloadOwnerSetting) GoString() string {
 18137  	return s.String()
 18138  }
 18139  
 18140  // Validate inspects the fields of the type to determine if they are valid.
 18141  func (s *ResourceDownloadOwnerSetting) Validate() error {
 18142  	invalidParams := request.ErrInvalidParams{Context: "ResourceDownloadOwnerSetting"}
 18143  	if s.GroupOwner == nil {
 18144  		invalidParams.Add(request.NewErrParamRequired("GroupOwner"))
 18145  	}
 18146  	if s.GroupPermission == nil {
 18147  		invalidParams.Add(request.NewErrParamRequired("GroupPermission"))
 18148  	}
 18149  
 18150  	if invalidParams.Len() > 0 {
 18151  		return invalidParams
 18152  	}
 18153  	return nil
 18154  }
 18155  
 18156  // SetGroupOwner sets the GroupOwner field's value.
 18157  func (s *ResourceDownloadOwnerSetting) SetGroupOwner(v string) *ResourceDownloadOwnerSetting {
 18158  	s.GroupOwner = &v
 18159  	return s
 18160  }
 18161  
 18162  // SetGroupPermission sets the GroupPermission field's value.
 18163  func (s *ResourceDownloadOwnerSetting) SetGroupPermission(v string) *ResourceDownloadOwnerSetting {
 18164  	s.GroupPermission = &v
 18165  	return s
 18166  }
 18167  
 18168  // Runtime configuration for a thing.
 18169  type RuntimeConfiguration struct {
 18170  	_ struct{} `type:"structure"`
 18171  
 18172  	// Configuration for telemetry service.
 18173  	TelemetryConfiguration *TelemetryConfiguration `type:"structure"`
 18174  }
 18175  
 18176  // String returns the string representation.
 18177  //
 18178  // API parameter values that are decorated as "sensitive" in the API will not
 18179  // be included in the string output. The member name will be present, but the
 18180  // value will be replaced with "sensitive".
 18181  func (s RuntimeConfiguration) String() string {
 18182  	return awsutil.Prettify(s)
 18183  }
 18184  
 18185  // GoString returns the string representation.
 18186  //
 18187  // API parameter values that are decorated as "sensitive" in the API will not
 18188  // be included in the string output. The member name will be present, but the
 18189  // value will be replaced with "sensitive".
 18190  func (s RuntimeConfiguration) GoString() string {
 18191  	return s.String()
 18192  }
 18193  
 18194  // SetTelemetryConfiguration sets the TelemetryConfiguration field's value.
 18195  func (s *RuntimeConfiguration) SetTelemetryConfiguration(v *TelemetryConfiguration) *RuntimeConfiguration {
 18196  	s.TelemetryConfiguration = v
 18197  	return s
 18198  }
 18199  
 18200  // Attributes that define an Amazon S3 machine learning resource.
 18201  type S3MachineLearningModelResourceData struct {
 18202  	_ struct{} `type:"structure"`
 18203  
 18204  	// The absolute local path of the resource inside the Lambda environment.
 18205  	DestinationPath *string `type:"string"`
 18206  
 18207  	// The owner setting for downloaded machine learning resources.
 18208  	OwnerSetting *ResourceDownloadOwnerSetting `type:"structure"`
 18209  
 18210  	// The URI of the source model in an S3 bucket. The model package must be in
 18211  	// tar.gz or .zip format.
 18212  	S3Uri *string `type:"string"`
 18213  }
 18214  
 18215  // String returns the string representation.
 18216  //
 18217  // API parameter values that are decorated as "sensitive" in the API will not
 18218  // be included in the string output. The member name will be present, but the
 18219  // value will be replaced with "sensitive".
 18220  func (s S3MachineLearningModelResourceData) String() string {
 18221  	return awsutil.Prettify(s)
 18222  }
 18223  
 18224  // GoString returns the string representation.
 18225  //
 18226  // API parameter values that are decorated as "sensitive" in the API will not
 18227  // be included in the string output. The member name will be present, but the
 18228  // value will be replaced with "sensitive".
 18229  func (s S3MachineLearningModelResourceData) GoString() string {
 18230  	return s.String()
 18231  }
 18232  
 18233  // Validate inspects the fields of the type to determine if they are valid.
 18234  func (s *S3MachineLearningModelResourceData) Validate() error {
 18235  	invalidParams := request.ErrInvalidParams{Context: "S3MachineLearningModelResourceData"}
 18236  	if s.OwnerSetting != nil {
 18237  		if err := s.OwnerSetting.Validate(); err != nil {
 18238  			invalidParams.AddNested("OwnerSetting", err.(request.ErrInvalidParams))
 18239  		}
 18240  	}
 18241  
 18242  	if invalidParams.Len() > 0 {
 18243  		return invalidParams
 18244  	}
 18245  	return nil
 18246  }
 18247  
 18248  // SetDestinationPath sets the DestinationPath field's value.
 18249  func (s *S3MachineLearningModelResourceData) SetDestinationPath(v string) *S3MachineLearningModelResourceData {
 18250  	s.DestinationPath = &v
 18251  	return s
 18252  }
 18253  
 18254  // SetOwnerSetting sets the OwnerSetting field's value.
 18255  func (s *S3MachineLearningModelResourceData) SetOwnerSetting(v *ResourceDownloadOwnerSetting) *S3MachineLearningModelResourceData {
 18256  	s.OwnerSetting = v
 18257  	return s
 18258  }
 18259  
 18260  // SetS3Uri sets the S3Uri field's value.
 18261  func (s *S3MachineLearningModelResourceData) SetS3Uri(v string) *S3MachineLearningModelResourceData {
 18262  	s.S3Uri = &v
 18263  	return s
 18264  }
 18265  
 18266  // Attributes that define an Amazon SageMaker machine learning resource.
 18267  type SageMakerMachineLearningModelResourceData struct {
 18268  	_ struct{} `type:"structure"`
 18269  
 18270  	// The absolute local path of the resource inside the Lambda environment.
 18271  	DestinationPath *string `type:"string"`
 18272  
 18273  	// The owner setting for downloaded machine learning resources.
 18274  	OwnerSetting *ResourceDownloadOwnerSetting `type:"structure"`
 18275  
 18276  	// The ARN of the Amazon SageMaker training job that represents the source model.
 18277  	SageMakerJobArn *string `type:"string"`
 18278  }
 18279  
 18280  // String returns the string representation.
 18281  //
 18282  // API parameter values that are decorated as "sensitive" in the API will not
 18283  // be included in the string output. The member name will be present, but the
 18284  // value will be replaced with "sensitive".
 18285  func (s SageMakerMachineLearningModelResourceData) String() string {
 18286  	return awsutil.Prettify(s)
 18287  }
 18288  
 18289  // GoString returns the string representation.
 18290  //
 18291  // API parameter values that are decorated as "sensitive" in the API will not
 18292  // be included in the string output. The member name will be present, but the
 18293  // value will be replaced with "sensitive".
 18294  func (s SageMakerMachineLearningModelResourceData) GoString() string {
 18295  	return s.String()
 18296  }
 18297  
 18298  // Validate inspects the fields of the type to determine if they are valid.
 18299  func (s *SageMakerMachineLearningModelResourceData) Validate() error {
 18300  	invalidParams := request.ErrInvalidParams{Context: "SageMakerMachineLearningModelResourceData"}
 18301  	if s.OwnerSetting != nil {
 18302  		if err := s.OwnerSetting.Validate(); err != nil {
 18303  			invalidParams.AddNested("OwnerSetting", err.(request.ErrInvalidParams))
 18304  		}
 18305  	}
 18306  
 18307  	if invalidParams.Len() > 0 {
 18308  		return invalidParams
 18309  	}
 18310  	return nil
 18311  }
 18312  
 18313  // SetDestinationPath sets the DestinationPath field's value.
 18314  func (s *SageMakerMachineLearningModelResourceData) SetDestinationPath(v string) *SageMakerMachineLearningModelResourceData {
 18315  	s.DestinationPath = &v
 18316  	return s
 18317  }
 18318  
 18319  // SetOwnerSetting sets the OwnerSetting field's value.
 18320  func (s *SageMakerMachineLearningModelResourceData) SetOwnerSetting(v *ResourceDownloadOwnerSetting) *SageMakerMachineLearningModelResourceData {
 18321  	s.OwnerSetting = v
 18322  	return s
 18323  }
 18324  
 18325  // SetSageMakerJobArn sets the SageMakerJobArn field's value.
 18326  func (s *SageMakerMachineLearningModelResourceData) SetSageMakerJobArn(v string) *SageMakerMachineLearningModelResourceData {
 18327  	s.SageMakerJobArn = &v
 18328  	return s
 18329  }
 18330  
 18331  // Attributes that define a secret resource, which references a secret from
 18332  // AWS Secrets Manager. AWS IoT Greengrass stores a local, encrypted copy of
 18333  // the secret on the Greengrass core, where it can be securely accessed by connectors
 18334  // and Lambda functions.
 18335  type SecretsManagerSecretResourceData struct {
 18336  	_ struct{} `type:"structure"`
 18337  
 18338  	// The ARN of the Secrets Manager secret to make available on the core. The
 18339  	// value of the secret's latest version (represented by the ''AWSCURRENT'' staging
 18340  	// label) is included by default.
 18341  	ARN *string `type:"string"`
 18342  
 18343  	// Optional. The staging labels whose values you want to make available on the
 18344  	// core, in addition to ''AWSCURRENT''.
 18345  	AdditionalStagingLabelsToDownload []*string `type:"list"`
 18346  }
 18347  
 18348  // String returns the string representation.
 18349  //
 18350  // API parameter values that are decorated as "sensitive" in the API will not
 18351  // be included in the string output. The member name will be present, but the
 18352  // value will be replaced with "sensitive".
 18353  func (s SecretsManagerSecretResourceData) String() string {
 18354  	return awsutil.Prettify(s)
 18355  }
 18356  
 18357  // GoString returns the string representation.
 18358  //
 18359  // API parameter values that are decorated as "sensitive" in the API will not
 18360  // be included in the string output. The member name will be present, but the
 18361  // value will be replaced with "sensitive".
 18362  func (s SecretsManagerSecretResourceData) GoString() string {
 18363  	return s.String()
 18364  }
 18365  
 18366  // SetARN sets the ARN field's value.
 18367  func (s *SecretsManagerSecretResourceData) SetARN(v string) *SecretsManagerSecretResourceData {
 18368  	s.ARN = &v
 18369  	return s
 18370  }
 18371  
 18372  // SetAdditionalStagingLabelsToDownload sets the AdditionalStagingLabelsToDownload field's value.
 18373  func (s *SecretsManagerSecretResourceData) SetAdditionalStagingLabelsToDownload(v []*string) *SecretsManagerSecretResourceData {
 18374  	s.AdditionalStagingLabelsToDownload = v
 18375  	return s
 18376  }
 18377  
 18378  // Information about a bulk deployment. You cannot start a new bulk deployment
 18379  // while another one is still running or in a non-terminal state.
 18380  type StartBulkDeploymentInput struct {
 18381  	_ struct{} `type:"structure"`
 18382  
 18383  	AmznClientToken *string `location:"header" locationName:"X-Amzn-Client-Token" type:"string"`
 18384  
 18385  	// The ARN of the execution role to associate with the bulk deployment operation.
 18386  	// This IAM role must allow the ''greengrass:CreateDeployment'' action for all
 18387  	// group versions that are listed in the input file. This IAM role must have
 18388  	// access to the S3 bucket containing the input file.
 18389  	//
 18390  	// ExecutionRoleArn is a required field
 18391  	ExecutionRoleArn *string `type:"string" required:"true"`
 18392  
 18393  	// The URI of the input file contained in the S3 bucket. The execution role
 18394  	// must have ''getObject'' permissions on this bucket to access the input file.
 18395  	// The input file is a JSON-serialized, line delimited file with UTF-8 encoding
 18396  	// that provides a list of group and version IDs and the deployment type. This
 18397  	// file must be less than 100 MB. Currently, AWS IoT Greengrass supports only
 18398  	// ''NewDeployment'' deployment types.
 18399  	//
 18400  	// InputFileUri is a required field
 18401  	InputFileUri *string `type:"string" required:"true"`
 18402  
 18403  	// The key-value pair for the resource tag.
 18404  	Tags map[string]*string `locationName:"tags" type:"map"`
 18405  }
 18406  
 18407  // String returns the string representation.
 18408  //
 18409  // API parameter values that are decorated as "sensitive" in the API will not
 18410  // be included in the string output. The member name will be present, but the
 18411  // value will be replaced with "sensitive".
 18412  func (s StartBulkDeploymentInput) String() string {
 18413  	return awsutil.Prettify(s)
 18414  }
 18415  
 18416  // GoString returns the string representation.
 18417  //
 18418  // API parameter values that are decorated as "sensitive" in the API will not
 18419  // be included in the string output. The member name will be present, but the
 18420  // value will be replaced with "sensitive".
 18421  func (s StartBulkDeploymentInput) GoString() string {
 18422  	return s.String()
 18423  }
 18424  
 18425  // Validate inspects the fields of the type to determine if they are valid.
 18426  func (s *StartBulkDeploymentInput) Validate() error {
 18427  	invalidParams := request.ErrInvalidParams{Context: "StartBulkDeploymentInput"}
 18428  	if s.ExecutionRoleArn == nil {
 18429  		invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn"))
 18430  	}
 18431  	if s.InputFileUri == nil {
 18432  		invalidParams.Add(request.NewErrParamRequired("InputFileUri"))
 18433  	}
 18434  
 18435  	if invalidParams.Len() > 0 {
 18436  		return invalidParams
 18437  	}
 18438  	return nil
 18439  }
 18440  
 18441  // SetAmznClientToken sets the AmznClientToken field's value.
 18442  func (s *StartBulkDeploymentInput) SetAmznClientToken(v string) *StartBulkDeploymentInput {
 18443  	s.AmznClientToken = &v
 18444  	return s
 18445  }
 18446  
 18447  // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
 18448  func (s *StartBulkDeploymentInput) SetExecutionRoleArn(v string) *StartBulkDeploymentInput {
 18449  	s.ExecutionRoleArn = &v
 18450  	return s
 18451  }
 18452  
 18453  // SetInputFileUri sets the InputFileUri field's value.
 18454  func (s *StartBulkDeploymentInput) SetInputFileUri(v string) *StartBulkDeploymentInput {
 18455  	s.InputFileUri = &v
 18456  	return s
 18457  }
 18458  
 18459  // SetTags sets the Tags field's value.
 18460  func (s *StartBulkDeploymentInput) SetTags(v map[string]*string) *StartBulkDeploymentInput {
 18461  	s.Tags = v
 18462  	return s
 18463  }
 18464  
 18465  type StartBulkDeploymentOutput struct {
 18466  	_ struct{} `type:"structure"`
 18467  
 18468  	// The ARN of the bulk deployment.
 18469  	BulkDeploymentArn *string `type:"string"`
 18470  
 18471  	// The ID of the bulk deployment.
 18472  	BulkDeploymentId *string `type:"string"`
 18473  }
 18474  
 18475  // String returns the string representation.
 18476  //
 18477  // API parameter values that are decorated as "sensitive" in the API will not
 18478  // be included in the string output. The member name will be present, but the
 18479  // value will be replaced with "sensitive".
 18480  func (s StartBulkDeploymentOutput) String() string {
 18481  	return awsutil.Prettify(s)
 18482  }
 18483  
 18484  // GoString returns the string representation.
 18485  //
 18486  // API parameter values that are decorated as "sensitive" in the API will not
 18487  // be included in the string output. The member name will be present, but the
 18488  // value will be replaced with "sensitive".
 18489  func (s StartBulkDeploymentOutput) GoString() string {
 18490  	return s.String()
 18491  }
 18492  
 18493  // SetBulkDeploymentArn sets the BulkDeploymentArn field's value.
 18494  func (s *StartBulkDeploymentOutput) SetBulkDeploymentArn(v string) *StartBulkDeploymentOutput {
 18495  	s.BulkDeploymentArn = &v
 18496  	return s
 18497  }
 18498  
 18499  // SetBulkDeploymentId sets the BulkDeploymentId field's value.
 18500  func (s *StartBulkDeploymentOutput) SetBulkDeploymentId(v string) *StartBulkDeploymentOutput {
 18501  	s.BulkDeploymentId = &v
 18502  	return s
 18503  }
 18504  
 18505  type StopBulkDeploymentInput struct {
 18506  	_ struct{} `type:"structure" nopayload:"true"`
 18507  
 18508  	// BulkDeploymentId is a required field
 18509  	BulkDeploymentId *string `location:"uri" locationName:"BulkDeploymentId" type:"string" required:"true"`
 18510  }
 18511  
 18512  // String returns the string representation.
 18513  //
 18514  // API parameter values that are decorated as "sensitive" in the API will not
 18515  // be included in the string output. The member name will be present, but the
 18516  // value will be replaced with "sensitive".
 18517  func (s StopBulkDeploymentInput) String() string {
 18518  	return awsutil.Prettify(s)
 18519  }
 18520  
 18521  // GoString returns the string representation.
 18522  //
 18523  // API parameter values that are decorated as "sensitive" in the API will not
 18524  // be included in the string output. The member name will be present, but the
 18525  // value will be replaced with "sensitive".
 18526  func (s StopBulkDeploymentInput) GoString() string {
 18527  	return s.String()
 18528  }
 18529  
 18530  // Validate inspects the fields of the type to determine if they are valid.
 18531  func (s *StopBulkDeploymentInput) Validate() error {
 18532  	invalidParams := request.ErrInvalidParams{Context: "StopBulkDeploymentInput"}
 18533  	if s.BulkDeploymentId == nil {
 18534  		invalidParams.Add(request.NewErrParamRequired("BulkDeploymentId"))
 18535  	}
 18536  	if s.BulkDeploymentId != nil && len(*s.BulkDeploymentId) < 1 {
 18537  		invalidParams.Add(request.NewErrParamMinLen("BulkDeploymentId", 1))
 18538  	}
 18539  
 18540  	if invalidParams.Len() > 0 {
 18541  		return invalidParams
 18542  	}
 18543  	return nil
 18544  }
 18545  
 18546  // SetBulkDeploymentId sets the BulkDeploymentId field's value.
 18547  func (s *StopBulkDeploymentInput) SetBulkDeploymentId(v string) *StopBulkDeploymentInput {
 18548  	s.BulkDeploymentId = &v
 18549  	return s
 18550  }
 18551  
 18552  type StopBulkDeploymentOutput struct {
 18553  	_ struct{} `type:"structure" nopayload:"true"`
 18554  }
 18555  
 18556  // String returns the string representation.
 18557  //
 18558  // API parameter values that are decorated as "sensitive" in the API will not
 18559  // be included in the string output. The member name will be present, but the
 18560  // value will be replaced with "sensitive".
 18561  func (s StopBulkDeploymentOutput) String() string {
 18562  	return awsutil.Prettify(s)
 18563  }
 18564  
 18565  // GoString returns the string representation.
 18566  //
 18567  // API parameter values that are decorated as "sensitive" in the API will not
 18568  // be included in the string output. The member name will be present, but the
 18569  // value will be replaced with "sensitive".
 18570  func (s StopBulkDeploymentOutput) GoString() string {
 18571  	return s.String()
 18572  }
 18573  
 18574  // Information about a subscription.
 18575  type Subscription struct {
 18576  	_ struct{} `type:"structure"`
 18577  
 18578  	// A descriptive or arbitrary ID for the subscription. This value must be unique
 18579  	// within the subscription definition version. Max length is 128 characters
 18580  	// with pattern ''[a-zA-Z0-9:_-]+''.
 18581  	//
 18582  	// Id is a required field
 18583  	Id *string `type:"string" required:"true"`
 18584  
 18585  	// The source of the subscription. Can be a thing ARN, a Lambda function ARN,
 18586  	// a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'.
 18587  	//
 18588  	// Source is a required field
 18589  	Source *string `type:"string" required:"true"`
 18590  
 18591  	// The MQTT topic used to route the message.
 18592  	//
 18593  	// Subject is a required field
 18594  	Subject *string `type:"string" required:"true"`
 18595  
 18596  	// Where the message is sent to. Can be a thing ARN, a Lambda function ARN,
 18597  	// a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'.
 18598  	//
 18599  	// Target is a required field
 18600  	Target *string `type:"string" required:"true"`
 18601  }
 18602  
 18603  // String returns the string representation.
 18604  //
 18605  // API parameter values that are decorated as "sensitive" in the API will not
 18606  // be included in the string output. The member name will be present, but the
 18607  // value will be replaced with "sensitive".
 18608  func (s Subscription) String() string {
 18609  	return awsutil.Prettify(s)
 18610  }
 18611  
 18612  // GoString returns the string representation.
 18613  //
 18614  // API parameter values that are decorated as "sensitive" in the API will not
 18615  // be included in the string output. The member name will be present, but the
 18616  // value will be replaced with "sensitive".
 18617  func (s Subscription) GoString() string {
 18618  	return s.String()
 18619  }
 18620  
 18621  // Validate inspects the fields of the type to determine if they are valid.
 18622  func (s *Subscription) Validate() error {
 18623  	invalidParams := request.ErrInvalidParams{Context: "Subscription"}
 18624  	if s.Id == nil {
 18625  		invalidParams.Add(request.NewErrParamRequired("Id"))
 18626  	}
 18627  	if s.Source == nil {
 18628  		invalidParams.Add(request.NewErrParamRequired("Source"))
 18629  	}
 18630  	if s.Subject == nil {
 18631  		invalidParams.Add(request.NewErrParamRequired("Subject"))
 18632  	}
 18633  	if s.Target == nil {
 18634  		invalidParams.Add(request.NewErrParamRequired("Target"))
 18635  	}
 18636  
 18637  	if invalidParams.Len() > 0 {
 18638  		return invalidParams
 18639  	}
 18640  	return nil
 18641  }
 18642  
 18643  // SetId sets the Id field's value.
 18644  func (s *Subscription) SetId(v string) *Subscription {
 18645  	s.Id = &v
 18646  	return s
 18647  }
 18648  
 18649  // SetSource sets the Source field's value.
 18650  func (s *Subscription) SetSource(v string) *Subscription {
 18651  	s.Source = &v
 18652  	return s
 18653  }
 18654  
 18655  // SetSubject sets the Subject field's value.
 18656  func (s *Subscription) SetSubject(v string) *Subscription {
 18657  	s.Subject = &v
 18658  	return s
 18659  }
 18660  
 18661  // SetTarget sets the Target field's value.
 18662  func (s *Subscription) SetTarget(v string) *Subscription {
 18663  	s.Target = &v
 18664  	return s
 18665  }
 18666  
 18667  // Information about a subscription definition version.
 18668  type SubscriptionDefinitionVersion struct {
 18669  	_ struct{} `type:"structure"`
 18670  
 18671  	// A list of subscriptions.
 18672  	Subscriptions []*Subscription `type:"list"`
 18673  }
 18674  
 18675  // String returns the string representation.
 18676  //
 18677  // API parameter values that are decorated as "sensitive" in the API will not
 18678  // be included in the string output. The member name will be present, but the
 18679  // value will be replaced with "sensitive".
 18680  func (s SubscriptionDefinitionVersion) String() string {
 18681  	return awsutil.Prettify(s)
 18682  }
 18683  
 18684  // GoString returns the string representation.
 18685  //
 18686  // API parameter values that are decorated as "sensitive" in the API will not
 18687  // be included in the string output. The member name will be present, but the
 18688  // value will be replaced with "sensitive".
 18689  func (s SubscriptionDefinitionVersion) GoString() string {
 18690  	return s.String()
 18691  }
 18692  
 18693  // Validate inspects the fields of the type to determine if they are valid.
 18694  func (s *SubscriptionDefinitionVersion) Validate() error {
 18695  	invalidParams := request.ErrInvalidParams{Context: "SubscriptionDefinitionVersion"}
 18696  	if s.Subscriptions != nil {
 18697  		for i, v := range s.Subscriptions {
 18698  			if v == nil {
 18699  				continue
 18700  			}
 18701  			if err := v.Validate(); err != nil {
 18702  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Subscriptions", i), err.(request.ErrInvalidParams))
 18703  			}
 18704  		}
 18705  	}
 18706  
 18707  	if invalidParams.Len() > 0 {
 18708  		return invalidParams
 18709  	}
 18710  	return nil
 18711  }
 18712  
 18713  // SetSubscriptions sets the Subscriptions field's value.
 18714  func (s *SubscriptionDefinitionVersion) SetSubscriptions(v []*Subscription) *SubscriptionDefinitionVersion {
 18715  	s.Subscriptions = v
 18716  	return s
 18717  }
 18718  
 18719  type TagResourceInput struct {
 18720  	_ struct{} `type:"structure"`
 18721  
 18722  	// ResourceArn is a required field
 18723  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
 18724  
 18725  	// The key-value pair for the resource tag.
 18726  	Tags map[string]*string `locationName:"tags" type:"map"`
 18727  }
 18728  
 18729  // String returns the string representation.
 18730  //
 18731  // API parameter values that are decorated as "sensitive" in the API will not
 18732  // be included in the string output. The member name will be present, but the
 18733  // value will be replaced with "sensitive".
 18734  func (s TagResourceInput) String() string {
 18735  	return awsutil.Prettify(s)
 18736  }
 18737  
 18738  // GoString returns the string representation.
 18739  //
 18740  // API parameter values that are decorated as "sensitive" in the API will not
 18741  // be included in the string output. The member name will be present, but the
 18742  // value will be replaced with "sensitive".
 18743  func (s TagResourceInput) GoString() string {
 18744  	return s.String()
 18745  }
 18746  
 18747  // Validate inspects the fields of the type to determine if they are valid.
 18748  func (s *TagResourceInput) Validate() error {
 18749  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 18750  	if s.ResourceArn == nil {
 18751  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 18752  	}
 18753  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 18754  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 18755  	}
 18756  
 18757  	if invalidParams.Len() > 0 {
 18758  		return invalidParams
 18759  	}
 18760  	return nil
 18761  }
 18762  
 18763  // SetResourceArn sets the ResourceArn field's value.
 18764  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 18765  	s.ResourceArn = &v
 18766  	return s
 18767  }
 18768  
 18769  // SetTags sets the Tags field's value.
 18770  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 18771  	s.Tags = v
 18772  	return s
 18773  }
 18774  
 18775  type TagResourceOutput struct {
 18776  	_ struct{} `type:"structure" nopayload:"true"`
 18777  }
 18778  
 18779  // String returns the string representation.
 18780  //
 18781  // API parameter values that are decorated as "sensitive" in the API will not
 18782  // be included in the string output. The member name will be present, but the
 18783  // value will be replaced with "sensitive".
 18784  func (s TagResourceOutput) String() string {
 18785  	return awsutil.Prettify(s)
 18786  }
 18787  
 18788  // GoString returns the string representation.
 18789  //
 18790  // API parameter values that are decorated as "sensitive" in the API will not
 18791  // be included in the string output. The member name will be present, but the
 18792  // value will be replaced with "sensitive".
 18793  func (s TagResourceOutput) GoString() string {
 18794  	return s.String()
 18795  }
 18796  
 18797  // Configuration settings for running telemetry.
 18798  type TelemetryConfiguration struct {
 18799  	_ struct{} `type:"structure"`
 18800  
 18801  	// Synchronization status of the device reported configuration with the desired
 18802  	// configuration.
 18803  	ConfigurationSyncStatus *string `type:"string" enum:"ConfigurationSyncStatus"`
 18804  
 18805  	// Configure telemetry to be on or off.
 18806  	//
 18807  	// Telemetry is a required field
 18808  	Telemetry *string `type:"string" required:"true" enum:"Telemetry"`
 18809  }
 18810  
 18811  // String returns the string representation.
 18812  //
 18813  // API parameter values that are decorated as "sensitive" in the API will not
 18814  // be included in the string output. The member name will be present, but the
 18815  // value will be replaced with "sensitive".
 18816  func (s TelemetryConfiguration) String() string {
 18817  	return awsutil.Prettify(s)
 18818  }
 18819  
 18820  // GoString returns the string representation.
 18821  //
 18822  // API parameter values that are decorated as "sensitive" in the API will not
 18823  // be included in the string output. The member name will be present, but the
 18824  // value will be replaced with "sensitive".
 18825  func (s TelemetryConfiguration) GoString() string {
 18826  	return s.String()
 18827  }
 18828  
 18829  // SetConfigurationSyncStatus sets the ConfigurationSyncStatus field's value.
 18830  func (s *TelemetryConfiguration) SetConfigurationSyncStatus(v string) *TelemetryConfiguration {
 18831  	s.ConfigurationSyncStatus = &v
 18832  	return s
 18833  }
 18834  
 18835  // SetTelemetry sets the Telemetry field's value.
 18836  func (s *TelemetryConfiguration) SetTelemetry(v string) *TelemetryConfiguration {
 18837  	s.Telemetry = &v
 18838  	return s
 18839  }
 18840  
 18841  // Configuration settings for running telemetry.
 18842  type TelemetryConfigurationUpdate struct {
 18843  	_ struct{} `type:"structure"`
 18844  
 18845  	// Configure telemetry to be on or off.
 18846  	//
 18847  	// Telemetry is a required field
 18848  	Telemetry *string `type:"string" required:"true" enum:"Telemetry"`
 18849  }
 18850  
 18851  // String returns the string representation.
 18852  //
 18853  // API parameter values that are decorated as "sensitive" in the API will not
 18854  // be included in the string output. The member name will be present, but the
 18855  // value will be replaced with "sensitive".
 18856  func (s TelemetryConfigurationUpdate) String() string {
 18857  	return awsutil.Prettify(s)
 18858  }
 18859  
 18860  // GoString returns the string representation.
 18861  //
 18862  // API parameter values that are decorated as "sensitive" in the API will not
 18863  // be included in the string output. The member name will be present, but the
 18864  // value will be replaced with "sensitive".
 18865  func (s TelemetryConfigurationUpdate) GoString() string {
 18866  	return s.String()
 18867  }
 18868  
 18869  // Validate inspects the fields of the type to determine if they are valid.
 18870  func (s *TelemetryConfigurationUpdate) Validate() error {
 18871  	invalidParams := request.ErrInvalidParams{Context: "TelemetryConfigurationUpdate"}
 18872  	if s.Telemetry == nil {
 18873  		invalidParams.Add(request.NewErrParamRequired("Telemetry"))
 18874  	}
 18875  
 18876  	if invalidParams.Len() > 0 {
 18877  		return invalidParams
 18878  	}
 18879  	return nil
 18880  }
 18881  
 18882  // SetTelemetry sets the Telemetry field's value.
 18883  func (s *TelemetryConfigurationUpdate) SetTelemetry(v string) *TelemetryConfigurationUpdate {
 18884  	s.Telemetry = &v
 18885  	return s
 18886  }
 18887  
 18888  type UntagResourceInput struct {
 18889  	_ struct{} `type:"structure" nopayload:"true"`
 18890  
 18891  	// ResourceArn is a required field
 18892  	ResourceArn *string `location:"uri" locationName:"resource-arn" type:"string" required:"true"`
 18893  
 18894  	// TagKeys is a required field
 18895  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
 18896  }
 18897  
 18898  // String returns the string representation.
 18899  //
 18900  // API parameter values that are decorated as "sensitive" in the API will not
 18901  // be included in the string output. The member name will be present, but the
 18902  // value will be replaced with "sensitive".
 18903  func (s UntagResourceInput) String() string {
 18904  	return awsutil.Prettify(s)
 18905  }
 18906  
 18907  // GoString returns the string representation.
 18908  //
 18909  // API parameter values that are decorated as "sensitive" in the API will not
 18910  // be included in the string output. The member name will be present, but the
 18911  // value will be replaced with "sensitive".
 18912  func (s UntagResourceInput) GoString() string {
 18913  	return s.String()
 18914  }
 18915  
 18916  // Validate inspects the fields of the type to determine if they are valid.
 18917  func (s *UntagResourceInput) Validate() error {
 18918  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 18919  	if s.ResourceArn == nil {
 18920  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 18921  	}
 18922  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 18923  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 18924  	}
 18925  	if s.TagKeys == nil {
 18926  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 18927  	}
 18928  
 18929  	if invalidParams.Len() > 0 {
 18930  		return invalidParams
 18931  	}
 18932  	return nil
 18933  }
 18934  
 18935  // SetResourceArn sets the ResourceArn field's value.
 18936  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 18937  	s.ResourceArn = &v
 18938  	return s
 18939  }
 18940  
 18941  // SetTagKeys sets the TagKeys field's value.
 18942  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 18943  	s.TagKeys = v
 18944  	return s
 18945  }
 18946  
 18947  type UntagResourceOutput struct {
 18948  	_ struct{} `type:"structure" nopayload:"true"`
 18949  }
 18950  
 18951  // String returns the string representation.
 18952  //
 18953  // API parameter values that are decorated as "sensitive" in the API will not
 18954  // be included in the string output. The member name will be present, but the
 18955  // value will be replaced with "sensitive".
 18956  func (s UntagResourceOutput) String() string {
 18957  	return awsutil.Prettify(s)
 18958  }
 18959  
 18960  // GoString returns the string representation.
 18961  //
 18962  // API parameter values that are decorated as "sensitive" in the API will not
 18963  // be included in the string output. The member name will be present, but the
 18964  // value will be replaced with "sensitive".
 18965  func (s UntagResourceOutput) GoString() string {
 18966  	return s.String()
 18967  }
 18968  
 18969  // Information required to update a Greengrass core's connectivity.
 18970  type UpdateConnectivityInfoInput struct {
 18971  	_ struct{} `type:"structure"`
 18972  
 18973  	// A list of connectivity info.
 18974  	ConnectivityInfo []*ConnectivityInfo `type:"list"`
 18975  
 18976  	// ThingName is a required field
 18977  	ThingName *string `location:"uri" locationName:"ThingName" type:"string" required:"true"`
 18978  }
 18979  
 18980  // String returns the string representation.
 18981  //
 18982  // API parameter values that are decorated as "sensitive" in the API will not
 18983  // be included in the string output. The member name will be present, but the
 18984  // value will be replaced with "sensitive".
 18985  func (s UpdateConnectivityInfoInput) String() string {
 18986  	return awsutil.Prettify(s)
 18987  }
 18988  
 18989  // GoString returns the string representation.
 18990  //
 18991  // API parameter values that are decorated as "sensitive" in the API will not
 18992  // be included in the string output. The member name will be present, but the
 18993  // value will be replaced with "sensitive".
 18994  func (s UpdateConnectivityInfoInput) GoString() string {
 18995  	return s.String()
 18996  }
 18997  
 18998  // Validate inspects the fields of the type to determine if they are valid.
 18999  func (s *UpdateConnectivityInfoInput) Validate() error {
 19000  	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectivityInfoInput"}
 19001  	if s.ThingName == nil {
 19002  		invalidParams.Add(request.NewErrParamRequired("ThingName"))
 19003  	}
 19004  	if s.ThingName != nil && len(*s.ThingName) < 1 {
 19005  		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
 19006  	}
 19007  
 19008  	if invalidParams.Len() > 0 {
 19009  		return invalidParams
 19010  	}
 19011  	return nil
 19012  }
 19013  
 19014  // SetConnectivityInfo sets the ConnectivityInfo field's value.
 19015  func (s *UpdateConnectivityInfoInput) SetConnectivityInfo(v []*ConnectivityInfo) *UpdateConnectivityInfoInput {
 19016  	s.ConnectivityInfo = v
 19017  	return s
 19018  }
 19019  
 19020  // SetThingName sets the ThingName field's value.
 19021  func (s *UpdateConnectivityInfoInput) SetThingName(v string) *UpdateConnectivityInfoInput {
 19022  	s.ThingName = &v
 19023  	return s
 19024  }
 19025  
 19026  type UpdateConnectivityInfoOutput struct {
 19027  	_ struct{} `type:"structure"`
 19028  
 19029  	// A message about the connectivity info update request.
 19030  	Message *string `locationName:"message" type:"string"`
 19031  
 19032  	// The new version of the connectivity info.
 19033  	Version *string `type:"string"`
 19034  }
 19035  
 19036  // String returns the string representation.
 19037  //
 19038  // API parameter values that are decorated as "sensitive" in the API will not
 19039  // be included in the string output. The member name will be present, but the
 19040  // value will be replaced with "sensitive".
 19041  func (s UpdateConnectivityInfoOutput) String() string {
 19042  	return awsutil.Prettify(s)
 19043  }
 19044  
 19045  // GoString returns the string representation.
 19046  //
 19047  // API parameter values that are decorated as "sensitive" in the API will not
 19048  // be included in the string output. The member name will be present, but the
 19049  // value will be replaced with "sensitive".
 19050  func (s UpdateConnectivityInfoOutput) GoString() string {
 19051  	return s.String()
 19052  }
 19053  
 19054  // SetMessage sets the Message field's value.
 19055  func (s *UpdateConnectivityInfoOutput) SetMessage(v string) *UpdateConnectivityInfoOutput {
 19056  	s.Message = &v
 19057  	return s
 19058  }
 19059  
 19060  // SetVersion sets the Version field's value.
 19061  func (s *UpdateConnectivityInfoOutput) SetVersion(v string) *UpdateConnectivityInfoOutput {
 19062  	s.Version = &v
 19063  	return s
 19064  }
 19065  
 19066  type UpdateConnectorDefinitionInput struct {
 19067  	_ struct{} `type:"structure"`
 19068  
 19069  	// ConnectorDefinitionId is a required field
 19070  	ConnectorDefinitionId *string `location:"uri" locationName:"ConnectorDefinitionId" type:"string" required:"true"`
 19071  
 19072  	Name *string `type:"string"`
 19073  }
 19074  
 19075  // String returns the string representation.
 19076  //
 19077  // API parameter values that are decorated as "sensitive" in the API will not
 19078  // be included in the string output. The member name will be present, but the
 19079  // value will be replaced with "sensitive".
 19080  func (s UpdateConnectorDefinitionInput) String() string {
 19081  	return awsutil.Prettify(s)
 19082  }
 19083  
 19084  // GoString returns the string representation.
 19085  //
 19086  // API parameter values that are decorated as "sensitive" in the API will not
 19087  // be included in the string output. The member name will be present, but the
 19088  // value will be replaced with "sensitive".
 19089  func (s UpdateConnectorDefinitionInput) GoString() string {
 19090  	return s.String()
 19091  }
 19092  
 19093  // Validate inspects the fields of the type to determine if they are valid.
 19094  func (s *UpdateConnectorDefinitionInput) Validate() error {
 19095  	invalidParams := request.ErrInvalidParams{Context: "UpdateConnectorDefinitionInput"}
 19096  	if s.ConnectorDefinitionId == nil {
 19097  		invalidParams.Add(request.NewErrParamRequired("ConnectorDefinitionId"))
 19098  	}
 19099  	if s.ConnectorDefinitionId != nil && len(*s.ConnectorDefinitionId) < 1 {
 19100  		invalidParams.Add(request.NewErrParamMinLen("ConnectorDefinitionId", 1))
 19101  	}
 19102  
 19103  	if invalidParams.Len() > 0 {
 19104  		return invalidParams
 19105  	}
 19106  	return nil
 19107  }
 19108  
 19109  // SetConnectorDefinitionId sets the ConnectorDefinitionId field's value.
 19110  func (s *UpdateConnectorDefinitionInput) SetConnectorDefinitionId(v string) *UpdateConnectorDefinitionInput {
 19111  	s.ConnectorDefinitionId = &v
 19112  	return s
 19113  }
 19114  
 19115  // SetName sets the Name field's value.
 19116  func (s *UpdateConnectorDefinitionInput) SetName(v string) *UpdateConnectorDefinitionInput {
 19117  	s.Name = &v
 19118  	return s
 19119  }
 19120  
 19121  type UpdateConnectorDefinitionOutput struct {
 19122  	_ struct{} `type:"structure" nopayload:"true"`
 19123  }
 19124  
 19125  // String returns the string representation.
 19126  //
 19127  // API parameter values that are decorated as "sensitive" in the API will not
 19128  // be included in the string output. The member name will be present, but the
 19129  // value will be replaced with "sensitive".
 19130  func (s UpdateConnectorDefinitionOutput) String() string {
 19131  	return awsutil.Prettify(s)
 19132  }
 19133  
 19134  // GoString returns the string representation.
 19135  //
 19136  // API parameter values that are decorated as "sensitive" in the API will not
 19137  // be included in the string output. The member name will be present, but the
 19138  // value will be replaced with "sensitive".
 19139  func (s UpdateConnectorDefinitionOutput) GoString() string {
 19140  	return s.String()
 19141  }
 19142  
 19143  type UpdateCoreDefinitionInput struct {
 19144  	_ struct{} `type:"structure"`
 19145  
 19146  	// CoreDefinitionId is a required field
 19147  	CoreDefinitionId *string `location:"uri" locationName:"CoreDefinitionId" type:"string" required:"true"`
 19148  
 19149  	Name *string `type:"string"`
 19150  }
 19151  
 19152  // String returns the string representation.
 19153  //
 19154  // API parameter values that are decorated as "sensitive" in the API will not
 19155  // be included in the string output. The member name will be present, but the
 19156  // value will be replaced with "sensitive".
 19157  func (s UpdateCoreDefinitionInput) String() string {
 19158  	return awsutil.Prettify(s)
 19159  }
 19160  
 19161  // GoString returns the string representation.
 19162  //
 19163  // API parameter values that are decorated as "sensitive" in the API will not
 19164  // be included in the string output. The member name will be present, but the
 19165  // value will be replaced with "sensitive".
 19166  func (s UpdateCoreDefinitionInput) GoString() string {
 19167  	return s.String()
 19168  }
 19169  
 19170  // Validate inspects the fields of the type to determine if they are valid.
 19171  func (s *UpdateCoreDefinitionInput) Validate() error {
 19172  	invalidParams := request.ErrInvalidParams{Context: "UpdateCoreDefinitionInput"}
 19173  	if s.CoreDefinitionId == nil {
 19174  		invalidParams.Add(request.NewErrParamRequired("CoreDefinitionId"))
 19175  	}
 19176  	if s.CoreDefinitionId != nil && len(*s.CoreDefinitionId) < 1 {
 19177  		invalidParams.Add(request.NewErrParamMinLen("CoreDefinitionId", 1))
 19178  	}
 19179  
 19180  	if invalidParams.Len() > 0 {
 19181  		return invalidParams
 19182  	}
 19183  	return nil
 19184  }
 19185  
 19186  // SetCoreDefinitionId sets the CoreDefinitionId field's value.
 19187  func (s *UpdateCoreDefinitionInput) SetCoreDefinitionId(v string) *UpdateCoreDefinitionInput {
 19188  	s.CoreDefinitionId = &v
 19189  	return s
 19190  }
 19191  
 19192  // SetName sets the Name field's value.
 19193  func (s *UpdateCoreDefinitionInput) SetName(v string) *UpdateCoreDefinitionInput {
 19194  	s.Name = &v
 19195  	return s
 19196  }
 19197  
 19198  type UpdateCoreDefinitionOutput struct {
 19199  	_ struct{} `type:"structure" nopayload:"true"`
 19200  }
 19201  
 19202  // String returns the string representation.
 19203  //
 19204  // API parameter values that are decorated as "sensitive" in the API will not
 19205  // be included in the string output. The member name will be present, but the
 19206  // value will be replaced with "sensitive".
 19207  func (s UpdateCoreDefinitionOutput) String() string {
 19208  	return awsutil.Prettify(s)
 19209  }
 19210  
 19211  // GoString returns the string representation.
 19212  //
 19213  // API parameter values that are decorated as "sensitive" in the API will not
 19214  // be included in the string output. The member name will be present, but the
 19215  // value will be replaced with "sensitive".
 19216  func (s UpdateCoreDefinitionOutput) GoString() string {
 19217  	return s.String()
 19218  }
 19219  
 19220  type UpdateDeviceDefinitionInput struct {
 19221  	_ struct{} `type:"structure"`
 19222  
 19223  	// DeviceDefinitionId is a required field
 19224  	DeviceDefinitionId *string `location:"uri" locationName:"DeviceDefinitionId" type:"string" required:"true"`
 19225  
 19226  	Name *string `type:"string"`
 19227  }
 19228  
 19229  // String returns the string representation.
 19230  //
 19231  // API parameter values that are decorated as "sensitive" in the API will not
 19232  // be included in the string output. The member name will be present, but the
 19233  // value will be replaced with "sensitive".
 19234  func (s UpdateDeviceDefinitionInput) String() string {
 19235  	return awsutil.Prettify(s)
 19236  }
 19237  
 19238  // GoString returns the string representation.
 19239  //
 19240  // API parameter values that are decorated as "sensitive" in the API will not
 19241  // be included in the string output. The member name will be present, but the
 19242  // value will be replaced with "sensitive".
 19243  func (s UpdateDeviceDefinitionInput) GoString() string {
 19244  	return s.String()
 19245  }
 19246  
 19247  // Validate inspects the fields of the type to determine if they are valid.
 19248  func (s *UpdateDeviceDefinitionInput) Validate() error {
 19249  	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceDefinitionInput"}
 19250  	if s.DeviceDefinitionId == nil {
 19251  		invalidParams.Add(request.NewErrParamRequired("DeviceDefinitionId"))
 19252  	}
 19253  	if s.DeviceDefinitionId != nil && len(*s.DeviceDefinitionId) < 1 {
 19254  		invalidParams.Add(request.NewErrParamMinLen("DeviceDefinitionId", 1))
 19255  	}
 19256  
 19257  	if invalidParams.Len() > 0 {
 19258  		return invalidParams
 19259  	}
 19260  	return nil
 19261  }
 19262  
 19263  // SetDeviceDefinitionId sets the DeviceDefinitionId field's value.
 19264  func (s *UpdateDeviceDefinitionInput) SetDeviceDefinitionId(v string) *UpdateDeviceDefinitionInput {
 19265  	s.DeviceDefinitionId = &v
 19266  	return s
 19267  }
 19268  
 19269  // SetName sets the Name field's value.
 19270  func (s *UpdateDeviceDefinitionInput) SetName(v string) *UpdateDeviceDefinitionInput {
 19271  	s.Name = &v
 19272  	return s
 19273  }
 19274  
 19275  type UpdateDeviceDefinitionOutput struct {
 19276  	_ struct{} `type:"structure" nopayload:"true"`
 19277  }
 19278  
 19279  // String returns the string representation.
 19280  //
 19281  // API parameter values that are decorated as "sensitive" in the API will not
 19282  // be included in the string output. The member name will be present, but the
 19283  // value will be replaced with "sensitive".
 19284  func (s UpdateDeviceDefinitionOutput) String() string {
 19285  	return awsutil.Prettify(s)
 19286  }
 19287  
 19288  // GoString returns the string representation.
 19289  //
 19290  // API parameter values that are decorated as "sensitive" in the API will not
 19291  // be included in the string output. The member name will be present, but the
 19292  // value will be replaced with "sensitive".
 19293  func (s UpdateDeviceDefinitionOutput) GoString() string {
 19294  	return s.String()
 19295  }
 19296  
 19297  type UpdateFunctionDefinitionInput struct {
 19298  	_ struct{} `type:"structure"`
 19299  
 19300  	// FunctionDefinitionId is a required field
 19301  	FunctionDefinitionId *string `location:"uri" locationName:"FunctionDefinitionId" type:"string" required:"true"`
 19302  
 19303  	Name *string `type:"string"`
 19304  }
 19305  
 19306  // String returns the string representation.
 19307  //
 19308  // API parameter values that are decorated as "sensitive" in the API will not
 19309  // be included in the string output. The member name will be present, but the
 19310  // value will be replaced with "sensitive".
 19311  func (s UpdateFunctionDefinitionInput) String() string {
 19312  	return awsutil.Prettify(s)
 19313  }
 19314  
 19315  // GoString returns the string representation.
 19316  //
 19317  // API parameter values that are decorated as "sensitive" in the API will not
 19318  // be included in the string output. The member name will be present, but the
 19319  // value will be replaced with "sensitive".
 19320  func (s UpdateFunctionDefinitionInput) GoString() string {
 19321  	return s.String()
 19322  }
 19323  
 19324  // Validate inspects the fields of the type to determine if they are valid.
 19325  func (s *UpdateFunctionDefinitionInput) Validate() error {
 19326  	invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionDefinitionInput"}
 19327  	if s.FunctionDefinitionId == nil {
 19328  		invalidParams.Add(request.NewErrParamRequired("FunctionDefinitionId"))
 19329  	}
 19330  	if s.FunctionDefinitionId != nil && len(*s.FunctionDefinitionId) < 1 {
 19331  		invalidParams.Add(request.NewErrParamMinLen("FunctionDefinitionId", 1))
 19332  	}
 19333  
 19334  	if invalidParams.Len() > 0 {
 19335  		return invalidParams
 19336  	}
 19337  	return nil
 19338  }
 19339  
 19340  // SetFunctionDefinitionId sets the FunctionDefinitionId field's value.
 19341  func (s *UpdateFunctionDefinitionInput) SetFunctionDefinitionId(v string) *UpdateFunctionDefinitionInput {
 19342  	s.FunctionDefinitionId = &v
 19343  	return s
 19344  }
 19345  
 19346  // SetName sets the Name field's value.
 19347  func (s *UpdateFunctionDefinitionInput) SetName(v string) *UpdateFunctionDefinitionInput {
 19348  	s.Name = &v
 19349  	return s
 19350  }
 19351  
 19352  type UpdateFunctionDefinitionOutput struct {
 19353  	_ struct{} `type:"structure" nopayload:"true"`
 19354  }
 19355  
 19356  // String returns the string representation.
 19357  //
 19358  // API parameter values that are decorated as "sensitive" in the API will not
 19359  // be included in the string output. The member name will be present, but the
 19360  // value will be replaced with "sensitive".
 19361  func (s UpdateFunctionDefinitionOutput) String() string {
 19362  	return awsutil.Prettify(s)
 19363  }
 19364  
 19365  // GoString returns the string representation.
 19366  //
 19367  // API parameter values that are decorated as "sensitive" in the API will not
 19368  // be included in the string output. The member name will be present, but the
 19369  // value will be replaced with "sensitive".
 19370  func (s UpdateFunctionDefinitionOutput) GoString() string {
 19371  	return s.String()
 19372  }
 19373  
 19374  type UpdateGroupCertificateConfigurationInput struct {
 19375  	_ struct{} `type:"structure"`
 19376  
 19377  	// The amount of time remaining before the certificate expires, in milliseconds.
 19378  	CertificateExpiryInMilliseconds *string `type:"string"`
 19379  
 19380  	// GroupId is a required field
 19381  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 19382  }
 19383  
 19384  // String returns the string representation.
 19385  //
 19386  // API parameter values that are decorated as "sensitive" in the API will not
 19387  // be included in the string output. The member name will be present, but the
 19388  // value will be replaced with "sensitive".
 19389  func (s UpdateGroupCertificateConfigurationInput) String() string {
 19390  	return awsutil.Prettify(s)
 19391  }
 19392  
 19393  // GoString returns the string representation.
 19394  //
 19395  // API parameter values that are decorated as "sensitive" in the API will not
 19396  // be included in the string output. The member name will be present, but the
 19397  // value will be replaced with "sensitive".
 19398  func (s UpdateGroupCertificateConfigurationInput) GoString() string {
 19399  	return s.String()
 19400  }
 19401  
 19402  // Validate inspects the fields of the type to determine if they are valid.
 19403  func (s *UpdateGroupCertificateConfigurationInput) Validate() error {
 19404  	invalidParams := request.ErrInvalidParams{Context: "UpdateGroupCertificateConfigurationInput"}
 19405  	if s.GroupId == nil {
 19406  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 19407  	}
 19408  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 19409  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 19410  	}
 19411  
 19412  	if invalidParams.Len() > 0 {
 19413  		return invalidParams
 19414  	}
 19415  	return nil
 19416  }
 19417  
 19418  // SetCertificateExpiryInMilliseconds sets the CertificateExpiryInMilliseconds field's value.
 19419  func (s *UpdateGroupCertificateConfigurationInput) SetCertificateExpiryInMilliseconds(v string) *UpdateGroupCertificateConfigurationInput {
 19420  	s.CertificateExpiryInMilliseconds = &v
 19421  	return s
 19422  }
 19423  
 19424  // SetGroupId sets the GroupId field's value.
 19425  func (s *UpdateGroupCertificateConfigurationInput) SetGroupId(v string) *UpdateGroupCertificateConfigurationInput {
 19426  	s.GroupId = &v
 19427  	return s
 19428  }
 19429  
 19430  type UpdateGroupCertificateConfigurationOutput struct {
 19431  	_ struct{} `type:"structure"`
 19432  
 19433  	CertificateAuthorityExpiryInMilliseconds *string `type:"string"`
 19434  
 19435  	CertificateExpiryInMilliseconds *string `type:"string"`
 19436  
 19437  	GroupId *string `type:"string"`
 19438  }
 19439  
 19440  // String returns the string representation.
 19441  //
 19442  // API parameter values that are decorated as "sensitive" in the API will not
 19443  // be included in the string output. The member name will be present, but the
 19444  // value will be replaced with "sensitive".
 19445  func (s UpdateGroupCertificateConfigurationOutput) String() string {
 19446  	return awsutil.Prettify(s)
 19447  }
 19448  
 19449  // GoString returns the string representation.
 19450  //
 19451  // API parameter values that are decorated as "sensitive" in the API will not
 19452  // be included in the string output. The member name will be present, but the
 19453  // value will be replaced with "sensitive".
 19454  func (s UpdateGroupCertificateConfigurationOutput) GoString() string {
 19455  	return s.String()
 19456  }
 19457  
 19458  // SetCertificateAuthorityExpiryInMilliseconds sets the CertificateAuthorityExpiryInMilliseconds field's value.
 19459  func (s *UpdateGroupCertificateConfigurationOutput) SetCertificateAuthorityExpiryInMilliseconds(v string) *UpdateGroupCertificateConfigurationOutput {
 19460  	s.CertificateAuthorityExpiryInMilliseconds = &v
 19461  	return s
 19462  }
 19463  
 19464  // SetCertificateExpiryInMilliseconds sets the CertificateExpiryInMilliseconds field's value.
 19465  func (s *UpdateGroupCertificateConfigurationOutput) SetCertificateExpiryInMilliseconds(v string) *UpdateGroupCertificateConfigurationOutput {
 19466  	s.CertificateExpiryInMilliseconds = &v
 19467  	return s
 19468  }
 19469  
 19470  // SetGroupId sets the GroupId field's value.
 19471  func (s *UpdateGroupCertificateConfigurationOutput) SetGroupId(v string) *UpdateGroupCertificateConfigurationOutput {
 19472  	s.GroupId = &v
 19473  	return s
 19474  }
 19475  
 19476  type UpdateGroupInput struct {
 19477  	_ struct{} `type:"structure"`
 19478  
 19479  	// GroupId is a required field
 19480  	GroupId *string `location:"uri" locationName:"GroupId" type:"string" required:"true"`
 19481  
 19482  	Name *string `type:"string"`
 19483  }
 19484  
 19485  // String returns the string representation.
 19486  //
 19487  // API parameter values that are decorated as "sensitive" in the API will not
 19488  // be included in the string output. The member name will be present, but the
 19489  // value will be replaced with "sensitive".
 19490  func (s UpdateGroupInput) String() string {
 19491  	return awsutil.Prettify(s)
 19492  }
 19493  
 19494  // GoString returns the string representation.
 19495  //
 19496  // API parameter values that are decorated as "sensitive" in the API will not
 19497  // be included in the string output. The member name will be present, but the
 19498  // value will be replaced with "sensitive".
 19499  func (s UpdateGroupInput) GoString() string {
 19500  	return s.String()
 19501  }
 19502  
 19503  // Validate inspects the fields of the type to determine if they are valid.
 19504  func (s *UpdateGroupInput) Validate() error {
 19505  	invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"}
 19506  	if s.GroupId == nil {
 19507  		invalidParams.Add(request.NewErrParamRequired("GroupId"))
 19508  	}
 19509  	if s.GroupId != nil && len(*s.GroupId) < 1 {
 19510  		invalidParams.Add(request.NewErrParamMinLen("GroupId", 1))
 19511  	}
 19512  
 19513  	if invalidParams.Len() > 0 {
 19514  		return invalidParams
 19515  	}
 19516  	return nil
 19517  }
 19518  
 19519  // SetGroupId sets the GroupId field's value.
 19520  func (s *UpdateGroupInput) SetGroupId(v string) *UpdateGroupInput {
 19521  	s.GroupId = &v
 19522  	return s
 19523  }
 19524  
 19525  // SetName sets the Name field's value.
 19526  func (s *UpdateGroupInput) SetName(v string) *UpdateGroupInput {
 19527  	s.Name = &v
 19528  	return s
 19529  }
 19530  
 19531  type UpdateGroupOutput struct {
 19532  	_ struct{} `type:"structure" nopayload:"true"`
 19533  }
 19534  
 19535  // String returns the string representation.
 19536  //
 19537  // API parameter values that are decorated as "sensitive" in the API will not
 19538  // be included in the string output. The member name will be present, but the
 19539  // value will be replaced with "sensitive".
 19540  func (s UpdateGroupOutput) String() string {
 19541  	return awsutil.Prettify(s)
 19542  }
 19543  
 19544  // GoString returns the string representation.
 19545  //
 19546  // API parameter values that are decorated as "sensitive" in the API will not
 19547  // be included in the string output. The member name will be present, but the
 19548  // value will be replaced with "sensitive".
 19549  func (s UpdateGroupOutput) GoString() string {
 19550  	return s.String()
 19551  }
 19552  
 19553  type UpdateLoggerDefinitionInput struct {
 19554  	_ struct{} `type:"structure"`
 19555  
 19556  	// LoggerDefinitionId is a required field
 19557  	LoggerDefinitionId *string `location:"uri" locationName:"LoggerDefinitionId" type:"string" required:"true"`
 19558  
 19559  	Name *string `type:"string"`
 19560  }
 19561  
 19562  // String returns the string representation.
 19563  //
 19564  // API parameter values that are decorated as "sensitive" in the API will not
 19565  // be included in the string output. The member name will be present, but the
 19566  // value will be replaced with "sensitive".
 19567  func (s UpdateLoggerDefinitionInput) String() string {
 19568  	return awsutil.Prettify(s)
 19569  }
 19570  
 19571  // GoString returns the string representation.
 19572  //
 19573  // API parameter values that are decorated as "sensitive" in the API will not
 19574  // be included in the string output. The member name will be present, but the
 19575  // value will be replaced with "sensitive".
 19576  func (s UpdateLoggerDefinitionInput) GoString() string {
 19577  	return s.String()
 19578  }
 19579  
 19580  // Validate inspects the fields of the type to determine if they are valid.
 19581  func (s *UpdateLoggerDefinitionInput) Validate() error {
 19582  	invalidParams := request.ErrInvalidParams{Context: "UpdateLoggerDefinitionInput"}
 19583  	if s.LoggerDefinitionId == nil {
 19584  		invalidParams.Add(request.NewErrParamRequired("LoggerDefinitionId"))
 19585  	}
 19586  	if s.LoggerDefinitionId != nil && len(*s.LoggerDefinitionId) < 1 {
 19587  		invalidParams.Add(request.NewErrParamMinLen("LoggerDefinitionId", 1))
 19588  	}
 19589  
 19590  	if invalidParams.Len() > 0 {
 19591  		return invalidParams
 19592  	}
 19593  	return nil
 19594  }
 19595  
 19596  // SetLoggerDefinitionId sets the LoggerDefinitionId field's value.
 19597  func (s *UpdateLoggerDefinitionInput) SetLoggerDefinitionId(v string) *UpdateLoggerDefinitionInput {
 19598  	s.LoggerDefinitionId = &v
 19599  	return s
 19600  }
 19601  
 19602  // SetName sets the Name field's value.
 19603  func (s *UpdateLoggerDefinitionInput) SetName(v string) *UpdateLoggerDefinitionInput {
 19604  	s.Name = &v
 19605  	return s
 19606  }
 19607  
 19608  type UpdateLoggerDefinitionOutput struct {
 19609  	_ struct{} `type:"structure" nopayload:"true"`
 19610  }
 19611  
 19612  // String returns the string representation.
 19613  //
 19614  // API parameter values that are decorated as "sensitive" in the API will not
 19615  // be included in the string output. The member name will be present, but the
 19616  // value will be replaced with "sensitive".
 19617  func (s UpdateLoggerDefinitionOutput) String() string {
 19618  	return awsutil.Prettify(s)
 19619  }
 19620  
 19621  // GoString returns the string representation.
 19622  //
 19623  // API parameter values that are decorated as "sensitive" in the API will not
 19624  // be included in the string output. The member name will be present, but the
 19625  // value will be replaced with "sensitive".
 19626  func (s UpdateLoggerDefinitionOutput) GoString() string {
 19627  	return s.String()
 19628  }
 19629  
 19630  type UpdateResourceDefinitionInput struct {
 19631  	_ struct{} `type:"structure"`
 19632  
 19633  	Name *string `type:"string"`
 19634  
 19635  	// ResourceDefinitionId is a required field
 19636  	ResourceDefinitionId *string `location:"uri" locationName:"ResourceDefinitionId" type:"string" required:"true"`
 19637  }
 19638  
 19639  // String returns the string representation.
 19640  //
 19641  // API parameter values that are decorated as "sensitive" in the API will not
 19642  // be included in the string output. The member name will be present, but the
 19643  // value will be replaced with "sensitive".
 19644  func (s UpdateResourceDefinitionInput) String() string {
 19645  	return awsutil.Prettify(s)
 19646  }
 19647  
 19648  // GoString returns the string representation.
 19649  //
 19650  // API parameter values that are decorated as "sensitive" in the API will not
 19651  // be included in the string output. The member name will be present, but the
 19652  // value will be replaced with "sensitive".
 19653  func (s UpdateResourceDefinitionInput) GoString() string {
 19654  	return s.String()
 19655  }
 19656  
 19657  // Validate inspects the fields of the type to determine if they are valid.
 19658  func (s *UpdateResourceDefinitionInput) Validate() error {
 19659  	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceDefinitionInput"}
 19660  	if s.ResourceDefinitionId == nil {
 19661  		invalidParams.Add(request.NewErrParamRequired("ResourceDefinitionId"))
 19662  	}
 19663  	if s.ResourceDefinitionId != nil && len(*s.ResourceDefinitionId) < 1 {
 19664  		invalidParams.Add(request.NewErrParamMinLen("ResourceDefinitionId", 1))
 19665  	}
 19666  
 19667  	if invalidParams.Len() > 0 {
 19668  		return invalidParams
 19669  	}
 19670  	return nil
 19671  }
 19672  
 19673  // SetName sets the Name field's value.
 19674  func (s *UpdateResourceDefinitionInput) SetName(v string) *UpdateResourceDefinitionInput {
 19675  	s.Name = &v
 19676  	return s
 19677  }
 19678  
 19679  // SetResourceDefinitionId sets the ResourceDefinitionId field's value.
 19680  func (s *UpdateResourceDefinitionInput) SetResourceDefinitionId(v string) *UpdateResourceDefinitionInput {
 19681  	s.ResourceDefinitionId = &v
 19682  	return s
 19683  }
 19684  
 19685  type UpdateResourceDefinitionOutput struct {
 19686  	_ struct{} `type:"structure" nopayload:"true"`
 19687  }
 19688  
 19689  // String returns the string representation.
 19690  //
 19691  // API parameter values that are decorated as "sensitive" in the API will not
 19692  // be included in the string output. The member name will be present, but the
 19693  // value will be replaced with "sensitive".
 19694  func (s UpdateResourceDefinitionOutput) String() string {
 19695  	return awsutil.Prettify(s)
 19696  }
 19697  
 19698  // GoString returns the string representation.
 19699  //
 19700  // API parameter values that are decorated as "sensitive" in the API will not
 19701  // be included in the string output. The member name will be present, but the
 19702  // value will be replaced with "sensitive".
 19703  func (s UpdateResourceDefinitionOutput) GoString() string {
 19704  	return s.String()
 19705  }
 19706  
 19707  type UpdateSubscriptionDefinitionInput struct {
 19708  	_ struct{} `type:"structure"`
 19709  
 19710  	Name *string `type:"string"`
 19711  
 19712  	// SubscriptionDefinitionId is a required field
 19713  	SubscriptionDefinitionId *string `location:"uri" locationName:"SubscriptionDefinitionId" type:"string" required:"true"`
 19714  }
 19715  
 19716  // String returns the string representation.
 19717  //
 19718  // API parameter values that are decorated as "sensitive" in the API will not
 19719  // be included in the string output. The member name will be present, but the
 19720  // value will be replaced with "sensitive".
 19721  func (s UpdateSubscriptionDefinitionInput) String() string {
 19722  	return awsutil.Prettify(s)
 19723  }
 19724  
 19725  // GoString returns the string representation.
 19726  //
 19727  // API parameter values that are decorated as "sensitive" in the API will not
 19728  // be included in the string output. The member name will be present, but the
 19729  // value will be replaced with "sensitive".
 19730  func (s UpdateSubscriptionDefinitionInput) GoString() string {
 19731  	return s.String()
 19732  }
 19733  
 19734  // Validate inspects the fields of the type to determine if they are valid.
 19735  func (s *UpdateSubscriptionDefinitionInput) Validate() error {
 19736  	invalidParams := request.ErrInvalidParams{Context: "UpdateSubscriptionDefinitionInput"}
 19737  	if s.SubscriptionDefinitionId == nil {
 19738  		invalidParams.Add(request.NewErrParamRequired("SubscriptionDefinitionId"))
 19739  	}
 19740  	if s.SubscriptionDefinitionId != nil && len(*s.SubscriptionDefinitionId) < 1 {
 19741  		invalidParams.Add(request.NewErrParamMinLen("SubscriptionDefinitionId", 1))
 19742  	}
 19743  
 19744  	if invalidParams.Len() > 0 {
 19745  		return invalidParams
 19746  	}
 19747  	return nil
 19748  }
 19749  
 19750  // SetName sets the Name field's value.
 19751  func (s *UpdateSubscriptionDefinitionInput) SetName(v string) *UpdateSubscriptionDefinitionInput {
 19752  	s.Name = &v
 19753  	return s
 19754  }
 19755  
 19756  // SetSubscriptionDefinitionId sets the SubscriptionDefinitionId field's value.
 19757  func (s *UpdateSubscriptionDefinitionInput) SetSubscriptionDefinitionId(v string) *UpdateSubscriptionDefinitionInput {
 19758  	s.SubscriptionDefinitionId = &v
 19759  	return s
 19760  }
 19761  
 19762  type UpdateSubscriptionDefinitionOutput struct {
 19763  	_ struct{} `type:"structure" nopayload:"true"`
 19764  }
 19765  
 19766  // String returns the string representation.
 19767  //
 19768  // API parameter values that are decorated as "sensitive" in the API will not
 19769  // be included in the string output. The member name will be present, but the
 19770  // value will be replaced with "sensitive".
 19771  func (s UpdateSubscriptionDefinitionOutput) String() string {
 19772  	return awsutil.Prettify(s)
 19773  }
 19774  
 19775  // GoString returns the string representation.
 19776  //
 19777  // API parameter values that are decorated as "sensitive" in the API will not
 19778  // be included in the string output. The member name will be present, but the
 19779  // value will be replaced with "sensitive".
 19780  func (s UpdateSubscriptionDefinitionOutput) GoString() string {
 19781  	return s.String()
 19782  }
 19783  
 19784  type UpdateThingRuntimeConfigurationInput struct {
 19785  	_ struct{} `type:"structure"`
 19786  
 19787  	// Configuration settings for running telemetry.
 19788  	TelemetryConfiguration *TelemetryConfigurationUpdate `type:"structure"`
 19789  
 19790  	// ThingName is a required field
 19791  	ThingName *string `location:"uri" locationName:"ThingName" type:"string" required:"true"`
 19792  }
 19793  
 19794  // String returns the string representation.
 19795  //
 19796  // API parameter values that are decorated as "sensitive" in the API will not
 19797  // be included in the string output. The member name will be present, but the
 19798  // value will be replaced with "sensitive".
 19799  func (s UpdateThingRuntimeConfigurationInput) String() string {
 19800  	return awsutil.Prettify(s)
 19801  }
 19802  
 19803  // GoString returns the string representation.
 19804  //
 19805  // API parameter values that are decorated as "sensitive" in the API will not
 19806  // be included in the string output. The member name will be present, but the
 19807  // value will be replaced with "sensitive".
 19808  func (s UpdateThingRuntimeConfigurationInput) GoString() string {
 19809  	return s.String()
 19810  }
 19811  
 19812  // Validate inspects the fields of the type to determine if they are valid.
 19813  func (s *UpdateThingRuntimeConfigurationInput) Validate() error {
 19814  	invalidParams := request.ErrInvalidParams{Context: "UpdateThingRuntimeConfigurationInput"}
 19815  	if s.ThingName == nil {
 19816  		invalidParams.Add(request.NewErrParamRequired("ThingName"))
 19817  	}
 19818  	if s.ThingName != nil && len(*s.ThingName) < 1 {
 19819  		invalidParams.Add(request.NewErrParamMinLen("ThingName", 1))
 19820  	}
 19821  	if s.TelemetryConfiguration != nil {
 19822  		if err := s.TelemetryConfiguration.Validate(); err != nil {
 19823  			invalidParams.AddNested("TelemetryConfiguration", err.(request.ErrInvalidParams))
 19824  		}
 19825  	}
 19826  
 19827  	if invalidParams.Len() > 0 {
 19828  		return invalidParams
 19829  	}
 19830  	return nil
 19831  }
 19832  
 19833  // SetTelemetryConfiguration sets the TelemetryConfiguration field's value.
 19834  func (s *UpdateThingRuntimeConfigurationInput) SetTelemetryConfiguration(v *TelemetryConfigurationUpdate) *UpdateThingRuntimeConfigurationInput {
 19835  	s.TelemetryConfiguration = v
 19836  	return s
 19837  }
 19838  
 19839  // SetThingName sets the ThingName field's value.
 19840  func (s *UpdateThingRuntimeConfigurationInput) SetThingName(v string) *UpdateThingRuntimeConfigurationInput {
 19841  	s.ThingName = &v
 19842  	return s
 19843  }
 19844  
 19845  type UpdateThingRuntimeConfigurationOutput struct {
 19846  	_ struct{} `type:"structure" nopayload:"true"`
 19847  }
 19848  
 19849  // String returns the string representation.
 19850  //
 19851  // API parameter values that are decorated as "sensitive" in the API will not
 19852  // be included in the string output. The member name will be present, but the
 19853  // value will be replaced with "sensitive".
 19854  func (s UpdateThingRuntimeConfigurationOutput) String() string {
 19855  	return awsutil.Prettify(s)
 19856  }
 19857  
 19858  // GoString returns the string representation.
 19859  //
 19860  // API parameter values that are decorated as "sensitive" in the API will not
 19861  // be included in the string output. The member name will be present, but the
 19862  // value will be replaced with "sensitive".
 19863  func (s UpdateThingRuntimeConfigurationOutput) GoString() string {
 19864  	return s.String()
 19865  }
 19866  
 19867  // Information about a version.
 19868  type VersionInformation struct {
 19869  	_ struct{} `type:"structure"`
 19870  
 19871  	// The ARN of the version.
 19872  	Arn *string `type:"string"`
 19873  
 19874  	// The time, in milliseconds since the epoch, when the version was created.
 19875  	CreationTimestamp *string `type:"string"`
 19876  
 19877  	// The ID of the parent definition that the version is associated with.
 19878  	Id *string `type:"string"`
 19879  
 19880  	// The ID of the version.
 19881  	Version *string `type:"string"`
 19882  }
 19883  
 19884  // String returns the string representation.
 19885  //
 19886  // API parameter values that are decorated as "sensitive" in the API will not
 19887  // be included in the string output. The member name will be present, but the
 19888  // value will be replaced with "sensitive".
 19889  func (s VersionInformation) String() string {
 19890  	return awsutil.Prettify(s)
 19891  }
 19892  
 19893  // GoString returns the string representation.
 19894  //
 19895  // API parameter values that are decorated as "sensitive" in the API will not
 19896  // be included in the string output. The member name will be present, but the
 19897  // value will be replaced with "sensitive".
 19898  func (s VersionInformation) GoString() string {
 19899  	return s.String()
 19900  }
 19901  
 19902  // SetArn sets the Arn field's value.
 19903  func (s *VersionInformation) SetArn(v string) *VersionInformation {
 19904  	s.Arn = &v
 19905  	return s
 19906  }
 19907  
 19908  // SetCreationTimestamp sets the CreationTimestamp field's value.
 19909  func (s *VersionInformation) SetCreationTimestamp(v string) *VersionInformation {
 19910  	s.CreationTimestamp = &v
 19911  	return s
 19912  }
 19913  
 19914  // SetId sets the Id field's value.
 19915  func (s *VersionInformation) SetId(v string) *VersionInformation {
 19916  	s.Id = &v
 19917  	return s
 19918  }
 19919  
 19920  // SetVersion sets the Version field's value.
 19921  func (s *VersionInformation) SetVersion(v string) *VersionInformation {
 19922  	s.Version = &v
 19923  	return s
 19924  }
 19925  
 19926  // The current status of the bulk deployment.
 19927  const (
 19928  	// BulkDeploymentStatusInitializing is a BulkDeploymentStatus enum value
 19929  	BulkDeploymentStatusInitializing = "Initializing"
 19930  
 19931  	// BulkDeploymentStatusRunning is a BulkDeploymentStatus enum value
 19932  	BulkDeploymentStatusRunning = "Running"
 19933  
 19934  	// BulkDeploymentStatusCompleted is a BulkDeploymentStatus enum value
 19935  	BulkDeploymentStatusCompleted = "Completed"
 19936  
 19937  	// BulkDeploymentStatusStopping is a BulkDeploymentStatus enum value
 19938  	BulkDeploymentStatusStopping = "Stopping"
 19939  
 19940  	// BulkDeploymentStatusStopped is a BulkDeploymentStatus enum value
 19941  	BulkDeploymentStatusStopped = "Stopped"
 19942  
 19943  	// BulkDeploymentStatusFailed is a BulkDeploymentStatus enum value
 19944  	BulkDeploymentStatusFailed = "Failed"
 19945  )
 19946  
 19947  // BulkDeploymentStatus_Values returns all elements of the BulkDeploymentStatus enum
 19948  func BulkDeploymentStatus_Values() []string {
 19949  	return []string{
 19950  		BulkDeploymentStatusInitializing,
 19951  		BulkDeploymentStatusRunning,
 19952  		BulkDeploymentStatusCompleted,
 19953  		BulkDeploymentStatusStopping,
 19954  		BulkDeploymentStatusStopped,
 19955  		BulkDeploymentStatusFailed,
 19956  	}
 19957  }
 19958  
 19959  const (
 19960  	// ConfigurationSyncStatusInSync is a ConfigurationSyncStatus enum value
 19961  	ConfigurationSyncStatusInSync = "InSync"
 19962  
 19963  	// ConfigurationSyncStatusOutOfSync is a ConfigurationSyncStatus enum value
 19964  	ConfigurationSyncStatusOutOfSync = "OutOfSync"
 19965  )
 19966  
 19967  // ConfigurationSyncStatus_Values returns all elements of the ConfigurationSyncStatus enum
 19968  func ConfigurationSyncStatus_Values() []string {
 19969  	return []string{
 19970  		ConfigurationSyncStatusInSync,
 19971  		ConfigurationSyncStatusOutOfSync,
 19972  	}
 19973  }
 19974  
 19975  // The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment''
 19976  // and ''Redeployment'' are valid.
 19977  const (
 19978  	// DeploymentTypeNewDeployment is a DeploymentType enum value
 19979  	DeploymentTypeNewDeployment = "NewDeployment"
 19980  
 19981  	// DeploymentTypeRedeployment is a DeploymentType enum value
 19982  	DeploymentTypeRedeployment = "Redeployment"
 19983  
 19984  	// DeploymentTypeResetDeployment is a DeploymentType enum value
 19985  	DeploymentTypeResetDeployment = "ResetDeployment"
 19986  
 19987  	// DeploymentTypeForceResetDeployment is a DeploymentType enum value
 19988  	DeploymentTypeForceResetDeployment = "ForceResetDeployment"
 19989  )
 19990  
 19991  // DeploymentType_Values returns all elements of the DeploymentType enum
 19992  func DeploymentType_Values() []string {
 19993  	return []string{
 19994  		DeploymentTypeNewDeployment,
 19995  		DeploymentTypeRedeployment,
 19996  		DeploymentTypeResetDeployment,
 19997  		DeploymentTypeForceResetDeployment,
 19998  	}
 19999  }
 20000  
 20001  const (
 20002  	// EncodingTypeBinary is a EncodingType enum value
 20003  	EncodingTypeBinary = "binary"
 20004  
 20005  	// EncodingTypeJson is a EncodingType enum value
 20006  	EncodingTypeJson = "json"
 20007  )
 20008  
 20009  // EncodingType_Values returns all elements of the EncodingType enum
 20010  func EncodingType_Values() []string {
 20011  	return []string{
 20012  		EncodingTypeBinary,
 20013  		EncodingTypeJson,
 20014  	}
 20015  }
 20016  
 20017  // Specifies whether the Lambda function runs in a Greengrass container (default)
 20018  // or without containerization. Unless your scenario requires that you run without
 20019  // containerization, we recommend that you run in a Greengrass container. Omit
 20020  // this value to run the Lambda function with the default containerization for
 20021  // the group.
 20022  const (
 20023  	// FunctionIsolationModeGreengrassContainer is a FunctionIsolationMode enum value
 20024  	FunctionIsolationModeGreengrassContainer = "GreengrassContainer"
 20025  
 20026  	// FunctionIsolationModeNoContainer is a FunctionIsolationMode enum value
 20027  	FunctionIsolationModeNoContainer = "NoContainer"
 20028  )
 20029  
 20030  // FunctionIsolationMode_Values returns all elements of the FunctionIsolationMode enum
 20031  func FunctionIsolationMode_Values() []string {
 20032  	return []string{
 20033  		FunctionIsolationModeGreengrassContainer,
 20034  		FunctionIsolationModeNoContainer,
 20035  	}
 20036  }
 20037  
 20038  const (
 20039  	// LoggerComponentGreengrassSystem is a LoggerComponent enum value
 20040  	LoggerComponentGreengrassSystem = "GreengrassSystem"
 20041  
 20042  	// LoggerComponentLambda is a LoggerComponent enum value
 20043  	LoggerComponentLambda = "Lambda"
 20044  )
 20045  
 20046  // LoggerComponent_Values returns all elements of the LoggerComponent enum
 20047  func LoggerComponent_Values() []string {
 20048  	return []string{
 20049  		LoggerComponentGreengrassSystem,
 20050  		LoggerComponentLambda,
 20051  	}
 20052  }
 20053  
 20054  const (
 20055  	// LoggerLevelDebug is a LoggerLevel enum value
 20056  	LoggerLevelDebug = "DEBUG"
 20057  
 20058  	// LoggerLevelInfo is a LoggerLevel enum value
 20059  	LoggerLevelInfo = "INFO"
 20060  
 20061  	// LoggerLevelWarn is a LoggerLevel enum value
 20062  	LoggerLevelWarn = "WARN"
 20063  
 20064  	// LoggerLevelError is a LoggerLevel enum value
 20065  	LoggerLevelError = "ERROR"
 20066  
 20067  	// LoggerLevelFatal is a LoggerLevel enum value
 20068  	LoggerLevelFatal = "FATAL"
 20069  )
 20070  
 20071  // LoggerLevel_Values returns all elements of the LoggerLevel enum
 20072  func LoggerLevel_Values() []string {
 20073  	return []string{
 20074  		LoggerLevelDebug,
 20075  		LoggerLevelInfo,
 20076  		LoggerLevelWarn,
 20077  		LoggerLevelError,
 20078  		LoggerLevelFatal,
 20079  	}
 20080  }
 20081  
 20082  const (
 20083  	// LoggerTypeFileSystem is a LoggerType enum value
 20084  	LoggerTypeFileSystem = "FileSystem"
 20085  
 20086  	// LoggerTypeAwscloudWatch is a LoggerType enum value
 20087  	LoggerTypeAwscloudWatch = "AWSCloudWatch"
 20088  )
 20089  
 20090  // LoggerType_Values returns all elements of the LoggerType enum
 20091  func LoggerType_Values() []string {
 20092  	return []string{
 20093  		LoggerTypeFileSystem,
 20094  		LoggerTypeAwscloudWatch,
 20095  	}
 20096  }
 20097  
 20098  // The type of permission a function has to access a resource.
 20099  const (
 20100  	// PermissionRo is a Permission enum value
 20101  	PermissionRo = "ro"
 20102  
 20103  	// PermissionRw is a Permission enum value
 20104  	PermissionRw = "rw"
 20105  )
 20106  
 20107  // Permission_Values returns all elements of the Permission enum
 20108  func Permission_Values() []string {
 20109  	return []string{
 20110  		PermissionRo,
 20111  		PermissionRw,
 20112  	}
 20113  }
 20114  
 20115  // The piece of software on the Greengrass core that will be updated.
 20116  const (
 20117  	// SoftwareToUpdateCore is a SoftwareToUpdate enum value
 20118  	SoftwareToUpdateCore = "core"
 20119  
 20120  	// SoftwareToUpdateOtaAgent is a SoftwareToUpdate enum value
 20121  	SoftwareToUpdateOtaAgent = "ota_agent"
 20122  )
 20123  
 20124  // SoftwareToUpdate_Values returns all elements of the SoftwareToUpdate enum
 20125  func SoftwareToUpdate_Values() []string {
 20126  	return []string{
 20127  		SoftwareToUpdateCore,
 20128  		SoftwareToUpdateOtaAgent,
 20129  	}
 20130  }
 20131  
 20132  const (
 20133  	// TelemetryOn is a Telemetry enum value
 20134  	TelemetryOn = "On"
 20135  
 20136  	// TelemetryOff is a Telemetry enum value
 20137  	TelemetryOff = "Off"
 20138  )
 20139  
 20140  // Telemetry_Values returns all elements of the Telemetry enum
 20141  func Telemetry_Values() []string {
 20142  	return []string{
 20143  		TelemetryOn,
 20144  		TelemetryOff,
 20145  	}
 20146  }
 20147  
 20148  // The minimum level of log statements that should be logged by the OTA Agent
 20149  // during an update.
 20150  const (
 20151  	// UpdateAgentLogLevelNone is a UpdateAgentLogLevel enum value
 20152  	UpdateAgentLogLevelNone = "NONE"
 20153  
 20154  	// UpdateAgentLogLevelTrace is a UpdateAgentLogLevel enum value
 20155  	UpdateAgentLogLevelTrace = "TRACE"
 20156  
 20157  	// UpdateAgentLogLevelDebug is a UpdateAgentLogLevel enum value
 20158  	UpdateAgentLogLevelDebug = "DEBUG"
 20159  
 20160  	// UpdateAgentLogLevelVerbose is a UpdateAgentLogLevel enum value
 20161  	UpdateAgentLogLevelVerbose = "VERBOSE"
 20162  
 20163  	// UpdateAgentLogLevelInfo is a UpdateAgentLogLevel enum value
 20164  	UpdateAgentLogLevelInfo = "INFO"
 20165  
 20166  	// UpdateAgentLogLevelWarn is a UpdateAgentLogLevel enum value
 20167  	UpdateAgentLogLevelWarn = "WARN"
 20168  
 20169  	// UpdateAgentLogLevelError is a UpdateAgentLogLevel enum value
 20170  	UpdateAgentLogLevelError = "ERROR"
 20171  
 20172  	// UpdateAgentLogLevelFatal is a UpdateAgentLogLevel enum value
 20173  	UpdateAgentLogLevelFatal = "FATAL"
 20174  )
 20175  
 20176  // UpdateAgentLogLevel_Values returns all elements of the UpdateAgentLogLevel enum
 20177  func UpdateAgentLogLevel_Values() []string {
 20178  	return []string{
 20179  		UpdateAgentLogLevelNone,
 20180  		UpdateAgentLogLevelTrace,
 20181  		UpdateAgentLogLevelDebug,
 20182  		UpdateAgentLogLevelVerbose,
 20183  		UpdateAgentLogLevelInfo,
 20184  		UpdateAgentLogLevelWarn,
 20185  		UpdateAgentLogLevelError,
 20186  		UpdateAgentLogLevelFatal,
 20187  	}
 20188  }
 20189  
 20190  // The architecture of the cores which are the targets of an update.
 20191  const (
 20192  	// UpdateTargetsArchitectureArmv6l is a UpdateTargetsArchitecture enum value
 20193  	UpdateTargetsArchitectureArmv6l = "armv6l"
 20194  
 20195  	// UpdateTargetsArchitectureArmv7l is a UpdateTargetsArchitecture enum value
 20196  	UpdateTargetsArchitectureArmv7l = "armv7l"
 20197  
 20198  	// UpdateTargetsArchitectureX8664 is a UpdateTargetsArchitecture enum value
 20199  	UpdateTargetsArchitectureX8664 = "x86_64"
 20200  
 20201  	// UpdateTargetsArchitectureAarch64 is a UpdateTargetsArchitecture enum value
 20202  	UpdateTargetsArchitectureAarch64 = "aarch64"
 20203  )
 20204  
 20205  // UpdateTargetsArchitecture_Values returns all elements of the UpdateTargetsArchitecture enum
 20206  func UpdateTargetsArchitecture_Values() []string {
 20207  	return []string{
 20208  		UpdateTargetsArchitectureArmv6l,
 20209  		UpdateTargetsArchitectureArmv7l,
 20210  		UpdateTargetsArchitectureX8664,
 20211  		UpdateTargetsArchitectureAarch64,
 20212  	}
 20213  }
 20214  
 20215  // The operating system of the cores which are the targets of an update.
 20216  const (
 20217  	// UpdateTargetsOperatingSystemUbuntu is a UpdateTargetsOperatingSystem enum value
 20218  	UpdateTargetsOperatingSystemUbuntu = "ubuntu"
 20219  
 20220  	// UpdateTargetsOperatingSystemRaspbian is a UpdateTargetsOperatingSystem enum value
 20221  	UpdateTargetsOperatingSystemRaspbian = "raspbian"
 20222  
 20223  	// UpdateTargetsOperatingSystemAmazonLinux is a UpdateTargetsOperatingSystem enum value
 20224  	UpdateTargetsOperatingSystemAmazonLinux = "amazon_linux"
 20225  
 20226  	// UpdateTargetsOperatingSystemOpenwrt is a UpdateTargetsOperatingSystem enum value
 20227  	UpdateTargetsOperatingSystemOpenwrt = "openwrt"
 20228  )
 20229  
 20230  // UpdateTargetsOperatingSystem_Values returns all elements of the UpdateTargetsOperatingSystem enum
 20231  func UpdateTargetsOperatingSystem_Values() []string {
 20232  	return []string{
 20233  		UpdateTargetsOperatingSystemUbuntu,
 20234  		UpdateTargetsOperatingSystemRaspbian,
 20235  		UpdateTargetsOperatingSystemAmazonLinux,
 20236  		UpdateTargetsOperatingSystemOpenwrt,
 20237  	}
 20238  }