// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package greengrassv2 import ( "fmt" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/private/protocol" "github.com/aws/aws-sdk-go/private/protocol/restjson" ) const opAssociateServiceRoleToAccount = "AssociateServiceRoleToAccount" // AssociateServiceRoleToAccountRequest generates a "aws/request.Request" representing the // client's request for the AssociateServiceRoleToAccount operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See AssociateServiceRoleToAccount for more information on using the AssociateServiceRoleToAccount // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the AssociateServiceRoleToAccountRequest method. // req, resp := client.AssociateServiceRoleToAccountRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AssociateServiceRoleToAccount func (c *GreengrassV2) AssociateServiceRoleToAccountRequest(input *AssociateServiceRoleToAccountInput) (req *request.Request, output *AssociateServiceRoleToAccountOutput) { op := &request.Operation{ Name: opAssociateServiceRoleToAccount, HTTPMethod: "PUT", HTTPPath: "/greengrass/servicerole", } if input == nil { input = &AssociateServiceRoleToAccountInput{} } output = &AssociateServiceRoleToAccountOutput{} req = c.newRequest(op, input, output) return } // AssociateServiceRoleToAccount API operation for AWS IoT Greengrass V2. // // Associates a Greengrass service role with IoT Greengrass for your Amazon // Web Services account in this Amazon Web Services Region. IoT Greengrass uses // this role to verify the identity of client devices and manage core device // connectivity information. The role must include the AWSGreengrassResourceAccessRolePolicy // (https://console.aws.amazon.com/iam/home#/policies/arn:awsiam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy) // managed policy or a custom policy that defines equivalent permissions for // the IoT Greengrass features that you use. For more information, see Greengrass // service role (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-service-role.html) // in the IoT Greengrass Version 2 Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation AssociateServiceRoleToAccount for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AssociateServiceRoleToAccount func (c *GreengrassV2) AssociateServiceRoleToAccount(input *AssociateServiceRoleToAccountInput) (*AssociateServiceRoleToAccountOutput, error) { req, out := c.AssociateServiceRoleToAccountRequest(input) return out, req.Send() } // AssociateServiceRoleToAccountWithContext is the same as AssociateServiceRoleToAccount with the addition of // the ability to pass a context and additional request options. // // See AssociateServiceRoleToAccount for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) AssociateServiceRoleToAccountWithContext(ctx aws.Context, input *AssociateServiceRoleToAccountInput, opts ...request.Option) (*AssociateServiceRoleToAccountOutput, error) { req, out := c.AssociateServiceRoleToAccountRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opBatchAssociateClientDeviceWithCoreDevice = "BatchAssociateClientDeviceWithCoreDevice" // BatchAssociateClientDeviceWithCoreDeviceRequest generates a "aws/request.Request" representing the // client's request for the BatchAssociateClientDeviceWithCoreDevice operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See BatchAssociateClientDeviceWithCoreDevice for more information on using the BatchAssociateClientDeviceWithCoreDevice // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the BatchAssociateClientDeviceWithCoreDeviceRequest method. // req, resp := client.BatchAssociateClientDeviceWithCoreDeviceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDevice func (c *GreengrassV2) BatchAssociateClientDeviceWithCoreDeviceRequest(input *BatchAssociateClientDeviceWithCoreDeviceInput) (req *request.Request, output *BatchAssociateClientDeviceWithCoreDeviceOutput) { op := &request.Operation{ Name: opBatchAssociateClientDeviceWithCoreDevice, HTTPMethod: "POST", HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}/associateClientDevices", } if input == nil { input = &BatchAssociateClientDeviceWithCoreDeviceInput{} } output = &BatchAssociateClientDeviceWithCoreDeviceOutput{} req = c.newRequest(op, input, output) return } // BatchAssociateClientDeviceWithCoreDevice API operation for AWS IoT Greengrass V2. // // Associates a list of client devices with a core device. Use this API operation // to specify which client devices can discover a core device through cloud // discovery. With cloud discovery, client devices connect to IoT Greengrass // to retrieve associated core devices' connectivity information and certificates. // For more information, see Configure cloud discovery (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-cloud-discovery.html) // in the IoT Greengrass V2 Developer Guide. // // Client devices are local IoT devices that connect to and communicate with // an IoT Greengrass core device over MQTT. You can connect client devices to // a core device to sync MQTT messages and data to Amazon Web Services IoT Core // and interact with client devices in Greengrass components. For more information, // see Interact with local IoT devices (https://docs.aws.amazon.com/greengrass/v2/developerguide/interact-with-local-iot-devices.html) // in the IoT Greengrass V2 Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation BatchAssociateClientDeviceWithCoreDevice for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDevice func (c *GreengrassV2) BatchAssociateClientDeviceWithCoreDevice(input *BatchAssociateClientDeviceWithCoreDeviceInput) (*BatchAssociateClientDeviceWithCoreDeviceOutput, error) { req, out := c.BatchAssociateClientDeviceWithCoreDeviceRequest(input) return out, req.Send() } // BatchAssociateClientDeviceWithCoreDeviceWithContext is the same as BatchAssociateClientDeviceWithCoreDevice with the addition of // the ability to pass a context and additional request options. // // See BatchAssociateClientDeviceWithCoreDevice for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) BatchAssociateClientDeviceWithCoreDeviceWithContext(ctx aws.Context, input *BatchAssociateClientDeviceWithCoreDeviceInput, opts ...request.Option) (*BatchAssociateClientDeviceWithCoreDeviceOutput, error) { req, out := c.BatchAssociateClientDeviceWithCoreDeviceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opBatchDisassociateClientDeviceFromCoreDevice = "BatchDisassociateClientDeviceFromCoreDevice" // BatchDisassociateClientDeviceFromCoreDeviceRequest generates a "aws/request.Request" representing the // client's request for the BatchDisassociateClientDeviceFromCoreDevice operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See BatchDisassociateClientDeviceFromCoreDevice for more information on using the BatchDisassociateClientDeviceFromCoreDevice // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the BatchDisassociateClientDeviceFromCoreDeviceRequest method. // req, resp := client.BatchDisassociateClientDeviceFromCoreDeviceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchDisassociateClientDeviceFromCoreDevice func (c *GreengrassV2) BatchDisassociateClientDeviceFromCoreDeviceRequest(input *BatchDisassociateClientDeviceFromCoreDeviceInput) (req *request.Request, output *BatchDisassociateClientDeviceFromCoreDeviceOutput) { op := &request.Operation{ Name: opBatchDisassociateClientDeviceFromCoreDevice, HTTPMethod: "POST", HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}/disassociateClientDevices", } if input == nil { input = &BatchDisassociateClientDeviceFromCoreDeviceInput{} } output = &BatchDisassociateClientDeviceFromCoreDeviceOutput{} req = c.newRequest(op, input, output) return } // BatchDisassociateClientDeviceFromCoreDevice API operation for AWS IoT Greengrass V2. // // Disassociates a list of client devices from a core device. After you disassociate // a client device from a core device, the client device won't be able to use // cloud discovery to retrieve the core device's connectivity information and // certificates. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation BatchDisassociateClientDeviceFromCoreDevice for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchDisassociateClientDeviceFromCoreDevice func (c *GreengrassV2) BatchDisassociateClientDeviceFromCoreDevice(input *BatchDisassociateClientDeviceFromCoreDeviceInput) (*BatchDisassociateClientDeviceFromCoreDeviceOutput, error) { req, out := c.BatchDisassociateClientDeviceFromCoreDeviceRequest(input) return out, req.Send() } // BatchDisassociateClientDeviceFromCoreDeviceWithContext is the same as BatchDisassociateClientDeviceFromCoreDevice with the addition of // the ability to pass a context and additional request options. // // See BatchDisassociateClientDeviceFromCoreDevice for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) BatchDisassociateClientDeviceFromCoreDeviceWithContext(ctx aws.Context, input *BatchDisassociateClientDeviceFromCoreDeviceInput, opts ...request.Option) (*BatchDisassociateClientDeviceFromCoreDeviceOutput, error) { req, out := c.BatchDisassociateClientDeviceFromCoreDeviceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCancelDeployment = "CancelDeployment" // CancelDeploymentRequest generates a "aws/request.Request" representing the // client's request for the CancelDeployment operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See CancelDeployment for more information on using the CancelDeployment // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the CancelDeploymentRequest method. // req, resp := client.CancelDeploymentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CancelDeployment func (c *GreengrassV2) CancelDeploymentRequest(input *CancelDeploymentInput) (req *request.Request, output *CancelDeploymentOutput) { op := &request.Operation{ Name: opCancelDeployment, HTTPMethod: "POST", HTTPPath: "/greengrass/v2/deployments/{deploymentId}/cancel", } if input == nil { input = &CancelDeploymentInput{} } output = &CancelDeploymentOutput{} req = c.newRequest(op, input, output) return } // CancelDeployment API operation for AWS IoT Greengrass V2. // // Cancels a deployment. This operation cancels the deployment for devices that // haven't yet received it. If a device already received the deployment, this // operation doesn't change anything for that device. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation CancelDeployment for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException // The requested resource can't be found. // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ConflictException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CancelDeployment func (c *GreengrassV2) CancelDeployment(input *CancelDeploymentInput) (*CancelDeploymentOutput, error) { req, out := c.CancelDeploymentRequest(input) return out, req.Send() } // CancelDeploymentWithContext is the same as CancelDeployment with the addition of // the ability to pass a context and additional request options. // // See CancelDeployment for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) CancelDeploymentWithContext(ctx aws.Context, input *CancelDeploymentInput, opts ...request.Option) (*CancelDeploymentOutput, error) { req, out := c.CancelDeploymentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateComponentVersion = "CreateComponentVersion" // CreateComponentVersionRequest generates a "aws/request.Request" representing the // client's request for the CreateComponentVersion operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See CreateComponentVersion for more information on using the CreateComponentVersion // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the CreateComponentVersionRequest method. // req, resp := client.CreateComponentVersionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersion func (c *GreengrassV2) CreateComponentVersionRequest(input *CreateComponentVersionInput) (req *request.Request, output *CreateComponentVersionOutput) { op := &request.Operation{ Name: opCreateComponentVersion, HTTPMethod: "POST", HTTPPath: "/greengrass/v2/createComponentVersion", } if input == nil { input = &CreateComponentVersionInput{} } output = &CreateComponentVersionOutput{} req = c.newRequest(op, input, output) return } // CreateComponentVersion API operation for AWS IoT Greengrass V2. // // Creates a component. Components are software that run on Greengrass core // devices. After you develop and test a component on your core device, you // can use this operation to upload your component to IoT Greengrass. Then, // you can deploy the component to other core devices. // // You can use this operation to do the following: // // - Create components from recipes Create a component from a recipe, which // is a file that defines the component's metadata, parameters, dependencies, // lifecycle, artifacts, and platform capability. For more information, see // IoT Greengrass component recipe reference (https://docs.aws.amazon.com/greengrass/v2/developerguide/component-recipe-reference.html) // in the IoT Greengrass V2 Developer Guide. To create a component from a // recipe, specify inlineRecipe when you call this operation. // // - Create components from Lambda functions Create a component from an Lambda // function that runs on IoT Greengrass. This creates a recipe and artifacts // from the Lambda function's deployment package. You can use this operation // to migrate Lambda functions from IoT Greengrass V1 to IoT Greengrass V2. // This function only accepts Lambda functions that use the following runtimes: // Python 2.7 – python2.7 Python 3.7 – python3.7 Python 3.8 – python3.8 // Python 3.9 – python3.9 Java 8 – java8 Java 11 – java11 Node.js 10 // – nodejs10.x Node.js 12 – nodejs12.x Node.js 14 – nodejs14.x To // create a component from a Lambda function, specify lambdaFunction when // you call this operation. IoT Greengrass currently supports Lambda functions // on only Linux core devices. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation CreateComponentVersion for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ServiceQuotaExceededException // Your request exceeds a service quota. For example, you might have the maximum // number of components that you can create. // // - AccessDeniedException // You don't have permission to perform the action. // // - ConflictException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - RequestAlreadyInProgressException // The request is already in progress. This exception occurs when you use a // client token for multiple requests while IoT Greengrass is still processing // an earlier request that uses the same client token. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersion func (c *GreengrassV2) CreateComponentVersion(input *CreateComponentVersionInput) (*CreateComponentVersionOutput, error) { req, out := c.CreateComponentVersionRequest(input) return out, req.Send() } // CreateComponentVersionWithContext is the same as CreateComponentVersion with the addition of // the ability to pass a context and additional request options. // // See CreateComponentVersion for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) CreateComponentVersionWithContext(ctx aws.Context, input *CreateComponentVersionInput, opts ...request.Option) (*CreateComponentVersionOutput, error) { req, out := c.CreateComponentVersionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opCreateDeployment = "CreateDeployment" // CreateDeploymentRequest generates a "aws/request.Request" representing the // client's request for the CreateDeployment operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See CreateDeployment for more information on using the CreateDeployment // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the CreateDeploymentRequest method. // req, resp := client.CreateDeploymentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeployment func (c *GreengrassV2) CreateDeploymentRequest(input *CreateDeploymentInput) (req *request.Request, output *CreateDeploymentOutput) { op := &request.Operation{ Name: opCreateDeployment, HTTPMethod: "POST", HTTPPath: "/greengrass/v2/deployments", } if input == nil { input = &CreateDeploymentInput{} } output = &CreateDeploymentOutput{} req = c.newRequest(op, input, output) return } // CreateDeployment API operation for AWS IoT Greengrass V2. // // Creates a continuous deployment for a target, which is a Greengrass core // device or group of core devices. When you add a new core device to a group // of core devices that has a deployment, IoT Greengrass deploys that group's // deployment to the new device. // // You can define one deployment for each target. When you create a new deployment // for a target that has an existing deployment, you replace the previous deployment. // IoT Greengrass applies the new deployment to the target devices. // // Every deployment has a revision number that indicates how many deployment // revisions you define for a target. Use this operation to create a new revision // of an existing deployment. // // For more information, see the Create deployments (https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html) // in the IoT Greengrass V2 Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation CreateDeployment for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException // The requested resource can't be found. // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ConflictException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // // - RequestAlreadyInProgressException // The request is already in progress. This exception occurs when you use a // client token for multiple requests while IoT Greengrass is still processing // an earlier request that uses the same client token. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeployment func (c *GreengrassV2) CreateDeployment(input *CreateDeploymentInput) (*CreateDeploymentOutput, error) { req, out := c.CreateDeploymentRequest(input) return out, req.Send() } // CreateDeploymentWithContext is the same as CreateDeployment with the addition of // the ability to pass a context and additional request options. // // See CreateDeployment for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) CreateDeploymentWithContext(ctx aws.Context, input *CreateDeploymentInput, opts ...request.Option) (*CreateDeploymentOutput, error) { req, out := c.CreateDeploymentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteComponent = "DeleteComponent" // DeleteComponentRequest generates a "aws/request.Request" representing the // client's request for the DeleteComponent operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DeleteComponent for more information on using the DeleteComponent // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the DeleteComponentRequest method. // req, resp := client.DeleteComponentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteComponent func (c *GreengrassV2) DeleteComponentRequest(input *DeleteComponentInput) (req *request.Request, output *DeleteComponentOutput) { op := &request.Operation{ Name: opDeleteComponent, HTTPMethod: "DELETE", HTTPPath: "/greengrass/v2/components/{arn}", } if input == nil { input = &DeleteComponentInput{} } output = &DeleteComponentOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeleteComponent API operation for AWS IoT Greengrass V2. // // Deletes a version of a component from IoT Greengrass. // // This operation deletes the component's recipe and artifacts. As a result, // deployments that refer to this component version will fail. If you have deployments // that use this component version, you can remove the component from the deployment // or update the deployment to use a valid version. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation DeleteComponent for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - ConflictException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // // - ResourceNotFoundException // The requested resource can't be found. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteComponent func (c *GreengrassV2) DeleteComponent(input *DeleteComponentInput) (*DeleteComponentOutput, error) { req, out := c.DeleteComponentRequest(input) return out, req.Send() } // DeleteComponentWithContext is the same as DeleteComponent with the addition of // the ability to pass a context and additional request options. // // See DeleteComponent for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) DeleteComponentWithContext(ctx aws.Context, input *DeleteComponentInput, opts ...request.Option) (*DeleteComponentOutput, error) { req, out := c.DeleteComponentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteCoreDevice = "DeleteCoreDevice" // DeleteCoreDeviceRequest generates a "aws/request.Request" representing the // client's request for the DeleteCoreDevice operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DeleteCoreDevice for more information on using the DeleteCoreDevice // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the DeleteCoreDeviceRequest method. // req, resp := client.DeleteCoreDeviceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteCoreDevice func (c *GreengrassV2) DeleteCoreDeviceRequest(input *DeleteCoreDeviceInput) (req *request.Request, output *DeleteCoreDeviceOutput) { op := &request.Operation{ Name: opDeleteCoreDevice, HTTPMethod: "DELETE", HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}", } if input == nil { input = &DeleteCoreDeviceInput{} } output = &DeleteCoreDeviceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeleteCoreDevice API operation for AWS IoT Greengrass V2. // // Deletes a Greengrass core device, which is an IoT thing. This operation removes // the core device from the list of core devices. This operation doesn't delete // the IoT thing. For more information about how to delete the IoT thing, see // DeleteThing (https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteThing.html) // in the IoT API Reference. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation DeleteCoreDevice for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // - ConflictException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteCoreDevice func (c *GreengrassV2) DeleteCoreDevice(input *DeleteCoreDeviceInput) (*DeleteCoreDeviceOutput, error) { req, out := c.DeleteCoreDeviceRequest(input) return out, req.Send() } // DeleteCoreDeviceWithContext is the same as DeleteCoreDevice with the addition of // the ability to pass a context and additional request options. // // See DeleteCoreDevice for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) DeleteCoreDeviceWithContext(ctx aws.Context, input *DeleteCoreDeviceInput, opts ...request.Option) (*DeleteCoreDeviceOutput, error) { req, out := c.DeleteCoreDeviceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDeleteDeployment = "DeleteDeployment" // DeleteDeploymentRequest generates a "aws/request.Request" representing the // client's request for the DeleteDeployment operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DeleteDeployment for more information on using the DeleteDeployment // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the DeleteDeploymentRequest method. // req, resp := client.DeleteDeploymentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteDeployment func (c *GreengrassV2) DeleteDeploymentRequest(input *DeleteDeploymentInput) (req *request.Request, output *DeleteDeploymentOutput) { op := &request.Operation{ Name: opDeleteDeployment, HTTPMethod: "DELETE", HTTPPath: "/greengrass/v2/deployments/{deploymentId}", } if input == nil { input = &DeleteDeploymentInput{} } output = &DeleteDeploymentOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // DeleteDeployment API operation for AWS IoT Greengrass V2. // // Deletes a deployment. To delete an active deployment, you must first cancel // it. For more information, see CancelDeployment (https://docs.aws.amazon.com/iot/latest/apireference/API_CancelDeployment.html). // // Deleting a deployment doesn't affect core devices that run that deployment, // because core devices store the deployment's configuration on the device. // Additionally, core devices can roll back to a previous deployment that has // been deleted. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation DeleteDeployment for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException // The requested resource can't be found. // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ConflictException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteDeployment func (c *GreengrassV2) DeleteDeployment(input *DeleteDeploymentInput) (*DeleteDeploymentOutput, error) { req, out := c.DeleteDeploymentRequest(input) return out, req.Send() } // DeleteDeploymentWithContext is the same as DeleteDeployment with the addition of // the ability to pass a context and additional request options. // // See DeleteDeployment for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) DeleteDeploymentWithContext(ctx aws.Context, input *DeleteDeploymentInput, opts ...request.Option) (*DeleteDeploymentOutput, error) { req, out := c.DeleteDeploymentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDescribeComponent = "DescribeComponent" // DescribeComponentRequest generates a "aws/request.Request" representing the // client's request for the DescribeComponent operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DescribeComponent for more information on using the DescribeComponent // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the DescribeComponentRequest method. // req, resp := client.DescribeComponentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DescribeComponent func (c *GreengrassV2) DescribeComponentRequest(input *DescribeComponentInput) (req *request.Request, output *DescribeComponentOutput) { op := &request.Operation{ Name: opDescribeComponent, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/components/{arn}/metadata", } if input == nil { input = &DescribeComponentInput{} } output = &DescribeComponentOutput{} req = c.newRequest(op, input, output) return } // DescribeComponent API operation for AWS IoT Greengrass V2. // // Retrieves metadata for a version of a component. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation DescribeComponent for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - ResourceNotFoundException // The requested resource can't be found. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DescribeComponent func (c *GreengrassV2) DescribeComponent(input *DescribeComponentInput) (*DescribeComponentOutput, error) { req, out := c.DescribeComponentRequest(input) return out, req.Send() } // DescribeComponentWithContext is the same as DescribeComponent with the addition of // the ability to pass a context and additional request options. // // See DescribeComponent for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) DescribeComponentWithContext(ctx aws.Context, input *DescribeComponentInput, opts ...request.Option) (*DescribeComponentOutput, error) { req, out := c.DescribeComponentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opDisassociateServiceRoleFromAccount = "DisassociateServiceRoleFromAccount" // DisassociateServiceRoleFromAccountRequest generates a "aws/request.Request" representing the // client's request for the DisassociateServiceRoleFromAccount operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See DisassociateServiceRoleFromAccount for more information on using the DisassociateServiceRoleFromAccount // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the DisassociateServiceRoleFromAccountRequest method. // req, resp := client.DisassociateServiceRoleFromAccountRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DisassociateServiceRoleFromAccount func (c *GreengrassV2) DisassociateServiceRoleFromAccountRequest(input *DisassociateServiceRoleFromAccountInput) (req *request.Request, output *DisassociateServiceRoleFromAccountOutput) { op := &request.Operation{ Name: opDisassociateServiceRoleFromAccount, HTTPMethod: "DELETE", HTTPPath: "/greengrass/servicerole", } if input == nil { input = &DisassociateServiceRoleFromAccountInput{} } output = &DisassociateServiceRoleFromAccountOutput{} req = c.newRequest(op, input, output) return } // DisassociateServiceRoleFromAccount API operation for AWS IoT Greengrass V2. // // Disassociates the Greengrass service role from IoT Greengrass for your Amazon // Web Services account in this Amazon Web Services Region. Without a service // role, IoT Greengrass can't verify the identity of client devices or manage // core device connectivity information. For more information, see Greengrass // service role (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-service-role.html) // in the IoT Greengrass Version 2 Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation DisassociateServiceRoleFromAccount for usage and error information. // // Returned Error Types: // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DisassociateServiceRoleFromAccount func (c *GreengrassV2) DisassociateServiceRoleFromAccount(input *DisassociateServiceRoleFromAccountInput) (*DisassociateServiceRoleFromAccountOutput, error) { req, out := c.DisassociateServiceRoleFromAccountRequest(input) return out, req.Send() } // DisassociateServiceRoleFromAccountWithContext is the same as DisassociateServiceRoleFromAccount with the addition of // the ability to pass a context and additional request options. // // See DisassociateServiceRoleFromAccount for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) DisassociateServiceRoleFromAccountWithContext(ctx aws.Context, input *DisassociateServiceRoleFromAccountInput, opts ...request.Option) (*DisassociateServiceRoleFromAccountOutput, error) { req, out := c.DisassociateServiceRoleFromAccountRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetComponent = "GetComponent" // GetComponentRequest generates a "aws/request.Request" representing the // client's request for the GetComponent operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetComponent for more information on using the GetComponent // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the GetComponentRequest method. // req, resp := client.GetComponentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponent func (c *GreengrassV2) GetComponentRequest(input *GetComponentInput) (req *request.Request, output *GetComponentOutput) { op := &request.Operation{ Name: opGetComponent, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/components/{arn}", } if input == nil { input = &GetComponentInput{} } output = &GetComponentOutput{} req = c.newRequest(op, input, output) return } // GetComponent API operation for AWS IoT Greengrass V2. // // Gets the recipe for a version of a component. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation GetComponent for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - ResourceNotFoundException // The requested resource can't be found. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponent func (c *GreengrassV2) GetComponent(input *GetComponentInput) (*GetComponentOutput, error) { req, out := c.GetComponentRequest(input) return out, req.Send() } // GetComponentWithContext is the same as GetComponent with the addition of // the ability to pass a context and additional request options. // // See GetComponent for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) GetComponentWithContext(ctx aws.Context, input *GetComponentInput, opts ...request.Option) (*GetComponentOutput, error) { req, out := c.GetComponentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetComponentVersionArtifact = "GetComponentVersionArtifact" // GetComponentVersionArtifactRequest generates a "aws/request.Request" representing the // client's request for the GetComponentVersionArtifact operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetComponentVersionArtifact for more information on using the GetComponentVersionArtifact // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the GetComponentVersionArtifactRequest method. // req, resp := client.GetComponentVersionArtifactRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentVersionArtifact func (c *GreengrassV2) GetComponentVersionArtifactRequest(input *GetComponentVersionArtifactInput) (req *request.Request, output *GetComponentVersionArtifactOutput) { op := &request.Operation{ Name: opGetComponentVersionArtifact, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/components/{arn}/artifacts/{artifactName+}", } if input == nil { input = &GetComponentVersionArtifactInput{} } output = &GetComponentVersionArtifactOutput{} req = c.newRequest(op, input, output) return } // GetComponentVersionArtifact API operation for AWS IoT Greengrass V2. // // Gets the pre-signed URL to download a public or a Lambda component artifact. // Core devices call this operation to identify the URL that they can use to // download an artifact to install. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation GetComponentVersionArtifact for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - ResourceNotFoundException // The requested resource can't be found. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentVersionArtifact func (c *GreengrassV2) GetComponentVersionArtifact(input *GetComponentVersionArtifactInput) (*GetComponentVersionArtifactOutput, error) { req, out := c.GetComponentVersionArtifactRequest(input) return out, req.Send() } // GetComponentVersionArtifactWithContext is the same as GetComponentVersionArtifact with the addition of // the ability to pass a context and additional request options. // // See GetComponentVersionArtifact for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) GetComponentVersionArtifactWithContext(ctx aws.Context, input *GetComponentVersionArtifactInput, opts ...request.Option) (*GetComponentVersionArtifactOutput, error) { req, out := c.GetComponentVersionArtifactRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetConnectivityInfo = "GetConnectivityInfo" // GetConnectivityInfoRequest generates a "aws/request.Request" representing the // client's request for the GetConnectivityInfo operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetConnectivityInfo for more information on using the GetConnectivityInfo // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the GetConnectivityInfoRequest method. // req, resp := client.GetConnectivityInfoRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetConnectivityInfo func (c *GreengrassV2) GetConnectivityInfoRequest(input *GetConnectivityInfoInput) (req *request.Request, output *GetConnectivityInfoOutput) { op := &request.Operation{ Name: opGetConnectivityInfo, HTTPMethod: "GET", HTTPPath: "/greengrass/things/{thingName}/connectivityInfo", } if input == nil { input = &GetConnectivityInfoInput{} } output = &GetConnectivityInfoOutput{} req = c.newRequest(op, input, output) return } // GetConnectivityInfo API operation for AWS IoT Greengrass V2. // // Retrieves connectivity information for a Greengrass core device. // // Connectivity information includes endpoints and ports where client devices // can connect to an MQTT broker on the core device. When a client device calls // the IoT Greengrass discovery API (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-discover-api.html), // IoT Greengrass returns connectivity information for all of the core devices // where the client device can connect. For more information, see Connect client // devices to core devices (https://docs.aws.amazon.com/greengrass/v2/developerguide/connect-client-devices.html) // in the IoT Greengrass Version 2 Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation GetConnectivityInfo for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetConnectivityInfo func (c *GreengrassV2) GetConnectivityInfo(input *GetConnectivityInfoInput) (*GetConnectivityInfoOutput, error) { req, out := c.GetConnectivityInfoRequest(input) return out, req.Send() } // GetConnectivityInfoWithContext is the same as GetConnectivityInfo with the addition of // the ability to pass a context and additional request options. // // See GetConnectivityInfo for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) GetConnectivityInfoWithContext(ctx aws.Context, input *GetConnectivityInfoInput, opts ...request.Option) (*GetConnectivityInfoOutput, error) { req, out := c.GetConnectivityInfoRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetCoreDevice = "GetCoreDevice" // GetCoreDeviceRequest generates a "aws/request.Request" representing the // client's request for the GetCoreDevice operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetCoreDevice for more information on using the GetCoreDevice // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the GetCoreDeviceRequest method. // req, resp := client.GetCoreDeviceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDevice func (c *GreengrassV2) GetCoreDeviceRequest(input *GetCoreDeviceInput) (req *request.Request, output *GetCoreDeviceOutput) { op := &request.Operation{ Name: opGetCoreDevice, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}", } if input == nil { input = &GetCoreDeviceInput{} } output = &GetCoreDeviceOutput{} req = c.newRequest(op, input, output) return } // GetCoreDevice API operation for AWS IoT Greengrass V2. // // Retrieves metadata for a Greengrass core device. // // IoT Greengrass relies on individual devices to send status updates to the // Amazon Web Services Cloud. If the IoT Greengrass Core software isn't running // on the device, or if device isn't connected to the Amazon Web Services Cloud, // then the reported status of that device might not reflect its current status. // The status timestamp indicates when the device status was last updated. // // Core devices send status updates at the following times: // // - When the IoT Greengrass Core software starts // // - When the core device receives a deployment from the Amazon Web Services // Cloud // // - When the status of any component on the core device becomes BROKEN // // - At a regular interval that you can configure (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html#greengrass-nucleus-component-configuration-fss), // which defaults to 24 hours // // - For IoT Greengrass Core v2.7.0, the core device sends status updates // upon local deployment and cloud deployment // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation GetCoreDevice for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDevice func (c *GreengrassV2) GetCoreDevice(input *GetCoreDeviceInput) (*GetCoreDeviceOutput, error) { req, out := c.GetCoreDeviceRequest(input) return out, req.Send() } // GetCoreDeviceWithContext is the same as GetCoreDevice with the addition of // the ability to pass a context and additional request options. // // See GetCoreDevice for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) GetCoreDeviceWithContext(ctx aws.Context, input *GetCoreDeviceInput, opts ...request.Option) (*GetCoreDeviceOutput, error) { req, out := c.GetCoreDeviceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetDeployment = "GetDeployment" // GetDeploymentRequest generates a "aws/request.Request" representing the // client's request for the GetDeployment operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetDeployment for more information on using the GetDeployment // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the GetDeploymentRequest method. // req, resp := client.GetDeploymentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetDeployment func (c *GreengrassV2) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) { op := &request.Operation{ Name: opGetDeployment, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/deployments/{deploymentId}", } if input == nil { input = &GetDeploymentInput{} } output = &GetDeploymentOutput{} req = c.newRequest(op, input, output) return } // GetDeployment API operation for AWS IoT Greengrass V2. // // Gets a deployment. Deployments define the components that run on Greengrass // core devices. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation GetDeployment for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetDeployment func (c *GreengrassV2) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) { req, out := c.GetDeploymentRequest(input) return out, req.Send() } // GetDeploymentWithContext is the same as GetDeployment with the addition of // the ability to pass a context and additional request options. // // See GetDeployment for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*GetDeploymentOutput, error) { req, out := c.GetDeploymentRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opGetServiceRoleForAccount = "GetServiceRoleForAccount" // GetServiceRoleForAccountRequest generates a "aws/request.Request" representing the // client's request for the GetServiceRoleForAccount operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See GetServiceRoleForAccount for more information on using the GetServiceRoleForAccount // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the GetServiceRoleForAccountRequest method. // req, resp := client.GetServiceRoleForAccountRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetServiceRoleForAccount func (c *GreengrassV2) GetServiceRoleForAccountRequest(input *GetServiceRoleForAccountInput) (req *request.Request, output *GetServiceRoleForAccountOutput) { op := &request.Operation{ Name: opGetServiceRoleForAccount, HTTPMethod: "GET", HTTPPath: "/greengrass/servicerole", } if input == nil { input = &GetServiceRoleForAccountInput{} } output = &GetServiceRoleForAccountOutput{} req = c.newRequest(op, input, output) return } // GetServiceRoleForAccount API operation for AWS IoT Greengrass V2. // // Gets the service role associated with IoT Greengrass for your Amazon Web // Services account in this Amazon Web Services Region. IoT Greengrass uses // this role to verify the identity of client devices and manage core device // connectivity information. For more information, see Greengrass service role // (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-service-role.html) // in the IoT Greengrass Version 2 Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation GetServiceRoleForAccount for usage and error information. // // Returned Error Types: // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetServiceRoleForAccount func (c *GreengrassV2) GetServiceRoleForAccount(input *GetServiceRoleForAccountInput) (*GetServiceRoleForAccountOutput, error) { req, out := c.GetServiceRoleForAccountRequest(input) return out, req.Send() } // GetServiceRoleForAccountWithContext is the same as GetServiceRoleForAccount with the addition of // the ability to pass a context and additional request options. // // See GetServiceRoleForAccount for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) GetServiceRoleForAccountWithContext(ctx aws.Context, input *GetServiceRoleForAccountInput, opts ...request.Option) (*GetServiceRoleForAccountOutput, error) { req, out := c.GetServiceRoleForAccountRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opListClientDevicesAssociatedWithCoreDevice = "ListClientDevicesAssociatedWithCoreDevice" // ListClientDevicesAssociatedWithCoreDeviceRequest generates a "aws/request.Request" representing the // client's request for the ListClientDevicesAssociatedWithCoreDevice operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListClientDevicesAssociatedWithCoreDevice for more information on using the ListClientDevicesAssociatedWithCoreDevice // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListClientDevicesAssociatedWithCoreDeviceRequest method. // req, resp := client.ListClientDevicesAssociatedWithCoreDeviceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListClientDevicesAssociatedWithCoreDevice func (c *GreengrassV2) ListClientDevicesAssociatedWithCoreDeviceRequest(input *ListClientDevicesAssociatedWithCoreDeviceInput) (req *request.Request, output *ListClientDevicesAssociatedWithCoreDeviceOutput) { op := &request.Operation{ Name: opListClientDevicesAssociatedWithCoreDevice, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}/associatedClientDevices", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListClientDevicesAssociatedWithCoreDeviceInput{} } output = &ListClientDevicesAssociatedWithCoreDeviceOutput{} req = c.newRequest(op, input, output) return } // ListClientDevicesAssociatedWithCoreDevice API operation for AWS IoT Greengrass V2. // // Retrieves a paginated list of client devices that are associated with a core // device. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation ListClientDevicesAssociatedWithCoreDevice for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListClientDevicesAssociatedWithCoreDevice func (c *GreengrassV2) ListClientDevicesAssociatedWithCoreDevice(input *ListClientDevicesAssociatedWithCoreDeviceInput) (*ListClientDevicesAssociatedWithCoreDeviceOutput, error) { req, out := c.ListClientDevicesAssociatedWithCoreDeviceRequest(input) return out, req.Send() } // ListClientDevicesAssociatedWithCoreDeviceWithContext is the same as ListClientDevicesAssociatedWithCoreDevice with the addition of // the ability to pass a context and additional request options. // // See ListClientDevicesAssociatedWithCoreDevice for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListClientDevicesAssociatedWithCoreDeviceWithContext(ctx aws.Context, input *ListClientDevicesAssociatedWithCoreDeviceInput, opts ...request.Option) (*ListClientDevicesAssociatedWithCoreDeviceOutput, error) { req, out := c.ListClientDevicesAssociatedWithCoreDeviceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListClientDevicesAssociatedWithCoreDevicePages iterates over the pages of a ListClientDevicesAssociatedWithCoreDevice operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListClientDevicesAssociatedWithCoreDevice method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListClientDevicesAssociatedWithCoreDevice operation. // pageNum := 0 // err := client.ListClientDevicesAssociatedWithCoreDevicePages(params, // func(page *greengrassv2.ListClientDevicesAssociatedWithCoreDeviceOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *GreengrassV2) ListClientDevicesAssociatedWithCoreDevicePages(input *ListClientDevicesAssociatedWithCoreDeviceInput, fn func(*ListClientDevicesAssociatedWithCoreDeviceOutput, bool) bool) error { return c.ListClientDevicesAssociatedWithCoreDevicePagesWithContext(aws.BackgroundContext(), input, fn) } // ListClientDevicesAssociatedWithCoreDevicePagesWithContext same as ListClientDevicesAssociatedWithCoreDevicePages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListClientDevicesAssociatedWithCoreDevicePagesWithContext(ctx aws.Context, input *ListClientDevicesAssociatedWithCoreDeviceInput, fn func(*ListClientDevicesAssociatedWithCoreDeviceOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListClientDevicesAssociatedWithCoreDeviceInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListClientDevicesAssociatedWithCoreDeviceRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListClientDevicesAssociatedWithCoreDeviceOutput), !p.HasNextPage()) { break } } return p.Err() } const opListComponentVersions = "ListComponentVersions" // ListComponentVersionsRequest generates a "aws/request.Request" representing the // client's request for the ListComponentVersions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListComponentVersions for more information on using the ListComponentVersions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListComponentVersionsRequest method. // req, resp := client.ListComponentVersionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentVersions func (c *GreengrassV2) ListComponentVersionsRequest(input *ListComponentVersionsInput) (req *request.Request, output *ListComponentVersionsOutput) { op := &request.Operation{ Name: opListComponentVersions, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/components/{arn}/versions", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListComponentVersionsInput{} } output = &ListComponentVersionsOutput{} req = c.newRequest(op, input, output) return } // ListComponentVersions API operation for AWS IoT Greengrass V2. // // Retrieves a paginated list of all versions for a component. Greater versions // are listed first. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation ListComponentVersions for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - ResourceNotFoundException // The requested resource can't be found. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentVersions func (c *GreengrassV2) ListComponentVersions(input *ListComponentVersionsInput) (*ListComponentVersionsOutput, error) { req, out := c.ListComponentVersionsRequest(input) return out, req.Send() } // ListComponentVersionsWithContext is the same as ListComponentVersions with the addition of // the ability to pass a context and additional request options. // // See ListComponentVersions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListComponentVersionsWithContext(ctx aws.Context, input *ListComponentVersionsInput, opts ...request.Option) (*ListComponentVersionsOutput, error) { req, out := c.ListComponentVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListComponentVersionsPages iterates over the pages of a ListComponentVersions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListComponentVersions method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListComponentVersions operation. // pageNum := 0 // err := client.ListComponentVersionsPages(params, // func(page *greengrassv2.ListComponentVersionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *GreengrassV2) ListComponentVersionsPages(input *ListComponentVersionsInput, fn func(*ListComponentVersionsOutput, bool) bool) error { return c.ListComponentVersionsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListComponentVersionsPagesWithContext same as ListComponentVersionsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListComponentVersionsPagesWithContext(ctx aws.Context, input *ListComponentVersionsInput, fn func(*ListComponentVersionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListComponentVersionsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListComponentVersionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListComponentVersionsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListComponents = "ListComponents" // ListComponentsRequest generates a "aws/request.Request" representing the // client's request for the ListComponents operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListComponents for more information on using the ListComponents // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListComponentsRequest method. // req, resp := client.ListComponentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponents func (c *GreengrassV2) ListComponentsRequest(input *ListComponentsInput) (req *request.Request, output *ListComponentsOutput) { op := &request.Operation{ Name: opListComponents, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/components", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListComponentsInput{} } output = &ListComponentsOutput{} req = c.newRequest(op, input, output) return } // ListComponents API operation for AWS IoT Greengrass V2. // // Retrieves a paginated list of component summaries. This list includes components // that you have permission to view. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation ListComponents for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - ResourceNotFoundException // The requested resource can't be found. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponents func (c *GreengrassV2) ListComponents(input *ListComponentsInput) (*ListComponentsOutput, error) { req, out := c.ListComponentsRequest(input) return out, req.Send() } // ListComponentsWithContext is the same as ListComponents with the addition of // the ability to pass a context and additional request options. // // See ListComponents for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListComponentsWithContext(ctx aws.Context, input *ListComponentsInput, opts ...request.Option) (*ListComponentsOutput, error) { req, out := c.ListComponentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListComponentsPages iterates over the pages of a ListComponents operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListComponents method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListComponents operation. // pageNum := 0 // err := client.ListComponentsPages(params, // func(page *greengrassv2.ListComponentsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *GreengrassV2) ListComponentsPages(input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool) error { return c.ListComponentsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListComponentsPagesWithContext same as ListComponentsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListComponentsPagesWithContext(ctx aws.Context, input *ListComponentsInput, fn func(*ListComponentsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListComponentsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListComponentsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListComponentsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListCoreDevices = "ListCoreDevices" // ListCoreDevicesRequest generates a "aws/request.Request" representing the // client's request for the ListCoreDevices operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListCoreDevices for more information on using the ListCoreDevices // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListCoreDevicesRequest method. // req, resp := client.ListCoreDevicesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListCoreDevices func (c *GreengrassV2) ListCoreDevicesRequest(input *ListCoreDevicesInput) (req *request.Request, output *ListCoreDevicesOutput) { op := &request.Operation{ Name: opListCoreDevices, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/coreDevices", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListCoreDevicesInput{} } output = &ListCoreDevicesOutput{} req = c.newRequest(op, input, output) return } // ListCoreDevices API operation for AWS IoT Greengrass V2. // // Retrieves a paginated list of Greengrass core devices. // // IoT Greengrass relies on individual devices to send status updates to the // Amazon Web Services Cloud. If the IoT Greengrass Core software isn't running // on the device, or if device isn't connected to the Amazon Web Services Cloud, // then the reported status of that device might not reflect its current status. // The status timestamp indicates when the device status was last updated. // // Core devices send status updates at the following times: // // - When the IoT Greengrass Core software starts // // - When the core device receives a deployment from the Amazon Web Services // Cloud // // - When the status of any component on the core device becomes BROKEN // // - At a regular interval that you can configure (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html#greengrass-nucleus-component-configuration-fss), // which defaults to 24 hours // // - For IoT Greengrass Core v2.7.0, the core device sends status updates // upon local deployment and cloud deployment // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation ListCoreDevices for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListCoreDevices func (c *GreengrassV2) ListCoreDevices(input *ListCoreDevicesInput) (*ListCoreDevicesOutput, error) { req, out := c.ListCoreDevicesRequest(input) return out, req.Send() } // ListCoreDevicesWithContext is the same as ListCoreDevices with the addition of // the ability to pass a context and additional request options. // // See ListCoreDevices for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListCoreDevicesWithContext(ctx aws.Context, input *ListCoreDevicesInput, opts ...request.Option) (*ListCoreDevicesOutput, error) { req, out := c.ListCoreDevicesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListCoreDevicesPages iterates over the pages of a ListCoreDevices operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListCoreDevices method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListCoreDevices operation. // pageNum := 0 // err := client.ListCoreDevicesPages(params, // func(page *greengrassv2.ListCoreDevicesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *GreengrassV2) ListCoreDevicesPages(input *ListCoreDevicesInput, fn func(*ListCoreDevicesOutput, bool) bool) error { return c.ListCoreDevicesPagesWithContext(aws.BackgroundContext(), input, fn) } // ListCoreDevicesPagesWithContext same as ListCoreDevicesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListCoreDevicesPagesWithContext(ctx aws.Context, input *ListCoreDevicesInput, fn func(*ListCoreDevicesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListCoreDevicesInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListCoreDevicesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListCoreDevicesOutput), !p.HasNextPage()) { break } } return p.Err() } const opListDeployments = "ListDeployments" // ListDeploymentsRequest generates a "aws/request.Request" representing the // client's request for the ListDeployments operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListDeployments for more information on using the ListDeployments // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListDeploymentsRequest method. // req, resp := client.ListDeploymentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListDeployments func (c *GreengrassV2) ListDeploymentsRequest(input *ListDeploymentsInput) (req *request.Request, output *ListDeploymentsOutput) { op := &request.Operation{ Name: opListDeployments, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/deployments", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListDeploymentsInput{} } output = &ListDeploymentsOutput{} req = c.newRequest(op, input, output) return } // ListDeployments API operation for AWS IoT Greengrass V2. // // Retrieves a paginated list of deployments. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation ListDeployments for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListDeployments func (c *GreengrassV2) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) { req, out := c.ListDeploymentsRequest(input) return out, req.Send() } // ListDeploymentsWithContext is the same as ListDeployments with the addition of // the ability to pass a context and additional request options. // // See ListDeployments for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListDeploymentsWithContext(ctx aws.Context, input *ListDeploymentsInput, opts ...request.Option) (*ListDeploymentsOutput, error) { req, out := c.ListDeploymentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListDeploymentsPages iterates over the pages of a ListDeployments operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListDeployments method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListDeployments operation. // pageNum := 0 // err := client.ListDeploymentsPages(params, // func(page *greengrassv2.ListDeploymentsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *GreengrassV2) ListDeploymentsPages(input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool) error { return c.ListDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListDeploymentsPagesWithContext same as ListDeploymentsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListDeploymentsPagesWithContext(ctx aws.Context, input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListDeploymentsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListDeploymentsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListDeploymentsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListEffectiveDeployments = "ListEffectiveDeployments" // ListEffectiveDeploymentsRequest generates a "aws/request.Request" representing the // client's request for the ListEffectiveDeployments operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListEffectiveDeployments for more information on using the ListEffectiveDeployments // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListEffectiveDeploymentsRequest method. // req, resp := client.ListEffectiveDeploymentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListEffectiveDeployments func (c *GreengrassV2) ListEffectiveDeploymentsRequest(input *ListEffectiveDeploymentsInput) (req *request.Request, output *ListEffectiveDeploymentsOutput) { op := &request.Operation{ Name: opListEffectiveDeployments, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}/effectiveDeployments", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListEffectiveDeploymentsInput{} } output = &ListEffectiveDeploymentsOutput{} req = c.newRequest(op, input, output) return } // ListEffectiveDeployments API operation for AWS IoT Greengrass V2. // // Retrieves a paginated list of deployment jobs that IoT Greengrass sends to // Greengrass core devices. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation ListEffectiveDeployments for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListEffectiveDeployments func (c *GreengrassV2) ListEffectiveDeployments(input *ListEffectiveDeploymentsInput) (*ListEffectiveDeploymentsOutput, error) { req, out := c.ListEffectiveDeploymentsRequest(input) return out, req.Send() } // ListEffectiveDeploymentsWithContext is the same as ListEffectiveDeployments with the addition of // the ability to pass a context and additional request options. // // See ListEffectiveDeployments for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListEffectiveDeploymentsWithContext(ctx aws.Context, input *ListEffectiveDeploymentsInput, opts ...request.Option) (*ListEffectiveDeploymentsOutput, error) { req, out := c.ListEffectiveDeploymentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListEffectiveDeploymentsPages iterates over the pages of a ListEffectiveDeployments operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListEffectiveDeployments method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListEffectiveDeployments operation. // pageNum := 0 // err := client.ListEffectiveDeploymentsPages(params, // func(page *greengrassv2.ListEffectiveDeploymentsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *GreengrassV2) ListEffectiveDeploymentsPages(input *ListEffectiveDeploymentsInput, fn func(*ListEffectiveDeploymentsOutput, bool) bool) error { return c.ListEffectiveDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListEffectiveDeploymentsPagesWithContext same as ListEffectiveDeploymentsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListEffectiveDeploymentsPagesWithContext(ctx aws.Context, input *ListEffectiveDeploymentsInput, fn func(*ListEffectiveDeploymentsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListEffectiveDeploymentsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListEffectiveDeploymentsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListEffectiveDeploymentsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListInstalledComponents = "ListInstalledComponents" // ListInstalledComponentsRequest generates a "aws/request.Request" representing the // client's request for the ListInstalledComponents operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListInstalledComponents for more information on using the ListInstalledComponents // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListInstalledComponentsRequest method. // req, resp := client.ListInstalledComponentsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponents func (c *GreengrassV2) ListInstalledComponentsRequest(input *ListInstalledComponentsInput) (req *request.Request, output *ListInstalledComponentsOutput) { op := &request.Operation{ Name: opListInstalledComponents, HTTPMethod: "GET", HTTPPath: "/greengrass/v2/coreDevices/{coreDeviceThingName}/installedComponents", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListInstalledComponentsInput{} } output = &ListInstalledComponentsOutput{} req = c.newRequest(op, input, output) return } // ListInstalledComponents API operation for AWS IoT Greengrass V2. // // Retrieves a paginated list of the components that a Greengrass core device // runs. By default, this list doesn't include components that are deployed // as dependencies of other components. To include dependencies in the response, // set the topologyFilter parameter to ALL. // // IoT Greengrass relies on individual devices to send status updates to the // Amazon Web Services Cloud. If the IoT Greengrass Core software isn't running // on the device, or if device isn't connected to the Amazon Web Services Cloud, // then the reported status of that device might not reflect its current status. // The status timestamp indicates when the device status was last updated. // // Core devices send status updates at the following times: // // - When the IoT Greengrass Core software starts // // - When the core device receives a deployment from the Amazon Web Services // Cloud // // - When the status of any component on the core device becomes BROKEN // // - At a regular interval that you can configure (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html#greengrass-nucleus-component-configuration-fss), // which defaults to 24 hours // // - For IoT Greengrass Core v2.7.0, the core device sends status updates // upon local deployment and cloud deployment // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation ListInstalledComponents for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // - AccessDeniedException // You don't have permission to perform the action. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponents func (c *GreengrassV2) ListInstalledComponents(input *ListInstalledComponentsInput) (*ListInstalledComponentsOutput, error) { req, out := c.ListInstalledComponentsRequest(input) return out, req.Send() } // ListInstalledComponentsWithContext is the same as ListInstalledComponents with the addition of // the ability to pass a context and additional request options. // // See ListInstalledComponents for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListInstalledComponentsWithContext(ctx aws.Context, input *ListInstalledComponentsInput, opts ...request.Option) (*ListInstalledComponentsOutput, error) { req, out := c.ListInstalledComponentsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // ListInstalledComponentsPages iterates over the pages of a ListInstalledComponents operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListInstalledComponents method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListInstalledComponents operation. // pageNum := 0 // err := client.ListInstalledComponentsPages(params, // func(page *greengrassv2.ListInstalledComponentsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) func (c *GreengrassV2) ListInstalledComponentsPages(input *ListInstalledComponentsInput, fn func(*ListInstalledComponentsOutput, bool) bool) error { return c.ListInstalledComponentsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListInstalledComponentsPagesWithContext same as ListInstalledComponentsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListInstalledComponentsPagesWithContext(ctx aws.Context, input *ListInstalledComponentsInput, fn func(*ListInstalledComponentsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { var inCpy *ListInstalledComponentsInput if input != nil { tmp := *input inCpy = &tmp } req, _ := c.ListInstalledComponentsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil }, } for p.Next() { if !fn(p.Page().(*ListInstalledComponentsOutput), !p.HasNextPage()) { break } } return p.Err() } const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the // client's request for the ListTagsForResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ListTagsForResource for more information on using the ListTagsForResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ListTagsForResourceRequest method. // req, resp := client.ListTagsForResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListTagsForResource func (c *GreengrassV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ Name: opListTagsForResource, HTTPMethod: "GET", HTTPPath: "/tags/{resourceArn}", } if input == nil { input = &ListTagsForResourceInput{} } output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } // ListTagsForResource API operation for AWS IoT Greengrass V2. // // Retrieves the list of tags for an IoT Greengrass resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation ListTagsForResource for usage and error information. // // Returned Error Types: // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListTagsForResource func (c *GreengrassV2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // // See ListTagsForResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opResolveComponentCandidates = "ResolveComponentCandidates" // ResolveComponentCandidatesRequest generates a "aws/request.Request" representing the // client's request for the ResolveComponentCandidates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See ResolveComponentCandidates for more information on using the ResolveComponentCandidates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the ResolveComponentCandidatesRequest method. // req, resp := client.ResolveComponentCandidatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResolveComponentCandidates func (c *GreengrassV2) ResolveComponentCandidatesRequest(input *ResolveComponentCandidatesInput) (req *request.Request, output *ResolveComponentCandidatesOutput) { op := &request.Operation{ Name: opResolveComponentCandidates, HTTPMethod: "POST", HTTPPath: "/greengrass/v2/resolveComponentCandidates", } if input == nil { input = &ResolveComponentCandidatesInput{} } output = &ResolveComponentCandidatesOutput{} req = c.newRequest(op, input, output) return } // ResolveComponentCandidates API operation for AWS IoT Greengrass V2. // // Retrieves a list of components that meet the component, version, and platform // requirements of a deployment. Greengrass core devices call this operation // when they receive a deployment to identify the components to install. // // This operation identifies components that meet all dependency requirements // for a deployment. If the requirements conflict, then this operation returns // an error and the deployment fails. For example, this occurs if component // A requires version >2.0.0 and component B requires version <2.0.0 of a component // dependency. // // When you specify the component candidates to resolve, IoT Greengrass compares // each component's digest from the core device with the component's digest // in the Amazon Web Services Cloud. If the digests don't match, then IoT Greengrass // specifies to use the version from the Amazon Web Services Cloud. // // To use this operation, you must use the data plane API endpoint and authenticate // with an IoT device certificate. For more information, see IoT Greengrass // endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/greengrass.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation ResolveComponentCandidates for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - AccessDeniedException // You don't have permission to perform the action. // // - ResourceNotFoundException // The requested resource can't be found. // // - ConflictException // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. // // - ThrottlingException // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResolveComponentCandidates func (c *GreengrassV2) ResolveComponentCandidates(input *ResolveComponentCandidatesInput) (*ResolveComponentCandidatesOutput, error) { req, out := c.ResolveComponentCandidatesRequest(input) return out, req.Send() } // ResolveComponentCandidatesWithContext is the same as ResolveComponentCandidates with the addition of // the ability to pass a context and additional request options. // // See ResolveComponentCandidates for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) ResolveComponentCandidatesWithContext(ctx aws.Context, input *ResolveComponentCandidatesInput, opts ...request.Option) (*ResolveComponentCandidatesOutput, error) { req, out := c.ResolveComponentCandidatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the // client's request for the TagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See TagResource for more information on using the TagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the TagResourceRequest method. // req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/TagResource func (c *GreengrassV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/tags/{resourceArn}", } if input == nil { input = &TagResourceInput{} } output = &TagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // TagResource API operation for AWS IoT Greengrass V2. // // Adds tags to an IoT Greengrass resource. If a tag already exists for the // resource, this operation updates the tag's value. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation TagResource for usage and error information. // // Returned Error Types: // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/TagResource func (c *GreengrassV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) return out, req.Send() } // TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // // See TagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUntagResource = "UntagResource" // UntagResourceRequest generates a "aws/request.Request" representing the // client's request for the UntagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See UntagResource for more information on using the UntagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the UntagResourceRequest method. // req, resp := client.UntagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UntagResource func (c *GreengrassV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { op := &request.Operation{ Name: opUntagResource, HTTPMethod: "DELETE", HTTPPath: "/tags/{resourceArn}", } if input == nil { input = &UntagResourceInput{} } output = &UntagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // UntagResource API operation for AWS IoT Greengrass V2. // // Removes a tag from an IoT Greengrass resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation UntagResource for usage and error information. // // Returned Error Types: // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - ResourceNotFoundException // The requested resource can't be found. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UntagResource func (c *GreengrassV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) return out, req.Send() } // UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // // See UntagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } const opUpdateConnectivityInfo = "UpdateConnectivityInfo" // UpdateConnectivityInfoRequest generates a "aws/request.Request" representing the // client's request for the UpdateConnectivityInfo operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // // See UpdateConnectivityInfo for more information on using the UpdateConnectivityInfo // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // // Example sending a request using the UpdateConnectivityInfoRequest method. // req, resp := client.UpdateConnectivityInfoRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UpdateConnectivityInfo func (c *GreengrassV2) UpdateConnectivityInfoRequest(input *UpdateConnectivityInfoInput) (req *request.Request, output *UpdateConnectivityInfoOutput) { op := &request.Operation{ Name: opUpdateConnectivityInfo, HTTPMethod: "PUT", HTTPPath: "/greengrass/things/{thingName}/connectivityInfo", } if input == nil { input = &UpdateConnectivityInfoInput{} } output = &UpdateConnectivityInfoOutput{} req = c.newRequest(op, input, output) return } // UpdateConnectivityInfo API operation for AWS IoT Greengrass V2. // // Updates connectivity information for a Greengrass core device. // // Connectivity information includes endpoints and ports where client devices // can connect to an MQTT broker on the core device. When a client device calls // the IoT Greengrass discovery API (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-discover-api.html), // IoT Greengrass returns connectivity information for all of the core devices // where the client device can connect. For more information, see Connect client // devices to core devices (https://docs.aws.amazon.com/greengrass/v2/developerguide/connect-client-devices.html) // in the IoT Greengrass Version 2 Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Greengrass V2's // API operation UpdateConnectivityInfo for usage and error information. // // Returned Error Types: // // - ValidationException // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. // // - InternalServerException // IoT Greengrass can't process your request right now. Try again later. // // See also, https://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UpdateConnectivityInfo func (c *GreengrassV2) UpdateConnectivityInfo(input *UpdateConnectivityInfoInput) (*UpdateConnectivityInfoOutput, error) { req, out := c.UpdateConnectivityInfoRequest(input) return out, req.Send() } // UpdateConnectivityInfoWithContext is the same as UpdateConnectivityInfo with the addition of // the ability to pass a context and additional request options. // // See UpdateConnectivityInfo for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. func (c *GreengrassV2) UpdateConnectivityInfoWithContext(ctx aws.Context, input *UpdateConnectivityInfoInput, opts ...request.Option) (*UpdateConnectivityInfoOutput, error) { req, out := c.UpdateConnectivityInfoRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } // You don't have permission to perform the action. type AccessDeniedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AccessDeniedException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AccessDeniedException) GoString() string { return s.String() } func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { return &AccessDeniedException{ RespMetadata: v, } } // Code returns the exception type name. func (s *AccessDeniedException) Code() string { return "AccessDeniedException" } // Message returns the exception's message. func (s *AccessDeniedException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *AccessDeniedException) OrigErr() error { return nil } func (s *AccessDeniedException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *AccessDeniedException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } // Contains a request to associate a client device with a core device. The BatchAssociateClientDeviceWithCoreDevice // (https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchAssociateClientDeviceWithCoreDevice.html) // operation consumes a list of these requests. type AssociateClientDeviceWithCoreDeviceEntry struct { _ struct{} `type:"structure"` // The name of the IoT thing that represents the client device to associate. // // ThingName is a required field ThingName *string `locationName:"thingName" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AssociateClientDeviceWithCoreDeviceEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AssociateClientDeviceWithCoreDeviceEntry) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AssociateClientDeviceWithCoreDeviceEntry) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AssociateClientDeviceWithCoreDeviceEntry"} if s.ThingName == nil { invalidParams.Add(request.NewErrParamRequired("ThingName")) } if s.ThingName != nil && len(*s.ThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetThingName sets the ThingName field's value. func (s *AssociateClientDeviceWithCoreDeviceEntry) SetThingName(v string) *AssociateClientDeviceWithCoreDeviceEntry { s.ThingName = &v return s } // Contains an error that occurs from a request to associate a client device // with a core device. The BatchAssociateClientDeviceWithCoreDevice (https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchAssociateClientDeviceWithCoreDevice.html) // operation returns a list of these errors. type AssociateClientDeviceWithCoreDeviceErrorEntry struct { _ struct{} `type:"structure"` // The error code for the request. Code *string `locationName:"code" min:"1" type:"string"` // A message that provides additional information about the error. Message *string `locationName:"message" min:"1" type:"string"` // The name of the IoT thing whose associate request failed. ThingName *string `locationName:"thingName" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AssociateClientDeviceWithCoreDeviceErrorEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AssociateClientDeviceWithCoreDeviceErrorEntry) GoString() string { return s.String() } // SetCode sets the Code field's value. func (s *AssociateClientDeviceWithCoreDeviceErrorEntry) SetCode(v string) *AssociateClientDeviceWithCoreDeviceErrorEntry { s.Code = &v return s } // SetMessage sets the Message field's value. func (s *AssociateClientDeviceWithCoreDeviceErrorEntry) SetMessage(v string) *AssociateClientDeviceWithCoreDeviceErrorEntry { s.Message = &v return s } // SetThingName sets the ThingName field's value. func (s *AssociateClientDeviceWithCoreDeviceErrorEntry) SetThingName(v string) *AssociateClientDeviceWithCoreDeviceErrorEntry { s.ThingName = &v return s } type AssociateServiceRoleToAccountInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the service role to associate with IoT // Greengrass for your Amazon Web Services account in this Amazon Web Services // Region. // // RoleArn is a required field RoleArn *string `locationName:"RoleArn" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AssociateServiceRoleToAccountInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AssociateServiceRoleToAccountInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AssociateServiceRoleToAccountInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AssociateServiceRoleToAccountInput"} if s.RoleArn == nil { invalidParams.Add(request.NewErrParamRequired("RoleArn")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetRoleArn sets the RoleArn field's value. func (s *AssociateServiceRoleToAccountInput) SetRoleArn(v string) *AssociateServiceRoleToAccountInput { s.RoleArn = &v return s } type AssociateServiceRoleToAccountOutput struct { _ struct{} `type:"structure"` // The time when the service role was associated with IoT Greengrass for your // Amazon Web Services account in this Amazon Web Services Region. AssociatedAt *string `locationName:"AssociatedAt" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AssociateServiceRoleToAccountOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AssociateServiceRoleToAccountOutput) GoString() string { return s.String() } // SetAssociatedAt sets the AssociatedAt field's value. func (s *AssociateServiceRoleToAccountOutput) SetAssociatedAt(v string) *AssociateServiceRoleToAccountOutput { s.AssociatedAt = &v return s } // Contains information about a client device that is associated to a core device // for cloud discovery. type AssociatedClientDevice struct { _ struct{} `type:"structure"` // The time that the client device was associated, expressed in ISO 8601 format. AssociationTimestamp *time.Time `locationName:"associationTimestamp" type:"timestamp"` // The name of the IoT thing that represents the associated client device. ThingName *string `locationName:"thingName" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AssociatedClientDevice) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s AssociatedClientDevice) GoString() string { return s.String() } // SetAssociationTimestamp sets the AssociationTimestamp field's value. func (s *AssociatedClientDevice) SetAssociationTimestamp(v time.Time) *AssociatedClientDevice { s.AssociationTimestamp = &v return s } // SetThingName sets the ThingName field's value. func (s *AssociatedClientDevice) SetThingName(v string) *AssociatedClientDevice { s.ThingName = &v return s } type BatchAssociateClientDeviceWithCoreDeviceInput struct { _ struct{} `type:"structure"` // The name of the core device. This is also the name of the IoT thing. // // CoreDeviceThingName is a required field CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` // The list of client devices to associate. Entries []*AssociateClientDeviceWithCoreDeviceEntry `locationName:"entries" min:"1" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s BatchAssociateClientDeviceWithCoreDeviceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s BatchAssociateClientDeviceWithCoreDeviceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *BatchAssociateClientDeviceWithCoreDeviceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchAssociateClientDeviceWithCoreDeviceInput"} if s.CoreDeviceThingName == nil { invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) } if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) } if s.Entries != nil && len(s.Entries) < 1 { invalidParams.Add(request.NewErrParamMinLen("Entries", 1)) } if s.Entries != nil { for i, v := range s.Entries { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. func (s *BatchAssociateClientDeviceWithCoreDeviceInput) SetCoreDeviceThingName(v string) *BatchAssociateClientDeviceWithCoreDeviceInput { s.CoreDeviceThingName = &v return s } // SetEntries sets the Entries field's value. func (s *BatchAssociateClientDeviceWithCoreDeviceInput) SetEntries(v []*AssociateClientDeviceWithCoreDeviceEntry) *BatchAssociateClientDeviceWithCoreDeviceInput { s.Entries = v return s } type BatchAssociateClientDeviceWithCoreDeviceOutput struct { _ struct{} `type:"structure"` // The list of any errors for the entries in the request. Each error entry contains // the name of the IoT thing that failed to associate. ErrorEntries []*AssociateClientDeviceWithCoreDeviceErrorEntry `locationName:"errorEntries" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s BatchAssociateClientDeviceWithCoreDeviceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s BatchAssociateClientDeviceWithCoreDeviceOutput) GoString() string { return s.String() } // SetErrorEntries sets the ErrorEntries field's value. func (s *BatchAssociateClientDeviceWithCoreDeviceOutput) SetErrorEntries(v []*AssociateClientDeviceWithCoreDeviceErrorEntry) *BatchAssociateClientDeviceWithCoreDeviceOutput { s.ErrorEntries = v return s } type BatchDisassociateClientDeviceFromCoreDeviceInput struct { _ struct{} `type:"structure"` // The name of the core device. This is also the name of the IoT thing. // // CoreDeviceThingName is a required field CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` // The list of client devices to disassociate. Entries []*DisassociateClientDeviceFromCoreDeviceEntry `locationName:"entries" min:"1" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s BatchDisassociateClientDeviceFromCoreDeviceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s BatchDisassociateClientDeviceFromCoreDeviceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *BatchDisassociateClientDeviceFromCoreDeviceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateClientDeviceFromCoreDeviceInput"} if s.CoreDeviceThingName == nil { invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) } if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) } if s.Entries != nil && len(s.Entries) < 1 { invalidParams.Add(request.NewErrParamMinLen("Entries", 1)) } if s.Entries != nil { for i, v := range s.Entries { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. func (s *BatchDisassociateClientDeviceFromCoreDeviceInput) SetCoreDeviceThingName(v string) *BatchDisassociateClientDeviceFromCoreDeviceInput { s.CoreDeviceThingName = &v return s } // SetEntries sets the Entries field's value. func (s *BatchDisassociateClientDeviceFromCoreDeviceInput) SetEntries(v []*DisassociateClientDeviceFromCoreDeviceEntry) *BatchDisassociateClientDeviceFromCoreDeviceInput { s.Entries = v return s } type BatchDisassociateClientDeviceFromCoreDeviceOutput struct { _ struct{} `type:"structure"` // The list of any errors for the entries in the request. Each error entry contains // the name of the IoT thing that failed to disassociate. ErrorEntries []*DisassociateClientDeviceFromCoreDeviceErrorEntry `locationName:"errorEntries" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s BatchDisassociateClientDeviceFromCoreDeviceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s BatchDisassociateClientDeviceFromCoreDeviceOutput) GoString() string { return s.String() } // SetErrorEntries sets the ErrorEntries field's value. func (s *BatchDisassociateClientDeviceFromCoreDeviceOutput) SetErrorEntries(v []*DisassociateClientDeviceFromCoreDeviceErrorEntry) *BatchDisassociateClientDeviceFromCoreDeviceOutput { s.ErrorEntries = v return s } type CancelDeploymentInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ID of the deployment. // // DeploymentId is a required field DeploymentId *string `location:"uri" locationName:"deploymentId" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CancelDeploymentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CancelDeploymentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CancelDeploymentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CancelDeploymentInput"} if s.DeploymentId == nil { invalidParams.Add(request.NewErrParamRequired("DeploymentId")) } if s.DeploymentId != nil && len(*s.DeploymentId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDeploymentId sets the DeploymentId field's value. func (s *CancelDeploymentInput) SetDeploymentId(v string) *CancelDeploymentInput { s.DeploymentId = &v return s } type CancelDeploymentOutput struct { _ struct{} `type:"structure"` // A message that communicates if the cancel was successful. Message *string `locationName:"message" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CancelDeploymentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CancelDeploymentOutput) GoString() string { return s.String() } // SetMessage sets the Message field's value. func (s *CancelDeploymentOutput) SetMessage(v string) *CancelDeploymentOutput { s.Message = &v return s } // Contains the status of a component version in the IoT Greengrass service. type CloudComponentStatus struct { _ struct{} `type:"structure"` // The state of the component version. ComponentState *string `locationName:"componentState" type:"string" enum:"CloudComponentState"` // A dictionary of errors that communicate why the component version is in an // error state. For example, if IoT Greengrass can't access an artifact for // the component version, then errors contains the artifact's URI as a key, // and the error message as the value for that key. Errors map[string]*string `locationName:"errors" type:"map"` // A message that communicates details, such as errors, about the status of // the component version. Message *string `locationName:"message" min:"1" type:"string"` // The vendor guidance state for the component version. This state indicates // whether the component version has any issues that you should consider before // you deploy it. The vendor guidance state can be: // // * ACTIVE – This component version is available and recommended for use. // // * DISCONTINUED – This component version has been discontinued by its // publisher. You can deploy this component version, but we recommend that // you use a different version of this component. // // * DELETED – This component version has been deleted by its publisher, // so you can't deploy it. If you have any existing deployments that specify // this component version, those deployments will fail. VendorGuidance *string `locationName:"vendorGuidance" type:"string" enum:"VendorGuidance"` // A message that communicates details about the vendor guidance state of the // component version. This message communicates why a component version is discontinued // or deleted. VendorGuidanceMessage *string `locationName:"vendorGuidanceMessage" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CloudComponentStatus) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CloudComponentStatus) GoString() string { return s.String() } // SetComponentState sets the ComponentState field's value. func (s *CloudComponentStatus) SetComponentState(v string) *CloudComponentStatus { s.ComponentState = &v return s } // SetErrors sets the Errors field's value. func (s *CloudComponentStatus) SetErrors(v map[string]*string) *CloudComponentStatus { s.Errors = v return s } // SetMessage sets the Message field's value. func (s *CloudComponentStatus) SetMessage(v string) *CloudComponentStatus { s.Message = &v return s } // SetVendorGuidance sets the VendorGuidance field's value. func (s *CloudComponentStatus) SetVendorGuidance(v string) *CloudComponentStatus { s.VendorGuidance = &v return s } // SetVendorGuidanceMessage sets the VendorGuidanceMessage field's value. func (s *CloudComponentStatus) SetVendorGuidanceMessage(v string) *CloudComponentStatus { s.VendorGuidanceMessage = &v return s } // Contains information about a component. type Component struct { _ struct{} `type:"structure"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component version. Arn *string `locationName:"arn" type:"string"` // The name of the component. ComponentName *string `locationName:"componentName" min:"1" type:"string"` // The latest version of the component and its details. LatestVersion *ComponentLatestVersion `locationName:"latestVersion" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Component) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Component) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *Component) SetArn(v string) *Component { s.Arn = &v return s } // SetComponentName sets the ComponentName field's value. func (s *Component) SetComponentName(v string) *Component { s.ComponentName = &v return s } // SetLatestVersion sets the LatestVersion field's value. func (s *Component) SetLatestVersion(v *ComponentLatestVersion) *Component { s.LatestVersion = v return s } // Contains information about a component that is a candidate to deploy to a // Greengrass core device. type ComponentCandidate struct { _ struct{} `type:"structure"` // The name of the component. ComponentName *string `locationName:"componentName" min:"1" type:"string"` // The version of the component. ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` // The version requirements for the component's dependencies. Greengrass core // devices get the version requirements from component recipes. // // IoT Greengrass V2 uses semantic version constraints. For more information, // see Semantic Versioning (https://semver.org/). VersionRequirements map[string]*string `locationName:"versionRequirements" type:"map"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentCandidate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentCandidate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ComponentCandidate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ComponentCandidate"} if s.ComponentName != nil && len(*s.ComponentName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) } if s.ComponentVersion != nil && len(*s.ComponentVersion) < 1 { invalidParams.Add(request.NewErrParamMinLen("ComponentVersion", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetComponentName sets the ComponentName field's value. func (s *ComponentCandidate) SetComponentName(v string) *ComponentCandidate { s.ComponentName = &v return s } // SetComponentVersion sets the ComponentVersion field's value. func (s *ComponentCandidate) SetComponentVersion(v string) *ComponentCandidate { s.ComponentVersion = &v return s } // SetVersionRequirements sets the VersionRequirements field's value. func (s *ComponentCandidate) SetVersionRequirements(v map[string]*string) *ComponentCandidate { s.VersionRequirements = v return s } // Contains information about a deployment's update to a component's configuration // on Greengrass core devices. For more information, see Update component configurations // (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html) // in the IoT Greengrass V2 Developer Guide. type ComponentConfigurationUpdate struct { _ struct{} `type:"structure"` // A serialized JSON string that contains the configuration object to merge // to target devices. The core device merges this configuration with the component's // existing configuration. If this is the first time a component deploys on // a device, the core device merges this configuration with the component's // default configuration. This means that the core device keeps it's existing // configuration for keys and values that you don't specify in this object. // For more information, see Merge configuration updates (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html#merge-configuration-update) // in the IoT Greengrass V2 Developer Guide. Merge *string `locationName:"merge" min:"1" type:"string"` // The list of configuration nodes to reset to default values on target devices. // Use JSON pointers to specify each node to reset. JSON pointers start with // a forward slash (/) and use forward slashes to separate the key for each // level in the object. For more information, see the JSON pointer specification // (https://tools.ietf.org/html/rfc6901) and Reset configuration updates (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html#reset-configuration-update) // in the IoT Greengrass V2 Developer Guide. Reset []*string `locationName:"reset" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentConfigurationUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentConfigurationUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ComponentConfigurationUpdate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ComponentConfigurationUpdate"} if s.Merge != nil && len(*s.Merge) < 1 { invalidParams.Add(request.NewErrParamMinLen("Merge", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMerge sets the Merge field's value. func (s *ComponentConfigurationUpdate) SetMerge(v string) *ComponentConfigurationUpdate { s.Merge = &v return s } // SetReset sets the Reset field's value. func (s *ComponentConfigurationUpdate) SetReset(v []*string) *ComponentConfigurationUpdate { s.Reset = v return s } // Contains information about a component dependency for a Lambda function component. type ComponentDependencyRequirement struct { _ struct{} `type:"structure"` // The type of this dependency. Choose from the following options: // // * SOFT – The component doesn't restart if the dependency changes state. // // * HARD – The component restarts if the dependency changes state. // // Default: HARD DependencyType *string `locationName:"dependencyType" type:"string" enum:"ComponentDependencyType"` // The component version requirement for the component dependency. // // IoT Greengrass V2 uses semantic version constraints. For more information, // see Semantic Versioning (https://semver.org/). VersionRequirement *string `locationName:"versionRequirement" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentDependencyRequirement) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentDependencyRequirement) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ComponentDependencyRequirement) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ComponentDependencyRequirement"} if s.VersionRequirement != nil && len(*s.VersionRequirement) < 1 { invalidParams.Add(request.NewErrParamMinLen("VersionRequirement", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDependencyType sets the DependencyType field's value. func (s *ComponentDependencyRequirement) SetDependencyType(v string) *ComponentDependencyRequirement { s.DependencyType = &v return s } // SetVersionRequirement sets the VersionRequirement field's value. func (s *ComponentDependencyRequirement) SetVersionRequirement(v string) *ComponentDependencyRequirement { s.VersionRequirement = &v return s } // Contains information about a component to deploy. type ComponentDeploymentSpecification struct { _ struct{} `type:"structure"` // The version of the component. ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` // The configuration updates to deploy for the component. You can define reset // updates and merge updates. A reset updates the keys that you specify to the // default configuration for the component. A merge updates the core device's // component configuration with the keys and values that you specify. The IoT // Greengrass Core software applies reset updates before it applies merge updates. // For more information, see Update component configurations (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html) // in the IoT Greengrass V2 Developer Guide. ConfigurationUpdate *ComponentConfigurationUpdate `locationName:"configurationUpdate" type:"structure"` // The system user and group that the IoT Greengrass Core software uses to run // component processes on the core device. If you omit this parameter, the IoT // Greengrass Core software uses the system user and group that you configure // for the core device. For more information, see Configure the user and group // that run components (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user) // in the IoT Greengrass V2 Developer Guide. RunWith *ComponentRunWith `locationName:"runWith" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentDeploymentSpecification) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentDeploymentSpecification) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ComponentDeploymentSpecification) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ComponentDeploymentSpecification"} if s.ComponentVersion != nil && len(*s.ComponentVersion) < 1 { invalidParams.Add(request.NewErrParamMinLen("ComponentVersion", 1)) } if s.ConfigurationUpdate != nil { if err := s.ConfigurationUpdate.Validate(); err != nil { invalidParams.AddNested("ConfigurationUpdate", err.(request.ErrInvalidParams)) } } if s.RunWith != nil { if err := s.RunWith.Validate(); err != nil { invalidParams.AddNested("RunWith", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetComponentVersion sets the ComponentVersion field's value. func (s *ComponentDeploymentSpecification) SetComponentVersion(v string) *ComponentDeploymentSpecification { s.ComponentVersion = &v return s } // SetConfigurationUpdate sets the ConfigurationUpdate field's value. func (s *ComponentDeploymentSpecification) SetConfigurationUpdate(v *ComponentConfigurationUpdate) *ComponentDeploymentSpecification { s.ConfigurationUpdate = v return s } // SetRunWith sets the RunWith field's value. func (s *ComponentDeploymentSpecification) SetRunWith(v *ComponentRunWith) *ComponentDeploymentSpecification { s.RunWith = v return s } // Contains information about the latest version of a component. type ComponentLatestVersion struct { _ struct{} `type:"structure"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component version. Arn *string `locationName:"arn" type:"string"` // The version of the component. ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` // The time at which the component was created, expressed in ISO 8601 format. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` // The description of the component version. Description *string `locationName:"description" min:"1" type:"string"` // The platforms that the component version supports. Platforms []*ComponentPlatform `locationName:"platforms" type:"list"` // The publisher of the component version. Publisher *string `locationName:"publisher" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentLatestVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentLatestVersion) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *ComponentLatestVersion) SetArn(v string) *ComponentLatestVersion { s.Arn = &v return s } // SetComponentVersion sets the ComponentVersion field's value. func (s *ComponentLatestVersion) SetComponentVersion(v string) *ComponentLatestVersion { s.ComponentVersion = &v return s } // SetCreationTimestamp sets the CreationTimestamp field's value. func (s *ComponentLatestVersion) SetCreationTimestamp(v time.Time) *ComponentLatestVersion { s.CreationTimestamp = &v return s } // SetDescription sets the Description field's value. func (s *ComponentLatestVersion) SetDescription(v string) *ComponentLatestVersion { s.Description = &v return s } // SetPlatforms sets the Platforms field's value. func (s *ComponentLatestVersion) SetPlatforms(v []*ComponentPlatform) *ComponentLatestVersion { s.Platforms = v return s } // SetPublisher sets the Publisher field's value. func (s *ComponentLatestVersion) SetPublisher(v string) *ComponentLatestVersion { s.Publisher = &v return s } // Contains information about a platform that a component supports. type ComponentPlatform struct { _ struct{} `type:"structure"` // A dictionary of attributes for the platform. The IoT Greengrass Core software // defines the os and architecture by default. You can specify additional platform // attributes for a core device when you deploy the Greengrass nucleus component. // For more information, see the Greengrass nucleus component (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html) // in the IoT Greengrass V2 Developer Guide. Attributes map[string]*string `locationName:"attributes" type:"map"` // The friendly name of the platform. This name helps you identify the platform. // // If you omit this parameter, IoT Greengrass creates a friendly name from the // os and architecture of the platform. Name *string `locationName:"name" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentPlatform) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentPlatform) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ComponentPlatform) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ComponentPlatform"} if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAttributes sets the Attributes field's value. func (s *ComponentPlatform) SetAttributes(v map[string]*string) *ComponentPlatform { s.Attributes = v return s } // SetName sets the Name field's value. func (s *ComponentPlatform) SetName(v string) *ComponentPlatform { s.Name = &v return s } // Contains information system user and group that the IoT Greengrass Core software // uses to run component processes on the core device. For more information, // see Configure the user and group that run components (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user) // in the IoT Greengrass V2 Developer Guide. type ComponentRunWith struct { _ struct{} `type:"structure"` // The POSIX system user and, optionally, group to use to run this component // on Linux core devices. The user, and group if specified, must exist on each // Linux core device. Specify the user and group separated by a colon (:) in // the following format: user:group. The group is optional. If you don't specify // a group, the IoT Greengrass Core software uses the primary user for the group. // // If you omit this parameter, the IoT Greengrass Core software uses the default // system user and group that you configure on the Greengrass nucleus component. // For more information, see Configure the user and group that run components // (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user). PosixUser *string `locationName:"posixUser" min:"1" type:"string"` // The system resource limits to apply to this component's process on the core // device. IoT Greengrass currently supports this feature on only Linux core // devices. // // If you omit this parameter, the IoT Greengrass Core software uses the default // system resource limits that you configure on the Greengrass nucleus component. // For more information, see Configure system resource limits for components // (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-system-resource-limits). SystemResourceLimits *SystemResourceLimits `locationName:"systemResourceLimits" type:"structure"` // The Windows user to use to run this component on Windows core devices. The // user must exist on each Windows core device, and its name and password must // be in the LocalSystem account's Credentials Manager instance. // // If you omit this parameter, the IoT Greengrass Core software uses the default // Windows user that you configure on the Greengrass nucleus component. For // more information, see Configure the user and group that run components (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user). WindowsUser *string `locationName:"windowsUser" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentRunWith) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentRunWith) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ComponentRunWith) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ComponentRunWith"} if s.PosixUser != nil && len(*s.PosixUser) < 1 { invalidParams.Add(request.NewErrParamMinLen("PosixUser", 1)) } if s.WindowsUser != nil && len(*s.WindowsUser) < 1 { invalidParams.Add(request.NewErrParamMinLen("WindowsUser", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetPosixUser sets the PosixUser field's value. func (s *ComponentRunWith) SetPosixUser(v string) *ComponentRunWith { s.PosixUser = &v return s } // SetSystemResourceLimits sets the SystemResourceLimits field's value. func (s *ComponentRunWith) SetSystemResourceLimits(v *SystemResourceLimits) *ComponentRunWith { s.SystemResourceLimits = v return s } // SetWindowsUser sets the WindowsUser field's value. func (s *ComponentRunWith) SetWindowsUser(v string) *ComponentRunWith { s.WindowsUser = &v return s } // Contains information about a component version in a list. type ComponentVersionListItem struct { _ struct{} `type:"structure"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component version. Arn *string `locationName:"arn" min:"1" type:"string"` // The name of the component. ComponentName *string `locationName:"componentName" min:"1" type:"string"` // The version of the component. ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentVersionListItem) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ComponentVersionListItem) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *ComponentVersionListItem) SetArn(v string) *ComponentVersionListItem { s.Arn = &v return s } // SetComponentName sets the ComponentName field's value. func (s *ComponentVersionListItem) SetComponentName(v string) *ComponentVersionListItem { s.ComponentName = &v return s } // SetComponentVersion sets the ComponentVersion field's value. func (s *ComponentVersionListItem) SetComponentVersion(v string) *ComponentVersionListItem { s.ComponentVersion = &v return s } // Your request has conflicting operations. This can occur if you're trying // to perform more than one operation on the same resource at the same time. type ConflictException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` // The ID of the resource that conflicts with the request. // // ResourceId is a required field ResourceId *string `locationName:"resourceId" type:"string" required:"true"` // The type of the resource that conflicts with the request. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ConflictException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ConflictException) GoString() string { return s.String() } func newErrorConflictException(v protocol.ResponseMetadata) error { return &ConflictException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ConflictException) Code() string { return "ConflictException" } // Message returns the exception's message. func (s *ConflictException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ConflictException) OrigErr() error { return nil } func (s *ConflictException) Error() string { return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. func (s *ConflictException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } // Contains information about an endpoint and port where client devices can // connect to an MQTT broker on a Greengrass core device. type ConnectivityInfo struct { _ struct{} `type:"structure"` // The IP address or DNS address where client devices can connect to an MQTT // broker on the Greengrass core device. HostAddress *string `locationName:"HostAddress" type:"string"` // An ID for the connectivity information. Id *string `locationName:"Id" type:"string"` // Additional metadata to provide to client devices that connect to this core // device. Metadata *string `locationName:"Metadata" type:"string"` // The port where the MQTT broker operates on the core device. This port is // typically 8883, which is the default port for the MQTT broker component that // runs on core devices. PortNumber *int64 `locationName:"PortNumber" type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ConnectivityInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ConnectivityInfo) GoString() string { return s.String() } // SetHostAddress sets the HostAddress field's value. func (s *ConnectivityInfo) SetHostAddress(v string) *ConnectivityInfo { s.HostAddress = &v return s } // SetId sets the Id field's value. func (s *ConnectivityInfo) SetId(v string) *ConnectivityInfo { s.Id = &v return s } // SetMetadata sets the Metadata field's value. func (s *ConnectivityInfo) SetMetadata(v string) *ConnectivityInfo { s.Metadata = &v return s } // SetPortNumber sets the PortNumber field's value. func (s *ConnectivityInfo) SetPortNumber(v int64) *ConnectivityInfo { s.PortNumber = &v return s } // Contains information about a Greengrass core device, which is an IoT thing // that runs the IoT Greengrass Core software. type CoreDevice struct { _ struct{} `type:"structure"` // The name of the core device. This is also the name of the IoT thing. CoreDeviceThingName *string `locationName:"coreDeviceThingName" min:"1" type:"string"` // The time at which the core device's status last updated, expressed in ISO // 8601 format. LastStatusUpdateTimestamp *time.Time `locationName:"lastStatusUpdateTimestamp" type:"timestamp"` // The status of the core device. Core devices can have the following statuses: // // * HEALTHY – The IoT Greengrass Core software and all components run // on the core device without issue. // // * UNHEALTHY – The IoT Greengrass Core software or a component is in // a failed state on the core device. Status *string `locationName:"status" type:"string" enum:"CoreDeviceStatus"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CoreDevice) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CoreDevice) GoString() string { return s.String() } // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. func (s *CoreDevice) SetCoreDeviceThingName(v string) *CoreDevice { s.CoreDeviceThingName = &v return s } // SetLastStatusUpdateTimestamp sets the LastStatusUpdateTimestamp field's value. func (s *CoreDevice) SetLastStatusUpdateTimestamp(v time.Time) *CoreDevice { s.LastStatusUpdateTimestamp = &v return s } // SetStatus sets the Status field's value. func (s *CoreDevice) SetStatus(v string) *CoreDevice { s.Status = &v return s } type CreateComponentVersionInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive identifier that you can provide to ensure that the // request is idempotent. Idempotency means that the request is successfully // processed only once, even if you send the request multiple times. When a // request succeeds, and you specify the same client token for subsequent successful // requests, the IoT Greengrass V2 service returns the successful response that // it caches from the previous request. IoT Greengrass V2 caches successful // responses for idempotent requests for up to 8 hours. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The recipe to use to create the component. The recipe defines the component's // metadata, parameters, dependencies, lifecycle, artifacts, and platform compatibility. // // You must specify either inlineRecipe or lambdaFunction. // InlineRecipe is automatically base64 encoded/decoded by the SDK. InlineRecipe []byte `locationName:"inlineRecipe" type:"blob"` // The parameters to create a component from a Lambda function. // // You must specify either inlineRecipe or lambdaFunction. LambdaFunction *LambdaFunctionRecipeSource `locationName:"lambdaFunction" type:"structure"` // A list of key-value pairs that contain metadata for the resource. For more // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) // in the IoT Greengrass V2 Developer Guide. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateComponentVersionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateComponentVersionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateComponentVersionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateComponentVersionInput"} if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if s.LambdaFunction != nil { if err := s.LambdaFunction.Validate(); err != nil { invalidParams.AddNested("LambdaFunction", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *CreateComponentVersionInput) SetClientToken(v string) *CreateComponentVersionInput { s.ClientToken = &v return s } // SetInlineRecipe sets the InlineRecipe field's value. func (s *CreateComponentVersionInput) SetInlineRecipe(v []byte) *CreateComponentVersionInput { s.InlineRecipe = v return s } // SetLambdaFunction sets the LambdaFunction field's value. func (s *CreateComponentVersionInput) SetLambdaFunction(v *LambdaFunctionRecipeSource) *CreateComponentVersionInput { s.LambdaFunction = v return s } // SetTags sets the Tags field's value. func (s *CreateComponentVersionInput) SetTags(v map[string]*string) *CreateComponentVersionInput { s.Tags = v return s } type CreateComponentVersionOutput struct { _ struct{} `type:"structure"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component version. Arn *string `locationName:"arn" type:"string"` // The name of the component. // // ComponentName is a required field ComponentName *string `locationName:"componentName" min:"1" type:"string" required:"true"` // The version of the component. // // ComponentVersion is a required field ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string" required:"true"` // The time at which the component was created, expressed in ISO 8601 format. // // CreationTimestamp is a required field CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" required:"true"` // The status of the component version in IoT Greengrass V2. This status is // different from the status of the component on a core device. // // Status is a required field Status *CloudComponentStatus `locationName:"status" type:"structure" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateComponentVersionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateComponentVersionOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *CreateComponentVersionOutput) SetArn(v string) *CreateComponentVersionOutput { s.Arn = &v return s } // SetComponentName sets the ComponentName field's value. func (s *CreateComponentVersionOutput) SetComponentName(v string) *CreateComponentVersionOutput { s.ComponentName = &v return s } // SetComponentVersion sets the ComponentVersion field's value. func (s *CreateComponentVersionOutput) SetComponentVersion(v string) *CreateComponentVersionOutput { s.ComponentVersion = &v return s } // SetCreationTimestamp sets the CreationTimestamp field's value. func (s *CreateComponentVersionOutput) SetCreationTimestamp(v time.Time) *CreateComponentVersionOutput { s.CreationTimestamp = &v return s } // SetStatus sets the Status field's value. func (s *CreateComponentVersionOutput) SetStatus(v *CloudComponentStatus) *CreateComponentVersionOutput { s.Status = v return s } type CreateDeploymentInput struct { _ struct{} `type:"structure"` // A unique, case-sensitive identifier that you can provide to ensure that the // request is idempotent. Idempotency means that the request is successfully // processed only once, even if you send the request multiple times. When a // request succeeds, and you specify the same client token for subsequent successful // requests, the IoT Greengrass V2 service returns the successful response that // it caches from the previous request. IoT Greengrass V2 caches successful // responses for idempotent requests for up to 8 hours. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The components to deploy. This is a dictionary, where each key is the name // of a component, and each key's value is the version and configuration to // deploy for that component. Components map[string]*ComponentDeploymentSpecification `locationName:"components" type:"map"` // The name of the deployment. DeploymentName *string `locationName:"deploymentName" min:"1" type:"string"` // The deployment policies for the deployment. These policies define how the // deployment updates components and handles failure. DeploymentPolicies *DeploymentPolicies `locationName:"deploymentPolicies" type:"structure"` // The job configuration for the deployment configuration. The job configuration // specifies the rollout, timeout, and stop configurations for the deployment // configuration. IotJobConfiguration *DeploymentIoTJobConfiguration `locationName:"iotJobConfiguration" type:"structure"` // The parent deployment's target ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // within a subdeployment. ParentTargetArn *string `locationName:"parentTargetArn" type:"string"` // A list of key-value pairs that contain metadata for the resource. For more // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) // in the IoT Greengrass V2 Developer Guide. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the target IoT thing or thing group. When creating a subdeployment, the // targetARN can only be a thing group. // // TargetArn is a required field TargetArn *string `locationName:"targetArn" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateDeploymentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateDeploymentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateDeploymentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentInput"} if s.ClientToken != nil && len(*s.ClientToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } if s.DeploymentName != nil && len(*s.DeploymentName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DeploymentName", 1)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if s.TargetArn == nil { invalidParams.Add(request.NewErrParamRequired("TargetArn")) } if s.Components != nil { for i, v := range s.Components { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams)) } } } if s.IotJobConfiguration != nil { if err := s.IotJobConfiguration.Validate(); err != nil { invalidParams.AddNested("IotJobConfiguration", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetClientToken sets the ClientToken field's value. func (s *CreateDeploymentInput) SetClientToken(v string) *CreateDeploymentInput { s.ClientToken = &v return s } // SetComponents sets the Components field's value. func (s *CreateDeploymentInput) SetComponents(v map[string]*ComponentDeploymentSpecification) *CreateDeploymentInput { s.Components = v return s } // SetDeploymentName sets the DeploymentName field's value. func (s *CreateDeploymentInput) SetDeploymentName(v string) *CreateDeploymentInput { s.DeploymentName = &v return s } // SetDeploymentPolicies sets the DeploymentPolicies field's value. func (s *CreateDeploymentInput) SetDeploymentPolicies(v *DeploymentPolicies) *CreateDeploymentInput { s.DeploymentPolicies = v return s } // SetIotJobConfiguration sets the IotJobConfiguration field's value. func (s *CreateDeploymentInput) SetIotJobConfiguration(v *DeploymentIoTJobConfiguration) *CreateDeploymentInput { s.IotJobConfiguration = v return s } // SetParentTargetArn sets the ParentTargetArn field's value. func (s *CreateDeploymentInput) SetParentTargetArn(v string) *CreateDeploymentInput { s.ParentTargetArn = &v return s } // SetTags sets the Tags field's value. func (s *CreateDeploymentInput) SetTags(v map[string]*string) *CreateDeploymentInput { s.Tags = v return s } // SetTargetArn sets the TargetArn field's value. func (s *CreateDeploymentInput) SetTargetArn(v string) *CreateDeploymentInput { s.TargetArn = &v return s } type CreateDeploymentOutput struct { _ struct{} `type:"structure"` // The ID of the deployment. DeploymentId *string `locationName:"deploymentId" min:"1" type:"string"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the IoT job that applies the deployment to target devices. IotJobArn *string `locationName:"iotJobArn" type:"string"` // The ID of the IoT job that applies the deployment to target devices. IotJobId *string `locationName:"iotJobId" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateDeploymentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s CreateDeploymentOutput) GoString() string { return s.String() } // SetDeploymentId sets the DeploymentId field's value. func (s *CreateDeploymentOutput) SetDeploymentId(v string) *CreateDeploymentOutput { s.DeploymentId = &v return s } // SetIotJobArn sets the IotJobArn field's value. func (s *CreateDeploymentOutput) SetIotJobArn(v string) *CreateDeploymentOutput { s.IotJobArn = &v return s } // SetIotJobId sets the IotJobId field's value. func (s *CreateDeploymentOutput) SetIotJobId(v string) *CreateDeploymentOutput { s.IotJobId = &v return s } type DeleteComponentInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component version. // // Arn is a required field Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteComponentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteComponentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteComponentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteComponentInput"} if s.Arn == nil { invalidParams.Add(request.NewErrParamRequired("Arn")) } if s.Arn != nil && len(*s.Arn) < 1 { invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetArn sets the Arn field's value. func (s *DeleteComponentInput) SetArn(v string) *DeleteComponentInput { s.Arn = &v return s } type DeleteComponentOutput struct { _ struct{} `type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteComponentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteComponentOutput) GoString() string { return s.String() } type DeleteCoreDeviceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the core device. This is also the name of the IoT thing. // // CoreDeviceThingName is a required field CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteCoreDeviceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteCoreDeviceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteCoreDeviceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteCoreDeviceInput"} if s.CoreDeviceThingName == nil { invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) } if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. func (s *DeleteCoreDeviceInput) SetCoreDeviceThingName(v string) *DeleteCoreDeviceInput { s.CoreDeviceThingName = &v return s } type DeleteCoreDeviceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteCoreDeviceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteCoreDeviceOutput) GoString() string { return s.String() } type DeleteDeploymentInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ID of the deployment. // // DeploymentId is a required field DeploymentId *string `location:"uri" locationName:"deploymentId" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteDeploymentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteDeploymentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteDeploymentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentInput"} if s.DeploymentId == nil { invalidParams.Add(request.NewErrParamRequired("DeploymentId")) } if s.DeploymentId != nil && len(*s.DeploymentId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDeploymentId sets the DeploymentId field's value. func (s *DeleteDeploymentInput) SetDeploymentId(v string) *DeleteDeploymentInput { s.DeploymentId = &v return s } type DeleteDeploymentOutput struct { _ struct{} `type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteDeploymentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeleteDeploymentOutput) GoString() string { return s.String() } // Contains information about a deployment. type Deployment struct { _ struct{} `type:"structure"` // The time at which the deployment was created, expressed in ISO 8601 format. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` // The ID of the deployment. DeploymentId *string `locationName:"deploymentId" min:"1" type:"string"` // The name of the deployment. DeploymentName *string `locationName:"deploymentName" min:"1" type:"string"` // The status of the deployment. DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"` // Whether or not the deployment is the latest revision for its target. IsLatestForTarget *bool `locationName:"isLatestForTarget" type:"boolean"` // The parent deployment's target ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // within a subdeployment. ParentTargetArn *string `locationName:"parentTargetArn" type:"string"` // The revision number of the deployment. RevisionId *string `locationName:"revisionId" min:"1" type:"string"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the target IoT thing or thing group. When creating a subdeployment, the // targetARN can only be a thing group. TargetArn *string `locationName:"targetArn" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Deployment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s Deployment) GoString() string { return s.String() } // SetCreationTimestamp sets the CreationTimestamp field's value. func (s *Deployment) SetCreationTimestamp(v time.Time) *Deployment { s.CreationTimestamp = &v return s } // SetDeploymentId sets the DeploymentId field's value. func (s *Deployment) SetDeploymentId(v string) *Deployment { s.DeploymentId = &v return s } // SetDeploymentName sets the DeploymentName field's value. func (s *Deployment) SetDeploymentName(v string) *Deployment { s.DeploymentName = &v return s } // SetDeploymentStatus sets the DeploymentStatus field's value. func (s *Deployment) SetDeploymentStatus(v string) *Deployment { s.DeploymentStatus = &v return s } // SetIsLatestForTarget sets the IsLatestForTarget field's value. func (s *Deployment) SetIsLatestForTarget(v bool) *Deployment { s.IsLatestForTarget = &v return s } // SetParentTargetArn sets the ParentTargetArn field's value. func (s *Deployment) SetParentTargetArn(v string) *Deployment { s.ParentTargetArn = &v return s } // SetRevisionId sets the RevisionId field's value. func (s *Deployment) SetRevisionId(v string) *Deployment { s.RevisionId = &v return s } // SetTargetArn sets the TargetArn field's value. func (s *Deployment) SetTargetArn(v string) *Deployment { s.TargetArn = &v return s } // Contains information about a deployment's policy that defines when components // are safe to update. // // Each component on a device can report whether or not it's ready to update. // After a component and its dependencies are ready, they can apply the update // in the deployment. You can configure whether or not the deployment notifies // components of an update and waits for a response. You specify the amount // of time each component has to respond to the update notification. type DeploymentComponentUpdatePolicy struct { _ struct{} `type:"structure"` // Whether or not to notify components and wait for components to become safe // to update. Choose from the following options: // // * NOTIFY_COMPONENTS – The deployment notifies each component before // it stops and updates that component. Components can use the SubscribeToComponentUpdates // (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetocomponentupdates) // IPC operation to receive these notifications. Then, components can respond // with the DeferComponentUpdate (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-defercomponentupdate) // IPC operation. For more information, see Create deployments (https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html) // in the IoT Greengrass V2 Developer Guide. // // * SKIP_NOTIFY_COMPONENTS – The deployment doesn't notify components // or wait for them to be safe to update. // // Default: NOTIFY_COMPONENTS Action *string `locationName:"action" type:"string" enum:"DeploymentComponentUpdatePolicyAction"` // The amount of time in seconds that each component on a device has to report // that it's safe to update. If the component waits for longer than this timeout, // then the deployment proceeds on the device. // // Default: 60 TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeploymentComponentUpdatePolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeploymentComponentUpdatePolicy) GoString() string { return s.String() } // SetAction sets the Action field's value. func (s *DeploymentComponentUpdatePolicy) SetAction(v string) *DeploymentComponentUpdatePolicy { s.Action = &v return s } // SetTimeoutInSeconds sets the TimeoutInSeconds field's value. func (s *DeploymentComponentUpdatePolicy) SetTimeoutInSeconds(v int64) *DeploymentComponentUpdatePolicy { s.TimeoutInSeconds = &v return s } // Contains information about how long a component on a core device can validate // its configuration updates before it times out. Components can use the SubscribeToValidateConfigurationUpdates // (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetovalidateconfigurationupdates) // IPC operation to receive notifications when a deployment specifies a configuration // update. Then, components can respond with the SendConfigurationValidityReport // (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-sendconfigurationvalidityreport) // IPC operation. For more information, see Create deployments (https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html) // in the IoT Greengrass V2 Developer Guide. type DeploymentConfigurationValidationPolicy struct { _ struct{} `type:"structure"` // The amount of time in seconds that a component can validate its configuration // updates. If the validation time exceeds this timeout, then the deployment // proceeds for the device. // // Default: 30 TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeploymentConfigurationValidationPolicy) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeploymentConfigurationValidationPolicy) GoString() string { return s.String() } // SetTimeoutInSeconds sets the TimeoutInSeconds field's value. func (s *DeploymentConfigurationValidationPolicy) SetTimeoutInSeconds(v int64) *DeploymentConfigurationValidationPolicy { s.TimeoutInSeconds = &v return s } // Contains information about an IoT job configuration. type DeploymentIoTJobConfiguration struct { _ struct{} `type:"structure"` // The stop configuration for the job. This configuration defines when and how // to stop a job rollout. AbortConfig *IoTJobAbortConfig `locationName:"abortConfig" type:"structure"` // The rollout configuration for the job. This configuration defines the rate // at which the job rolls out to the fleet of target devices. JobExecutionsRolloutConfig *IoTJobExecutionsRolloutConfig `locationName:"jobExecutionsRolloutConfig" type:"structure"` // The timeout configuration for the job. This configuration defines the amount // of time each device has to complete the job. TimeoutConfig *IoTJobTimeoutConfig `locationName:"timeoutConfig" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeploymentIoTJobConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeploymentIoTJobConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeploymentIoTJobConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeploymentIoTJobConfiguration"} if s.AbortConfig != nil { if err := s.AbortConfig.Validate(); err != nil { invalidParams.AddNested("AbortConfig", err.(request.ErrInvalidParams)) } } if s.JobExecutionsRolloutConfig != nil { if err := s.JobExecutionsRolloutConfig.Validate(); err != nil { invalidParams.AddNested("JobExecutionsRolloutConfig", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAbortConfig sets the AbortConfig field's value. func (s *DeploymentIoTJobConfiguration) SetAbortConfig(v *IoTJobAbortConfig) *DeploymentIoTJobConfiguration { s.AbortConfig = v return s } // SetJobExecutionsRolloutConfig sets the JobExecutionsRolloutConfig field's value. func (s *DeploymentIoTJobConfiguration) SetJobExecutionsRolloutConfig(v *IoTJobExecutionsRolloutConfig) *DeploymentIoTJobConfiguration { s.JobExecutionsRolloutConfig = v return s } // SetTimeoutConfig sets the TimeoutConfig field's value. func (s *DeploymentIoTJobConfiguration) SetTimeoutConfig(v *IoTJobTimeoutConfig) *DeploymentIoTJobConfiguration { s.TimeoutConfig = v return s } // Contains information about policies that define how a deployment updates // components and handles failure. type DeploymentPolicies struct { _ struct{} `type:"structure"` // The component update policy for the configuration deployment. This policy // defines when it's safe to deploy the configuration to devices. ComponentUpdatePolicy *DeploymentComponentUpdatePolicy `locationName:"componentUpdatePolicy" type:"structure"` // The configuration validation policy for the configuration deployment. This // policy defines how long each component has to validate its configure updates. ConfigurationValidationPolicy *DeploymentConfigurationValidationPolicy `locationName:"configurationValidationPolicy" type:"structure"` // The failure handling policy for the configuration deployment. This policy // defines what to do if the deployment fails. // // Default: ROLLBACK FailureHandlingPolicy *string `locationName:"failureHandlingPolicy" type:"string" enum:"DeploymentFailureHandlingPolicy"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeploymentPolicies) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DeploymentPolicies) GoString() string { return s.String() } // SetComponentUpdatePolicy sets the ComponentUpdatePolicy field's value. func (s *DeploymentPolicies) SetComponentUpdatePolicy(v *DeploymentComponentUpdatePolicy) *DeploymentPolicies { s.ComponentUpdatePolicy = v return s } // SetConfigurationValidationPolicy sets the ConfigurationValidationPolicy field's value. func (s *DeploymentPolicies) SetConfigurationValidationPolicy(v *DeploymentConfigurationValidationPolicy) *DeploymentPolicies { s.ConfigurationValidationPolicy = v return s } // SetFailureHandlingPolicy sets the FailureHandlingPolicy field's value. func (s *DeploymentPolicies) SetFailureHandlingPolicy(v string) *DeploymentPolicies { s.FailureHandlingPolicy = &v return s } type DescribeComponentInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component version. // // Arn is a required field Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DescribeComponentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DescribeComponentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeComponentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeComponentInput"} if s.Arn == nil { invalidParams.Add(request.NewErrParamRequired("Arn")) } if s.Arn != nil && len(*s.Arn) < 1 { invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetArn sets the Arn field's value. func (s *DescribeComponentInput) SetArn(v string) *DescribeComponentInput { s.Arn = &v return s } type DescribeComponentOutput struct { _ struct{} `type:"structure"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component version. Arn *string `locationName:"arn" type:"string"` // The name of the component. ComponentName *string `locationName:"componentName" min:"1" type:"string"` // The version of the component. ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` // The time at which the component was created, expressed in ISO 8601 format. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` // The description of the component version. Description *string `locationName:"description" type:"string"` // The platforms that the component version supports. Platforms []*ComponentPlatform `locationName:"platforms" type:"list"` // The publisher of the component version. Publisher *string `locationName:"publisher" type:"string"` // The status of the component version in IoT Greengrass V2. This status is // different from the status of the component on a core device. Status *CloudComponentStatus `locationName:"status" type:"structure"` // A list of key-value pairs that contain metadata for the resource. For more // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) // in the IoT Greengrass V2 Developer Guide. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DescribeComponentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DescribeComponentOutput) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *DescribeComponentOutput) SetArn(v string) *DescribeComponentOutput { s.Arn = &v return s } // SetComponentName sets the ComponentName field's value. func (s *DescribeComponentOutput) SetComponentName(v string) *DescribeComponentOutput { s.ComponentName = &v return s } // SetComponentVersion sets the ComponentVersion field's value. func (s *DescribeComponentOutput) SetComponentVersion(v string) *DescribeComponentOutput { s.ComponentVersion = &v return s } // SetCreationTimestamp sets the CreationTimestamp field's value. func (s *DescribeComponentOutput) SetCreationTimestamp(v time.Time) *DescribeComponentOutput { s.CreationTimestamp = &v return s } // SetDescription sets the Description field's value. func (s *DescribeComponentOutput) SetDescription(v string) *DescribeComponentOutput { s.Description = &v return s } // SetPlatforms sets the Platforms field's value. func (s *DescribeComponentOutput) SetPlatforms(v []*ComponentPlatform) *DescribeComponentOutput { s.Platforms = v return s } // SetPublisher sets the Publisher field's value. func (s *DescribeComponentOutput) SetPublisher(v string) *DescribeComponentOutput { s.Publisher = &v return s } // SetStatus sets the Status field's value. func (s *DescribeComponentOutput) SetStatus(v *CloudComponentStatus) *DescribeComponentOutput { s.Status = v return s } // SetTags sets the Tags field's value. func (s *DescribeComponentOutput) SetTags(v map[string]*string) *DescribeComponentOutput { s.Tags = v return s } // Contains a request to disassociate a client device from a core device. The // BatchDisassociateClientDeviceWithCoreDevice (https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchDisassociateClientDeviceWithCoreDevice.html) // operation consumes a list of these requests. type DisassociateClientDeviceFromCoreDeviceEntry struct { _ struct{} `type:"structure"` // The name of the IoT thing that represents the client device to disassociate. // // ThingName is a required field ThingName *string `locationName:"thingName" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DisassociateClientDeviceFromCoreDeviceEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DisassociateClientDeviceFromCoreDeviceEntry) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DisassociateClientDeviceFromCoreDeviceEntry) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DisassociateClientDeviceFromCoreDeviceEntry"} if s.ThingName == nil { invalidParams.Add(request.NewErrParamRequired("ThingName")) } if s.ThingName != nil && len(*s.ThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetThingName sets the ThingName field's value. func (s *DisassociateClientDeviceFromCoreDeviceEntry) SetThingName(v string) *DisassociateClientDeviceFromCoreDeviceEntry { s.ThingName = &v return s } // Contains an error that occurs from a request to disassociate a client device // from a core device. The BatchDisassociateClientDeviceWithCoreDevice (https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchDisassociateClientDeviceWithCoreDevice.html) // operation returns a list of these errors. type DisassociateClientDeviceFromCoreDeviceErrorEntry struct { _ struct{} `type:"structure"` // The error code for the request. Code *string `locationName:"code" min:"1" type:"string"` // A message that provides additional information about the error. Message *string `locationName:"message" min:"1" type:"string"` // The name of the IoT thing whose disassociate request failed. ThingName *string `locationName:"thingName" min:"1" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DisassociateClientDeviceFromCoreDeviceErrorEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DisassociateClientDeviceFromCoreDeviceErrorEntry) GoString() string { return s.String() } // SetCode sets the Code field's value. func (s *DisassociateClientDeviceFromCoreDeviceErrorEntry) SetCode(v string) *DisassociateClientDeviceFromCoreDeviceErrorEntry { s.Code = &v return s } // SetMessage sets the Message field's value. func (s *DisassociateClientDeviceFromCoreDeviceErrorEntry) SetMessage(v string) *DisassociateClientDeviceFromCoreDeviceErrorEntry { s.Message = &v return s } // SetThingName sets the ThingName field's value. func (s *DisassociateClientDeviceFromCoreDeviceErrorEntry) SetThingName(v string) *DisassociateClientDeviceFromCoreDeviceErrorEntry { s.ThingName = &v return s } type DisassociateServiceRoleFromAccountInput struct { _ struct{} `type:"structure" nopayload:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DisassociateServiceRoleFromAccountInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DisassociateServiceRoleFromAccountInput) GoString() string { return s.String() } type DisassociateServiceRoleFromAccountOutput struct { _ struct{} `type:"structure"` // The time when the service role was disassociated from IoT Greengrass for // your Amazon Web Services account in this Amazon Web Services Region. DisassociatedAt *string `locationName:"DisassociatedAt" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DisassociateServiceRoleFromAccountOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s DisassociateServiceRoleFromAccountOutput) GoString() string { return s.String() } // SetDisassociatedAt sets the DisassociatedAt field's value. func (s *DisassociateServiceRoleFromAccountOutput) SetDisassociatedAt(v string) *DisassociateServiceRoleFromAccountOutput { s.DisassociatedAt = &v return s } // Contains information about a deployment job that IoT Greengrass sends to // a Greengrass core device. type EffectiveDeployment struct { _ struct{} `type:"structure"` // The status of the deployment job on the Greengrass core device. // // * IN_PROGRESS – The deployment job is running. // // * QUEUED – The deployment job is in the job queue and waiting to run. // // * FAILED – The deployment failed. For more information, see the statusDetails // field. // // * COMPLETED – The deployment to an IoT thing was completed successfully. // // * TIMED_OUT – The deployment didn't complete in the allotted time. // // * CANCELED – The deployment was canceled by the user. // // * REJECTED – The deployment was rejected. For more information, see // the statusDetails field. // // * SUCCEEDED – The deployment to an IoT thing group was completed successfully. // // CoreDeviceExecutionStatus is a required field CoreDeviceExecutionStatus *string `locationName:"coreDeviceExecutionStatus" type:"string" required:"true" enum:"EffectiveDeploymentExecutionStatus"` // The time at which the deployment was created, expressed in ISO 8601 format. // // CreationTimestamp is a required field CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" required:"true"` // The ID of the deployment. // // DeploymentId is a required field DeploymentId *string `locationName:"deploymentId" type:"string" required:"true"` // The name of the deployment. // // DeploymentName is a required field DeploymentName *string `locationName:"deploymentName" type:"string" required:"true"` // The description of the deployment job. Description *string `locationName:"description" min:"1" type:"string"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the IoT job that applies the deployment to target devices. IotJobArn *string `locationName:"iotJobArn" type:"string"` // The ID of the IoT job that applies the deployment to target devices. IotJobId *string `locationName:"iotJobId" min:"1" type:"string"` // The time at which the deployment job was last modified, expressed in ISO // 8601 format. // // ModifiedTimestamp is a required field ModifiedTimestamp *time.Time `locationName:"modifiedTimestamp" type:"timestamp" required:"true"` // The reason code for the update, if the job was updated. Reason *string `locationName:"reason" type:"string"` // The status details that explain why a deployment has an error. This response // will be null if the deployment is in a success state. StatusDetails *EffectiveDeploymentStatusDetails `locationName:"statusDetails" type:"structure"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the target IoT thing or thing group. // // TargetArn is a required field TargetArn *string `locationName:"targetArn" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EffectiveDeployment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EffectiveDeployment) GoString() string { return s.String() } // SetCoreDeviceExecutionStatus sets the CoreDeviceExecutionStatus field's value. func (s *EffectiveDeployment) SetCoreDeviceExecutionStatus(v string) *EffectiveDeployment { s.CoreDeviceExecutionStatus = &v return s } // SetCreationTimestamp sets the CreationTimestamp field's value. func (s *EffectiveDeployment) SetCreationTimestamp(v time.Time) *EffectiveDeployment { s.CreationTimestamp = &v return s } // SetDeploymentId sets the DeploymentId field's value. func (s *EffectiveDeployment) SetDeploymentId(v string) *EffectiveDeployment { s.DeploymentId = &v return s } // SetDeploymentName sets the DeploymentName field's value. func (s *EffectiveDeployment) SetDeploymentName(v string) *EffectiveDeployment { s.DeploymentName = &v return s } // SetDescription sets the Description field's value. func (s *EffectiveDeployment) SetDescription(v string) *EffectiveDeployment { s.Description = &v return s } // SetIotJobArn sets the IotJobArn field's value. func (s *EffectiveDeployment) SetIotJobArn(v string) *EffectiveDeployment { s.IotJobArn = &v return s } // SetIotJobId sets the IotJobId field's value. func (s *EffectiveDeployment) SetIotJobId(v string) *EffectiveDeployment { s.IotJobId = &v return s } // SetModifiedTimestamp sets the ModifiedTimestamp field's value. func (s *EffectiveDeployment) SetModifiedTimestamp(v time.Time) *EffectiveDeployment { s.ModifiedTimestamp = &v return s } // SetReason sets the Reason field's value. func (s *EffectiveDeployment) SetReason(v string) *EffectiveDeployment { s.Reason = &v return s } // SetStatusDetails sets the StatusDetails field's value. func (s *EffectiveDeployment) SetStatusDetails(v *EffectiveDeploymentStatusDetails) *EffectiveDeployment { s.StatusDetails = v return s } // SetTargetArn sets the TargetArn field's value. func (s *EffectiveDeployment) SetTargetArn(v string) *EffectiveDeployment { s.TargetArn = &v return s } // Contains all error-related information for the deployment record. The status // details will be null if the deployment is in a success state. // // Greengrass nucleus v2.8.0 or later is required to get an accurate errorStack // and errorTypes response. This field will not be returned for earlier Greengrass // nucleus versions. type EffectiveDeploymentStatusDetails struct { _ struct{} `type:"structure"` // Contains an ordered list of short error codes that range from the most generic // error to the most specific one. The error codes describe the reason for failure // whenever the coreDeviceExecutionStatus is in a failed state. The response // will be an empty list if there is no error. ErrorStack []*string `locationName:"errorStack" type:"list"` // Contains tags which describe the error. You can use the error types to classify // errors to assist with remediating the failure. The response will be an empty // list if there is no error. ErrorTypes []*string `locationName:"errorTypes" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EffectiveDeploymentStatusDetails) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s EffectiveDeploymentStatusDetails) GoString() string { return s.String() } // SetErrorStack sets the ErrorStack field's value. func (s *EffectiveDeploymentStatusDetails) SetErrorStack(v []*string) *EffectiveDeploymentStatusDetails { s.ErrorStack = v return s } // SetErrorTypes sets the ErrorTypes field's value. func (s *EffectiveDeploymentStatusDetails) SetErrorTypes(v []*string) *EffectiveDeploymentStatusDetails { s.ErrorTypes = v return s } type GetComponentInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component version. // // Arn is a required field Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` // The format of the recipe. RecipeOutputFormat *string `location:"querystring" locationName:"recipeOutputFormat" type:"string" enum:"RecipeOutputFormat"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComponentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComponentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetComponentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetComponentInput"} if s.Arn == nil { invalidParams.Add(request.NewErrParamRequired("Arn")) } if s.Arn != nil && len(*s.Arn) < 1 { invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetArn sets the Arn field's value. func (s *GetComponentInput) SetArn(v string) *GetComponentInput { s.Arn = &v return s } // SetRecipeOutputFormat sets the RecipeOutputFormat field's value. func (s *GetComponentInput) SetRecipeOutputFormat(v string) *GetComponentInput { s.RecipeOutputFormat = &v return s } type GetComponentOutput struct { _ struct{} `type:"structure"` // The recipe of the component version. // Recipe is automatically base64 encoded/decoded by the SDK. // // Recipe is a required field Recipe []byte `locationName:"recipe" type:"blob" required:"true"` // The format of the recipe. // // RecipeOutputFormat is a required field RecipeOutputFormat *string `locationName:"recipeOutputFormat" type:"string" required:"true" enum:"RecipeOutputFormat"` // A list of key-value pairs that contain metadata for the resource. For more // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) // in the IoT Greengrass V2 Developer Guide. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComponentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComponentOutput) GoString() string { return s.String() } // SetRecipe sets the Recipe field's value. func (s *GetComponentOutput) SetRecipe(v []byte) *GetComponentOutput { s.Recipe = v return s } // SetRecipeOutputFormat sets the RecipeOutputFormat field's value. func (s *GetComponentOutput) SetRecipeOutputFormat(v string) *GetComponentOutput { s.RecipeOutputFormat = &v return s } // SetTags sets the Tags field's value. func (s *GetComponentOutput) SetTags(v map[string]*string) *GetComponentOutput { s.Tags = v return s } type GetComponentVersionArtifactInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component version. Specify the ARN of a public or a Lambda component // version. // // Arn is a required field Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` // The name of the artifact. // // You can use the GetComponent (https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetComponent.html) // operation to download the component recipe, which includes the URI of the // artifact. The artifact name is the section of the URI after the scheme. For // example, in the artifact URI greengrass:SomeArtifact.zip, the artifact name // is SomeArtifact.zip. // // ArtifactName is a required field ArtifactName *string `location:"uri" locationName:"artifactName" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComponentVersionArtifactInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComponentVersionArtifactInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetComponentVersionArtifactInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetComponentVersionArtifactInput"} if s.Arn == nil { invalidParams.Add(request.NewErrParamRequired("Arn")) } if s.Arn != nil && len(*s.Arn) < 1 { invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if s.ArtifactName == nil { invalidParams.Add(request.NewErrParamRequired("ArtifactName")) } if s.ArtifactName != nil && len(*s.ArtifactName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ArtifactName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetArn sets the Arn field's value. func (s *GetComponentVersionArtifactInput) SetArn(v string) *GetComponentVersionArtifactInput { s.Arn = &v return s } // SetArtifactName sets the ArtifactName field's value. func (s *GetComponentVersionArtifactInput) SetArtifactName(v string) *GetComponentVersionArtifactInput { s.ArtifactName = &v return s } type GetComponentVersionArtifactOutput struct { _ struct{} `type:"structure"` // The URL of the artifact. // // PreSignedUrl is a required field PreSignedUrl *string `locationName:"preSignedUrl" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComponentVersionArtifactOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetComponentVersionArtifactOutput) GoString() string { return s.String() } // SetPreSignedUrl sets the PreSignedUrl field's value. func (s *GetComponentVersionArtifactOutput) SetPreSignedUrl(v string) *GetComponentVersionArtifactOutput { s.PreSignedUrl = &v return s } type GetConnectivityInfoInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the core device. This is also the name of the IoT thing. // // ThingName is a required field ThingName *string `location:"uri" locationName:"thingName" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetConnectivityInfoInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetConnectivityInfoInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetConnectivityInfoInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetConnectivityInfoInput"} if s.ThingName == nil { invalidParams.Add(request.NewErrParamRequired("ThingName")) } if s.ThingName != nil && len(*s.ThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetThingName sets the ThingName field's value. func (s *GetConnectivityInfoInput) SetThingName(v string) *GetConnectivityInfoInput { s.ThingName = &v return s } type GetConnectivityInfoOutput struct { _ struct{} `type:"structure"` // The connectivity information for the core device. ConnectivityInfo []*ConnectivityInfo `locationName:"ConnectivityInfo" type:"list"` // A message about the connectivity information request. Message *string `locationName:"Message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetConnectivityInfoOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetConnectivityInfoOutput) GoString() string { return s.String() } // SetConnectivityInfo sets the ConnectivityInfo field's value. func (s *GetConnectivityInfoOutput) SetConnectivityInfo(v []*ConnectivityInfo) *GetConnectivityInfoOutput { s.ConnectivityInfo = v return s } // SetMessage sets the Message field's value. func (s *GetConnectivityInfoOutput) SetMessage(v string) *GetConnectivityInfoOutput { s.Message = &v return s } type GetCoreDeviceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the core device. This is also the name of the IoT thing. // // CoreDeviceThingName is a required field CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetCoreDeviceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetCoreDeviceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetCoreDeviceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetCoreDeviceInput"} if s.CoreDeviceThingName == nil { invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) } if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. func (s *GetCoreDeviceInput) SetCoreDeviceThingName(v string) *GetCoreDeviceInput { s.CoreDeviceThingName = &v return s } type GetCoreDeviceOutput struct { _ struct{} `type:"structure"` // The computer architecture of the core device. Architecture *string `locationName:"architecture" min:"1" type:"string"` // The name of the core device. This is also the name of the IoT thing. CoreDeviceThingName *string `locationName:"coreDeviceThingName" min:"1" type:"string"` // The version of the IoT Greengrass Core software that the core device runs. // This version is equivalent to the version of the Greengrass nucleus component // that runs on the core device. For more information, see the Greengrass nucleus // component (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html) // in the IoT Greengrass V2 Developer Guide. CoreVersion *string `locationName:"coreVersion" min:"1" type:"string"` // The time at which the core device's status last updated, expressed in ISO // 8601 format. LastStatusUpdateTimestamp *time.Time `locationName:"lastStatusUpdateTimestamp" type:"timestamp"` // The operating system platform that the core device runs. Platform *string `locationName:"platform" min:"1" type:"string"` // The status of the core device. The core device status can be: // // * HEALTHY – The IoT Greengrass Core software and all components run // on the core device without issue. // // * UNHEALTHY – The IoT Greengrass Core software or a component is in // a failed state on the core device. Status *string `locationName:"status" type:"string" enum:"CoreDeviceStatus"` // A list of key-value pairs that contain metadata for the resource. For more // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) // in the IoT Greengrass V2 Developer Guide. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetCoreDeviceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetCoreDeviceOutput) GoString() string { return s.String() } // SetArchitecture sets the Architecture field's value. func (s *GetCoreDeviceOutput) SetArchitecture(v string) *GetCoreDeviceOutput { s.Architecture = &v return s } // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. func (s *GetCoreDeviceOutput) SetCoreDeviceThingName(v string) *GetCoreDeviceOutput { s.CoreDeviceThingName = &v return s } // SetCoreVersion sets the CoreVersion field's value. func (s *GetCoreDeviceOutput) SetCoreVersion(v string) *GetCoreDeviceOutput { s.CoreVersion = &v return s } // SetLastStatusUpdateTimestamp sets the LastStatusUpdateTimestamp field's value. func (s *GetCoreDeviceOutput) SetLastStatusUpdateTimestamp(v time.Time) *GetCoreDeviceOutput { s.LastStatusUpdateTimestamp = &v return s } // SetPlatform sets the Platform field's value. func (s *GetCoreDeviceOutput) SetPlatform(v string) *GetCoreDeviceOutput { s.Platform = &v return s } // SetStatus sets the Status field's value. func (s *GetCoreDeviceOutput) SetStatus(v string) *GetCoreDeviceOutput { s.Status = &v return s } // SetTags sets the Tags field's value. func (s *GetCoreDeviceOutput) SetTags(v map[string]*string) *GetCoreDeviceOutput { s.Tags = v return s } type GetDeploymentInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ID of the deployment. // // DeploymentId is a required field DeploymentId *string `location:"uri" locationName:"deploymentId" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetDeploymentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetDeploymentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *GetDeploymentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"} if s.DeploymentId == nil { invalidParams.Add(request.NewErrParamRequired("DeploymentId")) } if s.DeploymentId != nil && len(*s.DeploymentId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DeploymentId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDeploymentId sets the DeploymentId field's value. func (s *GetDeploymentInput) SetDeploymentId(v string) *GetDeploymentInput { s.DeploymentId = &v return s } type GetDeploymentOutput struct { _ struct{} `type:"structure"` // The components to deploy. This is a dictionary, where each key is the name // of a component, and each key's value is the version and configuration to // deploy for that component. Components map[string]*ComponentDeploymentSpecification `locationName:"components" type:"map"` // The time at which the deployment was created, expressed in ISO 8601 format. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"` // The ID of the deployment. DeploymentId *string `locationName:"deploymentId" min:"1" type:"string"` // The name of the deployment. DeploymentName *string `locationName:"deploymentName" type:"string"` // The deployment policies for the deployment. These policies define how the // deployment updates components and handles failure. DeploymentPolicies *DeploymentPolicies `locationName:"deploymentPolicies" type:"structure"` // The status of the deployment. DeploymentStatus *string `locationName:"deploymentStatus" type:"string" enum:"DeploymentStatus"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the IoT job that applies the deployment to target devices. IotJobArn *string `locationName:"iotJobArn" type:"string"` // The job configuration for the deployment configuration. The job configuration // specifies the rollout, timeout, and stop configurations for the deployment // configuration. IotJobConfiguration *DeploymentIoTJobConfiguration `locationName:"iotJobConfiguration" type:"structure"` // The ID of the IoT job that applies the deployment to target devices. IotJobId *string `locationName:"iotJobId" type:"string"` // Whether or not the deployment is the latest revision for its target. IsLatestForTarget *bool `locationName:"isLatestForTarget" type:"boolean"` // The parent deployment's target ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // within a subdeployment. ParentTargetArn *string `locationName:"parentTargetArn" type:"string"` // The revision number of the deployment. RevisionId *string `locationName:"revisionId" min:"1" type:"string"` // A list of key-value pairs that contain metadata for the resource. For more // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) // in the IoT Greengrass V2 Developer Guide. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the target IoT thing or thing group. TargetArn *string `locationName:"targetArn" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetDeploymentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetDeploymentOutput) GoString() string { return s.String() } // SetComponents sets the Components field's value. func (s *GetDeploymentOutput) SetComponents(v map[string]*ComponentDeploymentSpecification) *GetDeploymentOutput { s.Components = v return s } // SetCreationTimestamp sets the CreationTimestamp field's value. func (s *GetDeploymentOutput) SetCreationTimestamp(v time.Time) *GetDeploymentOutput { s.CreationTimestamp = &v return s } // SetDeploymentId sets the DeploymentId field's value. func (s *GetDeploymentOutput) SetDeploymentId(v string) *GetDeploymentOutput { s.DeploymentId = &v return s } // SetDeploymentName sets the DeploymentName field's value. func (s *GetDeploymentOutput) SetDeploymentName(v string) *GetDeploymentOutput { s.DeploymentName = &v return s } // SetDeploymentPolicies sets the DeploymentPolicies field's value. func (s *GetDeploymentOutput) SetDeploymentPolicies(v *DeploymentPolicies) *GetDeploymentOutput { s.DeploymentPolicies = v return s } // SetDeploymentStatus sets the DeploymentStatus field's value. func (s *GetDeploymentOutput) SetDeploymentStatus(v string) *GetDeploymentOutput { s.DeploymentStatus = &v return s } // SetIotJobArn sets the IotJobArn field's value. func (s *GetDeploymentOutput) SetIotJobArn(v string) *GetDeploymentOutput { s.IotJobArn = &v return s } // SetIotJobConfiguration sets the IotJobConfiguration field's value. func (s *GetDeploymentOutput) SetIotJobConfiguration(v *DeploymentIoTJobConfiguration) *GetDeploymentOutput { s.IotJobConfiguration = v return s } // SetIotJobId sets the IotJobId field's value. func (s *GetDeploymentOutput) SetIotJobId(v string) *GetDeploymentOutput { s.IotJobId = &v return s } // SetIsLatestForTarget sets the IsLatestForTarget field's value. func (s *GetDeploymentOutput) SetIsLatestForTarget(v bool) *GetDeploymentOutput { s.IsLatestForTarget = &v return s } // SetParentTargetArn sets the ParentTargetArn field's value. func (s *GetDeploymentOutput) SetParentTargetArn(v string) *GetDeploymentOutput { s.ParentTargetArn = &v return s } // SetRevisionId sets the RevisionId field's value. func (s *GetDeploymentOutput) SetRevisionId(v string) *GetDeploymentOutput { s.RevisionId = &v return s } // SetTags sets the Tags field's value. func (s *GetDeploymentOutput) SetTags(v map[string]*string) *GetDeploymentOutput { s.Tags = v return s } // SetTargetArn sets the TargetArn field's value. func (s *GetDeploymentOutput) SetTargetArn(v string) *GetDeploymentOutput { s.TargetArn = &v return s } type GetServiceRoleForAccountInput struct { _ struct{} `type:"structure" nopayload:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetServiceRoleForAccountInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetServiceRoleForAccountInput) GoString() string { return s.String() } type GetServiceRoleForAccountOutput struct { _ struct{} `type:"structure"` // The time when the service role was associated with IoT Greengrass for your // Amazon Web Services account in this Amazon Web Services Region. AssociatedAt *string `locationName:"AssociatedAt" type:"string"` // The ARN of the service role that is associated with IoT Greengrass for your // Amazon Web Services account in this Amazon Web Services Region. RoleArn *string `locationName:"RoleArn" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetServiceRoleForAccountOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s GetServiceRoleForAccountOutput) GoString() string { return s.String() } // SetAssociatedAt sets the AssociatedAt field's value. func (s *GetServiceRoleForAccountOutput) SetAssociatedAt(v string) *GetServiceRoleForAccountOutput { s.AssociatedAt = &v return s } // SetRoleArn sets the RoleArn field's value. func (s *GetServiceRoleForAccountOutput) SetRoleArn(v string) *GetServiceRoleForAccountOutput { s.RoleArn = &v return s } // Contains information about a component on a Greengrass core device. type InstalledComponent struct { _ struct{} `type:"structure"` // The name of the component. ComponentName *string `locationName:"componentName" min:"1" type:"string"` // The version of the component. ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` // Whether or not the component is a root component. IsRoot *bool `locationName:"isRoot" type:"boolean"` // The most recent deployment source that brought the component to the Greengrass // core device. For a thing group deployment or thing deployment, the source // will be the The ID of the deployment. and for local deployments it will be // LOCAL. // // Any deployment will attempt to reinstall currently broken components on the // device, which will update the last installation source. LastInstallationSource *string `locationName:"lastInstallationSource" min:"1" type:"string"` // The last time the Greengrass core device sent a message containing a component's // state to the Amazon Web Services Cloud. // // A component does not need to see a state change for this field to update. LastReportedTimestamp *time.Time `locationName:"lastReportedTimestamp" type:"timestamp"` // The status of how current the data is. // // This response is based off of component state changes. The status reflects // component disruptions and deployments. If a component only sees a configuration // update during a deployment, it might not undergo a state change and this // status would not be updated. LastStatusChangeTimestamp *time.Time `locationName:"lastStatusChangeTimestamp" type:"timestamp"` // The lifecycle state of the component. LifecycleState *string `locationName:"lifecycleState" type:"string" enum:"InstalledComponentLifecycleState"` // A detailed response about the lifecycle state of the component that explains // the reason why a component has an error or is broken. LifecycleStateDetails *string `locationName:"lifecycleStateDetails" min:"1" type:"string"` // The status codes that indicate the reason for failure whenever the lifecycleState // has an error or is in a broken state. // // Greengrass nucleus v2.8.0 or later is required to get an accurate lifecycleStatusCodes // response. This response can be inaccurate in earlier Greengrass nucleus versions. LifecycleStatusCodes []*string `locationName:"lifecycleStatusCodes" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InstalledComponent) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InstalledComponent) GoString() string { return s.String() } // SetComponentName sets the ComponentName field's value. func (s *InstalledComponent) SetComponentName(v string) *InstalledComponent { s.ComponentName = &v return s } // SetComponentVersion sets the ComponentVersion field's value. func (s *InstalledComponent) SetComponentVersion(v string) *InstalledComponent { s.ComponentVersion = &v return s } // SetIsRoot sets the IsRoot field's value. func (s *InstalledComponent) SetIsRoot(v bool) *InstalledComponent { s.IsRoot = &v return s } // SetLastInstallationSource sets the LastInstallationSource field's value. func (s *InstalledComponent) SetLastInstallationSource(v string) *InstalledComponent { s.LastInstallationSource = &v return s } // SetLastReportedTimestamp sets the LastReportedTimestamp field's value. func (s *InstalledComponent) SetLastReportedTimestamp(v time.Time) *InstalledComponent { s.LastReportedTimestamp = &v return s } // SetLastStatusChangeTimestamp sets the LastStatusChangeTimestamp field's value. func (s *InstalledComponent) SetLastStatusChangeTimestamp(v time.Time) *InstalledComponent { s.LastStatusChangeTimestamp = &v return s } // SetLifecycleState sets the LifecycleState field's value. func (s *InstalledComponent) SetLifecycleState(v string) *InstalledComponent { s.LifecycleState = &v return s } // SetLifecycleStateDetails sets the LifecycleStateDetails field's value. func (s *InstalledComponent) SetLifecycleStateDetails(v string) *InstalledComponent { s.LifecycleStateDetails = &v return s } // SetLifecycleStatusCodes sets the LifecycleStatusCodes field's value. func (s *InstalledComponent) SetLifecycleStatusCodes(v []*string) *InstalledComponent { s.LifecycleStatusCodes = v return s } // IoT Greengrass can't process your request right now. Try again later. type InternalServerException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` // The amount of time to wait before you retry the request. RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InternalServerException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s InternalServerException) GoString() string { return s.String() } func newErrorInternalServerException(v protocol.ResponseMetadata) error { return &InternalServerException{ RespMetadata: v, } } // Code returns the exception type name. func (s *InternalServerException) Code() string { return "InternalServerException" } // Message returns the exception's message. func (s *InternalServerException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *InternalServerException) OrigErr() error { return nil } func (s *InternalServerException) Error() string { return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. func (s *InternalServerException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *InternalServerException) RequestID() string { return s.RespMetadata.RequestID } // Contains a list of criteria that define when and how to cancel a configuration // deployment. type IoTJobAbortConfig struct { _ struct{} `type:"structure"` // The list of criteria that define when and how to cancel the configuration // deployment. // // CriteriaList is a required field CriteriaList []*IoTJobAbortCriteria `locationName:"criteriaList" min:"1" type:"list" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobAbortConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobAbortConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *IoTJobAbortConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "IoTJobAbortConfig"} if s.CriteriaList == nil { invalidParams.Add(request.NewErrParamRequired("CriteriaList")) } if s.CriteriaList != nil && len(s.CriteriaList) < 1 { invalidParams.Add(request.NewErrParamMinLen("CriteriaList", 1)) } if s.CriteriaList != nil { for i, v := range s.CriteriaList { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CriteriaList", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCriteriaList sets the CriteriaList field's value. func (s *IoTJobAbortConfig) SetCriteriaList(v []*IoTJobAbortCriteria) *IoTJobAbortConfig { s.CriteriaList = v return s } // Contains criteria that define when and how to cancel a job. // // The deployment stops if the following conditions are true: // // The number of things that receive the deployment exceeds the minNumberOfExecutedThings. // // The percentage of failures with type failureType exceeds the thresholdPercentage. type IoTJobAbortCriteria struct { _ struct{} `type:"structure"` // The action to perform when the criteria are met. // // Action is a required field Action *string `locationName:"action" type:"string" required:"true" enum:"IoTJobAbortAction"` // The type of job deployment failure that can cancel a job. // // FailureType is a required field FailureType *string `locationName:"failureType" type:"string" required:"true" enum:"IoTJobExecutionFailureType"` // The minimum number of things that receive the configuration before the job // can cancel. // // MinNumberOfExecutedThings is a required field MinNumberOfExecutedThings *int64 `locationName:"minNumberOfExecutedThings" min:"1" type:"integer" required:"true"` // The minimum percentage of failureType failures that occur before the job // can cancel. // // This parameter supports up to two digits after the decimal (for example, // you can specify 10.9 or 10.99, but not 10.999). // // ThresholdPercentage is a required field ThresholdPercentage *float64 `locationName:"thresholdPercentage" type:"double" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobAbortCriteria) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobAbortCriteria) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *IoTJobAbortCriteria) Validate() error { invalidParams := request.ErrInvalidParams{Context: "IoTJobAbortCriteria"} if s.Action == nil { invalidParams.Add(request.NewErrParamRequired("Action")) } if s.FailureType == nil { invalidParams.Add(request.NewErrParamRequired("FailureType")) } if s.MinNumberOfExecutedThings == nil { invalidParams.Add(request.NewErrParamRequired("MinNumberOfExecutedThings")) } if s.MinNumberOfExecutedThings != nil && *s.MinNumberOfExecutedThings < 1 { invalidParams.Add(request.NewErrParamMinValue("MinNumberOfExecutedThings", 1)) } if s.ThresholdPercentage == nil { invalidParams.Add(request.NewErrParamRequired("ThresholdPercentage")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAction sets the Action field's value. func (s *IoTJobAbortCriteria) SetAction(v string) *IoTJobAbortCriteria { s.Action = &v return s } // SetFailureType sets the FailureType field's value. func (s *IoTJobAbortCriteria) SetFailureType(v string) *IoTJobAbortCriteria { s.FailureType = &v return s } // SetMinNumberOfExecutedThings sets the MinNumberOfExecutedThings field's value. func (s *IoTJobAbortCriteria) SetMinNumberOfExecutedThings(v int64) *IoTJobAbortCriteria { s.MinNumberOfExecutedThings = &v return s } // SetThresholdPercentage sets the ThresholdPercentage field's value. func (s *IoTJobAbortCriteria) SetThresholdPercentage(v float64) *IoTJobAbortCriteria { s.ThresholdPercentage = &v return s } // Contains information about the rollout configuration for a job. This configuration // defines the rate at which the job deploys a configuration to a fleet of target // devices. type IoTJobExecutionsRolloutConfig struct { _ struct{} `type:"structure"` // The exponential rate to increase the job rollout rate. ExponentialRate *IoTJobExponentialRolloutRate `locationName:"exponentialRate" type:"structure"` // The maximum number of devices that receive a pending job notification, per // minute. MaximumPerMinute *int64 `locationName:"maximumPerMinute" min:"1" type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobExecutionsRolloutConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobExecutionsRolloutConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *IoTJobExecutionsRolloutConfig) Validate() error { invalidParams := request.ErrInvalidParams{Context: "IoTJobExecutionsRolloutConfig"} if s.MaximumPerMinute != nil && *s.MaximumPerMinute < 1 { invalidParams.Add(request.NewErrParamMinValue("MaximumPerMinute", 1)) } if s.ExponentialRate != nil { if err := s.ExponentialRate.Validate(); err != nil { invalidParams.AddNested("ExponentialRate", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetExponentialRate sets the ExponentialRate field's value. func (s *IoTJobExecutionsRolloutConfig) SetExponentialRate(v *IoTJobExponentialRolloutRate) *IoTJobExecutionsRolloutConfig { s.ExponentialRate = v return s } // SetMaximumPerMinute sets the MaximumPerMinute field's value. func (s *IoTJobExecutionsRolloutConfig) SetMaximumPerMinute(v int64) *IoTJobExecutionsRolloutConfig { s.MaximumPerMinute = &v return s } // Contains information about an exponential rollout rate for a configuration // deployment job. type IoTJobExponentialRolloutRate struct { _ struct{} `type:"structure"` // The minimum number of devices that receive a pending job notification, per // minute, when the job starts. This parameter defines the initial rollout rate // of the job. // // BaseRatePerMinute is a required field BaseRatePerMinute *int64 `locationName:"baseRatePerMinute" min:"1" type:"integer" required:"true"` // The exponential factor to increase the rollout rate for the job. // // This parameter supports up to one digit after the decimal (for example, you // can specify 1.5, but not 1.55). // // IncrementFactor is a required field IncrementFactor *float64 `locationName:"incrementFactor" min:"1" type:"double" required:"true"` // The criteria to increase the rollout rate for the job. // // RateIncreaseCriteria is a required field RateIncreaseCriteria *IoTJobRateIncreaseCriteria `locationName:"rateIncreaseCriteria" type:"structure" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobExponentialRolloutRate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobExponentialRolloutRate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *IoTJobExponentialRolloutRate) Validate() error { invalidParams := request.ErrInvalidParams{Context: "IoTJobExponentialRolloutRate"} if s.BaseRatePerMinute == nil { invalidParams.Add(request.NewErrParamRequired("BaseRatePerMinute")) } if s.BaseRatePerMinute != nil && *s.BaseRatePerMinute < 1 { invalidParams.Add(request.NewErrParamMinValue("BaseRatePerMinute", 1)) } if s.IncrementFactor == nil { invalidParams.Add(request.NewErrParamRequired("IncrementFactor")) } if s.IncrementFactor != nil && *s.IncrementFactor < 1 { invalidParams.Add(request.NewErrParamMinValue("IncrementFactor", 1)) } if s.RateIncreaseCriteria == nil { invalidParams.Add(request.NewErrParamRequired("RateIncreaseCriteria")) } if s.RateIncreaseCriteria != nil { if err := s.RateIncreaseCriteria.Validate(); err != nil { invalidParams.AddNested("RateIncreaseCriteria", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetBaseRatePerMinute sets the BaseRatePerMinute field's value. func (s *IoTJobExponentialRolloutRate) SetBaseRatePerMinute(v int64) *IoTJobExponentialRolloutRate { s.BaseRatePerMinute = &v return s } // SetIncrementFactor sets the IncrementFactor field's value. func (s *IoTJobExponentialRolloutRate) SetIncrementFactor(v float64) *IoTJobExponentialRolloutRate { s.IncrementFactor = &v return s } // SetRateIncreaseCriteria sets the RateIncreaseCriteria field's value. func (s *IoTJobExponentialRolloutRate) SetRateIncreaseCriteria(v *IoTJobRateIncreaseCriteria) *IoTJobExponentialRolloutRate { s.RateIncreaseCriteria = v return s } // Contains information about criteria to meet before a job increases its rollout // rate. Specify either numberOfNotifiedThings or numberOfSucceededThings. type IoTJobRateIncreaseCriteria struct { _ struct{} `type:"structure"` // The number of devices to receive the job notification before the rollout // rate increases. NumberOfNotifiedThings *int64 `locationName:"numberOfNotifiedThings" min:"1" type:"integer"` // The number of devices to successfully run the configuration job before the // rollout rate increases. NumberOfSucceededThings *int64 `locationName:"numberOfSucceededThings" min:"1" type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobRateIncreaseCriteria) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobRateIncreaseCriteria) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *IoTJobRateIncreaseCriteria) Validate() error { invalidParams := request.ErrInvalidParams{Context: "IoTJobRateIncreaseCriteria"} if s.NumberOfNotifiedThings != nil && *s.NumberOfNotifiedThings < 1 { invalidParams.Add(request.NewErrParamMinValue("NumberOfNotifiedThings", 1)) } if s.NumberOfSucceededThings != nil && *s.NumberOfSucceededThings < 1 { invalidParams.Add(request.NewErrParamMinValue("NumberOfSucceededThings", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetNumberOfNotifiedThings sets the NumberOfNotifiedThings field's value. func (s *IoTJobRateIncreaseCriteria) SetNumberOfNotifiedThings(v int64) *IoTJobRateIncreaseCriteria { s.NumberOfNotifiedThings = &v return s } // SetNumberOfSucceededThings sets the NumberOfSucceededThings field's value. func (s *IoTJobRateIncreaseCriteria) SetNumberOfSucceededThings(v int64) *IoTJobRateIncreaseCriteria { s.NumberOfSucceededThings = &v return s } // Contains information about the timeout configuration for a job. type IoTJobTimeoutConfig struct { _ struct{} `type:"structure"` // The amount of time, in minutes, that devices have to complete the job. The // timer starts when the job status is set to IN_PROGRESS. If the job status // doesn't change to a terminal state before the time expires, then the job // status is set to TIMED_OUT. // // The timeout interval must be between 1 minute and 7 days (10080 minutes). InProgressTimeoutInMinutes *int64 `locationName:"inProgressTimeoutInMinutes" type:"long"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobTimeoutConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s IoTJobTimeoutConfig) GoString() string { return s.String() } // SetInProgressTimeoutInMinutes sets the InProgressTimeoutInMinutes field's value. func (s *IoTJobTimeoutConfig) SetInProgressTimeoutInMinutes(v int64) *IoTJobTimeoutConfig { s.InProgressTimeoutInMinutes = &v return s } // Contains information about a container in which Lambda functions run on Greengrass // core devices. type LambdaContainerParams struct { _ struct{} `type:"structure"` // The list of system devices that the container can access. Devices []*LambdaDeviceMount `locationName:"devices" type:"list"` // The memory size of the container, expressed in kilobytes. // // Default: 16384 (16 MB) MemorySizeInKB *int64 `locationName:"memorySizeInKB" type:"integer"` // Whether or not the container can read information from the device's /sys // folder. // // Default: false MountROSysfs *bool `locationName:"mountROSysfs" type:"boolean"` // The list of volumes that the container can access. Volumes []*LambdaVolumeMount `locationName:"volumes" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaContainerParams) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaContainerParams) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LambdaContainerParams) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LambdaContainerParams"} if s.Devices != nil { for i, v := range s.Devices { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) } } } if s.Volumes != nil { for i, v := range s.Volumes { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetDevices sets the Devices field's value. func (s *LambdaContainerParams) SetDevices(v []*LambdaDeviceMount) *LambdaContainerParams { s.Devices = v return s } // SetMemorySizeInKB sets the MemorySizeInKB field's value. func (s *LambdaContainerParams) SetMemorySizeInKB(v int64) *LambdaContainerParams { s.MemorySizeInKB = &v return s } // SetMountROSysfs sets the MountROSysfs field's value. func (s *LambdaContainerParams) SetMountROSysfs(v bool) *LambdaContainerParams { s.MountROSysfs = &v return s } // SetVolumes sets the Volumes field's value. func (s *LambdaContainerParams) SetVolumes(v []*LambdaVolumeMount) *LambdaContainerParams { s.Volumes = v return s } // Contains information about a device that Linux processes in a container can // access. type LambdaDeviceMount struct { _ struct{} `type:"structure"` // Whether or not to add the component's system user as an owner of the device. // // Default: false AddGroupOwner *bool `locationName:"addGroupOwner" type:"boolean"` // The mount path for the device in the file system. // // Path is a required field Path *string `locationName:"path" type:"string" required:"true"` // The permission to access the device: read/only (ro) or read/write (rw). // // Default: ro Permission *string `locationName:"permission" type:"string" enum:"LambdaFilesystemPermission"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaDeviceMount) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaDeviceMount) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LambdaDeviceMount) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LambdaDeviceMount"} if s.Path == nil { invalidParams.Add(request.NewErrParamRequired("Path")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAddGroupOwner sets the AddGroupOwner field's value. func (s *LambdaDeviceMount) SetAddGroupOwner(v bool) *LambdaDeviceMount { s.AddGroupOwner = &v return s } // SetPath sets the Path field's value. func (s *LambdaDeviceMount) SetPath(v string) *LambdaDeviceMount { s.Path = &v return s } // SetPermission sets the Permission field's value. func (s *LambdaDeviceMount) SetPermission(v string) *LambdaDeviceMount { s.Permission = &v return s } // Contains information about an event source for an Lambda function. The event // source defines the topics on which this Lambda function subscribes to receive // messages that run the function. type LambdaEventSource struct { _ struct{} `type:"structure"` // The topic to which to subscribe to receive event messages. // // Topic is a required field Topic *string `locationName:"topic" type:"string" required:"true"` // The type of event source. Choose from the following options: // // * PUB_SUB – Subscribe to local publish/subscribe messages. This event // source type doesn't support MQTT wildcards (+ and #) in the event source // topic. // // * IOT_CORE – Subscribe to Amazon Web Services IoT Core MQTT messages. // This event source type supports MQTT wildcards (+ and #) in the event // source topic. // // Type is a required field Type *string `locationName:"type" type:"string" required:"true" enum:"LambdaEventSourceType"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaEventSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaEventSource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LambdaEventSource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LambdaEventSource"} if s.Topic == nil { invalidParams.Add(request.NewErrParamRequired("Topic")) } if s.Type == nil { invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetTopic sets the Topic field's value. func (s *LambdaEventSource) SetTopic(v string) *LambdaEventSource { s.Topic = &v return s } // SetType sets the Type field's value. func (s *LambdaEventSource) SetType(v string) *LambdaEventSource { s.Type = &v return s } // Contains parameters for a Lambda function that runs on IoT Greengrass. type LambdaExecutionParameters struct { _ struct{} `type:"structure"` // The map of environment variables that are available to the Lambda function // when it runs. EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"` // The list of event sources to which to subscribe to receive work messages. // The Lambda function runs when it receives a message from an event source. // You can subscribe this function to local publish/subscribe messages and Amazon // Web Services IoT Core MQTT messages. EventSources []*LambdaEventSource `locationName:"eventSources" type:"list"` // The list of arguments to pass to the Lambda function when it runs. ExecArgs []*string `locationName:"execArgs" type:"list"` // The encoding type that the Lambda function supports. // // Default: json InputPayloadEncodingType *string `locationName:"inputPayloadEncodingType" type:"string" enum:"LambdaInputPayloadEncodingType"` // The parameters for the Linux process that contains the Lambda function. LinuxProcessParams *LambdaLinuxProcessParams `locationName:"linuxProcessParams" type:"structure"` // The maximum amount of time in seconds that a non-pinned Lambda function can // idle before the IoT Greengrass Core software stops its process. MaxIdleTimeInSeconds *int64 `locationName:"maxIdleTimeInSeconds" type:"integer"` // The maximum number of instances that a non-pinned Lambda function can run // at the same time. MaxInstancesCount *int64 `locationName:"maxInstancesCount" type:"integer"` // The maximum size of the message queue for the Lambda function component. // The IoT Greengrass core stores messages in a FIFO (first-in-first-out) queue // until it can run the Lambda function to consume each message. MaxQueueSize *int64 `locationName:"maxQueueSize" type:"integer"` // Whether or not the Lambda function is pinned, or long-lived. // // * A pinned Lambda function starts when IoT Greengrass starts and keeps // running in its own container. // // * A non-pinned Lambda function starts only when it receives a work item // and exists after it idles for maxIdleTimeInSeconds. If the function has // multiple work items, the IoT Greengrass Core software creates multiple // instances of the function. // // Default: true Pinned *bool `locationName:"pinned" type:"boolean"` // The interval in seconds at which a pinned (also known as long-lived) Lambda // function component sends status updates to the Lambda manager component. StatusTimeoutInSeconds *int64 `locationName:"statusTimeoutInSeconds" type:"integer"` // The maximum amount of time in seconds that the Lambda function can process // a work item. TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"integer"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaExecutionParameters) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaExecutionParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LambdaExecutionParameters) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LambdaExecutionParameters"} if s.EventSources != nil { for i, v := range s.EventSources { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EventSources", i), err.(request.ErrInvalidParams)) } } } if s.LinuxProcessParams != nil { if err := s.LinuxProcessParams.Validate(); err != nil { invalidParams.AddNested("LinuxProcessParams", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetEnvironmentVariables sets the EnvironmentVariables field's value. func (s *LambdaExecutionParameters) SetEnvironmentVariables(v map[string]*string) *LambdaExecutionParameters { s.EnvironmentVariables = v return s } // SetEventSources sets the EventSources field's value. func (s *LambdaExecutionParameters) SetEventSources(v []*LambdaEventSource) *LambdaExecutionParameters { s.EventSources = v return s } // SetExecArgs sets the ExecArgs field's value. func (s *LambdaExecutionParameters) SetExecArgs(v []*string) *LambdaExecutionParameters { s.ExecArgs = v return s } // SetInputPayloadEncodingType sets the InputPayloadEncodingType field's value. func (s *LambdaExecutionParameters) SetInputPayloadEncodingType(v string) *LambdaExecutionParameters { s.InputPayloadEncodingType = &v return s } // SetLinuxProcessParams sets the LinuxProcessParams field's value. func (s *LambdaExecutionParameters) SetLinuxProcessParams(v *LambdaLinuxProcessParams) *LambdaExecutionParameters { s.LinuxProcessParams = v return s } // SetMaxIdleTimeInSeconds sets the MaxIdleTimeInSeconds field's value. func (s *LambdaExecutionParameters) SetMaxIdleTimeInSeconds(v int64) *LambdaExecutionParameters { s.MaxIdleTimeInSeconds = &v return s } // SetMaxInstancesCount sets the MaxInstancesCount field's value. func (s *LambdaExecutionParameters) SetMaxInstancesCount(v int64) *LambdaExecutionParameters { s.MaxInstancesCount = &v return s } // SetMaxQueueSize sets the MaxQueueSize field's value. func (s *LambdaExecutionParameters) SetMaxQueueSize(v int64) *LambdaExecutionParameters { s.MaxQueueSize = &v return s } // SetPinned sets the Pinned field's value. func (s *LambdaExecutionParameters) SetPinned(v bool) *LambdaExecutionParameters { s.Pinned = &v return s } // SetStatusTimeoutInSeconds sets the StatusTimeoutInSeconds field's value. func (s *LambdaExecutionParameters) SetStatusTimeoutInSeconds(v int64) *LambdaExecutionParameters { s.StatusTimeoutInSeconds = &v return s } // SetTimeoutInSeconds sets the TimeoutInSeconds field's value. func (s *LambdaExecutionParameters) SetTimeoutInSeconds(v int64) *LambdaExecutionParameters { s.TimeoutInSeconds = &v return s } // Contains information about an Lambda function to import to create a component. type LambdaFunctionRecipeSource struct { _ struct{} `type:"structure"` // The component versions on which this Lambda function component depends. ComponentDependencies map[string]*ComponentDependencyRequirement `locationName:"componentDependencies" type:"map"` // The system and runtime parameters for the Lambda function as it runs on the // Greengrass core device. ComponentLambdaParameters *LambdaExecutionParameters `locationName:"componentLambdaParameters" type:"structure"` // The name of the component. // // Defaults to the name of the Lambda function. ComponentName *string `locationName:"componentName" min:"1" type:"string"` // The platforms that the component version supports. ComponentPlatforms []*ComponentPlatform `locationName:"componentPlatforms" type:"list"` // The version of the component. // // Defaults to the version of the Lambda function as a semantic version. For // example, if your function version is 3, the component version becomes 3.0.0. ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the Lambda function. The ARN must include the version of the function // to import. You can't use version aliases like $LATEST. // // LambdaArn is a required field LambdaArn *string `locationName:"lambdaArn" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaFunctionRecipeSource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaFunctionRecipeSource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LambdaFunctionRecipeSource) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionRecipeSource"} if s.ComponentName != nil && len(*s.ComponentName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) } if s.ComponentVersion != nil && len(*s.ComponentVersion) < 1 { invalidParams.Add(request.NewErrParamMinLen("ComponentVersion", 1)) } if s.LambdaArn == nil { invalidParams.Add(request.NewErrParamRequired("LambdaArn")) } if s.LambdaArn != nil && len(*s.LambdaArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("LambdaArn", 1)) } if s.ComponentDependencies != nil { for i, v := range s.ComponentDependencies { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentDependencies", i), err.(request.ErrInvalidParams)) } } } if s.ComponentLambdaParameters != nil { if err := s.ComponentLambdaParameters.Validate(); err != nil { invalidParams.AddNested("ComponentLambdaParameters", err.(request.ErrInvalidParams)) } } if s.ComponentPlatforms != nil { for i, v := range s.ComponentPlatforms { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentPlatforms", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetComponentDependencies sets the ComponentDependencies field's value. func (s *LambdaFunctionRecipeSource) SetComponentDependencies(v map[string]*ComponentDependencyRequirement) *LambdaFunctionRecipeSource { s.ComponentDependencies = v return s } // SetComponentLambdaParameters sets the ComponentLambdaParameters field's value. func (s *LambdaFunctionRecipeSource) SetComponentLambdaParameters(v *LambdaExecutionParameters) *LambdaFunctionRecipeSource { s.ComponentLambdaParameters = v return s } // SetComponentName sets the ComponentName field's value. func (s *LambdaFunctionRecipeSource) SetComponentName(v string) *LambdaFunctionRecipeSource { s.ComponentName = &v return s } // SetComponentPlatforms sets the ComponentPlatforms field's value. func (s *LambdaFunctionRecipeSource) SetComponentPlatforms(v []*ComponentPlatform) *LambdaFunctionRecipeSource { s.ComponentPlatforms = v return s } // SetComponentVersion sets the ComponentVersion field's value. func (s *LambdaFunctionRecipeSource) SetComponentVersion(v string) *LambdaFunctionRecipeSource { s.ComponentVersion = &v return s } // SetLambdaArn sets the LambdaArn field's value. func (s *LambdaFunctionRecipeSource) SetLambdaArn(v string) *LambdaFunctionRecipeSource { s.LambdaArn = &v return s } // Contains parameters for a Linux process that contains an Lambda function. type LambdaLinuxProcessParams struct { _ struct{} `type:"structure"` // The parameters for the container in which the Lambda function runs. ContainerParams *LambdaContainerParams `locationName:"containerParams" type:"structure"` // The isolation mode for the process that contains the Lambda function. The // process can run in an isolated runtime environment inside the IoT Greengrass // container, or as a regular process outside any container. // // Default: GreengrassContainer IsolationMode *string `locationName:"isolationMode" type:"string" enum:"LambdaIsolationMode"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaLinuxProcessParams) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaLinuxProcessParams) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LambdaLinuxProcessParams) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LambdaLinuxProcessParams"} if s.ContainerParams != nil { if err := s.ContainerParams.Validate(); err != nil { invalidParams.AddNested("ContainerParams", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetContainerParams sets the ContainerParams field's value. func (s *LambdaLinuxProcessParams) SetContainerParams(v *LambdaContainerParams) *LambdaLinuxProcessParams { s.ContainerParams = v return s } // SetIsolationMode sets the IsolationMode field's value. func (s *LambdaLinuxProcessParams) SetIsolationMode(v string) *LambdaLinuxProcessParams { s.IsolationMode = &v return s } // Contains information about a volume that Linux processes in a container can // access. When you define a volume, the IoT Greengrass Core software mounts // the source files to the destination inside the container. type LambdaVolumeMount struct { _ struct{} `type:"structure"` // Whether or not to add the IoT Greengrass user group as an owner of the volume. // // Default: false AddGroupOwner *bool `locationName:"addGroupOwner" type:"boolean"` // The path to the logical volume in the file system. // // DestinationPath is a required field DestinationPath *string `locationName:"destinationPath" type:"string" required:"true"` // The permission to access the volume: read/only (ro) or read/write (rw). // // Default: ro Permission *string `locationName:"permission" type:"string" enum:"LambdaFilesystemPermission"` // The path to the physical volume in the file system. // // SourcePath is a required field SourcePath *string `locationName:"sourcePath" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaVolumeMount) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s LambdaVolumeMount) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LambdaVolumeMount) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LambdaVolumeMount"} if s.DestinationPath == nil { invalidParams.Add(request.NewErrParamRequired("DestinationPath")) } if s.SourcePath == nil { invalidParams.Add(request.NewErrParamRequired("SourcePath")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetAddGroupOwner sets the AddGroupOwner field's value. func (s *LambdaVolumeMount) SetAddGroupOwner(v bool) *LambdaVolumeMount { s.AddGroupOwner = &v return s } // SetDestinationPath sets the DestinationPath field's value. func (s *LambdaVolumeMount) SetDestinationPath(v string) *LambdaVolumeMount { s.DestinationPath = &v return s } // SetPermission sets the Permission field's value. func (s *LambdaVolumeMount) SetPermission(v string) *LambdaVolumeMount { s.Permission = &v return s } // SetSourcePath sets the SourcePath field's value. func (s *LambdaVolumeMount) SetSourcePath(v string) *LambdaVolumeMount { s.SourcePath = &v return s } type ListClientDevicesAssociatedWithCoreDeviceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the core device. This is also the name of the IoT thing. // // CoreDeviceThingName is a required field CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` // The maximum number of results to be returned per paginated request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token to be used for the next set of paginated results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListClientDevicesAssociatedWithCoreDeviceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListClientDevicesAssociatedWithCoreDeviceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListClientDevicesAssociatedWithCoreDeviceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListClientDevicesAssociatedWithCoreDeviceInput"} if s.CoreDeviceThingName == nil { invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) } if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. func (s *ListClientDevicesAssociatedWithCoreDeviceInput) SetCoreDeviceThingName(v string) *ListClientDevicesAssociatedWithCoreDeviceInput { s.CoreDeviceThingName = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListClientDevicesAssociatedWithCoreDeviceInput) SetMaxResults(v int64) *ListClientDevicesAssociatedWithCoreDeviceInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListClientDevicesAssociatedWithCoreDeviceInput) SetNextToken(v string) *ListClientDevicesAssociatedWithCoreDeviceInput { s.NextToken = &v return s } type ListClientDevicesAssociatedWithCoreDeviceOutput struct { _ struct{} `type:"structure"` // A list that describes the client devices that are associated with the core // device. AssociatedClientDevices []*AssociatedClientDevice `locationName:"associatedClientDevices" min:"1" type:"list"` // The token for the next set of results, or null if there are no additional // results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListClientDevicesAssociatedWithCoreDeviceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListClientDevicesAssociatedWithCoreDeviceOutput) GoString() string { return s.String() } // SetAssociatedClientDevices sets the AssociatedClientDevices field's value. func (s *ListClientDevicesAssociatedWithCoreDeviceOutput) SetAssociatedClientDevices(v []*AssociatedClientDevice) *ListClientDevicesAssociatedWithCoreDeviceOutput { s.AssociatedClientDevices = v return s } // SetNextToken sets the NextToken field's value. func (s *ListClientDevicesAssociatedWithCoreDeviceOutput) SetNextToken(v string) *ListClientDevicesAssociatedWithCoreDeviceOutput { s.NextToken = &v return s } type ListComponentVersionsInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component. // // Arn is a required field Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` // The maximum number of results to be returned per paginated request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token to be used for the next set of paginated results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListComponentVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListComponentVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListComponentVersionsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListComponentVersionsInput"} if s.Arn == nil { invalidParams.Add(request.NewErrParamRequired("Arn")) } if s.Arn != nil && len(*s.Arn) < 1 { invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetArn sets the Arn field's value. func (s *ListComponentVersionsInput) SetArn(v string) *ListComponentVersionsInput { s.Arn = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListComponentVersionsInput) SetMaxResults(v int64) *ListComponentVersionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListComponentVersionsInput) SetNextToken(v string) *ListComponentVersionsInput { s.NextToken = &v return s } type ListComponentVersionsOutput struct { _ struct{} `type:"structure"` // A list of versions that exist for the component. ComponentVersions []*ComponentVersionListItem `locationName:"componentVersions" type:"list"` // The token for the next set of results, or null if there are no additional // results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListComponentVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListComponentVersionsOutput) GoString() string { return s.String() } // SetComponentVersions sets the ComponentVersions field's value. func (s *ListComponentVersionsOutput) SetComponentVersions(v []*ComponentVersionListItem) *ListComponentVersionsOutput { s.ComponentVersions = v return s } // SetNextToken sets the NextToken field's value. func (s *ListComponentVersionsOutput) SetNextToken(v string) *ListComponentVersionsOutput { s.NextToken = &v return s } type ListComponentsInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results to be returned per paginated request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token to be used for the next set of paginated results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The scope of the components to list. // // Default: PRIVATE Scope *string `location:"querystring" locationName:"scope" type:"string" enum:"ComponentVisibilityScope"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListComponentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListComponentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListComponentsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListComponentsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxResults sets the MaxResults field's value. func (s *ListComponentsInput) SetMaxResults(v int64) *ListComponentsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListComponentsInput) SetNextToken(v string) *ListComponentsInput { s.NextToken = &v return s } // SetScope sets the Scope field's value. func (s *ListComponentsInput) SetScope(v string) *ListComponentsInput { s.Scope = &v return s } type ListComponentsOutput struct { _ struct{} `type:"structure"` // A list that summarizes each component. Components []*Component `locationName:"components" type:"list"` // The token for the next set of results, or null if there are no additional // results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListComponentsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListComponentsOutput) GoString() string { return s.String() } // SetComponents sets the Components field's value. func (s *ListComponentsOutput) SetComponents(v []*Component) *ListComponentsOutput { s.Components = v return s } // SetNextToken sets the NextToken field's value. func (s *ListComponentsOutput) SetNextToken(v string) *ListComponentsOutput { s.NextToken = &v return s } type ListCoreDevicesInput struct { _ struct{} `type:"structure" nopayload:"true"` // The maximum number of results to be returned per paginated request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token to be used for the next set of paginated results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The core device status by which to filter. If you specify this parameter, // the list includes only core devices that have this status. Choose one of // the following options: // // * HEALTHY – The IoT Greengrass Core software and all components run // on the core device without issue. // // * UNHEALTHY – The IoT Greengrass Core software or a component is in // a failed state on the core device. Status *string `location:"querystring" locationName:"status" type:"string" enum:"CoreDeviceStatus"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the IoT thing group by which to filter. If you specify this parameter, // the list includes only core devices that have successfully deployed a deployment // that targets the thing group. When you remove a core device from a thing // group, the list continues to include that core device. ThingGroupArn *string `location:"querystring" locationName:"thingGroupArn" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListCoreDevicesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListCoreDevicesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListCoreDevicesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListCoreDevicesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetMaxResults sets the MaxResults field's value. func (s *ListCoreDevicesInput) SetMaxResults(v int64) *ListCoreDevicesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListCoreDevicesInput) SetNextToken(v string) *ListCoreDevicesInput { s.NextToken = &v return s } // SetStatus sets the Status field's value. func (s *ListCoreDevicesInput) SetStatus(v string) *ListCoreDevicesInput { s.Status = &v return s } // SetThingGroupArn sets the ThingGroupArn field's value. func (s *ListCoreDevicesInput) SetThingGroupArn(v string) *ListCoreDevicesInput { s.ThingGroupArn = &v return s } type ListCoreDevicesOutput struct { _ struct{} `type:"structure"` // A list that summarizes each core device. CoreDevices []*CoreDevice `locationName:"coreDevices" type:"list"` // The token for the next set of results, or null if there are no additional // results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListCoreDevicesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListCoreDevicesOutput) GoString() string { return s.String() } // SetCoreDevices sets the CoreDevices field's value. func (s *ListCoreDevicesOutput) SetCoreDevices(v []*CoreDevice) *ListCoreDevicesOutput { s.CoreDevices = v return s } // SetNextToken sets the NextToken field's value. func (s *ListCoreDevicesOutput) SetNextToken(v string) *ListCoreDevicesOutput { s.NextToken = &v return s } type ListDeploymentsInput struct { _ struct{} `type:"structure" nopayload:"true"` // The filter for the list of deployments. Choose one of the following options: // // * ALL – The list includes all deployments. // // * LATEST_ONLY – The list includes only the latest revision of each deployment. // // Default: LATEST_ONLY HistoryFilter *string `location:"querystring" locationName:"historyFilter" type:"string" enum:"DeploymentHistoryFilter"` // The maximum number of results to be returned per paginated request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token to be used for the next set of paginated results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The parent deployment's target ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // within a subdeployment. ParentTargetArn *string `location:"querystring" locationName:"parentTargetArn" type:"string"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the target IoT thing or thing group. TargetArn *string `location:"querystring" locationName:"targetArn" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListDeploymentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListDeploymentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListDeploymentsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListDeploymentsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetHistoryFilter sets the HistoryFilter field's value. func (s *ListDeploymentsInput) SetHistoryFilter(v string) *ListDeploymentsInput { s.HistoryFilter = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListDeploymentsInput) SetMaxResults(v int64) *ListDeploymentsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput { s.NextToken = &v return s } // SetParentTargetArn sets the ParentTargetArn field's value. func (s *ListDeploymentsInput) SetParentTargetArn(v string) *ListDeploymentsInput { s.ParentTargetArn = &v return s } // SetTargetArn sets the TargetArn field's value. func (s *ListDeploymentsInput) SetTargetArn(v string) *ListDeploymentsInput { s.TargetArn = &v return s } type ListDeploymentsOutput struct { _ struct{} `type:"structure"` // A list that summarizes each deployment. Deployments []*Deployment `locationName:"deployments" type:"list"` // The token for the next set of results, or null if there are no additional // results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListDeploymentsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListDeploymentsOutput) GoString() string { return s.String() } // SetDeployments sets the Deployments field's value. func (s *ListDeploymentsOutput) SetDeployments(v []*Deployment) *ListDeploymentsOutput { s.Deployments = v return s } // SetNextToken sets the NextToken field's value. func (s *ListDeploymentsOutput) SetNextToken(v string) *ListDeploymentsOutput { s.NextToken = &v return s } type ListEffectiveDeploymentsInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the core device. This is also the name of the IoT thing. // // CoreDeviceThingName is a required field CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` // The maximum number of results to be returned per paginated request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token to be used for the next set of paginated results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListEffectiveDeploymentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListEffectiveDeploymentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListEffectiveDeploymentsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListEffectiveDeploymentsInput"} if s.CoreDeviceThingName == nil { invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) } if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. func (s *ListEffectiveDeploymentsInput) SetCoreDeviceThingName(v string) *ListEffectiveDeploymentsInput { s.CoreDeviceThingName = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListEffectiveDeploymentsInput) SetMaxResults(v int64) *ListEffectiveDeploymentsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListEffectiveDeploymentsInput) SetNextToken(v string) *ListEffectiveDeploymentsInput { s.NextToken = &v return s } type ListEffectiveDeploymentsOutput struct { _ struct{} `type:"structure"` // A list that summarizes each deployment on the core device. EffectiveDeployments []*EffectiveDeployment `locationName:"effectiveDeployments" type:"list"` // The token for the next set of results, or null if there are no additional // results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListEffectiveDeploymentsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListEffectiveDeploymentsOutput) GoString() string { return s.String() } // SetEffectiveDeployments sets the EffectiveDeployments field's value. func (s *ListEffectiveDeploymentsOutput) SetEffectiveDeployments(v []*EffectiveDeployment) *ListEffectiveDeploymentsOutput { s.EffectiveDeployments = v return s } // SetNextToken sets the NextToken field's value. func (s *ListEffectiveDeploymentsOutput) SetNextToken(v string) *ListEffectiveDeploymentsOutput { s.NextToken = &v return s } type ListInstalledComponentsInput struct { _ struct{} `type:"structure" nopayload:"true"` // The name of the core device. This is also the name of the IoT thing. // // CoreDeviceThingName is a required field CoreDeviceThingName *string `location:"uri" locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"` // The maximum number of results to be returned per paginated request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` // The token to be used for the next set of paginated results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // The filter for the list of components. Choose from the following options: // // * ALL – The list includes all components installed on the core device. // // * ROOT – The list includes only root components, which are components // that you specify in a deployment. When you choose this option, the list // doesn't include components that the core device installs as dependencies // of other components. // // Default: ROOT TopologyFilter *string `location:"querystring" locationName:"topologyFilter" type:"string" enum:"InstalledComponentTopologyFilter"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListInstalledComponentsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListInstalledComponentsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListInstalledComponentsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListInstalledComponentsInput"} if s.CoreDeviceThingName == nil { invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName")) } if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1)) } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetCoreDeviceThingName sets the CoreDeviceThingName field's value. func (s *ListInstalledComponentsInput) SetCoreDeviceThingName(v string) *ListInstalledComponentsInput { s.CoreDeviceThingName = &v return s } // SetMaxResults sets the MaxResults field's value. func (s *ListInstalledComponentsInput) SetMaxResults(v int64) *ListInstalledComponentsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. func (s *ListInstalledComponentsInput) SetNextToken(v string) *ListInstalledComponentsInput { s.NextToken = &v return s } // SetTopologyFilter sets the TopologyFilter field's value. func (s *ListInstalledComponentsInput) SetTopologyFilter(v string) *ListInstalledComponentsInput { s.TopologyFilter = &v return s } type ListInstalledComponentsOutput struct { _ struct{} `type:"structure"` // A list that summarizes each component on the core device. // // Greengrass nucleus v2.7.0 or later is required to get an accurate lastStatusChangeTimestamp // response. This response can be inaccurate in earlier Greengrass nucleus versions. // // Greengrass nucleus v2.8.0 or later is required to get an accurate lastInstallationSource // and lastReportedTimestamp response. This response can be inaccurate or null // in earlier Greengrass nucleus versions. InstalledComponents []*InstalledComponent `locationName:"installedComponents" type:"list"` // The token for the next set of results, or null if there are no additional // results. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListInstalledComponentsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListInstalledComponentsOutput) GoString() string { return s.String() } // SetInstalledComponents sets the InstalledComponents field's value. func (s *ListInstalledComponentsOutput) SetInstalledComponents(v []*InstalledComponent) *ListInstalledComponentsOutput { s.InstalledComponents = v return s } // SetNextToken sets the NextToken field's value. func (s *ListInstalledComponentsOutput) SetNextToken(v string) *ListInstalledComponentsOutput { s.NextToken = &v return s } type ListTagsForResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the resource. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListTagsForResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { s.ResourceArn = &v return s } type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` // A list of key-value pairs that contain metadata for the resource. For more // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) // in the IoT Greengrass V2 Developer Guide. Tags map[string]*string `locationName:"tags" min:"1" type:"map"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ListTagsForResourceOutput) GoString() string { return s.String() } // SetTags sets the Tags field's value. func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { s.Tags = v return s } // The request is already in progress. This exception occurs when you use a // client token for multiple requests while IoT Greengrass is still processing // an earlier request that uses the same client token. type RequestAlreadyInProgressException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RequestAlreadyInProgressException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s RequestAlreadyInProgressException) GoString() string { return s.String() } func newErrorRequestAlreadyInProgressException(v protocol.ResponseMetadata) error { return &RequestAlreadyInProgressException{ RespMetadata: v, } } // Code returns the exception type name. func (s *RequestAlreadyInProgressException) Code() string { return "RequestAlreadyInProgressException" } // Message returns the exception's message. func (s *RequestAlreadyInProgressException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *RequestAlreadyInProgressException) OrigErr() error { return nil } func (s *RequestAlreadyInProgressException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. func (s *RequestAlreadyInProgressException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *RequestAlreadyInProgressException) RequestID() string { return s.RespMetadata.RequestID } type ResolveComponentCandidatesInput struct { _ struct{} `type:"structure"` // The list of components to resolve. ComponentCandidates []*ComponentCandidate `locationName:"componentCandidates" type:"list"` // The platform to use to resolve compatible components. Platform *ComponentPlatform `locationName:"platform" type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResolveComponentCandidatesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResolveComponentCandidatesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ResolveComponentCandidatesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ResolveComponentCandidatesInput"} if s.ComponentCandidates != nil { for i, v := range s.ComponentCandidates { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentCandidates", i), err.(request.ErrInvalidParams)) } } } if s.Platform != nil { if err := s.Platform.Validate(); err != nil { invalidParams.AddNested("Platform", err.(request.ErrInvalidParams)) } } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetComponentCandidates sets the ComponentCandidates field's value. func (s *ResolveComponentCandidatesInput) SetComponentCandidates(v []*ComponentCandidate) *ResolveComponentCandidatesInput { s.ComponentCandidates = v return s } // SetPlatform sets the Platform field's value. func (s *ResolveComponentCandidatesInput) SetPlatform(v *ComponentPlatform) *ResolveComponentCandidatesInput { s.Platform = v return s } type ResolveComponentCandidatesOutput struct { _ struct{} `type:"structure"` // A list of components that meet the requirements that you specify in the request. // This list includes each component's recipe that you can use to install the // component. ResolvedComponentVersions []*ResolvedComponentVersion `locationName:"resolvedComponentVersions" type:"list"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResolveComponentCandidatesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResolveComponentCandidatesOutput) GoString() string { return s.String() } // SetResolvedComponentVersions sets the ResolvedComponentVersions field's value. func (s *ResolveComponentCandidatesOutput) SetResolvedComponentVersions(v []*ResolvedComponentVersion) *ResolveComponentCandidatesOutput { s.ResolvedComponentVersions = v return s } // Contains information about a component version that is compatible to run // on a Greengrass core device. type ResolvedComponentVersion struct { _ struct{} `type:"structure"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the component version. Arn *string `locationName:"arn" type:"string"` // The name of the component. ComponentName *string `locationName:"componentName" min:"1" type:"string"` // The version of the component. ComponentVersion *string `locationName:"componentVersion" min:"1" type:"string"` // A message that communicates details about the vendor guidance state of the // component version. This message communicates why a component version is discontinued // or deleted. Message *string `locationName:"message" min:"1" type:"string"` // The recipe of the component version. // Recipe is automatically base64 encoded/decoded by the SDK. Recipe []byte `locationName:"recipe" type:"blob"` // The vendor guidance state for the component version. This state indicates // whether the component version has any issues that you should consider before // you deploy it. The vendor guidance state can be: // // * ACTIVE – This component version is available and recommended for use. // // * DISCONTINUED – This component version has been discontinued by its // publisher. You can deploy this component version, but we recommend that // you use a different version of this component. // // * DELETED – This component version has been deleted by its publisher, // so you can't deploy it. If you have any existing deployments that specify // this component version, those deployments will fail. VendorGuidance *string `locationName:"vendorGuidance" type:"string" enum:"VendorGuidance"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResolvedComponentVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResolvedComponentVersion) GoString() string { return s.String() } // SetArn sets the Arn field's value. func (s *ResolvedComponentVersion) SetArn(v string) *ResolvedComponentVersion { s.Arn = &v return s } // SetComponentName sets the ComponentName field's value. func (s *ResolvedComponentVersion) SetComponentName(v string) *ResolvedComponentVersion { s.ComponentName = &v return s } // SetComponentVersion sets the ComponentVersion field's value. func (s *ResolvedComponentVersion) SetComponentVersion(v string) *ResolvedComponentVersion { s.ComponentVersion = &v return s } // SetMessage sets the Message field's value. func (s *ResolvedComponentVersion) SetMessage(v string) *ResolvedComponentVersion { s.Message = &v return s } // SetRecipe sets the Recipe field's value. func (s *ResolvedComponentVersion) SetRecipe(v []byte) *ResolvedComponentVersion { s.Recipe = v return s } // SetVendorGuidance sets the VendorGuidance field's value. func (s *ResolvedComponentVersion) SetVendorGuidance(v string) *ResolvedComponentVersion { s.VendorGuidance = &v return s } // The requested resource can't be found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` // The ID of the resource that isn't found. // // ResourceId is a required field ResourceId *string `locationName:"resourceId" type:"string" required:"true"` // The type of the resource that isn't found. // // ResourceType is a required field ResourceType *string `locationName:"resourceType" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ResourceNotFoundException) GoString() string { return s.String() } func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { return &ResourceNotFoundException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ResourceNotFoundException) Code() string { return "ResourceNotFoundException" } // Message returns the exception's message. func (s *ResourceNotFoundException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ResourceNotFoundException) OrigErr() error { return nil } func (s *ResourceNotFoundException) Error() string { return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. func (s *ResourceNotFoundException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } // Your request exceeds a service quota. For example, you might have the maximum // number of components that you can create. type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` // The code for the quota in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). // // QuotaCode is a required field QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"` // The ID of the resource that exceeds the service quota. ResourceId *string `locationName:"resourceId" type:"string"` // The type of the resource that exceeds the service quota. ResourceType *string `locationName:"resourceType" type:"string"` // The code for the service in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). // // ServiceCode is a required field ServiceCode *string `locationName:"serviceCode" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ServiceQuotaExceededException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ServiceQuotaExceededException) GoString() string { return s.String() } func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { return &ServiceQuotaExceededException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ServiceQuotaExceededException) Code() string { return "ServiceQuotaExceededException" } // Message returns the exception's message. func (s *ServiceQuotaExceededException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ServiceQuotaExceededException) OrigErr() error { return nil } func (s *ServiceQuotaExceededException) Error() string { return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. func (s *ServiceQuotaExceededException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } // Contains information about system resource limits that the IoT Greengrass // Core software applies to a component's processes. For more information, see // Configure system resource limits for components (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-system-resource-limits). type SystemResourceLimits struct { _ struct{} `type:"structure"` // The maximum amount of CPU time that a component's processes can use on the // core device. A core device's total CPU time is equivalent to the device's // number of CPU cores. For example, on a core device with 4 CPU cores, you // can set this value to 2 to limit the component's processes to 50 percent // usage of each CPU core. On a device with 1 CPU core, you can set this value // to 0.25 to limit the component's processes to 25 percent usage of the CPU. // If you set this value to a number greater than the number of CPU cores, the // IoT Greengrass Core software doesn't limit the component's CPU usage. Cpus *float64 `locationName:"cpus" type:"double"` // The maximum amount of RAM, expressed in kilobytes, that a component's processes // can use on the core device. Memory *int64 `locationName:"memory" type:"long"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s SystemResourceLimits) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s SystemResourceLimits) GoString() string { return s.String() } // SetCpus sets the Cpus field's value. func (s *SystemResourceLimits) SetCpus(v float64) *SystemResourceLimits { s.Cpus = &v return s } // SetMemory sets the Memory field's value. func (s *SystemResourceLimits) SetMemory(v int64) *SystemResourceLimits { s.Memory = &v return s } type TagResourceInput struct { _ struct{} `type:"structure"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the resource to tag. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` // A list of key-value pairs that contain metadata for the resource. For more // information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) // in the IoT Greengrass V2 Developer Guide. // // Tags is a required field Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *TagResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if s.Tags == nil { invalidParams.Add(request.NewErrParamRequired("Tags")) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { s.ResourceArn = &v return s } // SetTags sets the Tags field's value. func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { s.Tags = v return s } type TagResourceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s TagResourceOutput) GoString() string { return s.String() } // Your request exceeded a request rate quota. For example, you might have exceeded // the amount of times that you can retrieve device or deployment status per // second. type ThrottlingException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"message" type:"string"` // The code for the quota in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). QuotaCode *string `locationName:"quotaCode" type:"string"` // The amount of time to wait before you retry the request. RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` // The code for the service in Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html). ServiceCode *string `locationName:"serviceCode" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ThrottlingException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ThrottlingException) GoString() string { return s.String() } func newErrorThrottlingException(v protocol.ResponseMetadata) error { return &ThrottlingException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ThrottlingException) Code() string { return "ThrottlingException" } // Message returns the exception's message. func (s *ThrottlingException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ThrottlingException) OrigErr() error { return nil } func (s *ThrottlingException) Error() string { return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. func (s *ThrottlingException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ThrottlingException) RequestID() string { return s.RespMetadata.RequestID } type UntagResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the resource to untag. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` // A list of keys for tags to remove from the resource. // // TagKeys is a required field TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UntagResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} if s.ResourceArn == nil { invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if s.TagKeys == nil { invalidParams.Add(request.NewErrParamRequired("TagKeys")) } if s.TagKeys != nil && len(s.TagKeys) < 1 { invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetResourceArn sets the ResourceArn field's value. func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { s.ResourceArn = &v return s } // SetTagKeys sets the TagKeys field's value. func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { s.TagKeys = v return s } type UntagResourceOutput struct { _ struct{} `type:"structure"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UntagResourceOutput) GoString() string { return s.String() } type UpdateConnectivityInfoInput struct { _ struct{} `type:"structure"` // The connectivity information for the core device. // // ConnectivityInfo is a required field ConnectivityInfo []*ConnectivityInfo `locationName:"ConnectivityInfo" type:"list" required:"true"` // The name of the core device. This is also the name of the IoT thing. // // ThingName is a required field ThingName *string `location:"uri" locationName:"thingName" min:"1" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateConnectivityInfoInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateConnectivityInfoInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateConnectivityInfoInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateConnectivityInfoInput"} if s.ConnectivityInfo == nil { invalidParams.Add(request.NewErrParamRequired("ConnectivityInfo")) } if s.ThingName == nil { invalidParams.Add(request.NewErrParamRequired("ThingName")) } if s.ThingName != nil && len(*s.ThingName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ThingName", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } // SetConnectivityInfo sets the ConnectivityInfo field's value. func (s *UpdateConnectivityInfoInput) SetConnectivityInfo(v []*ConnectivityInfo) *UpdateConnectivityInfoInput { s.ConnectivityInfo = v return s } // SetThingName sets the ThingName field's value. func (s *UpdateConnectivityInfoInput) SetThingName(v string) *UpdateConnectivityInfoInput { s.ThingName = &v return s } type UpdateConnectivityInfoOutput struct { _ struct{} `type:"structure"` // A message about the connectivity information update request. Message *string `locationName:"Message" type:"string"` // The new version of the connectivity information for the core device. Version *string `locationName:"Version" type:"string"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateConnectivityInfoOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s UpdateConnectivityInfoOutput) GoString() string { return s.String() } // SetMessage sets the Message field's value. func (s *UpdateConnectivityInfoOutput) SetMessage(v string) *UpdateConnectivityInfoOutput { s.Message = &v return s } // SetVersion sets the Version field's value. func (s *UpdateConnectivityInfoOutput) SetVersion(v string) *UpdateConnectivityInfoOutput { s.Version = &v return s } // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` // The list of fields that failed to validate. Fields []*ValidationExceptionField `locationName:"fields" type:"list"` Message_ *string `locationName:"message" type:"string"` // The reason for the validation exception. Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ValidationException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ValidationException) GoString() string { return s.String() } func newErrorValidationException(v protocol.ResponseMetadata) error { return &ValidationException{ RespMetadata: v, } } // Code returns the exception type name. func (s *ValidationException) Code() string { return "ValidationException" } // Message returns the exception's message. func (s *ValidationException) Message() string { if s.Message_ != nil { return *s.Message_ } return "" } // OrigErr always returns nil, satisfies awserr.Error interface. func (s *ValidationException) OrigErr() error { return nil } func (s *ValidationException) Error() string { return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } // Status code returns the HTTP status code for the request's response error. func (s *ValidationException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } // Contains information about a validation exception field. type ValidationExceptionField struct { _ struct{} `type:"structure"` // The message of the exception field. // // Message is a required field Message *string `locationName:"message" type:"string" required:"true"` // The name of the exception field. // // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` } // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ValidationExceptionField) String() string { return awsutil.Prettify(s) } // GoString returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". func (s ValidationExceptionField) GoString() string { return s.String() } // SetMessage sets the Message field's value. func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { s.Message = &v return s } // SetName sets the Name field's value. func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { s.Name = &v return s } const ( // CloudComponentStateRequested is a CloudComponentState enum value CloudComponentStateRequested = "REQUESTED" // CloudComponentStateInitiated is a CloudComponentState enum value CloudComponentStateInitiated = "INITIATED" // CloudComponentStateDeployable is a CloudComponentState enum value CloudComponentStateDeployable = "DEPLOYABLE" // CloudComponentStateFailed is a CloudComponentState enum value CloudComponentStateFailed = "FAILED" // CloudComponentStateDeprecated is a CloudComponentState enum value CloudComponentStateDeprecated = "DEPRECATED" ) // CloudComponentState_Values returns all elements of the CloudComponentState enum func CloudComponentState_Values() []string { return []string{ CloudComponentStateRequested, CloudComponentStateInitiated, CloudComponentStateDeployable, CloudComponentStateFailed, CloudComponentStateDeprecated, } } const ( // ComponentDependencyTypeHard is a ComponentDependencyType enum value ComponentDependencyTypeHard = "HARD" // ComponentDependencyTypeSoft is a ComponentDependencyType enum value ComponentDependencyTypeSoft = "SOFT" ) // ComponentDependencyType_Values returns all elements of the ComponentDependencyType enum func ComponentDependencyType_Values() []string { return []string{ ComponentDependencyTypeHard, ComponentDependencyTypeSoft, } } const ( // ComponentVisibilityScopePrivate is a ComponentVisibilityScope enum value ComponentVisibilityScopePrivate = "PRIVATE" // ComponentVisibilityScopePublic is a ComponentVisibilityScope enum value ComponentVisibilityScopePublic = "PUBLIC" ) // ComponentVisibilityScope_Values returns all elements of the ComponentVisibilityScope enum func ComponentVisibilityScope_Values() []string { return []string{ ComponentVisibilityScopePrivate, ComponentVisibilityScopePublic, } } const ( // CoreDeviceStatusHealthy is a CoreDeviceStatus enum value CoreDeviceStatusHealthy = "HEALTHY" // CoreDeviceStatusUnhealthy is a CoreDeviceStatus enum value CoreDeviceStatusUnhealthy = "UNHEALTHY" ) // CoreDeviceStatus_Values returns all elements of the CoreDeviceStatus enum func CoreDeviceStatus_Values() []string { return []string{ CoreDeviceStatusHealthy, CoreDeviceStatusUnhealthy, } } const ( // DeploymentComponentUpdatePolicyActionNotifyComponents is a DeploymentComponentUpdatePolicyAction enum value DeploymentComponentUpdatePolicyActionNotifyComponents = "NOTIFY_COMPONENTS" // DeploymentComponentUpdatePolicyActionSkipNotifyComponents is a DeploymentComponentUpdatePolicyAction enum value DeploymentComponentUpdatePolicyActionSkipNotifyComponents = "SKIP_NOTIFY_COMPONENTS" ) // DeploymentComponentUpdatePolicyAction_Values returns all elements of the DeploymentComponentUpdatePolicyAction enum func DeploymentComponentUpdatePolicyAction_Values() []string { return []string{ DeploymentComponentUpdatePolicyActionNotifyComponents, DeploymentComponentUpdatePolicyActionSkipNotifyComponents, } } const ( // DeploymentFailureHandlingPolicyRollback is a DeploymentFailureHandlingPolicy enum value DeploymentFailureHandlingPolicyRollback = "ROLLBACK" // DeploymentFailureHandlingPolicyDoNothing is a DeploymentFailureHandlingPolicy enum value DeploymentFailureHandlingPolicyDoNothing = "DO_NOTHING" ) // DeploymentFailureHandlingPolicy_Values returns all elements of the DeploymentFailureHandlingPolicy enum func DeploymentFailureHandlingPolicy_Values() []string { return []string{ DeploymentFailureHandlingPolicyRollback, DeploymentFailureHandlingPolicyDoNothing, } } const ( // DeploymentHistoryFilterAll is a DeploymentHistoryFilter enum value DeploymentHistoryFilterAll = "ALL" // DeploymentHistoryFilterLatestOnly is a DeploymentHistoryFilter enum value DeploymentHistoryFilterLatestOnly = "LATEST_ONLY" ) // DeploymentHistoryFilter_Values returns all elements of the DeploymentHistoryFilter enum func DeploymentHistoryFilter_Values() []string { return []string{ DeploymentHistoryFilterAll, DeploymentHistoryFilterLatestOnly, } } const ( // DeploymentStatusActive is a DeploymentStatus enum value DeploymentStatusActive = "ACTIVE" // DeploymentStatusCompleted is a DeploymentStatus enum value DeploymentStatusCompleted = "COMPLETED" // DeploymentStatusCanceled is a DeploymentStatus enum value DeploymentStatusCanceled = "CANCELED" // DeploymentStatusFailed is a DeploymentStatus enum value DeploymentStatusFailed = "FAILED" // DeploymentStatusInactive is a DeploymentStatus enum value DeploymentStatusInactive = "INACTIVE" ) // DeploymentStatus_Values returns all elements of the DeploymentStatus enum func DeploymentStatus_Values() []string { return []string{ DeploymentStatusActive, DeploymentStatusCompleted, DeploymentStatusCanceled, DeploymentStatusFailed, DeploymentStatusInactive, } } const ( // EffectiveDeploymentExecutionStatusInProgress is a EffectiveDeploymentExecutionStatus enum value EffectiveDeploymentExecutionStatusInProgress = "IN_PROGRESS" // EffectiveDeploymentExecutionStatusQueued is a EffectiveDeploymentExecutionStatus enum value EffectiveDeploymentExecutionStatusQueued = "QUEUED" // EffectiveDeploymentExecutionStatusFailed is a EffectiveDeploymentExecutionStatus enum value EffectiveDeploymentExecutionStatusFailed = "FAILED" // EffectiveDeploymentExecutionStatusCompleted is a EffectiveDeploymentExecutionStatus enum value EffectiveDeploymentExecutionStatusCompleted = "COMPLETED" // EffectiveDeploymentExecutionStatusTimedOut is a EffectiveDeploymentExecutionStatus enum value EffectiveDeploymentExecutionStatusTimedOut = "TIMED_OUT" // EffectiveDeploymentExecutionStatusCanceled is a EffectiveDeploymentExecutionStatus enum value EffectiveDeploymentExecutionStatusCanceled = "CANCELED" // EffectiveDeploymentExecutionStatusRejected is a EffectiveDeploymentExecutionStatus enum value EffectiveDeploymentExecutionStatusRejected = "REJECTED" // EffectiveDeploymentExecutionStatusSucceeded is a EffectiveDeploymentExecutionStatus enum value EffectiveDeploymentExecutionStatusSucceeded = "SUCCEEDED" ) // EffectiveDeploymentExecutionStatus_Values returns all elements of the EffectiveDeploymentExecutionStatus enum func EffectiveDeploymentExecutionStatus_Values() []string { return []string{ EffectiveDeploymentExecutionStatusInProgress, EffectiveDeploymentExecutionStatusQueued, EffectiveDeploymentExecutionStatusFailed, EffectiveDeploymentExecutionStatusCompleted, EffectiveDeploymentExecutionStatusTimedOut, EffectiveDeploymentExecutionStatusCanceled, EffectiveDeploymentExecutionStatusRejected, EffectiveDeploymentExecutionStatusSucceeded, } } const ( // InstalledComponentLifecycleStateNew is a InstalledComponentLifecycleState enum value InstalledComponentLifecycleStateNew = "NEW" // InstalledComponentLifecycleStateInstalled is a InstalledComponentLifecycleState enum value InstalledComponentLifecycleStateInstalled = "INSTALLED" // InstalledComponentLifecycleStateStarting is a InstalledComponentLifecycleState enum value InstalledComponentLifecycleStateStarting = "STARTING" // InstalledComponentLifecycleStateRunning is a InstalledComponentLifecycleState enum value InstalledComponentLifecycleStateRunning = "RUNNING" // InstalledComponentLifecycleStateStopping is a InstalledComponentLifecycleState enum value InstalledComponentLifecycleStateStopping = "STOPPING" // InstalledComponentLifecycleStateErrored is a InstalledComponentLifecycleState enum value InstalledComponentLifecycleStateErrored = "ERRORED" // InstalledComponentLifecycleStateBroken is a InstalledComponentLifecycleState enum value InstalledComponentLifecycleStateBroken = "BROKEN" // InstalledComponentLifecycleStateFinished is a InstalledComponentLifecycleState enum value InstalledComponentLifecycleStateFinished = "FINISHED" ) // InstalledComponentLifecycleState_Values returns all elements of the InstalledComponentLifecycleState enum func InstalledComponentLifecycleState_Values() []string { return []string{ InstalledComponentLifecycleStateNew, InstalledComponentLifecycleStateInstalled, InstalledComponentLifecycleStateStarting, InstalledComponentLifecycleStateRunning, InstalledComponentLifecycleStateStopping, InstalledComponentLifecycleStateErrored, InstalledComponentLifecycleStateBroken, InstalledComponentLifecycleStateFinished, } } const ( // InstalledComponentTopologyFilterAll is a InstalledComponentTopologyFilter enum value InstalledComponentTopologyFilterAll = "ALL" // InstalledComponentTopologyFilterRoot is a InstalledComponentTopologyFilter enum value InstalledComponentTopologyFilterRoot = "ROOT" ) // InstalledComponentTopologyFilter_Values returns all elements of the InstalledComponentTopologyFilter enum func InstalledComponentTopologyFilter_Values() []string { return []string{ InstalledComponentTopologyFilterAll, InstalledComponentTopologyFilterRoot, } } const ( // IoTJobAbortActionCancel is a IoTJobAbortAction enum value IoTJobAbortActionCancel = "CANCEL" ) // IoTJobAbortAction_Values returns all elements of the IoTJobAbortAction enum func IoTJobAbortAction_Values() []string { return []string{ IoTJobAbortActionCancel, } } const ( // IoTJobExecutionFailureTypeFailed is a IoTJobExecutionFailureType enum value IoTJobExecutionFailureTypeFailed = "FAILED" // IoTJobExecutionFailureTypeRejected is a IoTJobExecutionFailureType enum value IoTJobExecutionFailureTypeRejected = "REJECTED" // IoTJobExecutionFailureTypeTimedOut is a IoTJobExecutionFailureType enum value IoTJobExecutionFailureTypeTimedOut = "TIMED_OUT" // IoTJobExecutionFailureTypeAll is a IoTJobExecutionFailureType enum value IoTJobExecutionFailureTypeAll = "ALL" ) // IoTJobExecutionFailureType_Values returns all elements of the IoTJobExecutionFailureType enum func IoTJobExecutionFailureType_Values() []string { return []string{ IoTJobExecutionFailureTypeFailed, IoTJobExecutionFailureTypeRejected, IoTJobExecutionFailureTypeTimedOut, IoTJobExecutionFailureTypeAll, } } const ( // LambdaEventSourceTypePubSub is a LambdaEventSourceType enum value LambdaEventSourceTypePubSub = "PUB_SUB" // LambdaEventSourceTypeIotCore is a LambdaEventSourceType enum value LambdaEventSourceTypeIotCore = "IOT_CORE" ) // LambdaEventSourceType_Values returns all elements of the LambdaEventSourceType enum func LambdaEventSourceType_Values() []string { return []string{ LambdaEventSourceTypePubSub, LambdaEventSourceTypeIotCore, } } const ( // LambdaFilesystemPermissionRo is a LambdaFilesystemPermission enum value LambdaFilesystemPermissionRo = "ro" // LambdaFilesystemPermissionRw is a LambdaFilesystemPermission enum value LambdaFilesystemPermissionRw = "rw" ) // LambdaFilesystemPermission_Values returns all elements of the LambdaFilesystemPermission enum func LambdaFilesystemPermission_Values() []string { return []string{ LambdaFilesystemPermissionRo, LambdaFilesystemPermissionRw, } } const ( // LambdaInputPayloadEncodingTypeJson is a LambdaInputPayloadEncodingType enum value LambdaInputPayloadEncodingTypeJson = "json" // LambdaInputPayloadEncodingTypeBinary is a LambdaInputPayloadEncodingType enum value LambdaInputPayloadEncodingTypeBinary = "binary" ) // LambdaInputPayloadEncodingType_Values returns all elements of the LambdaInputPayloadEncodingType enum func LambdaInputPayloadEncodingType_Values() []string { return []string{ LambdaInputPayloadEncodingTypeJson, LambdaInputPayloadEncodingTypeBinary, } } const ( // LambdaIsolationModeGreengrassContainer is a LambdaIsolationMode enum value LambdaIsolationModeGreengrassContainer = "GreengrassContainer" // LambdaIsolationModeNoContainer is a LambdaIsolationMode enum value LambdaIsolationModeNoContainer = "NoContainer" ) // LambdaIsolationMode_Values returns all elements of the LambdaIsolationMode enum func LambdaIsolationMode_Values() []string { return []string{ LambdaIsolationModeGreengrassContainer, LambdaIsolationModeNoContainer, } } const ( // RecipeOutputFormatJson is a RecipeOutputFormat enum value RecipeOutputFormatJson = "JSON" // RecipeOutputFormatYaml is a RecipeOutputFormat enum value RecipeOutputFormatYaml = "YAML" ) // RecipeOutputFormat_Values returns all elements of the RecipeOutputFormat enum func RecipeOutputFormat_Values() []string { return []string{ RecipeOutputFormatJson, RecipeOutputFormatYaml, } } const ( // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION" // ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value ValidationExceptionReasonCannotParse = "CANNOT_PARSE" // ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED" // ValidationExceptionReasonOther is a ValidationExceptionReason enum value ValidationExceptionReasonOther = "OTHER" ) // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum func ValidationExceptionReason_Values() []string { return []string{ ValidationExceptionReasonUnknownOperation, ValidationExceptionReasonCannotParse, ValidationExceptionReasonFieldValidationFailed, ValidationExceptionReasonOther, } } const ( // VendorGuidanceActive is a VendorGuidance enum value VendorGuidanceActive = "ACTIVE" // VendorGuidanceDiscontinued is a VendorGuidance enum value VendorGuidanceDiscontinued = "DISCONTINUED" // VendorGuidanceDeleted is a VendorGuidance enum value VendorGuidanceDeleted = "DELETED" ) // VendorGuidance_Values returns all elements of the VendorGuidance enum func VendorGuidance_Values() []string { return []string{ VendorGuidanceActive, VendorGuidanceDiscontinued, VendorGuidanceDeleted, } }