Documentation
¶
Overview ¶
Package iot provides a mock AWS IoT Core service with an embedded MQTT broker, IoT SQL rules engine, and action dispatch to SQS and Lambda.
Index ¶
- Variables
- func EvaluateRule(rule *TopicRule, topic string, payload []byte) bool
- func MatchesTopic(topicPattern, topic string) bool
- type AbortConfig
- type AbortCriteria
- type AcceptCertificateTransferInput
- type AccountAuditConfiguration
- type AccountEncryptionConfiguration
- type ActiveViolation
- type AddThingToBillingGroupInput
- type AddThingToThingGroupInput
- type AggregationInput
- type AssociateSbomWithPackageVersionInput
- type AssociateSbomWithPackageVersionOutput
- type AssociateTargetsWithJobInput
- type AssociateTargetsWithJobOutput
- type AttachPolicyInput
- type AttachPrincipalPolicyInput
- type AttachSecurityProfileInput
- type AttachThingPrincipalInput
- type AttributePayload
- type AuditCheckConfig
- type AuditFinding
- type AuditMitigationActionExecution
- type AuditMitigationActionsTaskTarget
- type AuditMitigationTask
- type AuditSuppression
- type AuditTask
- type AuthDecisionPolicies
- type AuthInfo
- type AuthResult
- type Authorizer
- type BehaviorModelTrainingSummary
- type BillingGroup
- type BillingGroupMetadata
- type BillingGroupProperties
- type Broker
- func (b *Broker) ClientSubscriptions(clientID string) (map[string]byte, bool)
- func (b *Broker) Publish(topic string, payload []byte, retain bool, qos byte) error
- func (b *Broker) Run(ctx context.Context)
- func (b *Broker) SendToClient(clientID, topic string, payload []byte, qos byte) (bool, error)
- func (b *Broker) Start(ctx context.Context) error
- type Bucket
- type BucketsAggregationInput
- type CACertificate
- type CancelAuditMitigationActionsTaskInput
- type CancelAuditTaskInput
- type CancelJobExecutionOptions
- type Certificate
- type CertificateProvider
- type CreateAuthorizerInput
- type CreateBillingGroupInput
- type CreateCertificateFromCsrInput
- type CreateCertificateProviderInput
- type CreateCustomMetricInput
- type CreateDimensionInput
- type CreateDomainConfigurationInput
- type CreateFleetMetricInput
- type CreateJobInput
- type CreateJobTemplateInput
- type CreateMitigationActionInput
- type CreatePolicyInput
- type CreatePolicyOutput
- type CreatePolicyVersionInput
- type CreateProvisioningTemplateInput
- type CreateRoleAliasInput
- type CreateScheduledAuditInput
- type CreateSecurityProfileInput
- type CreateStreamInput
- type CreateThingGroupInput
- type CreateThingInput
- type CreateThingOutput
- type CreateThingTypeInput
- type CreateTopicRuleDestinationInput
- type CreateTopicRuleInput
- type CustomMetric
- type DeprecateThingTypeInput
- type DescribeEndpointOutput
- type DetachPolicyInput
- type DetectMitigationActionExecution
- type DetectMitigationActionsTaskTarget
- type DetectMitigationTask
- type DetectMitigationTaskStatistics
- type Dimension
- type DisableTopicRuleInput
- type DomainConfiguration
- type EnableTopicRuleInput
- type EncryptionConfigurationDetails
- type EventConfigEntry
- type EventConfigurations
- type FleetMetric
- type GetIndexingConfigurationOutput
- type GetPolicyOutput
- type GroupNameAndARN
- type HTTPURLDestinationConfiguration
- type HTTPURLDestinationProperties
- type Handler
- func (h *Handler) Broker() *Broker
- func (h *Handler) ChaosOperations() []string
- func (h *Handler) ChaosRegions() []string
- func (h *Handler) ChaosServiceName() string
- func (h *Handler) ExtractOperation(c *echo.Context) string
- func (h *Handler) ExtractResource(c *echo.Context) string
- func (h *Handler) GetSupportedOperations() []string
- func (h *Handler) Handler() echo.HandlerFunc
- func (h *Handler) MatchPriority() int
- func (h *Handler) Name() string
- func (h *Handler) Reset()
- func (h *Handler) Restore(ctx context.Context, data []byte) error
- func (h *Handler) RouteMatcher() service.Matcher
- func (h *Handler) Shutdown(ctx context.Context)
- func (h *Handler) Snapshot(ctx context.Context) []byte
- func (h *Handler) StartWorker(ctx context.Context) error
- type InMemoryBackend
- func (b *InMemoryBackend) AcceptCertificateTransfer(input *AcceptCertificateTransferInput) error
- func (b *InMemoryBackend) AddAuditMitigationTaskInternal(taskID, status string)
- func (b *InMemoryBackend) AddAuditTaskInternal(taskID, status string)
- func (b *InMemoryBackend) AddBehaviorModelTrainingSummaryInternal(securityProfileName string, s BehaviorModelTrainingSummary)
- func (b *InMemoryBackend) AddCertificateInternal(c Certificate)
- func (b *InMemoryBackend) AddCommandExecutionInternal(commandID, executionID string, ex IoTCommandExecution)
- func (b *InMemoryBackend) AddJobExecutionInternal(e *JobExecution)
- func (b *InMemoryBackend) AddMetricValueInternal(thingName, metricName string, dp MetricDatapoint)
- func (b *InMemoryBackend) AddPolicyInternal(p Policy)
- func (b *InMemoryBackend) AddRuleInternal(r TopicRule)
- func (b *InMemoryBackend) AddThingInternal(t Thing)
- func (b *InMemoryBackend) AddThingToBillingGroup(input *AddThingToBillingGroupInput) error
- func (b *InMemoryBackend) AddThingToThingGroup(input *AddThingToThingGroupInput) error
- func (b *InMemoryBackend) AssociateSbomWithPackageVersion(input *AssociateSbomWithPackageVersionInput) (*AssociateSbomWithPackageVersionOutput, error)
- func (b *InMemoryBackend) AssociateTargetsWithJob(input *AssociateTargetsWithJobInput) (*AssociateTargetsWithJobOutput, error)
- func (b *InMemoryBackend) AttachPolicy(input *AttachPolicyInput) error
- func (b *InMemoryBackend) AttachPrincipalPolicy(input *AttachPrincipalPolicyInput) error
- func (b *InMemoryBackend) AttachSecurityProfile(input *AttachSecurityProfileInput) error
- func (b *InMemoryBackend) AttachThingPrincipal(input *AttachThingPrincipalInput) error
- func (b *InMemoryBackend) CancelAuditMitigationActionsTask(input *CancelAuditMitigationActionsTaskInput) error
- func (b *InMemoryBackend) CancelAuditTask(input *CancelAuditTaskInput) error
- func (b *InMemoryBackend) CancelCertificateTransfer(certID string) error
- func (b *InMemoryBackend) CancelDetectMitigationActionsTask(taskID string) error
- func (b *InMemoryBackend) CancelJob(jobID, _ string) (*Job, error)
- func (b *InMemoryBackend) CancelJobExecution(jobID, thingName string, opts CancelJobExecutionOptions) error
- func (b *InMemoryBackend) ClearDefaultAuthorizer() error
- func (b *InMemoryBackend) ConfirmTopicRuleDestination(token string) error
- func (b *InMemoryBackend) CreateAuditSuppression(checkName string, resourceID map[string]any, description string, ...) error
- func (b *InMemoryBackend) CreateAuthorizer(input *CreateAuthorizerInput) (*Authorizer, error)
- func (b *InMemoryBackend) CreateBillingGroup(input *CreateBillingGroupInput) (*BillingGroup, error)
- func (b *InMemoryBackend) CreateCertificateFromCsr(input *CreateCertificateFromCsrInput) (*Certificate, error)
- func (b *InMemoryBackend) CreateCertificateProvider(input *CreateCertificateProviderInput) (*CertificateProvider, error)
- func (b *InMemoryBackend) CreateCommand(id, displayName, description, namespace string, payload map[string]any, ...) (*IoTCommand, error)
- func (b *InMemoryBackend) CreateCustomMetric(input *CreateCustomMetricInput) (*CustomMetric, error)
- func (b *InMemoryBackend) CreateDimension(input *CreateDimensionInput) (*Dimension, error)
- func (b *InMemoryBackend) CreateDomainConfiguration(input *CreateDomainConfigurationInput) (*DomainConfiguration, error)
- func (b *InMemoryBackend) CreateDynamicThingGroup(input *CreateThingGroupInput) (*ThingGroup, error)
- func (b *InMemoryBackend) CreateFleetMetric(input *CreateFleetMetricInput) (*FleetMetric, error)
- func (b *InMemoryBackend) CreateIoTPackage(name, description string, tags map[string]string) (*IoTPackage, error)
- func (b *InMemoryBackend) CreateIoTPackageVersion(packageName, versionName, description string, tags map[string]string) (*IoTPackageVersion, error)
- func (b *InMemoryBackend) CreateJob(input *CreateJobInput) (*Job, error)
- func (b *InMemoryBackend) CreateJobTemplate(input *CreateJobTemplateInput) (*JobTemplate, error)
- func (b *InMemoryBackend) CreateKeysAndCertificate(setAsActive bool) (*Certificate, string, string, error)
- func (b *InMemoryBackend) CreateMitigationAction(input *CreateMitigationActionInput) (*MitigationAction, error)
- func (b *InMemoryBackend) CreateOTAUpdate(id, description, roleARN string, targets []string, files []any) (*OTAUpdate, error)
- func (b *InMemoryBackend) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error)
- func (b *InMemoryBackend) CreatePolicyVersion(input *CreatePolicyVersionInput) (*PolicyVersion, error)
- func (b *InMemoryBackend) CreateProvisioningClaim(templateName string) (string, string, string, error)
- func (b *InMemoryBackend) CreateProvisioningTemplate(input *CreateProvisioningTemplateInput) (*ProvisioningTemplate, error)
- func (b *InMemoryBackend) CreateProvisioningTemplateVersion(name, body string) (*ProvisioningTemplateVersion, error)
- func (b *InMemoryBackend) CreateRoleAlias(input *CreateRoleAliasInput) (*RoleAlias, error)
- func (b *InMemoryBackend) CreateScheduledAudit(input *CreateScheduledAuditInput) (*ScheduledAudit, error)
- func (b *InMemoryBackend) CreateSecurityProfile(input *CreateSecurityProfileInput) (*SecurityProfile, error)
- func (b *InMemoryBackend) CreateStream(input *CreateStreamInput) (*IoTStream, error)
- func (b *InMemoryBackend) CreateThing(input *CreateThingInput) (*CreateThingOutput, error)
- func (b *InMemoryBackend) CreateThingGroup(input *CreateThingGroupInput) (*ThingGroup, error)
- func (b *InMemoryBackend) CreateThingType(input *CreateThingTypeInput) (*ThingType, error)
- func (b *InMemoryBackend) CreateTopicRule(input *CreateTopicRuleInput) error
- func (b *InMemoryBackend) CreateTopicRuleDestination(input *CreateTopicRuleDestinationInput) (*TopicRuleDestination, error)
- func (b *InMemoryBackend) DeleteAccountAuditConfiguration() error
- func (b *InMemoryBackend) DeleteAuditSuppression(checkName string, resourceID map[string]any) error
- func (b *InMemoryBackend) DeleteAuthorizer(name string) error
- func (b *InMemoryBackend) DeleteBillingGroup(name string) error
- func (b *InMemoryBackend) DeleteCACertificate(id string) error
- func (b *InMemoryBackend) DeleteCertificate(certificateID string) error
- func (b *InMemoryBackend) DeleteCertificateProvider(name string) error
- func (b *InMemoryBackend) DeleteCommand(id string) error
- func (b *InMemoryBackend) DeleteCommandExecution(executionID, targetARN string) error
- func (b *InMemoryBackend) DeleteCustomMetric(name string) error
- func (b *InMemoryBackend) DeleteDimension(name string) error
- func (b *InMemoryBackend) DeleteDomainConfiguration(name string) error
- func (b *InMemoryBackend) DeleteDynamicThingGroup(name string) error
- func (b *InMemoryBackend) DeleteFleetMetric(name string) error
- func (b *InMemoryBackend) DeleteIoTPackage(name string) error
- func (b *InMemoryBackend) DeleteIoTPackageVersion(packageName, versionName string) error
- func (b *InMemoryBackend) DeleteJob(jobID string) error
- func (b *InMemoryBackend) DeleteJobExecution(jobID, thingName string, force bool) error
- func (b *InMemoryBackend) DeleteJobTemplate(id string) error
- func (b *InMemoryBackend) DeleteMitigationAction(name string) error
- func (b *InMemoryBackend) DeleteOTAUpdate(id string) error
- func (b *InMemoryBackend) DeletePolicy(policyName string) error
- func (b *InMemoryBackend) DeletePolicyVersion(policyName, versionID string) error
- func (b *InMemoryBackend) DeleteProvisioningTemplate(name string) error
- func (b *InMemoryBackend) DeleteProvisioningTemplateVersion(name string, versionID int32) error
- func (b *InMemoryBackend) DeleteRegistrationCode() error
- func (b *InMemoryBackend) DeleteRoleAlias(alias string) error
- func (b *InMemoryBackend) DeleteScheduledAudit(name string) error
- func (b *InMemoryBackend) DeleteSecurityProfile(name string) error
- func (b *InMemoryBackend) DeleteStream(id string) error
- func (b *InMemoryBackend) DeleteThing(thingName string) error
- func (b *InMemoryBackend) DeleteThingGroup(thingGroupName string) error
- func (b *InMemoryBackend) DeleteThingShadow(thingName, shadowName string) error
- func (b *InMemoryBackend) DeleteThingType(thingTypeName string) error
- func (b *InMemoryBackend) DeleteTopicRule(ruleName string) error
- func (b *InMemoryBackend) DeleteTopicRuleDestination(arn string) error
- func (b *InMemoryBackend) DeleteV2LoggingLevel(target map[string]any) error
- func (b *InMemoryBackend) DeprecateThingType(input *DeprecateThingTypeInput) error
- func (b *InMemoryBackend) DescribeAccountAuditConfiguration() *AccountAuditConfiguration
- func (b *InMemoryBackend) DescribeAuditFinding(findingID string) (*AuditFinding, error)
- func (b *InMemoryBackend) DescribeAuditMitigationActionsTask(taskID string) (*AuditMitigationTask, error)
- func (b *InMemoryBackend) DescribeAuditSuppression(checkName string, resourceID map[string]any) (*AuditSuppression, error)
- func (b *InMemoryBackend) DescribeAuditTask(taskID string) (*AuditTask, error)
- func (b *InMemoryBackend) DescribeAuthorizer(name string) (*Authorizer, error)
- func (b *InMemoryBackend) DescribeBillingGroup(name string) (*BillingGroup, error)
- func (b *InMemoryBackend) DescribeCACertificate(id string) (*CACertificate, error)
- func (b *InMemoryBackend) DescribeCertificate(certificateID string) (*Certificate, error)
- func (b *InMemoryBackend) DescribeCertificateProvider(name string) (*CertificateProvider, error)
- func (b *InMemoryBackend) DescribeCustomMetric(name string) (*CustomMetric, error)
- func (b *InMemoryBackend) DescribeDefaultAuthorizer() (string, error)
- func (b *InMemoryBackend) DescribeDetectMitigationActionsTask(taskID string) (*DetectMitigationTask, error)
- func (b *InMemoryBackend) DescribeDimension(name string) (*Dimension, error)
- func (b *InMemoryBackend) DescribeDomainConfiguration(name string) (*DomainConfiguration, error)
- func (b *InMemoryBackend) DescribeEncryptionConfiguration() *AccountEncryptionConfiguration
- func (b *InMemoryBackend) DescribeEndpoint(_ string) (*DescribeEndpointOutput, error)
- func (b *InMemoryBackend) DescribeEventConfigurations() *EventConfigurations
- func (b *InMemoryBackend) DescribeFleetMetric(name string) (*FleetMetric, error)
- func (b *InMemoryBackend) DescribeIndex(indexName string) (*IndexDescription, error)
- func (b *InMemoryBackend) DescribeJob(jobID string) (*Job, error)
- func (b *InMemoryBackend) DescribeJobExecution(jobID, thingName string) (*JobExecution, error)
- func (b *InMemoryBackend) DescribeJobTemplate(id string) (*JobTemplate, error)
- func (b *InMemoryBackend) DescribeManagedJobTemplate(templateName, templateVersion string) (*ManagedJobTemplate, error)
- func (b *InMemoryBackend) DescribeMitigationAction(name string) (*MitigationAction, error)
- func (b *InMemoryBackend) DescribeProvisioningTemplate(name string) (*ProvisioningTemplate, error)
- func (b *InMemoryBackend) DescribeProvisioningTemplateVersion(name string, versionID int32) (*ProvisioningTemplateVersion, error)
- func (b *InMemoryBackend) DescribeRoleAlias(alias string) (*RoleAlias, error)
- func (b *InMemoryBackend) DescribeScheduledAudit(name string) (*ScheduledAudit, error)
- func (b *InMemoryBackend) DescribeSecurityProfile(name string) (*SecurityProfile, error)
- func (b *InMemoryBackend) DescribeStream(id string) (*IoTStream, error)
- func (b *InMemoryBackend) DescribeThing(thingName string) (*Thing, error)
- func (b *InMemoryBackend) DescribeThingGroup(thingGroupName string) (*ThingGroup, error)
- func (b *InMemoryBackend) DescribeThingRegistrationTask(taskID string) (*ThingRegistrationTask, error)
- func (b *InMemoryBackend) DescribeThingType(thingTypeName string) (*ThingType, error)
- func (b *InMemoryBackend) DetachPolicy(input *DetachPolicyInput) error
- func (b *InMemoryBackend) DetachPrincipalPolicy(policyName, principal string) error
- func (b *InMemoryBackend) DetachSecurityProfile(profileName, targetARN string) error
- func (b *InMemoryBackend) DetachThingPrincipal(thingName, principal string) error
- func (b *InMemoryBackend) DisableTopicRule(ruleName string) error
- func (b *InMemoryBackend) DisassociateSbomFromPackageVersion(packageName, versionName string) error
- func (b *InMemoryBackend) EnableTopicRule(ruleName string) error
- func (b *InMemoryBackend) GetBehaviorModelTrainingSummaries(securityProfileName string, maxResults int32, nextToken string) ([]*BehaviorModelTrainingSummary, string, error)
- func (b *InMemoryBackend) GetBucketsAggregation(input *BucketsAggregationInput) ([]Bucket, error)
- func (b *InMemoryBackend) GetCardinality(input *AggregationInput) (int64, error)
- func (b *InMemoryBackend) GetCommand(id string) (*IoTCommand, error)
- func (b *InMemoryBackend) GetCommandExecution(commandID, executionID string) (*IoTCommandExecution, error)
- func (b *InMemoryBackend) GetDispatcher() RuleDispatcher
- func (b *InMemoryBackend) GetEffectivePolicies(thingName, principal string) []*Policy
- func (b *InMemoryBackend) GetIndexingConfiguration() *GetIndexingConfigurationOutput
- func (b *InMemoryBackend) GetIoTPackage(name string) (*IoTPackage, error)
- func (b *InMemoryBackend) GetIoTPackageVersion(packageName, versionName string) (*IoTPackageVersion, error)
- func (b *InMemoryBackend) GetJobDocument(jobID string) (string, error)
- func (b *InMemoryBackend) GetLoggingOptions() *LoggingOptions
- func (b *InMemoryBackend) GetOTAUpdate(id string) (*OTAUpdate, error)
- func (b *InMemoryBackend) GetPackageConfiguration() *PackageConfiguration
- func (b *InMemoryBackend) GetPercentiles(input *PercentilesInput) ([]PercentileValue, error)
- func (b *InMemoryBackend) GetPolicy(policyName string) (*GetPolicyOutput, error)
- func (b *InMemoryBackend) GetPolicyVersion(policyName, versionID string) (*PolicyVersion, error)
- func (b *InMemoryBackend) GetRegistrationCode() string
- func (b *InMemoryBackend) GetRules() []*TopicRule
- func (b *InMemoryBackend) GetStatistics(input *AggregationInput) (*Statistics, error)
- func (b *InMemoryBackend) GetThingConnectivityData(thingName string) (*ThingConnectivityData, error)
- func (b *InMemoryBackend) GetThingShadow(thingName, shadowName string) (*ThingShadow, error)
- func (b *InMemoryBackend) GetTopicRule(ruleName string) (*TopicRule, error)
- func (b *InMemoryBackend) GetTopicRuleDestination(arn string) (*TopicRuleDestination, error)
- func (b *InMemoryBackend) GetV2LoggingOptions() *V2LoggingOptions
- func (b *InMemoryBackend) ListActiveViolations(thingName, securityProfileName, verificationState string, ...) []*ActiveViolation
- func (b *InMemoryBackend) ListAttachedPolicies(input *ListAttachedPoliciesInput) ([]*Policy, error)
- func (b *InMemoryBackend) ListAuditFindings(filter ListAuditFindingsFilter) []*AuditFinding
- func (b *InMemoryBackend) ListAuditMitigationActionsExecutions(taskID, findingID, actionStatus string) []*AuditMitigationActionExecution
- func (b *InMemoryBackend) ListAuditMitigationActionsTasks(auditTaskID, taskStatus string) []*AuditMitigationTask
- func (b *InMemoryBackend) ListAuditSuppressions() []*AuditSuppression
- func (b *InMemoryBackend) ListAuditTasks(taskType string) []*AuditTask
- func (b *InMemoryBackend) ListAuthorizers() []*Authorizer
- func (b *InMemoryBackend) ListBillingGroups() []*BillingGroup
- func (b *InMemoryBackend) ListCACertificates() []*CACertificate
- func (b *InMemoryBackend) ListCertificateProviders() []*CertificateProvider
- func (b *InMemoryBackend) ListCertificates() []*Certificate
- func (b *InMemoryBackend) ListCertificatesByCA(caID string) []*Certificate
- func (b *InMemoryBackend) ListCommandExecutions(commandID string) []*IoTCommandExecution
- func (b *InMemoryBackend) ListCommands() []*IoTCommand
- func (b *InMemoryBackend) ListCustomMetrics() []*CustomMetric
- func (b *InMemoryBackend) ListDetectMitigationActionsExecutions(taskID, violationID, thingName string) []*DetectMitigationActionExecution
- func (b *InMemoryBackend) ListDetectMitigationActionsTasks(startTime, endTime float64) []*DetectMitigationTask
- func (b *InMemoryBackend) ListDimensions() []*Dimension
- func (b *InMemoryBackend) ListDomainConfigurations() []*DomainConfiguration
- func (b *InMemoryBackend) ListFleetMetrics() []*FleetMetric
- func (b *InMemoryBackend) ListIndices() []string
- func (b *InMemoryBackend) ListIoTPackageVersions(packageName string) []*IoTPackageVersion
- func (b *InMemoryBackend) ListIoTPackages() []*IoTPackage
- func (b *InMemoryBackend) ListJobExecutionsForJob(jobID string) []*JobExecution
- func (b *InMemoryBackend) ListJobExecutionsForThing(thingName string) []*JobExecution
- func (b *InMemoryBackend) ListJobTemplates() []*JobTemplate
- func (b *InMemoryBackend) ListJobs() []*Job
- func (b *InMemoryBackend) ListManagedJobTemplates(templateName string) []*ManagedJobTemplateSummary
- func (b *InMemoryBackend) ListMetricValues(thingName, metricName string, startTime, endTime float64, maxResults int32, ...) ([]*MetricDatapoint, string, error)
- func (b *InMemoryBackend) ListMitigationActions() []*MitigationAction
- func (b *InMemoryBackend) ListNamedShadowsForThing(thingName string) ([]string, error)
- func (b *InMemoryBackend) ListOTAUpdates() []*OTAUpdate
- func (b *InMemoryBackend) ListOutgoingCertificates() []*OutgoingCertificate
- func (b *InMemoryBackend) ListPolicies() []*Policy
- func (b *InMemoryBackend) ListPolicyPrincipals(policyName string) []string
- func (b *InMemoryBackend) ListPolicyVersions(policyName string) ([]*PolicyVersion, error)
- func (b *InMemoryBackend) ListPrincipalPolicies(principal string) []*Policy
- func (b *InMemoryBackend) ListPrincipalThings(principal string) []string
- func (b *InMemoryBackend) ListProvisioningTemplateVersions(name string) ([]*ProvisioningTemplateVersion, error)
- func (b *InMemoryBackend) ListProvisioningTemplates() []*ProvisioningTemplate
- func (b *InMemoryBackend) ListRelatedResourcesForAuditFinding(findingID string) ([]map[string]any, error)
- func (b *InMemoryBackend) ListRoleAliases() []*RoleAlias
- func (b *InMemoryBackend) ListSbomValidationResults(packageName, versionName string, maxResults int32, nextToken string) ([]*SbomValidationResult, string, error)
- func (b *InMemoryBackend) ListScheduledAudits() []*ScheduledAudit
- func (b *InMemoryBackend) ListSecurityProfiles() []*SecurityProfile
- func (b *InMemoryBackend) ListSecurityProfilesForTarget(targetARN string) []string
- func (b *InMemoryBackend) ListStreams() []*IoTStream
- func (b *InMemoryBackend) ListTagsForResource(resourceARN string) map[string]string
- func (b *InMemoryBackend) ListTargetsForPolicy(policyName string) []string
- func (b *InMemoryBackend) ListTargetsForSecurityProfile(profileName string) []string
- func (b *InMemoryBackend) ListThingGroups() []*ThingGroup
- func (b *InMemoryBackend) ListThingGroupsForThing(thingName string) []string
- func (b *InMemoryBackend) ListThingPrincipals(thingName string) ([]string, error)
- func (b *InMemoryBackend) ListThingPrincipalsV2(thingName string) ([]*ThingPrincipalObject, error)
- func (b *InMemoryBackend) ListThingRegistrationTaskReports(taskID, reportType string) ([]string, error)
- func (b *InMemoryBackend) ListThingRegistrationTasks(status string) []*ThingRegistrationTask
- func (b *InMemoryBackend) ListThingTypes() []*ThingType
- func (b *InMemoryBackend) ListThings() []*Thing
- func (b *InMemoryBackend) ListThingsInBillingGroup(groupName string) []string
- func (b *InMemoryBackend) ListThingsInThingGroup(input *ListThingsInThingGroupInput) ([]string, error)
- func (b *InMemoryBackend) ListTopicRuleDestinations() []*TopicRuleDestination
- func (b *InMemoryBackend) ListTopicRules() []*TopicRule
- func (b *InMemoryBackend) ListV2LoggingLevels() []*V2LoggingLevel
- func (b *InMemoryBackend) ListViolationEvents(thingName, securityProfileName, verificationState string, ...) []*ViolationEvent
- func (b *InMemoryBackend) MQTTPort() int
- func (b *InMemoryBackend) MitigationActionRefs(names []string) []MitigationActionRef
- func (b *InMemoryBackend) PutVerificationStateOnViolation(violationID, verificationState, description string) error
- func (b *InMemoryBackend) RegisterCACertificate(pem, status string) (*CACertificate, error)
- func (b *InMemoryBackend) RegisterCertificate(input *RegisterCertificateInput) (*Certificate, error)
- func (b *InMemoryBackend) RegisterCertificateWithoutCA(input *RegisterCertificateInput) (*Certificate, error)
- func (b *InMemoryBackend) RegisterThing(input *RegisterThingInput) (*RegisterThingOutput, error)
- func (b *InMemoryBackend) RejectCertificateTransfer(certID, rejectReason string) error
- func (b *InMemoryBackend) RemoveThingFromBillingGroup(thingName, _ string) error
- func (b *InMemoryBackend) RemoveThingFromThingGroup(input *RemoveThingFromThingGroupInput) error
- func (b *InMemoryBackend) ReplaceTopicRule(input *ReplaceTopicRuleInput) error
- func (b *InMemoryBackend) Reset()
- func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
- func (b *InMemoryBackend) RootToParentThingGroups(thingGroupName string) []GroupNameAndARN
- func (b *InMemoryBackend) SearchIndex(input *SearchIndexInput) (*SearchIndexOutput, error)
- func (b *InMemoryBackend) SecurityProfileARN(name string) string
- func (b *InMemoryBackend) SeedActiveViolation(input *SeedActiveViolationInput) (*ActiveViolation, error)
- func (b *InMemoryBackend) SeedAuditFinding(f *AuditFinding) *AuditFinding
- func (b *InMemoryBackend) SetDefaultAuthorizer(authorizerName string) error
- func (b *InMemoryBackend) SetDefaultPolicyVersion(policyName, versionID string) error
- func (b *InMemoryBackend) SetLoggingOptions(roleARN, logLevel string) error
- func (b *InMemoryBackend) SetRuleDispatcher(d RuleDispatcher)
- func (b *InMemoryBackend) SetThingConnectivityInternal(thingName string, data ThingConnectivityData)
- func (b *InMemoryBackend) SetV2LoggingLevel(target map[string]any, logLevel string) error
- func (b *InMemoryBackend) SetV2LoggingOptions(roleARN, defaultLogLevel string, disableAllLogs bool) error
- func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
- func (b *InMemoryBackend) StartAuditMitigationActionsTask(input *StartAuditMitigationActionsTaskInput) (*AuditMitigationTask, error)
- func (b *InMemoryBackend) StartDetectMitigationActionsTask(input *StartDetectMitigationActionsTaskInput) (*DetectMitigationTask, error)
- func (b *InMemoryBackend) StartOnDemandAuditTask(_ []string) (string, error)
- func (b *InMemoryBackend) StartThingRegistrationTask(input *StartThingRegistrationTaskInput) (*ThingRegistrationTask, error)
- func (b *InMemoryBackend) StopThingRegistrationTask(taskID string) error
- func (b *InMemoryBackend) TagResourceGeneric(resourceARN string, tags map[string]string) error
- func (b *InMemoryBackend) TestAuthorization(input *TestAuthorizationInput) ([]*AuthResult, error)
- func (b *InMemoryBackend) TestInvokeAuthorizer(authorizerName string, input *TestInvokeAuthorizerInput) (*TestInvokeAuthorizerOutput, error)
- func (b *InMemoryBackend) ThingARN(thingName string) string
- func (b *InMemoryBackend) TransferCertificate(certID, targetAccount, transferMessage string) error
- func (b *InMemoryBackend) UntagResource(resourceARN string, tagKeys []string) error
- func (b *InMemoryBackend) UpdateAccountAuditConfiguration(roleARN string, checks map[string]*AuditCheckConfig) error
- func (b *InMemoryBackend) UpdateAuditSuppression(checkName string, resourceID map[string]any, description string, ...) error
- func (b *InMemoryBackend) UpdateAuthorizer(name, functionARN, status string) (*Authorizer, error)
- func (b *InMemoryBackend) UpdateBillingGroup(name string, props BillingGroupProperties) (int64, error)
- func (b *InMemoryBackend) UpdateCACertificate(id, status string) error
- func (b *InMemoryBackend) UpdateCertificate(input *UpdateCertificateInput) error
- func (b *InMemoryBackend) UpdateCertificateProvider(input *UpdateCertificateProviderInput) error
- func (b *InMemoryBackend) UpdateCommand(id, displayName, description string, deprecated bool) error
- func (b *InMemoryBackend) UpdateCustomMetric(name, displayName string) (*CustomMetric, error)
- func (b *InMemoryBackend) UpdateDimension(name string, stringValues []string) (*Dimension, error)
- func (b *InMemoryBackend) UpdateDomainConfiguration(name, status string) (*DomainConfiguration, error)
- func (b *InMemoryBackend) UpdateDynamicThingGroup(input *UpdateThingGroupInput) (int64, error)
- func (b *InMemoryBackend) UpdateEncryptionConfiguration(input *UpdateEncryptionConfigurationInput) error
- func (b *InMemoryBackend) UpdateEventConfigurations(cfgs map[string]*EventConfigEntry) error
- func (b *InMemoryBackend) UpdateFleetMetric(name, queryString, description string, period int32) error
- func (b *InMemoryBackend) UpdateIndexingConfiguration(input *UpdateIndexingConfigurationInput) error
- func (b *InMemoryBackend) UpdateIoTPackage(name, description, defaultVersionName string) error
- func (b *InMemoryBackend) UpdateIoTPackageVersion(packageName, versionName, description, status string) error
- func (b *InMemoryBackend) UpdateJob(jobID, description string) error
- func (b *InMemoryBackend) UpdateMitigationAction(name, roleARN string, params map[string]any) (*MitigationAction, error)
- func (b *InMemoryBackend) UpdatePackageConfiguration(cfg map[string]any) error
- func (b *InMemoryBackend) UpdateProvisioningTemplate(name, description string, enabled *bool, provRoleARN string) error
- func (b *InMemoryBackend) UpdateRoleAlias(alias, roleARN string, credDuration int) (*RoleAlias, error)
- func (b *InMemoryBackend) UpdateScheduledAudit(name, frequency, dayOfMonth, dayOfWeek string, checks []string) (*ScheduledAudit, error)
- func (b *InMemoryBackend) UpdateSecurityProfile(input *UpdateSecurityProfileInput) (*SecurityProfile, error)
- func (b *InMemoryBackend) UpdateStream(id, description, roleARN string, files []StreamFile) (*IoTStream, error)
- func (b *InMemoryBackend) UpdateThing(input *UpdateThingInput) error
- func (b *InMemoryBackend) UpdateThingGroup(input *UpdateThingGroupInput) (int64, error)
- func (b *InMemoryBackend) UpdateThingGroupsForThing(input *UpdateThingGroupsForThingInput) error
- func (b *InMemoryBackend) UpdateThingShadow(thingName, shadowName string, state map[string]any) (*ThingShadow, error)
- func (b *InMemoryBackend) UpdateThingType(input *UpdateThingTypeInput) error
- func (b *InMemoryBackend) UpdateTopicRuleDestination(input *UpdateTopicRuleDestinationInput) error
- func (b *InMemoryBackend) ValidateSecurityProfileBehaviors(behaviors []SecurityProfileBehavior) (bool, []string)
- type IndexDescription
- type IndexingField
- type IndexingFilter
- type IoTCommand
- type IoTCommandExecution
- type IoTPackage
- type IoTPackageVersion
- type IoTStream
- type IssuerCertificateIdentifier
- type Job
- type JobExecution
- type JobExecutionStatus
- type JobExecutionStatusDetails
- type JobExecutionsRetryConfig
- type JobExecutionsRolloutConfig
- type JobProcessDetails
- type JobStatus
- type JobTemplate
- type LambdaAction
- type ListAttachedPoliciesInput
- type ListAuditFindingsFilter
- type ListThingsInThingGroupInput
- type LoggingOptions
- type MaintenanceWindow
- type ManagedJobTemplate
- type ManagedJobTemplateParameter
- type ManagedJobTemplateSummary
- type MetricDatapoint
- type MetricValueData
- type MitigationAction
- type MitigationActionRef
- type NonCompliantResource
- type OTAUpdate
- type OutgoingCertificate
- type PackageConfiguration
- type ParsedRule
- type PercentileValue
- type PercentilesInput
- type Policy
- type PolicyIdentifier
- type PolicyVersion
- type PolicyVersionIdentifier
- type PresignedURLConfig
- type Provider
- type ProvisioningTemplate
- type ProvisioningTemplateVersion
- type RegisterCertificateInput
- type RegisterThingInput
- type RegisterThingOutput
- type RemoveThingFromThingGroupInput
- type ReplaceTopicRuleInput
- type Resettable
- type ResourceIdentifier
- type RetryCriteria
- type RoleAlias
- type RuleAction
- type RuleDispatcher
- type S3Location
- type SQSAction
- type SbomDocument
- type SbomValidationResult
- type ScheduledAudit
- type SchedulingConfig
- type SearchIndexInput
- type SearchIndexOutput
- type SearchIndexThingGroupResult
- type SearchIndexThingResult
- type SecurityProfile
- type SecurityProfileAlertTarget
- type SecurityProfileBehavior
- type SecurityProfileBehaviorCriteria
- type SecurityProfileMLDetectionConfig
- type SecurityProfileMetricDimension
- type SecurityProfileMetricToRetain
- type SecurityProfileMetricValue
- type SecurityProfileMetricsExportConfig
- type SecurityProfileStatisticalThreshold
- type SeedActiveViolationInput
- type Snapshottable
- type StartAuditMitigationActionsTaskInput
- type StartDetectMitigationActionsTaskInput
- type StartThingRegistrationTaskInput
- type Statistics
- type StorageBackend
- type StreamFile
- type TaskStatisticsForAuditCheck
- type TestAuthorizationInput
- type TestInvokeAuthorizerInput
- type TestInvokeAuthorizerOutput
- type Thing
- type ThingConnectivityData
- type ThingGroup
- type ThingGroupIndexingConfiguration
- type ThingIndexingConfiguration
- type ThingPrincipalObject
- type ThingRegistrationTask
- type ThingShadow
- type ThingType
- type TimeoutConfig
- type TopicRule
- type TopicRuleDestination
- type TopicRuleDestinationConfiguration
- type TopicRulePayload
- type UpdateCertificateInput
- type UpdateCertificateProviderInput
- type UpdateEncryptionConfigurationInput
- type UpdateIndexingConfigurationInput
- type UpdateSecurityProfileInput
- type UpdateThingGroupInput
- type UpdateThingGroupsForThingInput
- type UpdateThingInput
- type UpdateThingTypeInput
- type UpdateTopicRuleDestinationInput
- type V2LoggingLevel
- type V2LoggingOptions
- type ViolationBehavior
- type ViolationEvent
- type ViolationEventAdditionalInfo
- type ViolationEventOccurrenceRange
Constants ¶
This section is empty.
Variables ¶
var ( // ErrThingNotFound is returned when a Thing does not exist. ErrThingNotFound = errors.New("thing not found") // ErrRuleNotFound is returned when a TopicRule does not exist. ErrRuleNotFound = errors.New("topic rule not found") // ErrPolicyNotFound is returned when a Policy does not exist. ErrPolicyNotFound = errors.New("policy not found") // ErrValidation is returned when an input fails validation. ErrValidation = errors.New("validation error") // ErrAlreadyExists is returned when a resource already exists. ErrAlreadyExists = errors.New("resource already exists") // ErrVersionConflict is returned when an optimistic-lock version check fails. ErrVersionConflict = errors.New("version conflict") // ErrDeleteConflict is returned when a resource cannot be deleted due to dependencies. ErrDeleteConflict = errors.New("delete conflict") // ErrIndexNotFound is returned when a fleet index does not exist. ErrIndexNotFound = errors.New("index not found") // ErrVersionsLimitExceeded is returned when a policy already has the maximum allowed versions. ErrVersionsLimitExceeded = errors.New("versions limit exceeded") // ErrShadowNotFound is returned when a Device Shadow does not exist. ErrShadowNotFound = errors.New("shadow not found") // ErrInvalidStateTransition is returned when a state-changing operation // (e.g. CancelJobExecution on an IN_PROGRESS execution without force) // is rejected because the target resource is not in a state that // permits it. ErrInvalidStateTransition = errors.New("invalid state transition") )
var ErrBrokerNotStarted = errors.New("mqtt broker not started")
ErrBrokerNotStarted is returned when a publish is attempted before the broker is started.
var ErrCannotParseFloat = errors.New("cannot parse value as float")
ErrCannotParseFloat is returned when a numeric value cannot be parsed.
var ErrCertificateNotFound = errors.New("certificate not found")
ErrCertificateNotFound is returned when a Certificate does not exist.
var ErrCertificateProviderNotFound = errors.New("certificate provider not found")
ErrCertificateProviderNotFound is returned when a CertificateProvider does not exist.
var ErrManagedJobTemplateNotFound = errors.New("managed job template not found")
ErrManagedJobTemplateNotFound is returned when a managed job template does not exist.
var ErrNilAppContext = errors.New("AppContext is required")
ErrNilAppContext is returned by Init when appCtx is nil.
var ErrPolicyVersionNotFound = errors.New("policy version not found")
ErrPolicyVersionNotFound is returned when a PolicyVersion does not exist.
var ErrRegistrationTaskNotFound = errors.New("thing registration task not found")
ErrRegistrationTaskNotFound is returned when a bulk thing registration task does not exist.
var ErrResourceNotFound = errors.New("ResourceNotFoundException")
ErrResourceNotFound is returned when a new-op resource is not found.
var ErrThingGroupNotFound = errors.New("thing group not found")
ErrThingGroupNotFound is returned when a ThingGroup does not exist.
var ErrThingTypeNotFound = errors.New("thing type not found")
ErrThingTypeNotFound is returned when a ThingType does not exist.
var ErrTopicRuleDestinationNotFound = errors.New("topic rule destination not found")
ErrTopicRuleDestinationNotFound is returned when a TopicRuleDestination does not exist.
Functions ¶
func EvaluateRule ¶
EvaluateRule reports whether the given topic and payload satisfy the rule's SQL predicate.
func MatchesTopic ¶
MatchesTopic reports whether the MQTT topic matches the given pattern. Wildcard semantics:
- # matches zero or more levels (must be the last segment)
- + matches exactly one level
Types ¶
type AbortConfig ¶
type AbortConfig struct {
CriteriaList []AbortCriteria `json:"criteriaList,omitempty"`
}
AbortConfig holds abort criteria for a job.
type AbortCriteria ¶
type AbortCriteria struct {
Action string `json:"action,omitempty"`
FailureType string `json:"failureType,omitempty"`
MinNumberOfExecutedThings int `json:"minNumberOfExecutedThings,omitempty"`
ThresholdPercentage float64 `json:"thresholdPercentage,omitempty"`
}
AbortCriteria is a single abort criterion.
type AcceptCertificateTransferInput ¶
AcceptCertificateTransferInput is the input for AcceptCertificateTransfer.
type AccountAuditConfiguration ¶
type AccountAuditConfiguration struct {
AuditCheckConfigurations map[string]*AuditCheckConfig `json:"auditCheckConfigurations,omitempty"`
AuditNotificationTarget any `json:"auditNotificationTargetConfigurations,omitempty"`
RoleARN string `json:"roleArn,omitempty"`
}
AccountAuditConfiguration holds the account-level audit configuration.
type AccountEncryptionConfiguration ¶
type AccountEncryptionConfiguration struct {
ConfigurationDetails *EncryptionConfigurationDetails `json:"configurationDetails,omitempty"`
EncryptionType string `json:"encryptionType"`
KMSKeyARN string `json:"kmsKeyArn,omitempty"`
KMSAccessRoleARN string `json:"kmsAccessRoleArn,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
AccountEncryptionConfiguration represents the account-wide encryption configuration for data at rest.
type ActiveViolation ¶
type ActiveViolation struct {
Behavior *ViolationBehavior `json:"behavior,omitempty"`
LastViolationValue map[string]any `json:"lastViolationValue,omitempty"`
ViolationEventAdditionalInfo *ViolationEventAdditionalInfo `json:"violationEventAdditionalInfo,omitempty"`
ViolationID string `json:"violationId"`
ThingName string `json:"thingName"`
SecurityProfileName string `json:"securityProfileName"`
VerificationState string `json:"verificationState,omitempty"`
VerificationStateDescription string `json:"verificationStateDescription,omitempty"`
ViolationStartTime float64 `json:"violationStartTime,omitempty"`
LastViolationTime float64 `json:"lastViolationTime,omitempty"`
Suppressed bool `json:"-"`
}
ActiveViolation represents a currently active Device Defender Detect violation of a security-profile behavior by a thing.
Field-diffed against types.ActiveViolation in v1.76.0: LastViolationTime and ViolationEventAdditionalInfo were both entirely missing (only ViolationStartTime was modeled, but real AWS distinguishes "when the violation started" from "when the most recent violation occurred" -- the latter updates on every subsequent detection of the same ongoing violation); both now modeled. Suppressed is internal-only (json:"-"): real AWS has no "suppressed" field on ActiveViolation itself -- ListActiveViolationsInput's listSuppressedAlerts filters on whether the *behavior* that raised the violation has SuppressAlerts configured (a security-profile-level setting), which this backend does not persist at all (CreateSecurityProfile doesn't store Behaviors currently -- a separate, larger gap in the security_profiles family, out of scope here). Modeling suppression as a directly-seedable flag (mirroring AuditFinding.IsSuppressed's identical simplification elsewhere in this same service) is what makes listSuppressedAlerts filtering honestly implementable without first building out that unrelated subsystem.
type AddThingToBillingGroupInput ¶
type AddThingToBillingGroupInput struct {
BillingGroupName string `json:"billingGroupName"`
BillingGroupArn string `json:"billingGroupArn"`
ThingName string `json:"thingName"`
ThingArn string `json:"thingArn"`
}
AddThingToBillingGroupInput is the input for AddThingToBillingGroup.
type AddThingToThingGroupInput ¶
type AddThingToThingGroupInput struct {
ThingGroupName string `json:"thingGroupName"`
ThingGroupArn string `json:"thingGroupArn"`
ThingName string `json:"thingName"`
ThingArn string `json:"thingArn"`
OverrideDynamicGroups bool `json:"overrideDynamicGroups"`
}
AddThingToThingGroupInput is the input for AddThingToThingGroup.
type AggregationInput ¶
AggregationInput carries the inputs shared by GetCardinality, GetStatistics, GetPercentiles and GetBucketsAggregation.
type AssociateSbomWithPackageVersionInput ¶
type AssociateSbomWithPackageVersionInput struct {
Sbom *SbomDocument `json:"sbom"`
PackageName string `json:"packageName"`
VersionName string `json:"versionName"`
}
AssociateSbomWithPackageVersionInput is the input for AssociateSbomWithPackageVersion.
type AssociateSbomWithPackageVersionOutput ¶
type AssociateSbomWithPackageVersionOutput struct {
PackageName string `json:"packageName"`
VersionName string `json:"versionName"`
Sbom *SbomDocument `json:"sbom,omitempty"`
SbomValidationStatus string `json:"sbomValidationStatus,omitempty"`
}
AssociateSbomWithPackageVersionOutput is the output for AssociateSbomWithPackageVersion.
type AssociateTargetsWithJobInput ¶
type AssociateTargetsWithJobInput struct {
JobID string `json:"jobId"`
Comment string `json:"comment"`
NamespaceID string `json:"namespaceId"`
Targets []string `json:"targets"`
}
AssociateTargetsWithJobInput is the input for AssociateTargetsWithJob.
type AssociateTargetsWithJobOutput ¶
type AssociateTargetsWithJobOutput struct {
JobID string `json:"jobId"`
JobArn string `json:"jobArn"`
Description string `json:"description"`
}
AssociateTargetsWithJobOutput is the output for AssociateTargetsWithJob.
type AttachPolicyInput ¶
type AttachPolicyInput struct {
PolicyName string `json:"policyName"`
Target string `json:"target"`
}
AttachPolicyInput is the input for AttachPolicy.
type AttachPrincipalPolicyInput ¶
AttachPrincipalPolicyInput is the input for AttachPrincipalPolicy.
type AttachSecurityProfileInput ¶
type AttachSecurityProfileInput struct {
SecurityProfileName string
SecurityProfileTargetArn string `json:"securityProfileTargetArn"`
}
AttachSecurityProfileInput is the input for AttachSecurityProfile.
type AttachThingPrincipalInput ¶
type AttachThingPrincipalInput struct {
ThingName string
Principal string `json:"principal"`
ThingPrincipalType string `json:"thingPrincipalType"`
}
AttachThingPrincipalInput is the input for AttachThingPrincipal.
type AttributePayload ¶
type AttributePayload struct {
Attributes map[string]string `json:"attributes"`
// Merge controls whether attributes are merged (true, default) or replaced (false).
Merge *bool `json:"merge,omitempty"`
}
AttributePayload holds thing attributes.
type AuditCheckConfig ¶
type AuditCheckConfig struct {
Enabled bool `json:"enabled"`
}
AuditCheckConfig holds config for a single audit check.
type AuditFinding ¶
type AuditFinding struct {
NonCompliantResource *NonCompliantResource `json:"nonCompliantResource,omitempty"`
FindingID string `json:"findingId"`
TaskID string `json:"taskId,omitempty"`
CheckName string `json:"checkName"`
Severity string `json:"severity"`
ReasonForNonCompliance string `json:"reasonForNonCompliance,omitempty"`
ReasonForNonComplianceCode string `json:"reasonForNonComplianceCode,omitempty"`
RelatedResources []map[string]any `json:"relatedResources,omitempty"`
FindingTime float64 `json:"findingTime,omitempty"`
TaskStartTime float64 `json:"taskStartTime,omitempty"`
IsSuppressed bool `json:"isSuppressed,omitempty"`
}
AuditFinding represents an AWS IoT audit finding.
type AuditMitigationActionExecution ¶
type AuditMitigationActionExecution struct {
TaskID string `json:"taskId"`
FindingID string `json:"findingId"`
ActionName string `json:"actionName"`
ActionID string `json:"actionId,omitempty"`
Status string `json:"status"`
ErrorCode string `json:"errorCode,omitempty"`
Message string `json:"message,omitempty"`
StartTime float64 `json:"startTime,omitempty"`
EndTime float64 `json:"endTime,omitempty"`
}
AuditMitigationActionExecution represents one mitigation action applied (or to be applied) to one audit finding as part of an AuditMitigationTask.
type AuditMitigationActionsTaskTarget ¶
type AuditMitigationActionsTaskTarget struct {
AuditCheckToReasonCodeFilter map[string][]string `json:"auditCheckToReasonCodeFilter,omitempty"`
AuditTaskID string `json:"auditTaskId,omitempty"`
FindingIDs []string `json:"findingIds,omitempty"`
}
AuditMitigationActionsTaskTarget identifies the audit findings that a StartAuditMitigationActionsTask task's mitigation actions are applied to.
type AuditMitigationTask ¶
type AuditMitigationTask struct {
Target *AuditMitigationActionsTaskTarget `json:"target,omitempty"`
AuditCheckToActionsMapping map[string][]string `json:"auditCheckToActionsMapping,omitempty"`
TaskStatistics map[string]*TaskStatisticsForAuditCheck `json:"taskStatistics,omitempty"`
TaskID string `json:"taskId"`
TaskStatus string `json:"taskStatus"`
StartTime float64 `json:"startTime,omitempty"`
EndTime float64 `json:"endTime,omitempty"`
}
AuditMitigationTask represents a task started by StartAuditMitigationActionsTask.
type AuditSuppression ¶
type AuditSuppression struct {
ResourceIdentifier map[string]any `json:"resourceIdentifier"`
CheckName string `json:"checkName"`
Description string `json:"description,omitempty"`
ExpirationDate float64 `json:"expirationDate,omitempty"`
SuppressIndefinitely bool `json:"suppressIndefinitely"`
}
AuditSuppression represents an AWS IoT audit suppression.
type AuditTask ¶
type AuditTask struct {
TaskID string `json:"taskId"`
TaskStatus string `json:"taskStatus"`
TaskType string `json:"taskType"`
ScheduledAuditName string `json:"scheduledAuditName,omitempty"`
TaskStartTime float64 `json:"taskStartTime,omitempty"`
}
AuditTask represents an IoT audit task.
type AuthDecisionPolicies ¶
type AuthDecisionPolicies struct {
Policies []PolicyIdentifier `json:"policies,omitempty"`
}
AuthDecisionPolicies is the set of policies backing an allow/deny decision.
type AuthInfo ¶
type AuthInfo struct {
ActionType string `json:"actionType,omitempty"`
Resources []string `json:"resources"`
}
AuthInfo describes one action/resources pair to evaluate authorization for.
type AuthResult ¶
type AuthResult struct {
AuthInfo *AuthInfo `json:"authInfo,omitempty"`
Allowed *AuthDecisionPolicies `json:"allowed,omitempty"`
Denied *AuthDecisionPolicies `json:"denied,omitempty"`
AuthDecision string `json:"authDecision"`
}
AuthResult is the per-authInfo evaluation result of TestAuthorization.
type Authorizer ¶
type Authorizer struct {
Tags map[string]string `json:"tags,omitempty"`
TokenSigningPublicKeys map[string]string `json:"tokenSigningPublicKeys,omitempty"`
AuthorizerName string `json:"authorizerName"`
AuthorizerARN string `json:"authorizerArn"`
AuthorizerFunctionARN string `json:"authorizerFunctionArn,omitempty"`
TokenKeyName string `json:"tokenKeyName,omitempty"`
Status string `json:"status"`
SigningDisabled bool `json:"signingDisabled"`
EnableCachingForHTTP bool `json:"enableCachingForHttp"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
Authorizer represents an IoT authorizer.
type BehaviorModelTrainingSummary ¶
type BehaviorModelTrainingSummary struct {
SecurityProfileName string `json:"securityProfileName"`
BehaviorName string `json:"behaviorName"`
ModelStatus string `json:"modelStatus,omitempty"`
DatapointsCollectionPercentage float64 `json:"datapointsCollectionPercentage,omitempty"`
LastModelRefreshDate float64 `json:"lastModelRefreshDate,omitempty"`
TrainingDataCollectionStartDate float64 `json:"trainingDataCollectionStartDate,omitempty"`
}
BehaviorModelTrainingSummary reports ML Detect model-training progress for one behavior of a security profile.
type BillingGroup ¶
type BillingGroup struct {
Tags map[string]string `json:"tags,omitempty"`
BillingGroupName string `json:"billingGroupName"`
BillingGroupARN string `json:"billingGroupArn"`
BillingGroupID string `json:"billingGroupId"`
BillingGroupProperties BillingGroupProperties `json:"billingGroupProperties,omitzero"`
BillingGroupMetadata BillingGroupMetadata `json:"billingGroupMetadata,omitzero"`
Version int64 `json:"version"`
}
BillingGroup represents an IoT billing group.
type BillingGroupMetadata ¶
type BillingGroupMetadata struct {
CreationDate float64 `json:"creationDate,omitempty"`
}
BillingGroupMetadata holds metadata for a billing group.
type BillingGroupProperties ¶
type BillingGroupProperties struct {
BillingGroupDescription string `json:"billingGroupDescription,omitempty"`
}
BillingGroupProperties holds description for a billing group.
type Broker ¶
type Broker struct {
// contains filtered or unexported fields
}
Broker wraps a mochi-mqtt server to provide the IoT MQTT endpoint.
func NewBroker ¶
func NewBroker(backend *InMemoryBackend, port int) *Broker
NewBroker creates a new Broker using the given backend and port.
func (*Broker) ClientSubscriptions ¶ added in v1.2.0
ClientSubscriptions implements iotdataplane.MQTTPublisher. It reads the live per-client subscription state mochi-mqtt tracks in Client.State.Subscriptions -- the only place gopherstack has real MQTT subscription data, since no other service parses SUBSCRIBE packets. Returns (nil, false) when the broker hasn't started, or has no live client with the given ID; a connected client with zero subscriptions returns a non-nil empty map and true.
func (*Broker) Publish ¶
Publish delivers a message directly to the broker (used by the IoT Data Plane).
func (*Broker) Run ¶ added in v1.2.0
Run implements worker.Runner, adapting Start's blocking-with-error shape to the fire-and-forget Runner contract used by worker.SingleRun so Handler.Shutdown can deterministically drain the broker goroutine.
func (*Broker) SendToClient ¶ added in v1.2.0
SendToClient implements iotdataplane.MQTTPublisher. It writes a PUBLISH packet straight to clientID's live connection via Client.WritePacket, bypassing topic subscription matching entirely -- mirroring real AWS SendDirectMessage's documented "the receiving client does not need to subscribe to the topic" semantics. Returns ok=false (no error) when the broker hasn't started or has no live client with that ID: nothing was sent, and the caller decides how to degrade.
type Bucket ¶
Bucket is a single term bucket with its match count, returned by GetBucketsAggregation.
type BucketsAggregationInput ¶
type BucketsAggregationInput struct {
AggregationInput
MaxBuckets int32
}
BucketsAggregationInput is the input for GetBucketsAggregation.
type CACertificate ¶
type CACertificate struct {
CertificateARN string `json:"certificateArn"`
CertificateID string `json:"certificateId"`
Status string `json:"status"`
CertificatePem string `json:"certificatePem,omitempty"`
OwnedBy string `json:"ownedBy,omitempty"`
AutoRegistration string `json:"autoRegistrationStatus,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
CACertificate represents an IoT CA certificate.
type CancelAuditMitigationActionsTaskInput ¶
type CancelAuditMitigationActionsTaskInput struct {
TaskID string
}
CancelAuditMitigationActionsTaskInput is the input for CancelAuditMitigationActionsTask.
type CancelAuditTaskInput ¶
type CancelAuditTaskInput struct {
AuditTaskID string
}
CancelAuditTaskInput is the input for CancelAuditTask.
type CancelJobExecutionOptions ¶ added in v1.2.0
type CancelJobExecutionOptions struct {
StatusDetails map[string]string
Force bool
ExpectedVersion int64 // 0 means "not specified"
}
CancelJobExecutionOptions carries CancelJobExecution's optional fields, matching real CancelJobExecutionInput's force/statusDetails/ expectedVersion members.
type Certificate ¶
type Certificate struct {
CreatedAt time.Time `json:"createdAt"`
LastModifiedAt time.Time `json:"lastModifiedDate"`
ValidityNotBefore time.Time `json:"validityNotBefore"`
ValidityNotAfter time.Time `json:"validityNotAfter"`
TransferDate time.Time `json:"transferDate"`
TransferAcceptDate time.Time `json:"transferAcceptDate"`
TransferRejectDate time.Time `json:"transferRejectDate"`
CertificateID string `json:"certificateId"`
CACertificateID string `json:"caCertificateId,omitempty"`
ARN string `json:"certificateArn"`
Status string `json:"status"`
PEM string `json:"certificatePem"`
OwnedBy string `json:"ownedBy,omitempty"`
PreviousOwnedBy string `json:"previousOwnedBy,omitempty"`
GenerationID string `json:"generationId,omitempty"`
CertificateMode string `json:"certificateMode,omitempty"`
TransferredTo string `json:"transferredTo,omitempty"`
TransferMessage string `json:"transferMessage,omitempty"`
TransferRejectReason string `json:"transferRejectReason,omitempty"`
CustomerVersion int32 `json:"customerVersion,omitempty"`
}
Certificate represents an AWS IoT Certificate.
The Owned/PreviousOwnedBy/Transfer* fields model the cross-account transfer lifecycle (TransferCertificate/AcceptCertificateTransfer/ CancelCertificateTransfer/RejectCertificateTransfer) so DescribeCertificate can surface real ownedBy/previousOwnedBy/transferData, matching the real CertificateDescription shape instead of only tracking pending transfers in a side map.
type CertificateProvider ¶
type CertificateProvider struct {
CreatedAt time.Time `json:"creationDate"`
LastModifiedAt time.Time `json:"lastModifiedDate"`
CertificateProviderName string `json:"certificateProviderName"`
ARN string `json:"certificateProviderArn"`
LambdaFunctionARN string `json:"lambdaFunctionArn"`
AccountDefaultForOperations []string `json:"accountDefaultForOperations"`
}
CertificateProvider represents an AWS IoT Certificate Provider.
type CreateAuthorizerInput ¶
type CreateAuthorizerInput struct {
Tags map[string]string `json:"tags,omitempty"`
TokenSigningPublicKeys map[string]string `json:"tokenSigningPublicKeys,omitempty"`
AuthorizerName string `json:"authorizerName"`
AuthorizerFunctionARN string `json:"authorizerFunctionArn,omitempty"`
TokenKeyName string `json:"tokenKeyName,omitempty"`
Status string `json:"status,omitempty"`
SigningDisabled bool `json:"signingDisabled"`
EnableCachingForHTTP bool `json:"enableCachingForHttp"`
}
CreateAuthorizerInput holds input for CreateAuthorizer.
type CreateBillingGroupInput ¶
type CreateBillingGroupInput struct {
Tags map[string]string `json:"tags,omitempty"`
BillingGroupName string `json:"billingGroupName"`
BillingGroupProperties BillingGroupProperties `json:"billingGroupProperties,omitzero"`
}
CreateBillingGroupInput holds input for CreateBillingGroup.
type CreateCertificateFromCsrInput ¶
CreateCertificateFromCsrInput is the input for CreateCertificateFromCsr.
type CreateCertificateProviderInput ¶
type CreateCertificateProviderInput struct {
CertificateProviderName string
LambdaFunctionARN string
AccountDefaultForOperations []string
}
CreateCertificateProviderInput is the input for CreateCertificateProvider.
type CreateCustomMetricInput ¶
type CreateCustomMetricInput struct {
Tags map[string]string `json:"tags,omitempty"`
MetricName string `json:"metricName"`
MetricType string `json:"metricType"`
DisplayName string `json:"displayName,omitempty"`
ClientRequestToken string `json:"clientRequestToken,omitempty"`
}
CreateCustomMetricInput holds input for CreateCustomMetric.
type CreateDimensionInput ¶
type CreateDimensionInput struct {
Tags map[string]string `json:"tags,omitempty"`
Name string `json:"name"`
Type string `json:"type"`
ClientRequestToken string `json:"clientRequestToken,omitempty"`
StringValues []string `json:"stringValues"`
}
CreateDimensionInput holds input for CreateDimension.
type CreateDomainConfigurationInput ¶
type CreateDomainConfigurationInput struct {
Tags map[string]string `json:"tags,omitempty"`
DomainConfigurationName string `json:"domainConfigurationName"`
DomainName string `json:"domainName,omitempty"`
ServiceType string `json:"serviceType,omitempty"`
}
CreateDomainConfigurationInput holds input for CreateDomainConfiguration.
type CreateFleetMetricInput ¶
type CreateFleetMetricInput struct {
Tags map[string]string `json:"tags,omitempty"`
MetricName string `json:"metricName"`
QueryString string `json:"queryString,omitempty"`
IndexName string `json:"indexName,omitempty"`
QueryVersion string `json:"queryVersion,omitempty"`
Description string `json:"description,omitempty"`
Unit string `json:"unit,omitempty"`
Period int32 `json:"period,omitempty"`
}
CreateFleetMetricInput holds input for CreateFleetMetric.
type CreateJobInput ¶
type CreateJobInput struct {
Tags map[string]string `json:"tags,omitempty"`
DocumentParameters map[string]string `json:"documentParameters,omitempty"`
AbortConfig *AbortConfig `json:"abortConfig,omitempty"`
JobExecutionsRolloutConfig *JobExecutionsRolloutConfig `json:"jobExecutionsRolloutConfig,omitempty"`
TimeoutConfig *TimeoutConfig `json:"timeoutConfig,omitempty"`
JobExecutionsRetryConfig *JobExecutionsRetryConfig `json:"jobExecutionsRetryConfig,omitempty"`
PresignedURLConfig *PresignedURLConfig `json:"presignedUrlConfig,omitempty"`
SchedulingConfig *SchedulingConfig `json:"schedulingConfig,omitempty"`
DestinationPackageVersions []string `json:"destinationPackageVersions,omitempty"`
JobID string `json:"jobId"`
Description string `json:"description,omitempty"`
Document string `json:"document,omitempty"`
DocumentSource string `json:"documentSource,omitempty"`
JobTemplateARN string `json:"jobTemplateArn,omitempty"`
TargetSelection string `json:"targetSelection,omitempty"`
Targets []string `json:"targets"`
}
CreateJobInput holds input for CreateJob.
type CreateJobTemplateInput ¶
type CreateJobTemplateInput struct {
Tags map[string]string `json:"tags,omitempty"`
AbortConfig *AbortConfig `json:"abortConfig,omitempty"`
JobExecutionsRolloutConfig *JobExecutionsRolloutConfig `json:"jobExecutionsRolloutConfig,omitempty"`
TimeoutConfig *TimeoutConfig `json:"timeoutConfig,omitempty"`
JobExecutionsRetryConfig *JobExecutionsRetryConfig `json:"jobExecutionsRetryConfig,omitempty"`
PresignedURLConfig *PresignedURLConfig `json:"presignedUrlConfig,omitempty"`
Description string `json:"description,omitempty"`
JobTemplateID string `json:"jobTemplateId"`
Document string `json:"document,omitempty"`
DocumentSource string `json:"documentSource,omitempty"`
JobARN string `json:"jobArn,omitempty"`
MaintenanceWindows []MaintenanceWindow `json:"maintenanceWindows,omitempty"`
DestinationPackageVersions []string `json:"destinationPackageVersions,omitempty"`
}
CreateJobTemplateInput holds input for CreateJobTemplate.
type CreateMitigationActionInput ¶
type CreateMitigationActionInput struct {
Tags map[string]string `json:"tags,omitempty"`
ActionParams map[string]any `json:"actionParams,omitempty"`
ActionName string `json:"actionName"`
RoleARN string `json:"roleArn,omitempty"`
}
CreateMitigationActionInput holds input for CreateMitigationAction.
type CreatePolicyInput ¶
CreatePolicyInput is the input for CreatePolicy.
type CreatePolicyOutput ¶
type CreatePolicyOutput struct {
PolicyName string
PolicyARN string
PolicyDocument string
PolicyVersionID string
}
CreatePolicyOutput is the output for CreatePolicy.
type CreatePolicyVersionInput ¶
CreatePolicyVersionInput is the input for CreatePolicyVersion.
type CreateProvisioningTemplateInput ¶
type CreateProvisioningTemplateInput struct {
Tags map[string]string `json:"tags,omitempty"`
TemplateName string `json:"templateName"`
Description string `json:"description,omitempty"`
TemplateBody string `json:"templateBody,omitempty"`
ProvisioningRoleARN string `json:"provisioningRoleArn,omitempty"`
Type string `json:"type,omitempty"`
Enabled bool `json:"enabled"`
}
CreateProvisioningTemplateInput holds input for CreateProvisioningTemplate.
type CreateRoleAliasInput ¶
type CreateRoleAliasInput struct {
Tags map[string]string `json:"tags,omitempty"`
RoleAlias string `json:"roleAlias"`
RoleARN string `json:"roleArn"`
CredentialDurationSeconds int `json:"credentialDurationSeconds,omitempty"`
}
CreateRoleAliasInput holds input for CreateRoleAlias.
type CreateScheduledAuditInput ¶
type CreateScheduledAuditInput struct {
Tags map[string]string `json:"tags,omitempty"`
ScheduledAuditName string `json:"scheduledAuditName"`
Frequency string `json:"frequency"`
DayOfMonth string `json:"dayOfMonth,omitempty"`
DayOfWeek string `json:"dayOfWeek,omitempty"`
TargetCheckNames []string `json:"targetCheckNames,omitempty"`
}
CreateScheduledAuditInput holds input for CreateScheduledAudit.
type CreateSecurityProfileInput ¶
type CreateSecurityProfileInput struct {
Tags map[string]string `json:"tags,omitempty"`
AlertTargets map[string]SecurityProfileAlertTarget `json:"alertTargets,omitempty"`
MetricsExportConfig *SecurityProfileMetricsExportConfig `json:"metricsExportConfig,omitempty"`
SecurityProfileName string `json:"securityProfileName"`
SecurityProfileDescription string `json:"securityProfileDescription,omitempty"`
Behaviors []SecurityProfileBehavior `json:"behaviors,omitempty"`
AdditionalMetricsToRetain []string `json:"additionalMetricsToRetain,omitempty"`
AdditionalMetricsToRetainV2 []SecurityProfileMetricToRetain `json:"additionalMetricsToRetainV2,omitempty"`
}
CreateSecurityProfileInput holds input for CreateSecurityProfile.
Field-diffed against types.CreateSecurityProfileInput (v1.76.0): Behaviors/ AlertTargets/AdditionalMetricsToRetain/AdditionalMetricsToRetainV2/ MetricsExportConfig are now modeled and wired through to the stored SecurityProfile (previously silently dropped -- see SecurityProfile's own doc comment).
type CreateStreamInput ¶
type CreateStreamInput struct {
Tags map[string]string `json:"tags,omitempty"`
StreamID string `json:"streamId"`
Description string `json:"description,omitempty"`
RoleARN string `json:"roleArn,omitempty"`
Files []StreamFile `json:"files"`
}
CreateStreamInput holds input for CreateStream.
type CreateThingGroupInput ¶
type CreateThingGroupInput struct {
Attributes map[string]string
ThingGroupName string
ParentGroupName string
Description string
QueryString string
}
CreateThingGroupInput is the input for CreateThingGroup.
type CreateThingInput ¶
type CreateThingInput struct {
AttributePayload *AttributePayload
ThingName string
ThingTypeName string
BillingGroupName string
}
CreateThingInput is the input for CreateThing.
type CreateThingOutput ¶
CreateThingOutput is the output for CreateThing.
type CreateThingTypeInput ¶
type CreateThingTypeInput struct {
ThingTypeName string
Description string
SearchableAttributes []string
}
CreateThingTypeInput is the input for CreateThingType.
type CreateTopicRuleDestinationInput ¶
type CreateTopicRuleDestinationInput struct {
DestinationConfiguration *TopicRuleDestinationConfiguration
}
CreateTopicRuleDestinationInput is the input for CreateTopicRuleDestination.
type CreateTopicRuleInput ¶
type CreateTopicRuleInput struct {
TopicRulePayload *TopicRulePayload
RuleName string
}
CreateTopicRuleInput is the input for CreateTopicRule.
type CustomMetric ¶
type CustomMetric struct {
Tags map[string]string `json:"tags,omitempty"`
MetricName string `json:"metricName"`
MetricARN string `json:"metricArn"`
MetricType string `json:"metricType"`
DisplayName string `json:"displayName,omitempty"`
Version int64 `json:"version"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
CustomMetric represents an IoT custom metric.
type DeprecateThingTypeInput ¶
DeprecateThingTypeInput is the input for DeprecateThingType.
type DescribeEndpointOutput ¶
type DescribeEndpointOutput struct {
EndpointAddress string
}
DescribeEndpointOutput is the output for DescribeEndpoint.
type DetachPolicyInput ¶
type DetachPolicyInput struct {
PolicyName string `json:"policyName"`
Target string `json:"target"`
}
DetachPolicyInput is the input for DetachPolicy.
type DetectMitigationActionExecution ¶
type DetectMitigationActionExecution struct {
TaskID string `json:"taskId"`
ViolationID string `json:"violationId"`
ActionName string `json:"actionName"`
ThingName string `json:"thingName,omitempty"`
Status string `json:"status"`
ErrorCode string `json:"errorCode,omitempty"`
Message string `json:"message,omitempty"`
ExecutionStartDate float64 `json:"executionStartDate,omitempty"`
ExecutionEndDate float64 `json:"executionEndDate,omitempty"`
}
DetectMitigationActionExecution represents one mitigation action applied (or to be applied) to one violation as part of a DetectMitigationTask.
ExecutionStartDate/ExecutionEndDate were field-diffed against types.DetectMitigationActionExecution (awsRestjson1_deserializeDocumentDetectMitigationActionExecution in v1.76.0) and found to be wire-keyed "executionStartTime"/ "executionEndTime" -- the real fields are "executionStartDate"/ "executionEndDate". A real client's deserializer would never have found either key and left both fields permanently unset. Fixed.
type DetectMitigationActionsTaskTarget ¶
type DetectMitigationActionsTaskTarget struct {
SecurityProfileName string `json:"securityProfileName,omitempty"`
BehaviorName string `json:"behaviorName,omitempty"`
ViolationIDs []string `json:"violationIds,omitempty"`
}
DetectMitigationActionsTaskTarget identifies the ML Detect violations that a StartDetectMitigationActionsTask task's actions are applied to.
type DetectMitigationTask ¶
type DetectMitigationTask struct {
Target *DetectMitigationActionsTaskTarget `json:"target,omitempty"`
TaskStatistics *DetectMitigationTaskStatistics `json:"taskStatistics,omitempty"`
ViolationEventOccurrenceRange *ViolationEventOccurrenceRange `json:"violationEventOccurrenceRange,omitempty"`
TaskID string `json:"taskId"`
TaskStatus string `json:"taskStatus"`
Actions []string `json:"-"`
StartTime float64 `json:"taskStartTime,omitempty"`
EndTime float64 `json:"taskEndTime,omitempty"`
OnlyActiveViolationsIncluded bool `json:"onlyActiveViolationsIncluded"`
SuppressedAlertsIncluded bool `json:"suppressedAlertsIncluded"`
}
DetectMitigationTask represents a task started by StartDetectMitigationActionsTask.
Actions is internal-only storage (json:"-"): real AWS's DetectMitigationActionsTaskSummary (confirmed against v1.76.0) has no "actions" field at all -- the wire field is "actionsDefinition", a list of full MitigationAction objects, not action names. Wire-response builders (handler_devicedefender.go's detectMitigationTaskSummaryWire) resolve Actions to their MitigationActionRef shape via InMemoryBackend.MitigationActionRefs rather than ever serializing this struct directly. ViolationEventOccurrenceRange keeps a normal json tag (unlike Actions) since it needs no such backend-lookup transformation -- it round-trips as-is, both to the HTTP response and through this table's Snapshot/Restore (which marshals the struct directly; a json:"-" field would silently be dropped across a snapshot/restore cycle).
type DetectMitigationTaskStatistics ¶
type DetectMitigationTaskStatistics struct {
ActionsExecuted int64 `json:"actionsExecuted"`
ActionsSkipped int64 `json:"actionsSkipped"`
ActionsFailed int64 `json:"actionsFailed"`
}
DetectMitigationTaskStatistics aggregates the mitigation-action execution counts for a DetectMitigationTask.
type Dimension ¶
type Dimension struct {
Tags map[string]string `json:"tags,omitempty"`
Name string `json:"name"`
ARN string `json:"arn"`
Type string `json:"type"`
StringValues []string `json:"stringValues,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
Dimension represents an IoT dimension.
type DisableTopicRuleInput ¶
type DisableTopicRuleInput struct {
RuleName string
}
DisableTopicRuleInput is the input for DisableTopicRule.
type DomainConfiguration ¶
type DomainConfiguration struct {
Tags map[string]string `json:"tags,omitempty"`
DomainConfigurationName string `json:"domainConfigurationName"`
DomainConfigurationARN string `json:"domainConfigurationArn"`
DomainName string `json:"domainName,omitempty"`
ServiceType string `json:"serviceType,omitempty"`
DomainConfigurationStatus string `json:"domainConfigurationStatus"`
DomainType string `json:"domainType,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
DomainConfiguration represents an IoT domain configuration.
type EnableTopicRuleInput ¶
type EnableTopicRuleInput struct {
RuleName string
}
EnableTopicRuleInput is the input for EnableTopicRule.
type EncryptionConfigurationDetails ¶
type EncryptionConfigurationDetails struct {
ConfigurationStatus string `json:"configurationStatus"`
ErrorCode string `json:"errorCode,omitempty"`
ErrorMessage string `json:"errorMessage,omitempty"`
}
EncryptionConfigurationDetails describes the health of the KMS key/role backing a customer-managed encryption configuration.
type EventConfigEntry ¶
type EventConfigEntry struct {
Enabled bool `json:"Enabled"`
}
EventConfigEntry holds the enabled flag for an event type.
type EventConfigurations ¶
type EventConfigurations struct {
EventConfigurations map[string]*EventConfigEntry `json:"eventConfigurations"`
}
EventConfigurations holds the IoT event configurations.
type FleetMetric ¶
type FleetMetric struct {
Tags map[string]string `json:"tags,omitempty"`
MetricName string `json:"metricName"`
MetricARN string `json:"metricArn"`
QueryString string `json:"queryString,omitempty"`
IndexName string `json:"indexName,omitempty"`
QueryVersion string `json:"queryVersion,omitempty"`
Description string `json:"description,omitempty"`
Unit string `json:"unit,omitempty"`
Period int32 `json:"period,omitempty"`
Version int64 `json:"version"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModified float64 `json:"lastModifiedDate,omitempty"`
}
FleetMetric represents an IoT fleet metric.
type GetIndexingConfigurationOutput ¶
type GetIndexingConfigurationOutput struct {
ThingIndexingConfiguration *ThingIndexingConfiguration
ThingGroupIndexingConfiguration *ThingGroupIndexingConfiguration
}
GetIndexingConfigurationOutput is the output for GetIndexingConfiguration.
type GetPolicyOutput ¶
type GetPolicyOutput struct {
CreatedAt time.Time `json:"creationDate"`
LastModifiedAt time.Time `json:"lastModifiedDate"`
PolicyName string `json:"policyName"`
PolicyARN string `json:"policyArn"`
PolicyDocument string `json:"policyDocument"`
DefaultVersionID string `json:"defaultVersionId"`
}
GetPolicyOutput is the output for GetPolicy.
type GroupNameAndARN ¶ added in v1.2.0
type GroupNameAndARN struct {
GroupName string `json:"groupName,omitempty"`
GroupARN string `json:"groupArn,omitempty"`
}
GroupNameAndARN pairs a thing group's name and ARN. Used by DescribeThingGroup's thingGroupMetadata.rootToParentThingGroups (real types.GroupNameAndArn -- verified field names groupName/groupArn against aws-sdk-go-v2/service/iot@v1.76.0's deserializer).
type HTTPURLDestinationConfiguration ¶
type HTTPURLDestinationConfiguration struct {
ConfirmationURL string `json:"confirmationUrl"`
}
HTTPURLDestinationConfiguration holds configuration for an HTTP URL destination.
type HTTPURLDestinationProperties ¶
type HTTPURLDestinationProperties struct {
ConfirmationURL string `json:"confirmationUrl"`
}
HTTPURLDestinationProperties holds properties for an HTTP URL destination.
type Handler ¶
type Handler struct {
Backend StorageBackend
// contains filtered or unexported fields
}
Handler is the Echo HTTP handler for IoT control-plane operations.
func NewHandler ¶
func NewHandler(backend StorageBackend, broker *Broker) *Handler
NewHandler creates a new IoT Handler.
func (*Handler) ChaosOperations ¶
ChaosOperations returns all operations that can be fault-injected.
func (*Handler) ChaosRegions ¶
ChaosRegions returns all regions this IoT instance handles.
func (*Handler) ChaosServiceName ¶
ChaosServiceName returns the lowercase AWS service name for fault rule matching.
func (*Handler) ExtractOperation ¶
ExtractOperation extracts the IoT operation name from the request method + path.
func (*Handler) ExtractResource ¶
ExtractResource extracts the resource name (thing/rule/policy) from the URL path.
func (*Handler) GetSupportedOperations ¶
GetSupportedOperations returns the list of supported IoT control-plane operations.
func (*Handler) Handler ¶
func (h *Handler) Handler() echo.HandlerFunc
Handler returns the Echo handler function for IoT operations.
func (*Handler) MatchPriority ¶
MatchPriority returns the routing priority for the IoT handler.
func (*Handler) Reset ¶
func (h *Handler) Reset()
Reset clears all backend state and resets the handler. Used for test isolation.
func (*Handler) Restore ¶
Restore implements persistence.Persistable by delegating to the backend when it implements Snapshottable. Non-snapshottable backends are skipped.
func (*Handler) RouteMatcher ¶
func (*Handler) Shutdown ¶ added in v1.2.0
Shutdown stops the embedded MQTT broker and waits for its goroutine to exit (or for ctx to be done), so no goroutine outlives the service. Invoked on server shutdown via service.Shutdowner.
func (*Handler) Snapshot ¶
Snapshot implements persistence.Persistable by delegating to the backend when it implements Snapshottable. Returns nil for non-snapshottable backends.
func (*Handler) StartWorker ¶
StartWorker starts the embedded MQTT broker as a background worker. Implements service.BackgroundWorker. The broker is run under a worker.SingleRun so Shutdown can deterministically wait for its goroutine to exit instead of only relying on ctx cancellation propagating.
type InMemoryBackend ¶
type InMemoryBackend struct {
// contains filtered or unexported fields
}
InMemoryBackend is the in-memory implementation of StorageBackend.
func NewInMemoryBackend ¶
func NewInMemoryBackend() *InMemoryBackend
NewInMemoryBackend creates a new InMemoryBackend with default values.
func NewInMemoryBackendWithConfig ¶
func NewInMemoryBackendWithConfig(accountID, region string) *InMemoryBackend
NewInMemoryBackendWithConfig creates a new InMemoryBackend with the given account and region.
func (*InMemoryBackend) AcceptCertificateTransfer ¶
func (b *InMemoryBackend) AcceptCertificateTransfer(input *AcceptCertificateTransferInput) error
AcceptCertificateTransfer accepts a pending certificate transfer, moving ownership to the target account recorded by the earlier TransferCertificate call and activating (or not) the certificate per SetAsActive.
func (*InMemoryBackend) AddAuditMitigationTaskInternal ¶ added in v1.2.0
func (b *InMemoryBackend) AddAuditMitigationTaskInternal(taskID, status string)
AddAuditMitigationTaskInternal seeds an audit mitigation actions task status with a caller-chosen ID directly into the backend for testing (mirrors AddThingInternal). StartAuditMitigationActionsTask always generates a random ID, so tests that need a deterministic task ID use this instead.
func (*InMemoryBackend) AddAuditTaskInternal ¶ added in v1.2.0
func (b *InMemoryBackend) AddAuditTaskInternal(taskID, status string)
AddAuditTaskInternal seeds an audit task status with a caller-chosen ID directly into the backend for testing (mirrors AddThingInternal). StartOnDemandAuditTask always generates a random ID, so tests that need a deterministic task ID use this instead.
func (*InMemoryBackend) AddBehaviorModelTrainingSummaryInternal ¶
func (b *InMemoryBackend) AddBehaviorModelTrainingSummaryInternal( securityProfileName string, s BehaviorModelTrainingSummary, )
AddBehaviorModelTrainingSummaryInternal seeds a training summary for a security profile (there is no public API to trigger ML Detect training; AWS populates this asynchronously once enough data is collected).
func (*InMemoryBackend) AddCertificateInternal ¶ added in v1.2.0
func (b *InMemoryBackend) AddCertificateInternal(c Certificate)
AddCertificateInternal seeds a Certificate with a caller-chosen CertificateID directly into the backend for testing (mirrors AddThingInternal). RegisterCertificate/CreateCertificateFromCsr always generate a random 64-hex-char ID, so tests that need a deterministic, human-readable certificate ID (e.g. to assert on it in a URL path) use this instead.
func (*InMemoryBackend) AddCommandExecutionInternal ¶
func (b *InMemoryBackend) AddCommandExecutionInternal(commandID, executionID string, ex IoTCommandExecution)
AddCommandExecutionInternal seeds a command execution directly into the backend for testing (there is no public CreateCommandExecution control- plane operation; executions are normally created by device SDKs).
func (*InMemoryBackend) AddJobExecutionInternal ¶ added in v1.2.0
func (b *InMemoryBackend) AddJobExecutionInternal(e *JobExecution)
AddJobExecutionInternal seeds a job execution directly into the backend for testing (mirrors AddAuditTaskInternal/AddServerlessCacheInternal): lets tests exercise states (e.g. IN_PROGRESS) that CancelJobExecution's own create-on-miss fallback can never produce, since it always creates in CANCELED state.
func (*InMemoryBackend) AddMetricValueInternal ¶
func (b *InMemoryBackend) AddMetricValueInternal(thingName, metricName string, dp MetricDatapoint)
AddMetricValueInternal seeds a metric datapoint for a thing/metric pair (there is no public PutMetricValue control-plane operation; values are normally reported by the device SDK's Device Defender metrics agent).
func (*InMemoryBackend) AddPolicyInternal ¶
func (b *InMemoryBackend) AddPolicyInternal(p Policy)
AddPolicyInternal seeds a Policy directly into the backend for testing.
func (*InMemoryBackend) AddRuleInternal ¶
func (b *InMemoryBackend) AddRuleInternal(r TopicRule)
AddRuleInternal seeds a TopicRule directly into the backend for testing.
func (*InMemoryBackend) AddThingInternal ¶
func (b *InMemoryBackend) AddThingInternal(t Thing)
AddThingInternal seeds a Thing directly into the backend for testing.
func (*InMemoryBackend) AddThingToBillingGroup ¶
func (b *InMemoryBackend) AddThingToBillingGroup(input *AddThingToBillingGroupInput) error
AddThingToBillingGroup adds a thing to a billing group.
func (*InMemoryBackend) AddThingToThingGroup ¶
func (b *InMemoryBackend) AddThingToThingGroup(input *AddThingToThingGroupInput) error
AddThingToThingGroup adds a thing to a thing group.
func (*InMemoryBackend) AssociateSbomWithPackageVersion ¶
func (b *InMemoryBackend) AssociateSbomWithPackageVersion( input *AssociateSbomWithPackageVersionInput, ) (*AssociateSbomWithPackageVersionOutput, error)
AssociateSbomWithPackageVersion associates an SBOM with a package version.
func (*InMemoryBackend) AssociateTargetsWithJob ¶
func (b *InMemoryBackend) AssociateTargetsWithJob( input *AssociateTargetsWithJobInput, ) (*AssociateTargetsWithJobOutput, error)
AssociateTargetsWithJob associates new targets with a continuous job. Real AWS IoT returns ResourceNotFoundException for an unknown job ID. Newly associated targets are merged into the job's own Targets list (so DescribeJob reflects them) and immediately fanned out into QUEUED JobExecution rows for any newly-reachable thing, exactly as CreateJob does for its initial targets -- real AWS begins rolling out job executions to newly associated targets right away for a CONTINUOUS job.
func (*InMemoryBackend) AttachPolicy ¶
func (b *InMemoryBackend) AttachPolicy(input *AttachPolicyInput) error
AttachPolicy attaches a policy to a target (thing group or certificate).
func (*InMemoryBackend) AttachPrincipalPolicy ¶
func (b *InMemoryBackend) AttachPrincipalPolicy(input *AttachPrincipalPolicyInput) error
AttachPrincipalPolicy attaches a policy to a principal. The attachment is recorded in the same policyTargets index used by AttachPolicy/DetachPolicy so that ListPrincipalPolicies, ListPolicyPrincipals, and DetachPrincipalPolicy observe it.
func (*InMemoryBackend) AttachSecurityProfile ¶
func (b *InMemoryBackend) AttachSecurityProfile(input *AttachSecurityProfileInput) error
AttachSecurityProfile attaches a security profile to a target. Real AWS IoT returns ResourceNotFoundException for an unknown security profile name.
func (*InMemoryBackend) AttachThingPrincipal ¶
func (b *InMemoryBackend) AttachThingPrincipal(input *AttachThingPrincipalInput) error
AttachThingPrincipal attaches a principal (certificate or Cognito identity) to a thing.
func (*InMemoryBackend) CancelAuditMitigationActionsTask ¶
func (b *InMemoryBackend) CancelAuditMitigationActionsTask(input *CancelAuditMitigationActionsTaskInput) error
CancelAuditMitigationActionsTask cancels an audit mitigation actions task. Real AWS IoT returns ResourceNotFoundException for an unknown task ID and InvalidRequestException if the task is known but not in progress; when the task is known and in progress, its rich AuditMitigationTask record (as returned by DescribeAuditMitigationActionsTask) is transitioned to CANCELED with an end time, keeping the two representations consistent.
func (*InMemoryBackend) CancelAuditTask ¶
func (b *InMemoryBackend) CancelAuditTask(input *CancelAuditTaskInput) error
CancelAuditTask cancels an in-progress audit task. Real AWS IoT returns ResourceNotFoundException for an unknown task ID and InvalidRequestException if the task is known but not in progress.
func (*InMemoryBackend) CancelCertificateTransfer ¶
func (b *InMemoryBackend) CancelCertificateTransfer(certID string) error
func (*InMemoryBackend) CancelDetectMitigationActionsTask ¶
func (b *InMemoryBackend) CancelDetectMitigationActionsTask(taskID string) error
CancelDetectMitigationActionsTask transitions a detect mitigation actions task to CANCELED, or returns ErrResourceNotFound if taskID is unknown.
func (*InMemoryBackend) CancelJob ¶
func (b *InMemoryBackend) CancelJob(jobID, _ string) (*Job, error)
func (*InMemoryBackend) CancelJobExecution ¶
func (b *InMemoryBackend) CancelJobExecution(jobID, thingName string, opts CancelJobExecutionOptions) error
CancelJobExecution cancels a job execution. Real AWS IoT rejects canceling an IN_PROGRESS execution unless force=true (InvalidStateTransitionException), and rejects a mismatched expectedVersion (VersionConflictException) -- both verified against api_op_CancelJobExecution.go's doc comments and the real error-deserializer switch (awsRestjson1_deserializeOpErrorCancelJobExecution recognizes exactly InvalidRequestException/InvalidStateTransitionException/ ResourceNotFoundException/VersionConflictException).
CreateJob/AssociateTargetsWithJob now fan a real QUEUED JobExecution out to every resolved target thing (see fanOutJobExecutionsLocked), so the (jobID, thingName) pair normally already exists by the time a real client calls CancelJobExecution. The one remaining case where it might not is a target that was a thing-group ARN with no members at CreateJob time (real AWS IoT lazily starts an execution the first time such a thing later joins the group and receives the job for a CONTINUOUS job -- something this emulator does not simulate on AddThingToThingGroup): for that edge case, an execution is still created directly in CANCELED state as a defensive fallback rather than returning ResourceNotFoundException for a combination a real, fully-simulated backend would consider valid.
func (*InMemoryBackend) ClearDefaultAuthorizer ¶
func (b *InMemoryBackend) ClearDefaultAuthorizer() error
func (*InMemoryBackend) ConfirmTopicRuleDestination ¶
func (b *InMemoryBackend) ConfirmTopicRuleDestination(token string) error
ConfirmTopicRuleDestination transitions a topic rule destination created with an HTTP URL configuration from IN_PROGRESS to ENABLED, given the confirmation token that was generated at creation time.
func (*InMemoryBackend) CreateAuditSuppression ¶
func (*InMemoryBackend) CreateAuthorizer ¶
func (b *InMemoryBackend) CreateAuthorizer(input *CreateAuthorizerInput) (*Authorizer, error)
func (*InMemoryBackend) CreateBillingGroup ¶
func (b *InMemoryBackend) CreateBillingGroup( input *CreateBillingGroupInput, ) (*BillingGroup, error)
func (*InMemoryBackend) CreateCertificateFromCsr ¶
func (b *InMemoryBackend) CreateCertificateFromCsr(input *CreateCertificateFromCsrInput) (*Certificate, error)
CreateCertificateFromCsr creates a new certificate from a CSR.
func (*InMemoryBackend) CreateCertificateProvider ¶
func (b *InMemoryBackend) CreateCertificateProvider( input *CreateCertificateProviderInput, ) (*CertificateProvider, error)
CreateCertificateProvider creates a new certificate provider.
func (*InMemoryBackend) CreateCommand ¶
func (b *InMemoryBackend) CreateCommand( id, displayName, description, namespace string, payload map[string]any, tags map[string]string, ) (*IoTCommand, error)
func (*InMemoryBackend) CreateCustomMetric ¶
func (b *InMemoryBackend) CreateCustomMetric(input *CreateCustomMetricInput) (*CustomMetric, error)
func (*InMemoryBackend) CreateDimension ¶
func (b *InMemoryBackend) CreateDimension(input *CreateDimensionInput) (*Dimension, error)
func (*InMemoryBackend) CreateDomainConfiguration ¶
func (b *InMemoryBackend) CreateDomainConfiguration( input *CreateDomainConfigurationInput, ) (*DomainConfiguration, error)
func (*InMemoryBackend) CreateDynamicThingGroup ¶
func (b *InMemoryBackend) CreateDynamicThingGroup(input *CreateThingGroupInput) (*ThingGroup, error)
CreateDynamicThingGroup creates a dynamic thing group with a query string.
func (*InMemoryBackend) CreateFleetMetric ¶
func (b *InMemoryBackend) CreateFleetMetric(input *CreateFleetMetricInput) (*FleetMetric, error)
func (*InMemoryBackend) CreateIoTPackage ¶
func (b *InMemoryBackend) CreateIoTPackage(name, description string, tags map[string]string) (*IoTPackage, error)
func (*InMemoryBackend) CreateIoTPackageVersion ¶
func (b *InMemoryBackend) CreateIoTPackageVersion( packageName, versionName, description string, tags map[string]string, ) (*IoTPackageVersion, error)
func (*InMemoryBackend) CreateJob ¶
func (b *InMemoryBackend) CreateJob(input *CreateJobInput) (*Job, error)
func (*InMemoryBackend) CreateJobTemplate ¶
func (b *InMemoryBackend) CreateJobTemplate(input *CreateJobTemplateInput) (*JobTemplate, error)
func (*InMemoryBackend) CreateKeysAndCertificate ¶
func (b *InMemoryBackend) CreateKeysAndCertificate(setAsActive bool) (*Certificate, string, string, error)
CreateKeysAndCertificate creates a new certificate with generated fake keys.
func (*InMemoryBackend) CreateMitigationAction ¶
func (b *InMemoryBackend) CreateMitigationAction( input *CreateMitigationActionInput, ) (*MitigationAction, error)
func (*InMemoryBackend) CreateOTAUpdate ¶
func (*InMemoryBackend) CreatePolicy ¶
func (b *InMemoryBackend) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error)
CreatePolicy creates a new IoT Policy.
func (*InMemoryBackend) CreatePolicyVersion ¶
func (b *InMemoryBackend) CreatePolicyVersion(input *CreatePolicyVersionInput) (*PolicyVersion, error)
CreatePolicyVersion creates a new version of an existing policy.
func (*InMemoryBackend) CreateProvisioningClaim ¶
func (b *InMemoryBackend) CreateProvisioningClaim(templateName string) (string, string, string, error)
CreateProvisioningClaim returns a fake cert/key pair for the given template.
func (*InMemoryBackend) CreateProvisioningTemplate ¶
func (b *InMemoryBackend) CreateProvisioningTemplate( input *CreateProvisioningTemplateInput, ) (*ProvisioningTemplate, error)
func (*InMemoryBackend) CreateProvisioningTemplateVersion ¶
func (b *InMemoryBackend) CreateProvisioningTemplateVersion( name, body string, ) (*ProvisioningTemplateVersion, error)
func (*InMemoryBackend) CreateRoleAlias ¶
func (b *InMemoryBackend) CreateRoleAlias(input *CreateRoleAliasInput) (*RoleAlias, error)
func (*InMemoryBackend) CreateScheduledAudit ¶
func (b *InMemoryBackend) CreateScheduledAudit( input *CreateScheduledAuditInput, ) (*ScheduledAudit, error)
func (*InMemoryBackend) CreateSecurityProfile ¶
func (b *InMemoryBackend) CreateSecurityProfile( input *CreateSecurityProfileInput, ) (*SecurityProfile, error)
func (*InMemoryBackend) CreateStream ¶
func (b *InMemoryBackend) CreateStream(input *CreateStreamInput) (*IoTStream, error)
func (*InMemoryBackend) CreateThing ¶
func (b *InMemoryBackend) CreateThing(input *CreateThingInput) (*CreateThingOutput, error)
CreateThing creates a new IoT Thing.
func (*InMemoryBackend) CreateThingGroup ¶
func (b *InMemoryBackend) CreateThingGroup(input *CreateThingGroupInput) (*ThingGroup, error)
CreateThingGroup creates a new IoT Thing Group.
func (*InMemoryBackend) CreateThingType ¶
func (b *InMemoryBackend) CreateThingType(input *CreateThingTypeInput) (*ThingType, error)
CreateThingType creates a new IoT Thing Type.
func (*InMemoryBackend) CreateTopicRule ¶
func (b *InMemoryBackend) CreateTopicRule(input *CreateTopicRuleInput) error
CreateTopicRule creates a new IoT Topic Rule.
func (*InMemoryBackend) CreateTopicRuleDestination ¶
func (b *InMemoryBackend) CreateTopicRuleDestination( input *CreateTopicRuleDestinationInput, ) (*TopicRuleDestination, error)
CreateTopicRuleDestination creates a new topic rule destination.
func (*InMemoryBackend) DeleteAccountAuditConfiguration ¶
func (b *InMemoryBackend) DeleteAccountAuditConfiguration() error
DeleteAccountAuditConfiguration clears the account-level audit configuration, restoring it to its unconfigured state. It is idempotent: deleting an unconfigured account still succeeds, matching AWS IoT behavior.
func (*InMemoryBackend) DeleteAuditSuppression ¶
func (b *InMemoryBackend) DeleteAuditSuppression(checkName string, resourceID map[string]any) error
func (*InMemoryBackend) DeleteAuthorizer ¶
func (b *InMemoryBackend) DeleteAuthorizer(name string) error
func (*InMemoryBackend) DeleteBillingGroup ¶
func (b *InMemoryBackend) DeleteBillingGroup(name string) error
func (*InMemoryBackend) DeleteCACertificate ¶
func (b *InMemoryBackend) DeleteCACertificate(id string) error
func (*InMemoryBackend) DeleteCertificate ¶
func (b *InMemoryBackend) DeleteCertificate(certificateID string) error
DeleteCertificate deletes a certificate by ID.
func (*InMemoryBackend) DeleteCertificateProvider ¶
func (b *InMemoryBackend) DeleteCertificateProvider(name string) error
DeleteCertificateProvider deletes a certificate provider by name.
func (*InMemoryBackend) DeleteCommand ¶
func (b *InMemoryBackend) DeleteCommand(id string) error
func (*InMemoryBackend) DeleteCommandExecution ¶
func (b *InMemoryBackend) DeleteCommandExecution(executionID, targetARN string) error
DeleteCommandExecution removes a stored command execution identified by its executionId and (optionally) the ARN of its target device, matching AWS's real request shape where executions are addressed by executionId+targetArn rather than commandId.
func (*InMemoryBackend) DeleteCustomMetric ¶
func (b *InMemoryBackend) DeleteCustomMetric(name string) error
func (*InMemoryBackend) DeleteDimension ¶
func (b *InMemoryBackend) DeleteDimension(name string) error
func (*InMemoryBackend) DeleteDomainConfiguration ¶
func (b *InMemoryBackend) DeleteDomainConfiguration(name string) error
func (*InMemoryBackend) DeleteDynamicThingGroup ¶
func (b *InMemoryBackend) DeleteDynamicThingGroup(name string) error
DeleteDynamicThingGroup deletes a dynamic thing group.
func (*InMemoryBackend) DeleteFleetMetric ¶
func (b *InMemoryBackend) DeleteFleetMetric(name string) error
func (*InMemoryBackend) DeleteIoTPackage ¶
func (b *InMemoryBackend) DeleteIoTPackage(name string) error
func (*InMemoryBackend) DeleteIoTPackageVersion ¶
func (b *InMemoryBackend) DeleteIoTPackageVersion(packageName, versionName string) error
func (*InMemoryBackend) DeleteJob ¶
func (b *InMemoryBackend) DeleteJob(jobID string) error
func (*InMemoryBackend) DeleteJobExecution ¶
func (b *InMemoryBackend) DeleteJobExecution(jobID, thingName string, force bool) error
DeleteJobExecution deletes a job execution. Real AWS IoT rejects deleting a non-terminal (QUEUED/IN_PROGRESS) execution unless force=true (InvalidStateTransitionException); deleting an execution that does not exist is idempotent (matches real AWS, which also returns success for an already-absent execution rather than ResourceNotFoundException, since deletion is the natural end state).
func (*InMemoryBackend) DeleteJobTemplate ¶
func (b *InMemoryBackend) DeleteJobTemplate(id string) error
func (*InMemoryBackend) DeleteMitigationAction ¶
func (b *InMemoryBackend) DeleteMitigationAction(name string) error
func (*InMemoryBackend) DeleteOTAUpdate ¶
func (b *InMemoryBackend) DeleteOTAUpdate(id string) error
func (*InMemoryBackend) DeletePolicy ¶
func (b *InMemoryBackend) DeletePolicy(policyName string) error
DeletePolicy removes a Policy by name.
func (*InMemoryBackend) DeletePolicyVersion ¶
func (b *InMemoryBackend) DeletePolicyVersion(policyName, versionID string) error
DeletePolicyVersion deletes a specific version of a policy. The default version cannot be deleted.
func (*InMemoryBackend) DeleteProvisioningTemplate ¶
func (b *InMemoryBackend) DeleteProvisioningTemplate(name string) error
func (*InMemoryBackend) DeleteProvisioningTemplateVersion ¶
func (b *InMemoryBackend) DeleteProvisioningTemplateVersion(name string, versionID int32) error
func (*InMemoryBackend) DeleteRegistrationCode ¶
func (b *InMemoryBackend) DeleteRegistrationCode() error
func (*InMemoryBackend) DeleteRoleAlias ¶
func (b *InMemoryBackend) DeleteRoleAlias(alias string) error
func (*InMemoryBackend) DeleteScheduledAudit ¶
func (b *InMemoryBackend) DeleteScheduledAudit(name string) error
func (*InMemoryBackend) DeleteSecurityProfile ¶
func (b *InMemoryBackend) DeleteSecurityProfile(name string) error
DeleteSecurityProfile removes a security profile. Also cascade-deletes its target attachments (b.securityProfileTargets) -- previously left behind as a ghost row keyed by the now-deleted profile's name (AttachSecurityProfile would then succeed again for that name via re-Create and immediately see stale prior attachments; ListTargetsForSecurityProfile/ ListSecurityProfilesForTarget could leak attachment data for a profile that DescribeSecurityProfile reports as ResourceNotFoundException).
func (*InMemoryBackend) DeleteStream ¶
func (b *InMemoryBackend) DeleteStream(id string) error
func (*InMemoryBackend) DeleteThing ¶
func (b *InMemoryBackend) DeleteThing(thingName string) error
DeleteThing deletes a Thing by name. Any JobExecution rows targeting this thing are cascade-deleted along with it (mirrors DeleteJob's cascade over the other side of the same jobId/thingName key) so a deleted thing never leaves a ghost JobExecution behind for DescribeJobExecution/ ListJobExecutionsForThing to keep returning.
func (*InMemoryBackend) DeleteThingGroup ¶
func (b *InMemoryBackend) DeleteThingGroup(thingGroupName string) error
DeleteThingGroup deletes a thing group by name.
func (*InMemoryBackend) DeleteThingShadow ¶
func (b *InMemoryBackend) DeleteThingShadow(thingName, shadowName string) error
DeleteThingShadow deletes the shadow for a thing.
func (*InMemoryBackend) DeleteThingType ¶
func (b *InMemoryBackend) DeleteThingType(thingTypeName string) error
DeleteThingType deletes a thing type by name. The type must be deprecated first.
func (*InMemoryBackend) DeleteTopicRule ¶
func (b *InMemoryBackend) DeleteTopicRule(ruleName string) error
DeleteTopicRule deletes a Topic Rule by name.
func (*InMemoryBackend) DeleteTopicRuleDestination ¶
func (b *InMemoryBackend) DeleteTopicRuleDestination(arn string) error
DeleteTopicRuleDestination deletes a topic rule destination by ARN.
func (*InMemoryBackend) DeleteV2LoggingLevel ¶
func (b *InMemoryBackend) DeleteV2LoggingLevel(target map[string]any) error
func (*InMemoryBackend) DeprecateThingType ¶
func (b *InMemoryBackend) DeprecateThingType(input *DeprecateThingTypeInput) error
DeprecateThingType marks a thing type as deprecated (or un-deprecates it).
func (*InMemoryBackend) DescribeAccountAuditConfiguration ¶
func (b *InMemoryBackend) DescribeAccountAuditConfiguration() *AccountAuditConfiguration
func (*InMemoryBackend) DescribeAuditFinding ¶
func (b *InMemoryBackend) DescribeAuditFinding(findingID string) (*AuditFinding, error)
func (*InMemoryBackend) DescribeAuditMitigationActionsTask ¶
func (b *InMemoryBackend) DescribeAuditMitigationActionsTask(taskID string) (*AuditMitigationTask, error)
DescribeAuditMitigationActionsTask returns a previously started audit mitigation actions task, or ErrResourceNotFound if taskID is unknown.
func (*InMemoryBackend) DescribeAuditSuppression ¶
func (b *InMemoryBackend) DescribeAuditSuppression( checkName string, resourceID map[string]any, ) (*AuditSuppression, error)
func (*InMemoryBackend) DescribeAuditTask ¶
func (b *InMemoryBackend) DescribeAuditTask(taskID string) (*AuditTask, error)
func (*InMemoryBackend) DescribeAuthorizer ¶
func (b *InMemoryBackend) DescribeAuthorizer(name string) (*Authorizer, error)
func (*InMemoryBackend) DescribeBillingGroup ¶
func (b *InMemoryBackend) DescribeBillingGroup(name string) (*BillingGroup, error)
func (*InMemoryBackend) DescribeCACertificate ¶
func (b *InMemoryBackend) DescribeCACertificate(id string) (*CACertificate, error)
func (*InMemoryBackend) DescribeCertificate ¶
func (b *InMemoryBackend) DescribeCertificate(certificateID string) (*Certificate, error)
DescribeCertificate returns a Certificate by ID.
func (*InMemoryBackend) DescribeCertificateProvider ¶
func (b *InMemoryBackend) DescribeCertificateProvider(name string) (*CertificateProvider, error)
DescribeCertificateProvider returns a certificate provider by name.
func (*InMemoryBackend) DescribeCustomMetric ¶
func (b *InMemoryBackend) DescribeCustomMetric(name string) (*CustomMetric, error)
func (*InMemoryBackend) DescribeDefaultAuthorizer ¶
func (b *InMemoryBackend) DescribeDefaultAuthorizer() (string, error)
func (*InMemoryBackend) DescribeDetectMitigationActionsTask ¶
func (b *InMemoryBackend) DescribeDetectMitigationActionsTask(taskID string) (*DetectMitigationTask, error)
DescribeDetectMitigationActionsTask returns a previously started detect mitigation actions task, or ErrResourceNotFound if taskID is unknown.
func (*InMemoryBackend) DescribeDimension ¶
func (b *InMemoryBackend) DescribeDimension(name string) (*Dimension, error)
func (*InMemoryBackend) DescribeDomainConfiguration ¶
func (b *InMemoryBackend) DescribeDomainConfiguration(name string) (*DomainConfiguration, error)
func (*InMemoryBackend) DescribeEncryptionConfiguration ¶
func (b *InMemoryBackend) DescribeEncryptionConfiguration() *AccountEncryptionConfiguration
DescribeEncryptionConfiguration returns the account's encryption configuration, defaulting to the AWS-owned key when never configured.
func (*InMemoryBackend) DescribeEndpoint ¶
func (b *InMemoryBackend) DescribeEndpoint(_ string) (*DescribeEndpointOutput, error)
DescribeEndpoint returns the MQTT broker endpoint address.
func (*InMemoryBackend) DescribeEventConfigurations ¶
func (b *InMemoryBackend) DescribeEventConfigurations() *EventConfigurations
func (*InMemoryBackend) DescribeFleetMetric ¶
func (b *InMemoryBackend) DescribeFleetMetric(name string) (*FleetMetric, error)
func (*InMemoryBackend) DescribeIndex ¶
func (b *InMemoryBackend) DescribeIndex(indexName string) (*IndexDescription, error)
DescribeIndex returns the status and schema of a known fleet index.
func (*InMemoryBackend) DescribeJob ¶
func (b *InMemoryBackend) DescribeJob(jobID string) (*Job, error)
func (*InMemoryBackend) DescribeJobExecution ¶
func (b *InMemoryBackend) DescribeJobExecution(jobID, thingName string) (*JobExecution, error)
func (*InMemoryBackend) DescribeJobTemplate ¶
func (b *InMemoryBackend) DescribeJobTemplate(id string) (*JobTemplate, error)
func (*InMemoryBackend) DescribeManagedJobTemplate ¶
func (b *InMemoryBackend) DescribeManagedJobTemplate( templateName, templateVersion string, ) (*ManagedJobTemplate, error)
DescribeManagedJobTemplate returns an AWS-managed job template by name (and optional version; the catalog only has one version per template today).
func (*InMemoryBackend) DescribeMitigationAction ¶
func (b *InMemoryBackend) DescribeMitigationAction(name string) (*MitigationAction, error)
func (*InMemoryBackend) DescribeProvisioningTemplate ¶
func (b *InMemoryBackend) DescribeProvisioningTemplate(name string) (*ProvisioningTemplate, error)
func (*InMemoryBackend) DescribeProvisioningTemplateVersion ¶
func (b *InMemoryBackend) DescribeProvisioningTemplateVersion( name string, versionID int32, ) (*ProvisioningTemplateVersion, error)
DescribeProvisioningTemplateVersion returns a specific stored version of a provisioning template.
func (*InMemoryBackend) DescribeRoleAlias ¶
func (b *InMemoryBackend) DescribeRoleAlias(alias string) (*RoleAlias, error)
func (*InMemoryBackend) DescribeScheduledAudit ¶
func (b *InMemoryBackend) DescribeScheduledAudit(name string) (*ScheduledAudit, error)
func (*InMemoryBackend) DescribeSecurityProfile ¶
func (b *InMemoryBackend) DescribeSecurityProfile(name string) (*SecurityProfile, error)
func (*InMemoryBackend) DescribeStream ¶
func (b *InMemoryBackend) DescribeStream(id string) (*IoTStream, error)
func (*InMemoryBackend) DescribeThing ¶
func (b *InMemoryBackend) DescribeThing(thingName string) (*Thing, error)
DescribeThing returns a deep copy of an existing Thing.
func (*InMemoryBackend) DescribeThingGroup ¶
func (b *InMemoryBackend) DescribeThingGroup(thingGroupName string) (*ThingGroup, error)
DescribeThingGroup returns a ThingGroup by name.
func (*InMemoryBackend) DescribeThingRegistrationTask ¶
func (b *InMemoryBackend) DescribeThingRegistrationTask(taskID string) (*ThingRegistrationTask, error)
DescribeThingRegistrationTask returns a bulk thing provisioning task by ID.
func (*InMemoryBackend) DescribeThingType ¶
func (b *InMemoryBackend) DescribeThingType(thingTypeName string) (*ThingType, error)
DescribeThingType returns a ThingType by name.
func (*InMemoryBackend) DetachPolicy ¶
func (b *InMemoryBackend) DetachPolicy(input *DetachPolicyInput) error
DetachPolicy detaches a policy from a target.
func (*InMemoryBackend) DetachPrincipalPolicy ¶
func (b *InMemoryBackend) DetachPrincipalPolicy(policyName, principal string) error
DetachPrincipalPolicy removes a principal from a policy's target list, mirroring AttachPrincipalPolicy/DetachPolicy's use of policyTargets.
func (*InMemoryBackend) DetachSecurityProfile ¶
func (b *InMemoryBackend) DetachSecurityProfile(profileName, targetARN string) error
DetachSecurityProfile removes a target ARN from a security profile. Real AWS IoT returns ResourceNotFoundException for an unknown security profile name -- the same gap AttachSecurityProfile had before it was fixed (gopherstack-ep0r); DetachSecurityProfile silently no-op'd for any name previously.
func (*InMemoryBackend) DetachThingPrincipal ¶
func (b *InMemoryBackend) DetachThingPrincipal(thingName, principal string) error
func (*InMemoryBackend) DisableTopicRule ¶
func (b *InMemoryBackend) DisableTopicRule(ruleName string) error
DisableTopicRule disables an existing topic rule.
func (*InMemoryBackend) DisassociateSbomFromPackageVersion ¶
func (b *InMemoryBackend) DisassociateSbomFromPackageVersion(packageName, versionName string) error
DisassociateSbomFromPackageVersion clears the SBOM (and its validation results) associated with a package version.
func (*InMemoryBackend) EnableTopicRule ¶
func (b *InMemoryBackend) EnableTopicRule(ruleName string) error
EnableTopicRule enables an existing topic rule.
func (*InMemoryBackend) GetBehaviorModelTrainingSummaries ¶
func (b *InMemoryBackend) GetBehaviorModelTrainingSummaries( securityProfileName string, maxResults int32, nextToken string, ) ([]*BehaviorModelTrainingSummary, string, error)
GetBehaviorModelTrainingSummaries returns stored per-behavior training summaries, optionally scoped to one security profile, paginated.
func (*InMemoryBackend) GetBucketsAggregation ¶
func (b *InMemoryBackend) GetBucketsAggregation(input *BucketsAggregationInput) ([]Bucket, error)
GetBucketsAggregation computes term buckets (distinct value -> match count) of AggregationField among Things matching QueryString, sorted by count descending then key ascending, limited to MaxBuckets.
func (*InMemoryBackend) GetCardinality ¶
func (b *InMemoryBackend) GetCardinality(input *AggregationInput) (int64, error)
GetCardinality returns the number of distinct values of AggregationField among Things matching QueryString.
func (*InMemoryBackend) GetCommand ¶
func (b *InMemoryBackend) GetCommand(id string) (*IoTCommand, error)
func (*InMemoryBackend) GetCommandExecution ¶
func (b *InMemoryBackend) GetCommandExecution(commandID, executionID string) (*IoTCommandExecution, error)
func (*InMemoryBackend) GetDispatcher ¶
func (b *InMemoryBackend) GetDispatcher() RuleDispatcher
GetDispatcher returns the current rule dispatcher (used by the broker hook).
func (*InMemoryBackend) GetEffectivePolicies ¶
func (b *InMemoryBackend) GetEffectivePolicies(thingName, principal string) []*Policy
func (*InMemoryBackend) GetIndexingConfiguration ¶
func (b *InMemoryBackend) GetIndexingConfiguration() *GetIndexingConfigurationOutput
GetIndexingConfiguration returns the current thing/thing-group indexing configuration.
func (*InMemoryBackend) GetIoTPackage ¶
func (b *InMemoryBackend) GetIoTPackage(name string) (*IoTPackage, error)
func (*InMemoryBackend) GetIoTPackageVersion ¶
func (b *InMemoryBackend) GetIoTPackageVersion(packageName, versionName string) (*IoTPackageVersion, error)
func (*InMemoryBackend) GetJobDocument ¶
func (b *InMemoryBackend) GetJobDocument(jobID string) (string, error)
func (*InMemoryBackend) GetLoggingOptions ¶
func (b *InMemoryBackend) GetLoggingOptions() *LoggingOptions
func (*InMemoryBackend) GetOTAUpdate ¶
func (b *InMemoryBackend) GetOTAUpdate(id string) (*OTAUpdate, error)
func (*InMemoryBackend) GetPackageConfiguration ¶
func (b *InMemoryBackend) GetPackageConfiguration() *PackageConfiguration
func (*InMemoryBackend) GetPercentiles ¶
func (b *InMemoryBackend) GetPercentiles(input *PercentilesInput) ([]PercentileValue, error)
GetPercentiles computes percentile values of AggregationField (interpreted numerically) among Things matching QueryString, using the nearest-rank (linear interpolation) method.
func (*InMemoryBackend) GetPolicy ¶
func (b *InMemoryBackend) GetPolicy(policyName string) (*GetPolicyOutput, error)
GetPolicy retrieves an existing Policy by name.
func (*InMemoryBackend) GetPolicyVersion ¶
func (b *InMemoryBackend) GetPolicyVersion(policyName, versionID string) (*PolicyVersion, error)
GetPolicyVersion retrieves a specific version of a policy.
func (*InMemoryBackend) GetRegistrationCode ¶
func (b *InMemoryBackend) GetRegistrationCode() string
func (*InMemoryBackend) GetRules ¶
func (b *InMemoryBackend) GetRules() []*TopicRule
GetRules returns a snapshot of all active rules (used by the broker hook).
func (*InMemoryBackend) GetStatistics ¶
func (b *InMemoryBackend) GetStatistics(input *AggregationInput) (*Statistics, error)
GetStatistics computes count/min/max/sum/average/stdDeviation of AggregationField (interpreted numerically) among Things matching QueryString.
func (*InMemoryBackend) GetThingConnectivityData ¶
func (b *InMemoryBackend) GetThingConnectivityData(thingName string) (*ThingConnectivityData, error)
GetThingConnectivityData returns a thing's stored connectivity data, defaulting to "not connected" when nothing has been recorded yet.
func (*InMemoryBackend) GetThingShadow ¶
func (b *InMemoryBackend) GetThingShadow(thingName, shadowName string) (*ThingShadow, error)
GetThingShadow returns the shadow for a thing (classic or named).
func (*InMemoryBackend) GetTopicRule ¶
func (b *InMemoryBackend) GetTopicRule(ruleName string) (*TopicRule, error)
GetTopicRule returns a deep copy of an existing Topic Rule.
func (*InMemoryBackend) GetTopicRuleDestination ¶
func (b *InMemoryBackend) GetTopicRuleDestination(arn string) (*TopicRuleDestination, error)
GetTopicRuleDestination returns a topic rule destination by ARN.
func (*InMemoryBackend) GetV2LoggingOptions ¶
func (b *InMemoryBackend) GetV2LoggingOptions() *V2LoggingOptions
func (*InMemoryBackend) ListActiveViolations ¶
func (b *InMemoryBackend) ListActiveViolations( thingName, securityProfileName, verificationState string, listSuppressedAlerts *bool, behaviorCriteriaType string, ) []*ActiveViolation
ListActiveViolations returns currently active violations, optionally filtered by thing name, security profile name, verification state, suppression state, and/or behaviorCriteriaType. listSuppressedAlerts mirrors ListAuditFindingsFilter.ListSuppressedFindings' tri-state semantics (confirmed against the analogous, unambiguous ListAuditFindingsInput doc: nil means both suppressed and unsuppressed are returned, true/false narrows to one or the other) -- real ListActiveViolationsInput's own doc for listSuppressedAlerts is less explicit ("A list of all suppressed alerts"), but this is the only self-consistent tri-state reading and matches the sibling audit-findings filter's behavior in this same service. behaviorCriteriaType (empty string means unfiltered) is resolved per violation via securityProfileBehaviorCriteriaTypeLocked against the owning security profile's now-persisted Behaviors (see security_profiles.go) -- this was the previously-unimplementable filter blocked by security_profiles' former Behaviors gap; a violation whose behavior can no longer be resolved on its security profile never matches a non-empty filter value.
func (*InMemoryBackend) ListAttachedPolicies ¶
func (b *InMemoryBackend) ListAttachedPolicies(input *ListAttachedPoliciesInput) ([]*Policy, error)
ListAttachedPolicies returns all policies attached to a target.
func (*InMemoryBackend) ListAuditFindings ¶
func (b *InMemoryBackend) ListAuditFindings(filter ListAuditFindingsFilter) []*AuditFinding
ListAuditFindings returns findings matching filter. See ListAuditFindingsFilter's doc comment for what is and is not modeled.
func (*InMemoryBackend) ListAuditMitigationActionsExecutions ¶
func (b *InMemoryBackend) ListAuditMitigationActionsExecutions( taskID, findingID, actionStatus string, ) []*AuditMitigationActionExecution
ListAuditMitigationActionsExecutions returns the mitigation-action execution records for a task, optionally filtered by finding ID and/or execution status.
func (*InMemoryBackend) ListAuditMitigationActionsTasks ¶
func (b *InMemoryBackend) ListAuditMitigationActionsTasks(auditTaskID, taskStatus string) []*AuditMitigationTask
ListAuditMitigationActionsTasks returns stored audit mitigation actions tasks, optionally filtered by the audit task they target and/or their current status.
func (*InMemoryBackend) ListAuditSuppressions ¶
func (b *InMemoryBackend) ListAuditSuppressions() []*AuditSuppression
func (*InMemoryBackend) ListAuditTasks ¶
func (b *InMemoryBackend) ListAuditTasks(taskType string) []*AuditTask
func (*InMemoryBackend) ListAuthorizers ¶
func (b *InMemoryBackend) ListAuthorizers() []*Authorizer
func (*InMemoryBackend) ListBillingGroups ¶
func (b *InMemoryBackend) ListBillingGroups() []*BillingGroup
func (*InMemoryBackend) ListCACertificates ¶
func (b *InMemoryBackend) ListCACertificates() []*CACertificate
func (*InMemoryBackend) ListCertificateProviders ¶
func (b *InMemoryBackend) ListCertificateProviders() []*CertificateProvider
ListCertificateProviders returns all certificate providers sorted by name.
func (*InMemoryBackend) ListCertificates ¶
func (b *InMemoryBackend) ListCertificates() []*Certificate
ListCertificates returns all certificates sorted by ID.
func (*InMemoryBackend) ListCertificatesByCA ¶
func (b *InMemoryBackend) ListCertificatesByCA(caID string) []*Certificate
func (*InMemoryBackend) ListCommandExecutions ¶
func (b *InMemoryBackend) ListCommandExecutions(commandID string) []*IoTCommandExecution
func (*InMemoryBackend) ListCommands ¶
func (b *InMemoryBackend) ListCommands() []*IoTCommand
func (*InMemoryBackend) ListCustomMetrics ¶
func (b *InMemoryBackend) ListCustomMetrics() []*CustomMetric
func (*InMemoryBackend) ListDetectMitigationActionsExecutions ¶
func (b *InMemoryBackend) ListDetectMitigationActionsExecutions( taskID, violationID, thingName string, ) []*DetectMitigationActionExecution
ListDetectMitigationActionsExecutions returns the mitigation-action execution records for a task, optionally filtered by violation ID and/or thing name.
func (*InMemoryBackend) ListDetectMitigationActionsTasks ¶
func (b *InMemoryBackend) ListDetectMitigationActionsTasks(startTime, endTime float64) []*DetectMitigationTask
ListDetectMitigationActionsTasks returns stored detect mitigation actions tasks, optionally filtered to those started within [startTime, endTime] (epoch seconds; zero means unbounded).
func (*InMemoryBackend) ListDimensions ¶
func (b *InMemoryBackend) ListDimensions() []*Dimension
func (*InMemoryBackend) ListDomainConfigurations ¶
func (b *InMemoryBackend) ListDomainConfigurations() []*DomainConfiguration
func (*InMemoryBackend) ListFleetMetrics ¶
func (b *InMemoryBackend) ListFleetMetrics() []*FleetMetric
func (*InMemoryBackend) ListIndices ¶
func (b *InMemoryBackend) ListIndices() []string
ListIndices returns the names of the fleet indices currently active, derived from the stored indexing configuration.
func (*InMemoryBackend) ListIoTPackageVersions ¶
func (b *InMemoryBackend) ListIoTPackageVersions(packageName string) []*IoTPackageVersion
func (*InMemoryBackend) ListIoTPackages ¶
func (b *InMemoryBackend) ListIoTPackages() []*IoTPackage
func (*InMemoryBackend) ListJobExecutionsForJob ¶
func (b *InMemoryBackend) ListJobExecutionsForJob(jobID string) []*JobExecution
ListJobExecutionsForJob returns summaries of all executions for a job.
func (*InMemoryBackend) ListJobExecutionsForThing ¶
func (b *InMemoryBackend) ListJobExecutionsForThing(thingName string) []*JobExecution
ListJobExecutionsForThing returns summaries of all executions for a thing.
func (*InMemoryBackend) ListJobTemplates ¶
func (b *InMemoryBackend) ListJobTemplates() []*JobTemplate
func (*InMemoryBackend) ListJobs ¶
func (b *InMemoryBackend) ListJobs() []*Job
func (*InMemoryBackend) ListManagedJobTemplates ¶
func (b *InMemoryBackend) ListManagedJobTemplates(templateName string) []*ManagedJobTemplateSummary
ListManagedJobTemplates lists the AWS-managed job templates, optionally filtered by template name.
func (*InMemoryBackend) ListMetricValues ¶
func (b *InMemoryBackend) ListMetricValues( thingName, metricName string, startTime, endTime float64, maxResults int32, nextToken string, ) ([]*MetricDatapoint, string, error)
ListMetricValues returns stored metric datapoints for a thing/metric over [startTime, endTime], paginated.
func (*InMemoryBackend) ListMitigationActions ¶
func (b *InMemoryBackend) ListMitigationActions() []*MitigationAction
func (*InMemoryBackend) ListNamedShadowsForThing ¶
func (b *InMemoryBackend) ListNamedShadowsForThing(thingName string) ([]string, error)
ListNamedShadowsForThing returns all named shadow names for a thing.
func (*InMemoryBackend) ListOTAUpdates ¶
func (b *InMemoryBackend) ListOTAUpdates() []*OTAUpdate
func (*InMemoryBackend) ListOutgoingCertificates ¶
func (b *InMemoryBackend) ListOutgoingCertificates() []*OutgoingCertificate
ListOutgoingCertificates lists certificates whose status is PENDING_TRANSFER, derived from real, stored certificate state.
func (*InMemoryBackend) ListPolicies ¶
func (b *InMemoryBackend) ListPolicies() []*Policy
ListPolicies returns all policies sorted by name.
func (*InMemoryBackend) ListPolicyPrincipals ¶
func (b *InMemoryBackend) ListPolicyPrincipals(policyName string) []string
func (*InMemoryBackend) ListPolicyVersions ¶
func (b *InMemoryBackend) ListPolicyVersions(policyName string) ([]*PolicyVersion, error)
ListPolicyVersions returns all versions of a policy.
func (*InMemoryBackend) ListPrincipalPolicies ¶
func (b *InMemoryBackend) ListPrincipalPolicies(principal string) []*Policy
func (*InMemoryBackend) ListPrincipalThings ¶
func (b *InMemoryBackend) ListPrincipalThings(principal string) []string
func (*InMemoryBackend) ListProvisioningTemplateVersions ¶
func (b *InMemoryBackend) ListProvisioningTemplateVersions( name string, ) ([]*ProvisioningTemplateVersion, error)
func (*InMemoryBackend) ListProvisioningTemplates ¶
func (b *InMemoryBackend) ListProvisioningTemplates() []*ProvisioningTemplate
func (*InMemoryBackend) ListRelatedResourcesForAuditFinding ¶
func (b *InMemoryBackend) ListRelatedResourcesForAuditFinding(findingID string) ([]map[string]any, error)
ListRelatedResourcesForAuditFinding returns the resources related to a stored audit finding (e.g. certificates, policies) identified when the audit ran.
func (*InMemoryBackend) ListRoleAliases ¶
func (b *InMemoryBackend) ListRoleAliases() []*RoleAlias
func (*InMemoryBackend) ListSbomValidationResults ¶
func (b *InMemoryBackend) ListSbomValidationResults( packageName, versionName string, maxResults int32, nextToken string, ) ([]*SbomValidationResult, string, error)
ListSbomValidationResults returns the stored validation results for a package version's associated SBOM, paginated.
func (*InMemoryBackend) ListScheduledAudits ¶
func (b *InMemoryBackend) ListScheduledAudits() []*ScheduledAudit
func (*InMemoryBackend) ListSecurityProfiles ¶
func (b *InMemoryBackend) ListSecurityProfiles() []*SecurityProfile
func (*InMemoryBackend) ListSecurityProfilesForTarget ¶
func (b *InMemoryBackend) ListSecurityProfilesForTarget(targetARN string) []string
ListSecurityProfilesForTarget returns profile names attached to a target ARN.
func (*InMemoryBackend) ListStreams ¶
func (b *InMemoryBackend) ListStreams() []*IoTStream
func (*InMemoryBackend) ListTagsForResource ¶
func (b *InMemoryBackend) ListTagsForResource(resourceARN string) map[string]string
func (*InMemoryBackend) ListTargetsForPolicy ¶
func (b *InMemoryBackend) ListTargetsForPolicy(policyName string) []string
func (*InMemoryBackend) ListTargetsForSecurityProfile ¶
func (b *InMemoryBackend) ListTargetsForSecurityProfile(profileName string) []string
ListTargetsForSecurityProfile returns the target ARNs attached to a security profile.
func (*InMemoryBackend) ListThingGroups ¶
func (b *InMemoryBackend) ListThingGroups() []*ThingGroup
ListThingGroups returns all thing groups sorted by name.
func (*InMemoryBackend) ListThingGroupsForThing ¶
func (b *InMemoryBackend) ListThingGroupsForThing(thingName string) []string
func (*InMemoryBackend) ListThingPrincipals ¶
func (b *InMemoryBackend) ListThingPrincipals(thingName string) ([]string, error)
ListThingPrincipals returns principals attached to the given thing.
func (*InMemoryBackend) ListThingPrincipalsV2 ¶
func (b *InMemoryBackend) ListThingPrincipalsV2(thingName string) ([]*ThingPrincipalObject, error)
ListThingPrincipalsV2 returns typed principal objects attached to a thing.
func (*InMemoryBackend) ListThingRegistrationTaskReports ¶
func (b *InMemoryBackend) ListThingRegistrationTaskReports(taskID, reportType string) ([]string, error)
ListThingRegistrationTaskReports returns the resource-report links for a bulk thing provisioning task.
func (*InMemoryBackend) ListThingRegistrationTasks ¶
func (b *InMemoryBackend) ListThingRegistrationTasks(status string) []*ThingRegistrationTask
ListThingRegistrationTasks lists bulk thing provisioning tasks, optionally filtered by status.
func (*InMemoryBackend) ListThingTypes ¶
func (b *InMemoryBackend) ListThingTypes() []*ThingType
ListThingTypes returns all thing types sorted by name.
func (*InMemoryBackend) ListThings ¶
func (b *InMemoryBackend) ListThings() []*Thing
ListThings returns all Things sorted by name.
func (*InMemoryBackend) ListThingsInBillingGroup ¶
func (b *InMemoryBackend) ListThingsInBillingGroup(groupName string) []string
func (*InMemoryBackend) ListThingsInThingGroup ¶
func (b *InMemoryBackend) ListThingsInThingGroup(input *ListThingsInThingGroupInput) ([]string, error)
ListThingsInThingGroup returns all things in a given thing group.
func (*InMemoryBackend) ListTopicRuleDestinations ¶
func (b *InMemoryBackend) ListTopicRuleDestinations() []*TopicRuleDestination
ListTopicRuleDestinations returns all topic rule destinations.
func (*InMemoryBackend) ListTopicRules ¶
func (b *InMemoryBackend) ListTopicRules() []*TopicRule
ListTopicRules returns all Topic Rules sorted by name.
func (*InMemoryBackend) ListV2LoggingLevels ¶
func (b *InMemoryBackend) ListV2LoggingLevels() []*V2LoggingLevel
func (*InMemoryBackend) ListViolationEvents ¶
func (b *InMemoryBackend) ListViolationEvents( thingName, securityProfileName, verificationState string, startTime, endTime float64, listSuppressedAlerts *bool, behaviorCriteriaType string, ) []*ViolationEvent
ListViolationEvents returns recorded violation events, optionally filtered by thing name, security profile name, verification state, suppression state, behaviorCriteriaType, and/or an [startTime, endTime] window (epoch seconds; zero means unbounded). listSuppressedAlerts and behaviorCriteriaType have the same semantics as ListActiveViolations' (see its doc comment).
func (*InMemoryBackend) MQTTPort ¶
func (b *InMemoryBackend) MQTTPort() int
MQTTPort returns the configured TCP port for the MQTT broker.
func (*InMemoryBackend) MitigationActionRefs ¶ added in v1.2.0
func (b *InMemoryBackend) MitigationActionRefs(names []string) []MitigationActionRef
MitigationActionRefs resolves action names to their MitigationActionRef wire shape (id/name/roleArn/actionParams), skipping any name that no longer has a corresponding MitigationAction (e.g. deleted after the task that referenced it was started).
func (*InMemoryBackend) PutVerificationStateOnViolation ¶
func (b *InMemoryBackend) PutVerificationStateOnViolation(violationID, verificationState, description string) error
PutVerificationStateOnViolation mutates the verification state (and optional description) of an active violation, or returns ErrResourceNotFound if violationID is unknown.
func (*InMemoryBackend) RegisterCACertificate ¶
func (b *InMemoryBackend) RegisterCACertificate(pem, status string) (*CACertificate, error)
func (*InMemoryBackend) RegisterCertificate ¶
func (b *InMemoryBackend) RegisterCertificate(input *RegisterCertificateInput) (*Certificate, error)
RegisterCertificate registers a certificate.
func (*InMemoryBackend) RegisterCertificateWithoutCA ¶
func (b *InMemoryBackend) RegisterCertificateWithoutCA(input *RegisterCertificateInput) (*Certificate, error)
RegisterCertificateWithoutCA registers a certificate without a CA. Per AWS IoT, certificates registered this way are always in SNI_ONLY mode (they have no issuer CA on file), unlike RegisterCertificate.
func (*InMemoryBackend) RegisterThing ¶
func (b *InMemoryBackend) RegisterThing(input *RegisterThingInput) (*RegisterThingOutput, error)
RegisterThing provisions (creates or updates) a thing from a provisioning template body and parameters, generating a device certificate and attaching it to the thing.
func (*InMemoryBackend) RejectCertificateTransfer ¶
func (b *InMemoryBackend) RejectCertificateTransfer(certID, rejectReason string) error
RejectCertificateTransfer rejects a pending certificate transfer. Only valid while the certificate is PENDING_TRANSFER; matches real AWS IoT's InvalidRequestException for a certificate that isn't pending transfer.
func (*InMemoryBackend) RemoveThingFromBillingGroup ¶
func (b *InMemoryBackend) RemoveThingFromBillingGroup(thingName, _ string) error
func (*InMemoryBackend) RemoveThingFromThingGroup ¶
func (b *InMemoryBackend) RemoveThingFromThingGroup(input *RemoveThingFromThingGroupInput) error
RemoveThingFromThingGroup removes a thing from a thing group.
func (*InMemoryBackend) ReplaceTopicRule ¶
func (b *InMemoryBackend) ReplaceTopicRule(input *ReplaceTopicRuleInput) error
ReplaceTopicRule replaces the payload of an existing topic rule.
func (*InMemoryBackend) Reset ¶
func (b *InMemoryBackend) Reset()
Reset clears all backend state. Useful for test isolation.
func (*InMemoryBackend) Restore ¶
func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
Restore loads backend state from a JSON snapshot.
func (*InMemoryBackend) RootToParentThingGroups ¶ added in v1.2.0
func (b *InMemoryBackend) RootToParentThingGroups(thingGroupName string) []GroupNameAndARN
RootToParentThingGroups returns the root-first ancestor chain (name+ARN pairs) for the named thing group, for DescribeThingGroup's thingGroupMetadata.rootToParentThingGroups wire field. Returns nil (not an error) when the group does not exist, matching the caller's other best-effort-metadata pattern -- the group's own existence is already validated by DescribeThingGroup before this is called.
func (*InMemoryBackend) SearchIndex ¶
func (b *InMemoryBackend) SearchIndex(input *SearchIndexInput) (*SearchIndexOutput, error)
SearchIndex runs QueryString against the fleet index named by IndexName (default AWS_Things) and returns matching Thing or ThingGroup documents.
func (*InMemoryBackend) SecurityProfileARN ¶ added in v1.2.0
func (b *InMemoryBackend) SecurityProfileARN(name string) string
SecurityProfileARN returns the ARN a security profile of the given name would have. Used by ListSecurityProfilesForTarget's handler to populate the real SecurityProfileIdentifier.arn field (previously entirely missing from that op's response -- see handler_security_profiles.go). Pure string formatting; no lock needed.
func (*InMemoryBackend) SeedActiveViolation ¶
func (b *InMemoryBackend) SeedActiveViolation(input *SeedActiveViolationInput) (*ActiveViolation, error)
SeedActiveViolation records a Device Defender Detect violation. AWS IoT raises violations internally from behavior evaluation against reported device metrics rather than through a public "create violation" API; this hook lets gopherstack populate realistic state for ListActiveViolations, ListViolationEvents, PutVerificationStateOnViolation, and detect mitigation-action targeting instead of those always returning an empty set.
func (*InMemoryBackend) SeedAuditFinding ¶
func (b *InMemoryBackend) SeedAuditFinding(f *AuditFinding) *AuditFinding
SeedAuditFinding injects an audit finding into the backend so that DescribeAuditFinding, ListAuditFindings, and ListRelatedResourcesForAuditFinding return realistic data. AWS IoT populates audit findings internally when an audit task runs; this is the additive hook gopherstack exposes so callers (and tests) can populate findings deterministically instead of always seeing an empty set. It returns the stored finding, generating a FindingID when none is supplied.
TaskStartTime is auto-populated from the referenced AuditTask's own TaskStartTime when the finding has a TaskID but no explicit TaskStartTime -- real AWS's AuditFinding.taskStartTime always reflects when the audit task that produced the finding began, so deriving it from the already- known task record (rather than leaving it unset or requiring every caller to redundantly pass it) keeps the two representations consistent.
func (*InMemoryBackend) SetDefaultAuthorizer ¶
func (b *InMemoryBackend) SetDefaultAuthorizer(authorizerName string) error
func (*InMemoryBackend) SetDefaultPolicyVersion ¶
func (b *InMemoryBackend) SetDefaultPolicyVersion(policyName, versionID string) error
SetDefaultPolicyVersion sets the default version of a policy.
func (*InMemoryBackend) SetLoggingOptions ¶
func (b *InMemoryBackend) SetLoggingOptions(roleARN, logLevel string) error
func (*InMemoryBackend) SetRuleDispatcher ¶
func (b *InMemoryBackend) SetRuleDispatcher(d RuleDispatcher)
SetRuleDispatcher wires the SQS/Lambda action dispatcher.
func (*InMemoryBackend) SetThingConnectivityInternal ¶
func (b *InMemoryBackend) SetThingConnectivityInternal(thingName string, data ThingConnectivityData)
SetThingConnectivityInternal seeds/updates a thing's connectivity data for testing (real connectivity is derived from live MQTT session events, which this in-memory backend does not yet wire into fleet indexing).
func (*InMemoryBackend) SetV2LoggingLevel ¶
func (b *InMemoryBackend) SetV2LoggingLevel(target map[string]any, logLevel string) error
func (*InMemoryBackend) SetV2LoggingOptions ¶
func (b *InMemoryBackend) SetV2LoggingOptions(roleARN, defaultLogLevel string, disableAllLogs bool) error
func (*InMemoryBackend) Snapshot ¶
func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
Snapshot serialises the backend state to JSON.
func (*InMemoryBackend) StartAuditMitigationActionsTask ¶
func (b *InMemoryBackend) StartAuditMitigationActionsTask( input *StartAuditMitigationActionsTaskInput, ) (*AuditMitigationTask, error)
StartAuditMitigationActionsTask creates a task that applies mitigation actions to the audit findings identified by input.Target, seeding one execution record per (finding, action) pair resolved from AuditCheckToActionsMapping.
func (*InMemoryBackend) StartDetectMitigationActionsTask ¶
func (b *InMemoryBackend) StartDetectMitigationActionsTask( input *StartDetectMitigationActionsTaskInput, ) (*DetectMitigationTask, error)
StartDetectMitigationActionsTask creates a Device Defender ML Detect mitigation-action task, seeding one execution record per (violation, action) pair resolved from the task target.
func (*InMemoryBackend) StartOnDemandAuditTask ¶
func (b *InMemoryBackend) StartOnDemandAuditTask(_ []string) (string, error)
func (*InMemoryBackend) StartThingRegistrationTask ¶
func (b *InMemoryBackend) StartThingRegistrationTask( input *StartThingRegistrationTaskInput, ) (*ThingRegistrationTask, error)
StartThingRegistrationTask creates a bulk thing provisioning task.
func (*InMemoryBackend) StopThingRegistrationTask ¶
func (b *InMemoryBackend) StopThingRegistrationTask(taskID string) error
StopThingRegistrationTask cancels a bulk thing provisioning task.
func (*InMemoryBackend) TagResourceGeneric ¶
func (b *InMemoryBackend) TagResourceGeneric(resourceARN string, tags map[string]string) error
func (*InMemoryBackend) TestAuthorization ¶
func (b *InMemoryBackend) TestAuthorization(input *TestAuthorizationInput) ([]*AuthResult, error)
TestAuthorization evaluates the effective policy set for a principal (plus PolicyNamesToAdd, minus PolicyNamesToSkip) against each requested authInfo/resource pair using real, stored IoT policy documents.
func (*InMemoryBackend) TestInvokeAuthorizer ¶
func (b *InMemoryBackend) TestInvokeAuthorizer( authorizerName string, input *TestInvokeAuthorizerInput, ) (*TestInvokeAuthorizerOutput, error)
TestInvokeAuthorizer evaluates a stored custom authorizer's configuration (status, signing requirement) against the supplied token/signature and returns a deterministic authentication result derived from that stored state.
func (*InMemoryBackend) ThingARN ¶ added in v1.2.0
func (b *InMemoryBackend) ThingARN(thingName string) string
ThingARN builds a Thing's ARN from its name, matching the format computed elsewhere for real Things (see store.go). Used to derive JobExecution's real wire field "thingArn" from the internally-stored ThingName -- this does not require the Thing to still exist, matching real AWS's behavior of continuing to report the (deterministic) ARN for a job execution even after its target Thing has since been deleted.
func (*InMemoryBackend) TransferCertificate ¶
func (b *InMemoryBackend) TransferCertificate(certID, targetAccount, transferMessage string) error
TransferCertificate initiates a certificate transfer to another account.
func (*InMemoryBackend) UntagResource ¶
func (b *InMemoryBackend) UntagResource(resourceARN string, tagKeys []string) error
func (*InMemoryBackend) UpdateAccountAuditConfiguration ¶
func (b *InMemoryBackend) UpdateAccountAuditConfiguration(roleARN string, checks map[string]*AuditCheckConfig) error
func (*InMemoryBackend) UpdateAuditSuppression ¶
func (*InMemoryBackend) UpdateAuthorizer ¶
func (b *InMemoryBackend) UpdateAuthorizer(name, functionARN, status string) (*Authorizer, error)
func (*InMemoryBackend) UpdateBillingGroup ¶
func (b *InMemoryBackend) UpdateBillingGroup( name string, props BillingGroupProperties, ) (int64, error)
func (*InMemoryBackend) UpdateCACertificate ¶
func (b *InMemoryBackend) UpdateCACertificate(id, status string) error
func (*InMemoryBackend) UpdateCertificate ¶
func (b *InMemoryBackend) UpdateCertificate(input *UpdateCertificateInput) error
UpdateCertificate updates the status of a certificate.
func (*InMemoryBackend) UpdateCertificateProvider ¶
func (b *InMemoryBackend) UpdateCertificateProvider(input *UpdateCertificateProviderInput) error
UpdateCertificateProvider updates an existing certificate provider.
func (*InMemoryBackend) UpdateCommand ¶
func (b *InMemoryBackend) UpdateCommand(id, displayName, description string, deprecated bool) error
func (*InMemoryBackend) UpdateCustomMetric ¶
func (b *InMemoryBackend) UpdateCustomMetric(name, displayName string) (*CustomMetric, error)
func (*InMemoryBackend) UpdateDimension ¶
func (b *InMemoryBackend) UpdateDimension(name string, stringValues []string) (*Dimension, error)
func (*InMemoryBackend) UpdateDomainConfiguration ¶
func (b *InMemoryBackend) UpdateDomainConfiguration( name, status string, ) (*DomainConfiguration, error)
func (*InMemoryBackend) UpdateDynamicThingGroup ¶
func (b *InMemoryBackend) UpdateDynamicThingGroup(input *UpdateThingGroupInput) (int64, error)
UpdateDynamicThingGroup updates a dynamic thing group and returns the new version.
func (*InMemoryBackend) UpdateEncryptionConfiguration ¶
func (b *InMemoryBackend) UpdateEncryptionConfiguration(input *UpdateEncryptionConfigurationInput) error
UpdateEncryptionConfiguration validates and mutates the account's encryption configuration.
func (*InMemoryBackend) UpdateEventConfigurations ¶
func (b *InMemoryBackend) UpdateEventConfigurations(cfgs map[string]*EventConfigEntry) error
func (*InMemoryBackend) UpdateFleetMetric ¶
func (b *InMemoryBackend) UpdateFleetMetric(name, queryString, description string, period int32) error
func (*InMemoryBackend) UpdateIndexingConfiguration ¶
func (b *InMemoryBackend) UpdateIndexingConfiguration(input *UpdateIndexingConfigurationInput) error
UpdateIndexingConfiguration validates and stores a new fleet indexing configuration.
func (*InMemoryBackend) UpdateIoTPackage ¶
func (b *InMemoryBackend) UpdateIoTPackage(name, description, defaultVersionName string) error
func (*InMemoryBackend) UpdateIoTPackageVersion ¶
func (b *InMemoryBackend) UpdateIoTPackageVersion(packageName, versionName, description, status string) error
func (*InMemoryBackend) UpdateJob ¶
func (b *InMemoryBackend) UpdateJob(jobID, description string) error
func (*InMemoryBackend) UpdateMitigationAction ¶
func (b *InMemoryBackend) UpdateMitigationAction( name, roleARN string, params map[string]any, ) (*MitigationAction, error)
func (*InMemoryBackend) UpdatePackageConfiguration ¶
func (b *InMemoryBackend) UpdatePackageConfiguration(cfg map[string]any) error
func (*InMemoryBackend) UpdateProvisioningTemplate ¶
func (b *InMemoryBackend) UpdateProvisioningTemplate( name, description string, enabled *bool, provRoleARN string, ) error
func (*InMemoryBackend) UpdateRoleAlias ¶
func (b *InMemoryBackend) UpdateRoleAlias( alias, roleARN string, credDuration int, ) (*RoleAlias, error)
func (*InMemoryBackend) UpdateScheduledAudit ¶
func (b *InMemoryBackend) UpdateScheduledAudit( name, frequency, dayOfMonth, dayOfWeek string, checks []string, ) (*ScheduledAudit, error)
func (*InMemoryBackend) UpdateSecurityProfile ¶
func (b *InMemoryBackend) UpdateSecurityProfile( input *UpdateSecurityProfileInput, ) (*SecurityProfile, error)
UpdateSecurityProfile updates a security profile's mutable fields. ExpectedVersion, when set, must match the profile's current version or ErrVersionConflict (-> VersionConflictException) is returned, matching real AWS's optimistic-locking semantics.
func (*InMemoryBackend) UpdateStream ¶
func (b *InMemoryBackend) UpdateStream(id, description, roleARN string, files []StreamFile) (*IoTStream, error)
func (*InMemoryBackend) UpdateThing ¶
func (b *InMemoryBackend) UpdateThing(input *UpdateThingInput) error
UpdateThing updates attributes and/or type of an existing thing.
func (*InMemoryBackend) UpdateThingGroup ¶
func (b *InMemoryBackend) UpdateThingGroup(input *UpdateThingGroupInput) (int64, error)
UpdateThingGroup updates an existing thing group and returns the new version.
func (*InMemoryBackend) UpdateThingGroupsForThing ¶
func (b *InMemoryBackend) UpdateThingGroupsForThing(input *UpdateThingGroupsForThingInput) error
UpdateThingGroupsForThing adds and/or removes a thing from the named thing groups, keeping the thing->groups and group->things indexes consistent.
func (*InMemoryBackend) UpdateThingShadow ¶
func (b *InMemoryBackend) UpdateThingShadow(thingName, shadowName string, state map[string]any) (*ThingShadow, error)
UpdateThingShadow creates or updates the shadow for a thing.
func (*InMemoryBackend) UpdateThingType ¶
func (b *InMemoryBackend) UpdateThingType(input *UpdateThingTypeInput) error
UpdateThingType updates the description and/or searchable attributes of an existing thing type. Searchable attributes are additive, matching the real AWS IoT behavior (existing searchable attributes cannot be removed this way).
func (*InMemoryBackend) UpdateTopicRuleDestination ¶
func (b *InMemoryBackend) UpdateTopicRuleDestination(input *UpdateTopicRuleDestinationInput) error
UpdateTopicRuleDestination updates the status of a topic rule destination.
func (*InMemoryBackend) ValidateSecurityProfileBehaviors ¶
func (b *InMemoryBackend) ValidateSecurityProfileBehaviors( behaviors []SecurityProfileBehavior, ) (bool, []string)
ValidateSecurityProfileBehaviors validates the supplied behaviors against AWS's structural rules (name required, criteria required, comparison operator must be a known value, non-negative durations/thresholds).
type IndexDescription ¶
IndexDescription describes a fleet index (returned by DescribeIndex).
type IndexingField ¶
IndexingField describes a custom field included in a fleet index.
type IndexingFilter ¶
type IndexingFilter struct {
NamedShadowNames []string `json:"namedShadowNames,omitempty"`
}
IndexingFilter restricts which named shadows are indexed.
type IoTCommand ¶
type IoTCommand struct {
Tags map[string]string `json:"tags,omitempty"`
Payload map[string]any `json:"payload,omitempty"`
CommandARN string `json:"commandArn"`
CommandID string `json:"commandId"`
DisplayName string `json:"displayName,omitempty"`
Description string `json:"description,omitempty"`
Namespace string `json:"namespace,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
LastUpdated float64 `json:"lastUpdatedAt,omitempty"`
Deprecated bool `json:"deprecated"`
PendingDeletion bool `json:"pendingDeletion"`
}
IoTCommand represents an AWS IoT command.
type IoTCommandExecution ¶
type IoTCommandExecution struct {
CommandARN string `json:"commandArn"`
ExecutionID string `json:"executionId"`
ThingARN string `json:"thingArn"`
Status string `json:"status"`
CreationDate float64 `json:"createdAt,omitempty"`
}
IoTCommandExecution represents an execution of an IoT command.
type IoTPackage ¶
type IoTPackage struct {
Tags map[string]string `json:"tags,omitempty"`
PackageARN string `json:"packageArn"`
PackageName string `json:"packageName"`
Description string `json:"description,omitempty"`
DefaultVersionName string `json:"defaultVersionName,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
IoTPackage represents an AWS IoT software package.
type IoTPackageVersion ¶
type IoTPackageVersion struct {
Tags map[string]string `json:"tags,omitempty"`
PackageVersionARN string `json:"packageVersionArn"`
PackageName string `json:"packageName"`
VersionName string `json:"versionName"`
Description string `json:"description,omitempty"`
Status string `json:"status"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
IoTPackageVersion represents a version of an AWS IoT software package.
type IoTStream ¶
type IoTStream struct {
Tags map[string]string `json:"tags,omitempty"`
StreamID string `json:"streamId"`
StreamARN string `json:"streamArn"`
Description string `json:"description,omitempty"`
RoleARN string `json:"roleArn,omitempty"`
Files []StreamFile `json:"files,omitempty"`
CreatedAt float64 `json:"createdAt,omitempty"`
LastUpdated float64 `json:"lastUpdatedAt,omitempty"`
StreamVersion int32 `json:"streamVersion,omitempty"`
}
IoTStream represents an IoT data stream.
type IssuerCertificateIdentifier ¶ added in v1.2.0
type IssuerCertificateIdentifier struct {
IssuerCertificateSubject string `json:"issuerCertificateSubject,omitempty"`
IssuerID string `json:"issuerId,omitempty"`
IssuerCertificateSerialNumber string `json:"issuerCertificateSerialNumber,omitempty"`
}
IssuerCertificateIdentifier identifies a certificate issuer (aws-sdk-go-v2/service/iot/types.IssuerCertificateIdentifier), one of ResourceIdentifier's nested discriminator fields.
type Job ¶
type Job struct {
Tags map[string]string `json:"-"`
DocumentParameters map[string]string `json:"documentParameters,omitempty"`
AbortConfig *AbortConfig `json:"abortConfig,omitempty"`
JobExecutionsRolloutConfig *JobExecutionsRolloutConfig `json:"jobExecutionsRolloutConfig,omitempty"`
TimeoutConfig *TimeoutConfig `json:"timeoutConfig,omitempty"`
JobExecutionsRetryConfig *JobExecutionsRetryConfig `json:"jobExecutionsRetryConfig,omitempty"`
PresignedURLConfig *PresignedURLConfig `json:"presignedUrlConfig,omitempty"`
SchedulingConfig *SchedulingConfig `json:"schedulingConfig,omitempty"`
// JobProcessDetails is never persisted on the stored Job -- it is
// computed fresh from the backend's real per-target JobExecution rows
// each time DescribeJob runs (see jobProcessDetailsLocked) and attached
// only to the response clone.
JobProcessDetails *JobProcessDetails `json:"jobProcessDetails,omitempty"`
DestinationPackageVersions []string `json:"destinationPackageVersions,omitempty"`
JobID string `json:"jobId"`
JobARN string `json:"jobArn"`
Description string `json:"description,omitempty"`
Document string `json:"-"`
DocumentSource string `json:"-"`
JobTemplateARN string `json:"jobTemplateArn,omitempty"`
Status JobStatus `json:"status"`
TargetSelection string `json:"targetSelection,omitempty"`
Targets []string `json:"targets,omitempty"`
CreatedAt float64 `json:"createdAt,omitempty"`
LastUpdatedAt float64 `json:"lastUpdatedAt,omitempty"`
CompletedAt float64 `json:"completedAt,omitempty"`
}
Job represents an IoT job.
Tags, Document, and DocumentSource are internal-only (json:"-"): real AWS IoT's Job shape (aws-sdk-go-v2/service/iot/types.Job, verified against awsRestjson1_deserializeDocumentJob in v1.76.0) has none of these three fields -- tags are a separate ListTagsForResource concept, the job document is only returned via GetJobDocument, and documentSource is a top-level DescribeJobOutput field, not part of the nested Job object. They stay on this struct purely as backend storage (Document for GetJobDocument, DocumentSource for the DescribeJobOutput top-level field, Tags for future TagResource wiring) but must never leak into a JSON response that embeds the whole Job struct.
type JobExecution ¶
type JobExecution struct {
StatusDetails *JobExecutionStatusDetails `json:"statusDetails,omitempty"`
JobID string `json:"jobId"`
ThingName string `json:"thingName"`
Status JobExecutionStatus `json:"status"`
ExecutionNumber int64 `json:"executionNumber,omitempty"`
QueuedAt float64 `json:"queuedAt,omitempty"`
StartedAt float64 `json:"startedAt,omitempty"`
LastUpdatedAt float64 `json:"lastUpdatedAt,omitempty"`
ApproximateSecondsBeforeTimedOut int64 `json:"approximateSecondsBeforeTimedOut,omitempty"`
VersionNumber int64 `json:"versionNumber,omitempty"`
ForceCanceled bool `json:"forceCanceled,omitempty"`
}
JobExecution represents a single job execution on a thing.
ThingName is internal-only storage used for lookups (jobExecKey, ListJobExecutionsForThing) -- real AWS's JobExecution wire shape has no "thingName" field, only "thingArn" (confirmed against awsRestjson1_deserializeDocumentJobExecution in aws-sdk-go-v2/service/iot@v1.76.0, which has no "thingName" case at all). Wire-response builders (handler_jobs.go) must compute ThingArn from ThingName via InMemoryBackend.ThingARN rather than ever serializing this struct directly, since ThingName still needs a normal json tag for Snapshot/Restore persistence to round-trip it.
type JobExecutionStatus ¶
type JobExecutionStatus string
JobExecutionStatus represents the status of a job execution on a thing.
const ( JobExecQueued JobExecutionStatus = "QUEUED" JobExecInProgress JobExecutionStatus = "IN_PROGRESS" JobExecSucceeded JobExecutionStatus = "SUCCEEDED" JobExecFailed JobExecutionStatus = "FAILED" JobExecCanceled JobExecutionStatus = "CANCELED" JobExecRejected JobExecutionStatus = "REJECTED" JobExecRemoved JobExecutionStatus = "REMOVED" )
type JobExecutionStatusDetails ¶ added in v1.2.0
type JobExecutionStatusDetails struct {
DetailsMap map[string]string `json:"detailsMap,omitempty"`
}
JobExecutionStatusDetails holds free-form status detail name/value pairs for a job execution (aws-sdk-go-v2/service/iot/types. JobExecutionStatusDetails).
type JobExecutionsRetryConfig ¶ added in v1.2.0
type JobExecutionsRetryConfig struct {
CriteriaList []RetryCriteria `json:"criteriaList,omitempty"`
}
JobExecutionsRetryConfig determines how many retries are allowed for each failure type for a job (types.JobExecutionsRetryConfig).
type JobExecutionsRolloutConfig ¶
type JobExecutionsRolloutConfig struct {
MaximumPerMinute int `json:"maximumPerMinute,omitempty"`
}
JobExecutionsRolloutConfig holds rollout config for a job.
type JobProcessDetails ¶ added in v1.2.0
type JobProcessDetails struct {
ProcessingTargets []string `json:"processingTargets,omitempty"`
NumberOfQueuedThings int64 `json:"numberOfQueuedThings"`
NumberOfInProgressThings int64 `json:"numberOfInProgressThings"`
NumberOfSucceededThings int64 `json:"numberOfSucceededThings"`
NumberOfFailedThings int64 `json:"numberOfFailedThings"`
NumberOfRejectedThings int64 `json:"numberOfRejectedThings"`
NumberOfCanceledThings int64 `json:"numberOfCanceledThings"`
NumberOfRemovedThings int64 `json:"numberOfRemovedThings"`
NumberOfTimedOutThings int64 `json:"numberOfTimedOutThings"`
}
JobProcessDetails rolls up per-target JobExecution status counts for a job (types.JobProcessDetails). Unlike Job's other fields, this is never stored on the Job itself -- it is computed on demand from the backend's real per-target JobExecution rows (see [InMemoryBackend.jobProcessDetailsLocked]) so it always reflects current execution state instead of going stale.
type JobTemplate ¶
type JobTemplate struct {
Tags map[string]string `json:"-"`
AbortConfig *AbortConfig `json:"abortConfig,omitempty"`
JobExecutionsRolloutConfig *JobExecutionsRolloutConfig `json:"jobExecutionsRolloutConfig,omitempty"`
TimeoutConfig *TimeoutConfig `json:"timeoutConfig,omitempty"`
JobExecutionsRetryConfig *JobExecutionsRetryConfig `json:"jobExecutionsRetryConfig,omitempty"`
PresignedURLConfig *PresignedURLConfig `json:"presignedUrlConfig,omitempty"`
JobTemplateARN string `json:"jobTemplateArn"`
JobTemplateID string `json:"jobTemplateId"`
Description string `json:"description,omitempty"`
Document string `json:"document,omitempty"`
DocumentSource string `json:"documentSource,omitempty"`
MaintenanceWindows []MaintenanceWindow `json:"maintenanceWindows,omitempty"`
DestinationPackageVersions []string `json:"destinationPackageVersions,omitempty"`
CreatedAt float64 `json:"createdAt,omitempty"`
}
JobTemplate represents an IoT job template.
Tags is internal-only (json:"-"): DescribeJobTemplateOutput (verified against awsRestjson1_deserializeOpDocumentDescribeJobTemplateOutput in aws-sdk-go-v2/service/iot@v1.76.0) has no "tags" field -- tags are a separate ListTagsForResource concept.
JobExecutionsRetryConfig/PresignedURLConfig/DestinationPackageVersions/ MaintenanceWindows were field-diffed against the same DescribeJobTemplateOutput and found entirely missing (this struct previously modeled none of Job's advanced fields on the template side either). Note MaintenanceWindows is a TOP-LEVEL field here, unlike Job's own SchedulingConfig.MaintenanceWindows nesting -- real AWS is genuinely inconsistent between the two shapes (JobTemplate has no SchedulingConfig wrapper at all; confirmed against both DescribeJobTemplateOutput and CreateJobTemplateInput, neither of which has a schedulingConfig field).
type LambdaAction ¶
type LambdaAction struct {
FunctionARN string `json:"functionArn"`
}
LambdaAction invokes a Lambda function with the matched message payload.
type ListAttachedPoliciesInput ¶
ListAttachedPoliciesInput is the input for ListAttachedPolicies.
type ListAuditFindingsFilter ¶ added in v1.2.0
type ListAuditFindingsFilter struct {
ListSuppressedFindings *bool
ResourceIdentifier *ResourceIdentifier
CheckName string
TaskID string
StartTime float64
EndTime float64
}
ListAuditFindingsFilter carries ListAuditFindings' optional filter fields (aws-sdk-go-v2/service/iot.ListAuditFindingsInput). checkName, taskId, listSuppressedFindings, the [startTime,endTime] time range, and resourceIdentifier are all implemented -- see matchResourceIdentifier's doc comment for how resourceIdentifier filtering is made honest despite AuditFinding.NonCompliantResource being otherwise synthetic/seeded data.
type ListThingsInThingGroupInput ¶
ListThingsInThingGroupInput is the input for ListThingsInThingGroup.
type LoggingOptions ¶
LoggingOptions holds the IoT account-level logging configuration.
type MaintenanceWindow ¶ added in v1.2.0
type MaintenanceWindow struct {
StartTime string `json:"startTime,omitempty"`
DurationInMinutes int32 `json:"durationInMinutes,omitempty"`
}
MaintenanceWindow is a single recurring maintenance window within a job's SchedulingConfig (types.MaintenanceWindow).
type ManagedJobTemplate ¶
type ManagedJobTemplate struct {
TemplateName string `json:"templateName"`
TemplateArn string `json:"templateArn"`
TemplateVersion string `json:"templateVersion"`
Description string `json:"description,omitempty"`
Document string `json:"document"`
Environments []string `json:"environments,omitempty"`
DocumentParameters []ManagedJobTemplateParameter `json:"documentParameters,omitempty"`
}
ManagedJobTemplate represents an AWS-managed job template.
type ManagedJobTemplateParameter ¶
type ManagedJobTemplateParameter struct {
Key string `json:"key"`
Description string `json:"description,omitempty"`
Regex string `json:"regex,omitempty"`
Example string `json:"example,omitempty"`
Optional bool `json:"optional"`
}
ManagedJobTemplateParameter describes one substitutable field in a managed job template document.
type ManagedJobTemplateSummary ¶
type ManagedJobTemplateSummary struct {
TemplateName string `json:"templateName"`
TemplateArn string `json:"templateArn"`
TemplateVersion string `json:"templateVersion"`
Description string `json:"description,omitempty"`
Environments []string `json:"environments,omitempty"`
}
ManagedJobTemplateSummary is the summary form of a ManagedJobTemplate returned by ListManagedJobTemplates.
type MetricDatapoint ¶
type MetricDatapoint struct {
Value *MetricValueData `json:"value,omitempty"`
Timestamp float64 `json:"timestamp"`
}
MetricDatapoint is one reported value of a security-profile metric for a thing at a point in time.
type MetricValueData ¶
type MetricValueData struct {
Count *int64 `json:"count,omitempty"`
Number *float64 `json:"number,omitempty"`
Cidrs []string `json:"cidrs,omitempty"`
Ports []int32 `json:"ports,omitempty"`
}
MetricValueData is the polymorphic value of a metric datapoint.
type MitigationAction ¶
type MitigationAction struct {
Tags map[string]string `json:"tags,omitempty"`
ActionParams map[string]any `json:"actionParams,omitempty"`
ActionName string `json:"actionName"`
ActionARN string `json:"actionArn"`
ActionID string `json:"actionId"`
RoleARN string `json:"roleArn,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
MitigationAction represents an IoT mitigation action.
type MitigationActionRef ¶ added in v1.2.0
type MitigationActionRef struct {
ActionParams map[string]any `json:"actionParams,omitempty"`
ID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
RoleARN string `json:"roleArn,omitempty"`
}
MitigationActionRef is the shape of a mitigation action as embedded in DetectMitigationActionsTaskSummary.actionsDefinition (types.MitigationAction, confirmed against v1.76.0) -- a narrower shape than DescribeMitigationActionOutput's own top-level fields: just id/name/roleArn/actionParams, with no arn, actionType, or timestamps.
type NonCompliantResource ¶ added in v1.2.0
type NonCompliantResource struct {
ResourceIdentifier *ResourceIdentifier `json:"resourceIdentifier,omitempty"`
AdditionalInfo map[string]string `json:"additionalInfo,omitempty"`
ResourceType string `json:"resourceType,omitempty"`
}
NonCompliantResource describes the resource an audit check found to be noncompliant (types.NonCompliantResource).
type OTAUpdate ¶
type OTAUpdate struct {
OTAUpdateARN string `json:"otaUpdateArn"`
OTAUpdateID string `json:"otaUpdateId"`
Description string `json:"description,omitempty"`
RoleARN string `json:"roleArn,omitempty"`
Status string `json:"otaUpdateStatus"`
Files []any `json:"files,omitempty"`
Targets []string `json:"targets,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
OTAUpdate represents an AWS IoT OTA update.
type OutgoingCertificate ¶
type OutgoingCertificate struct {
CertificateARN string `json:"certificateArn"`
CertificateID string `json:"certificateId"`
TransferredTo string `json:"transferredTo,omitempty"`
TransferMessage string `json:"transferMessage,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
TransferDate float64 `json:"transferDate,omitempty"`
}
OutgoingCertificate describes a certificate pending transfer to another AWS account.
type PackageConfiguration ¶
type PackageConfiguration struct {
VersionUpdateByJobsConfig map[string]any `json:"versionUpdateByJobsConfig,omitempty"`
}
PackageConfiguration holds the software package configuration.
type ParsedRule ¶
type ParsedRule struct {
// TopicPattern is the MQTT topic pattern extracted from the FROM clause.
TopicPattern string
// Condition is the optional WHERE clause predicate.
Condition string
}
ParsedRule holds the parsed components of an IoT SQL rule statement.
func ParseRuleSQL ¶
func ParseRuleSQL(sql string) (*ParsedRule, error)
ParseRuleSQL parses a simplified AWS IoT SQL rule statement. Supported format: SELECT * FROM 'topic/pattern' [WHERE condition].
type PercentileValue ¶
PercentileValue is a single (percent, value) pair returned by GetPercentiles.
type PercentilesInput ¶
type PercentilesInput struct {
AggregationInput
Percents []float64
}
PercentilesInput is the input for GetPercentiles.
type Policy ¶
type Policy struct {
CreatedAt time.Time `json:"creationDate"`
LastModifiedAt time.Time `json:"lastModifiedDate"`
PolicyName string `json:"policyName"`
PolicyDocument string `json:"policyDocument"`
ARN string `json:"policyArn"`
}
Policy represents an AWS IoT Policy.
type PolicyIdentifier ¶
type PolicyIdentifier struct {
PolicyName string `json:"policyName,omitempty"`
PolicyARN string `json:"policyArn,omitempty"`
}
PolicyIdentifier identifies a policy referenced by an authorization result.
type PolicyVersion ¶
type PolicyVersion struct {
CreatedAt time.Time `json:"createDate"`
VersionID string `json:"versionId"`
PolicyDocument string `json:"policyDocument"`
GenerationID string `json:"generationId,omitempty"`
IsDefaultVersion bool `json:"isDefaultVersion"`
}
PolicyVersion represents a version of an AWS IoT policy.
type PolicyVersionIdentifier ¶ added in v1.2.0
type PolicyVersionIdentifier struct {
PolicyName string `json:"policyName,omitempty"`
PolicyVersionID string `json:"policyVersionId,omitempty"`
}
PolicyVersionIdentifier identifies a specific version of an IoT policy (types.PolicyVersionIdentifier), one of ResourceIdentifier's nested discriminator fields.
type PresignedURLConfig ¶ added in v1.2.0
type PresignedURLConfig struct {
RoleARN string `json:"roleArn,omitempty"`
ExpiresInSec int64 `json:"expiresInSec,omitempty"`
}
PresignedURLConfig holds configuration for pre-signed S3 job-document URLs (types.PresignedUrlConfig).
type Provider ¶
type Provider struct{}
Provider implements service.Provider for the IoT service.
func (*Provider) Init ¶
func (p *Provider) Init(ctx *service.AppContext) (service.Registerable, error)
Init initialises the IoT backend, MQTT broker, and handler.
type ProvisioningTemplate ¶
type ProvisioningTemplate struct {
Tags map[string]string `json:"tags,omitempty"`
TemplateName string `json:"templateName"`
TemplateARN string `json:"templateArn"`
Description string `json:"description,omitempty"`
TemplateBody string `json:"templateBody,omitempty"`
ProvisioningRoleARN string `json:"provisioningRoleArn,omitempty"`
TemplateType string `json:"type,omitempty"`
Enabled bool `json:"enabled"`
DefaultVersionID int32 `json:"defaultVersionId,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
ProvisioningTemplate represents an IoT fleet provisioning template.
type ProvisioningTemplateVersion ¶
type ProvisioningTemplateVersion struct {
TemplateBody string `json:"templateBody,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
VersionID int32 `json:"versionId"`
IsDefaultVersion bool `json:"isDefaultVersion"`
}
ProvisioningTemplateVersion represents a version of a provisioning template.
type RegisterCertificateInput ¶
RegisterCertificateInput is the input for RegisterCertificate.
type RegisterThingInput ¶
type RegisterThingInput struct {
Parameters map[string]string `json:"parameters"`
TemplateBody string `json:"templateBody"`
}
RegisterThingInput is the input for RegisterThing.
type RegisterThingOutput ¶
type RegisterThingOutput struct {
ResourceArns map[string]string `json:"resourceArns"`
CertificatePem string `json:"certificatePem"`
}
RegisterThingOutput is the output for RegisterThing.
type RemoveThingFromThingGroupInput ¶
type RemoveThingFromThingGroupInput struct {
ThingGroupName string `json:"thingGroupName"`
ThingGroupArn string `json:"thingGroupArn"`
ThingName string `json:"thingName"`
ThingArn string `json:"thingArn"`
}
RemoveThingFromThingGroupInput is the input for RemoveThingFromThingGroup.
type ReplaceTopicRuleInput ¶
type ReplaceTopicRuleInput struct {
TopicRulePayload *TopicRulePayload
RuleName string
}
ReplaceTopicRuleInput is the input for ReplaceTopicRule.
type Resettable ¶
type Resettable interface {
Reset()
}
Resettable is an optional interface that a StorageBackend may implement to support clearing all state (used for test isolation).
type ResourceIdentifier ¶ added in v1.2.0
type ResourceIdentifier struct {
IssuerCertificateIdentifier *IssuerCertificateIdentifier `json:"issuerCertificateIdentifier,omitempty"`
PolicyVersionIdentifier *PolicyVersionIdentifier `json:"policyVersionIdentifier,omitempty"`
Account string `json:"account,omitempty"`
CaCertificateID string `json:"caCertificateId,omitempty"`
ClientID string `json:"clientId,omitempty"`
CognitoIdentityPoolID string `json:"cognitoIdentityPoolId,omitempty"`
DeviceCertificateArn string `json:"deviceCertificateArn,omitempty"`
DeviceCertificateID string `json:"deviceCertificateId,omitempty"`
IamRoleArn string `json:"iamRoleArn,omitempty"`
RoleAliasArn string `json:"roleAliasArn,omitempty"`
}
ResourceIdentifier identifies the noncompliant resource behind an audit finding (types.ResourceIdentifier, confirmed against v1.76.0's field set: account, caCertificateId, clientId, cognitoIdentityPoolId, deviceCertificateArn, deviceCertificateId, iamRoleArn, issuerCertificateIdentifier, policyVersionIdentifier, roleAliasArn -- ten discriminator fields in total). Real AWS populates exactly the one (or two) fields relevant to the audit check that produced the finding, e.g. DEVICE_CERTIFICATE_EXPIRING_CHECK populates deviceCertificateId, IOT_POLICY_OVERLY_PERMISSIVE_CHECK populates policyVersionIdentifier, IOT_ROLE_ALIAS_OVERLY_PERMISSIVE_CHECK populates roleAliasArn, and so on.
Modeling this as a real, fully-typed struct -- rather than a freeform map, like RelatedResources' entries elsewhere in this file -- is what makes ListAuditFindings' resourceIdentifier filter honestly implementable: see matchResourceIdentifier, which matches a finding when every field SET on the filter is present and equal on the finding's own identifier, the same per-field discriminator semantics the real service uses. This resolves the gap PARITY.md previously recorded as unimplementable "without guessing per-check-type semantics" -- no guessing is required once the shape itself is real and callers (SeedAuditFinding) populate only the field(s) appropriate to the check they're simulating.
type RetryCriteria ¶ added in v1.2.0
type RetryCriteria struct {
FailureType string `json:"failureType,omitempty"`
NumberOfRetries int32 `json:"numberOfRetries,omitempty"`
}
RetryCriteria is a single retry criterion for a job (aws-sdk-go-v2/service/iot/types.RetryCriteria).
type RoleAlias ¶
type RoleAlias struct {
Tags map[string]string `json:"tags,omitempty"`
RoleAlias string `json:"roleAlias"`
RoleAliasARN string `json:"roleAliasArn"`
RoleARN string `json:"roleArn"`
Owner string `json:"owner,omitempty"`
CredentialDurationSeconds int `json:"credentialDurationSeconds,omitempty"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
RoleAlias represents an IoT role alias.
type RuleAction ¶
type RuleAction struct {
SQS *SQSAction `json:"sqs,omitempty"`
Lambda *LambdaAction `json:"lambda,omitempty"`
}
RuleAction represents an action taken when a rule matches.
type RuleDispatcher ¶
type RuleDispatcher interface {
SendToSQS(queueURL, body string) error
InvokeLambda(ctx context.Context, functionARN string, payload []byte) error
}
RuleDispatcher is implemented by the CLI wiring layer and dispatches rule actions.
type S3Location ¶
type S3Location struct {
Bucket string `json:"bucket"`
Key string `json:"key"`
Version string `json:"version"`
}
S3Location represents an S3 object location.
type SbomDocument ¶
type SbomDocument struct {
S3Location *S3Location `json:"s3Location"`
}
SbomDocument represents an SBOM document reference.
type SbomValidationResult ¶
type SbomValidationResult struct {
FileName string `json:"fileName,omitempty"`
ValidationResult string `json:"validationResult"`
ErrorCode string `json:"errorCode,omitempty"`
ErrorMessage string `json:"errorMessage,omitempty"`
}
SbomValidationResult reports the outcome of validating one SBOM file associated with a package version.
type ScheduledAudit ¶
type ScheduledAudit struct {
Tags map[string]string `json:"tags,omitempty"`
ScheduledAuditName string `json:"scheduledAuditName"`
ScheduledAuditARN string `json:"scheduledAuditArn"`
Frequency string `json:"frequency"`
DayOfMonth string `json:"dayOfMonth,omitempty"`
DayOfWeek string `json:"dayOfWeek,omitempty"`
TargetCheckNames []string `json:"targetCheckNames,omitempty"`
}
ScheduledAudit represents an IoT scheduled audit.
type SchedulingConfig ¶ added in v1.2.0
type SchedulingConfig struct {
StartTime string `json:"startTime,omitempty"`
EndTime string `json:"endTime,omitempty"`
EndBehavior string `json:"endBehavior,omitempty"`
MaintenanceWindows []MaintenanceWindow `json:"maintenanceWindows,omitempty"`
}
SchedulingConfig schedules a job for a future date/time and configures the end behavior for each job execution (types.SchedulingConfig).
type SearchIndexInput ¶
type SearchIndexInput struct {
IndexName string
QueryString string
NextToken string
MaxResults int32
}
SearchIndexInput is the input for SearchIndex.
type SearchIndexOutput ¶
type SearchIndexOutput struct {
NextToken string
Things []*SearchIndexThingResult
ThingGroups []*SearchIndexThingGroupResult
}
SearchIndexOutput is the output for SearchIndex.
type SearchIndexThingGroupResult ¶
type SearchIndexThingGroupResult struct {
Attributes map[string]string `json:"attributes"`
ThingGroupName string `json:"thingGroupName"`
ThingGroupID string `json:"thingGroupId"`
ThingGroupDescription string `json:"thingGroupDescription,omitempty"`
ParentGroupNames []string `json:"parentGroupNames,omitempty"`
}
SearchIndexThingGroupResult is a ThingGroup document returned by SearchIndex.
Field names/shape verified against aws-sdk-go-v2/service/iot@v1.76.0's awsRestjson1_deserializeDocumentThingGroupDocument: the real ThingGroupDocument shape has "parentGroupNames" (a LIST of every ancestor group name up to the root, not just the direct parent) and "thingGroupDescription" -- a prior revision of this struct had a single "parentGroupName" string (the immediate parent only) and no description field at all, so a real SDK client's deserializer would never find the "parentGroupNames" key it looks for and silently leave that field empty.
type SearchIndexThingResult ¶
type SearchIndexThingResult struct {
Attributes map[string]string `json:"attributes"`
ThingName string `json:"thingName"`
ThingID string `json:"thingId"`
ThingTypeName string `json:"thingTypeName,omitempty"`
ThingGroupNames []string `json:"thingGroupNames,omitempty"`
}
SearchIndexThingResult is a Thing document returned by SearchIndex.
type SecurityProfile ¶
type SecurityProfile struct {
Tags map[string]string `json:"-"`
AlertTargets map[string]SecurityProfileAlertTarget `json:"alertTargets,omitempty"`
MetricsExportConfig *SecurityProfileMetricsExportConfig `json:"metricsExportConfig,omitempty"`
SecurityProfileName string `json:"securityProfileName"`
SecurityProfileARN string `json:"securityProfileArn"`
SecurityProfileDescription string `json:"securityProfileDescription,omitempty"`
Behaviors []SecurityProfileBehavior `json:"behaviors,omitempty"`
AdditionalMetricsToRetain []string `json:"additionalMetricsToRetain,omitempty"`
AdditionalMetricsToRetainV2 []SecurityProfileMetricToRetain `json:"additionalMetricsToRetainV2,omitempty"`
Version int64 `json:"version"`
CreationDate float64 `json:"creationDate,omitempty"`
LastModifiedDate float64 `json:"lastModifiedDate,omitempty"`
}
SecurityProfile represents an IoT security profile.
Field-diffed against types.CreateSecurityProfileInput/ DescribeSecurityProfileOutput/UpdateSecurityProfileOutput in v1.76.0: Behaviors/AlertTargets/AdditionalMetricsToRetain/AdditionalMetricsToRetainV2/ MetricsExportConfig were entirely unmodeled -- CreateSecurityProfile silently dropped every one of them (the "dropped request field" bug class flagged elsewhere in this campaign). All five are now modeled and persisted.
Tags is internal-storage-only (json:"-"): real DescribeSecurityProfileOutput and UpdateSecurityProfileOutput have NO "tags" field at all (confirmed against v1.76.0's awsRestjson1_deserializeOpDocumentDescribeSecurityProfileOutput/ UpdateSecurityProfileOutput -- tags attached at creation time are only ever retrievable via the separate ListTagsForResource op), so surfacing it here would be the same "invented field" bug class already fixed for Job/ JobTemplate's leaked "tags" field elsewhere in this service. Kept on the struct (rather than dropped) purely for internal storage.
type SecurityProfileAlertTarget ¶ added in v1.2.0
type SecurityProfileAlertTarget struct {
AlertTargetArn string `json:"alertTargetArn"`
RoleArn string `json:"roleArn"`
}
SecurityProfileAlertTarget is an alert destination for behavior violations (types.AlertTarget). Real AlertTargets is a map[string]AlertTarget keyed by AlertTargetType (e.g. "SNS"); the map itself is modeled as SecurityProfile.AlertTargets/ CreateSecurityProfileInput.AlertTargets.
type SecurityProfileBehavior ¶
type SecurityProfileBehavior struct {
Criteria *SecurityProfileBehaviorCriteria `json:"criteria,omitempty"`
MetricDimension *SecurityProfileMetricDimension `json:"metricDimension,omitempty"`
ExportMetric *bool `json:"exportMetric,omitempty"`
SuppressAlerts *bool `json:"suppressAlerts,omitempty"`
Name string `json:"name"`
Metric string `json:"metric,omitempty"`
}
SecurityProfileBehavior describes one behavior, used both for ValidateSecurityProfileBehaviors' standalone validation and, now, as the actual persisted shape of SecurityProfile.Behaviors (types.Behavior). ExportMetric/MetricDimension/SuppressAlerts were added when Behaviors was wired up to real Create/UpdateSecurityProfile storage -- previously this type only existed for the validation-only endpoint and was never field- diffed against the full real shape.
type SecurityProfileBehaviorCriteria ¶
type SecurityProfileBehaviorCriteria struct {
Value *SecurityProfileMetricValue `json:"value,omitempty"`
StatisticalThreshold *SecurityProfileStatisticalThreshold `json:"statisticalThreshold,omitempty"`
MlDetectionConfig *SecurityProfileMLDetectionConfig `json:"mlDetectionConfig,omitempty"`
ComparisonOperator string `json:"comparisonOperator,omitempty"`
DurationSeconds int32 `json:"durationSeconds,omitempty"`
ConsecutiveDatapointsToAlarm int32 `json:"consecutiveDatapointsToAlarm,omitempty"`
ConsecutiveDatapointsToClear int32 `json:"consecutiveDatapointsToClear,omitempty"`
}
SecurityProfileBehaviorCriteria is the criteria portion of a behavior (types.BehaviorCriteria). Value/StatisticalThreshold/MlDetectionConfig were added alongside SecurityProfileBehavior's own field-diff, above -- which of the three is set determines the behavior's types.BehaviorCriteriaType (STATIC/STATISTICAL/MACHINE_LEARNING respectively), see behaviorCriteriaTypeOf.
type SecurityProfileMLDetectionConfig ¶ added in v1.2.0
type SecurityProfileMLDetectionConfig struct {
ConfidenceLevel string `json:"confidenceLevel,omitempty"`
}
SecurityProfileMLDetectionConfig configures a MACHINE_LEARNING behavior criteria's confidence level (types.MachineLearningDetectionConfig).
type SecurityProfileMetricDimension ¶ added in v1.2.0
type SecurityProfileMetricDimension struct {
DimensionName string `json:"dimensionName,omitempty"`
Operator string `json:"operator,omitempty"`
}
SecurityProfileMetricDimension narrows a behavior's (or additional retained metric's) evaluation to a named dimension (types.MetricDimension).
type SecurityProfileMetricToRetain ¶ added in v1.2.0
type SecurityProfileMetricToRetain struct {
MetricDimension *SecurityProfileMetricDimension `json:"metricDimension,omitempty"`
ExportMetric *bool `json:"exportMetric,omitempty"`
Metric string `json:"metric"`
}
SecurityProfileMetricToRetain is an additional metric retained beyond those already used by the profile's own behaviors (types.MetricToRetain).
type SecurityProfileMetricValue ¶ added in v1.2.0
type SecurityProfileMetricValue struct {
Count *int64 `json:"count,omitempty"`
Number *float64 `json:"number,omitempty"`
Cidrs []string `json:"cidrs,omitempty"`
Numbers []float64 `json:"numbers,omitempty"`
Ports []int32 `json:"ports,omitempty"`
Strings []string `json:"strings,omitempty"`
}
SecurityProfileMetricValue is the value side of a STATIC behavior criteria comparison (types.MetricValue).
type SecurityProfileMetricsExportConfig ¶ added in v1.2.0
type SecurityProfileMetricsExportConfig struct {
MqttTopic string `json:"mqttTopic"`
RoleArn string `json:"roleArn"`
}
SecurityProfileMetricsExportConfig configures MQTT export of behavior evaluation metrics (types.MetricsExportConfig).
type SecurityProfileStatisticalThreshold ¶ added in v1.2.0
type SecurityProfileStatisticalThreshold struct {
Statistic string `json:"statistic,omitempty"`
}
SecurityProfileStatisticalThreshold selects the percentile statistic a STATISTICAL behavior criteria is evaluated against (types.StatisticalThreshold).
type SeedActiveViolationInput ¶
type SeedActiveViolationInput struct {
Behavior *ViolationBehavior
LastViolationValue map[string]any
ViolationEventAdditionalInfo *ViolationEventAdditionalInfo
ViolationID string
ThingName string
SecurityProfileName string
VerificationState string
Suppressed bool
}
SeedActiveViolationInput seeds a Device Defender Detect violation.
type Snapshottable ¶
type Snapshottable interface {
Snapshot(ctx context.Context) []byte
Restore(ctx context.Context, data []byte) error
}
Snapshottable is an optional interface that a StorageBackend may implement to support snapshot-based persistence.
type StartAuditMitigationActionsTaskInput ¶
type StartAuditMitigationActionsTaskInput struct {
AuditCheckToActionsMapping map[string][]string
Target *AuditMitigationActionsTaskTarget
TaskID string
}
StartAuditMitigationActionsTaskInput is the input for StartAuditMitigationActionsTask.
type StartDetectMitigationActionsTaskInput ¶
type StartDetectMitigationActionsTaskInput struct {
Target *DetectMitigationActionsTaskTarget
ViolationEventOccurrenceRange *ViolationEventOccurrenceRange
TaskID string
Actions []string
IncludeOnlyActiveViolations bool
IncludeSuppressedAlerts bool
}
StartDetectMitigationActionsTaskInput is the input for StartDetectMitigationActionsTask.
type StartThingRegistrationTaskInput ¶
type StartThingRegistrationTaskInput struct {
TemplateBody string `json:"templateBody"`
InputFileBucket string `json:"inputFileBucket"`
InputFileKey string `json:"inputFileKey"`
RoleArn string `json:"roleArn"`
}
StartThingRegistrationTaskInput is the input for StartThingRegistrationTask.
type Statistics ¶
type Statistics struct {
Count int64
Average float64
Sum float64
SumOfSquares float64
Minimum float64
Maximum float64
Variance float64
StdDeviation float64
}
Statistics is the output for GetStatistics.
type StorageBackend ¶
type StorageBackend interface {
CreateThing(input *CreateThingInput) (*CreateThingOutput, error)
DescribeThing(thingName string) (*Thing, error)
ListThings() []*Thing
DeleteThing(thingName string) error
UpdateThing(input *UpdateThingInput) error
CreateTopicRule(input *CreateTopicRuleInput) error
GetTopicRule(ruleName string) (*TopicRule, error)
ListTopicRules() []*TopicRule
DeleteTopicRule(ruleName string) error
DisableTopicRule(ruleName string) error
EnableTopicRule(ruleName string) error
ReplaceTopicRule(input *ReplaceTopicRuleInput) error
GetPolicy(policyName string) (*GetPolicyOutput, error)
DeletePolicy(policyName string) error
ListPolicies() []*Policy
CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error)
AttachPrincipalPolicy(input *AttachPrincipalPolicyInput) error
DescribeEndpoint(endpointType string) (*DescribeEndpointOutput, error)
AcceptCertificateTransfer(input *AcceptCertificateTransferInput) error
AddThingToBillingGroup(input *AddThingToBillingGroupInput) error
AddThingToThingGroup(input *AddThingToThingGroupInput) error
AssociateSbomWithPackageVersion(
input *AssociateSbomWithPackageVersionInput,
) (*AssociateSbomWithPackageVersionOutput, error)
AssociateTargetsWithJob(input *AssociateTargetsWithJobInput) (*AssociateTargetsWithJobOutput, error)
AttachPolicy(input *AttachPolicyInput) error
AttachSecurityProfile(input *AttachSecurityProfileInput) error
AttachThingPrincipal(input *AttachThingPrincipalInput) error
CancelAuditMitigationActionsTask(input *CancelAuditMitigationActionsTaskInput) error
CancelAuditTask(input *CancelAuditTaskInput) error
ListThingPrincipals(thingName string) ([]string, error)
// ThingType operations.
CreateThingType(input *CreateThingTypeInput) (*ThingType, error)
DescribeThingType(thingTypeName string) (*ThingType, error)
ListThingTypes() []*ThingType
DeprecateThingType(input *DeprecateThingTypeInput) error
DeleteThingType(thingTypeName string) error
// ThingGroup operations.
CreateThingGroup(input *CreateThingGroupInput) (*ThingGroup, error)
DescribeThingGroup(thingGroupName string) (*ThingGroup, error)
RootToParentThingGroups(thingGroupName string) []GroupNameAndARN
ListThingGroups() []*ThingGroup
UpdateThingGroup(input *UpdateThingGroupInput) (int64, error)
DeleteThingGroup(thingGroupName string) error
RemoveThingFromThingGroup(input *RemoveThingFromThingGroupInput) error
ListThingsInThingGroup(input *ListThingsInThingGroupInput) ([]string, error)
// Certificate operations.
CreateCertificateFromCsr(input *CreateCertificateFromCsrInput) (*Certificate, error)
RegisterCertificate(input *RegisterCertificateInput) (*Certificate, error)
RegisterCertificateWithoutCA(input *RegisterCertificateInput) (*Certificate, error)
DescribeCertificate(certificateID string) (*Certificate, error)
ListCertificates() []*Certificate
UpdateCertificate(input *UpdateCertificateInput) error
DeleteCertificate(certificateID string) error
// Policy attachment operations.
DetachPolicy(input *DetachPolicyInput) error
ListAttachedPolicies(input *ListAttachedPoliciesInput) ([]*Policy, error)
// PolicyVersion operations.
CreatePolicyVersion(input *CreatePolicyVersionInput) (*PolicyVersion, error)
GetPolicyVersion(policyName, versionID string) (*PolicyVersion, error)
ListPolicyVersions(policyName string) ([]*PolicyVersion, error)
DeletePolicyVersion(policyName, versionID string) error
SetDefaultPolicyVersion(policyName, versionID string) error
// TopicRuleDestination operations.
CreateTopicRuleDestination(input *CreateTopicRuleDestinationInput) (*TopicRuleDestination, error)
GetTopicRuleDestination(arn string) (*TopicRuleDestination, error)
ListTopicRuleDestinations() []*TopicRuleDestination
UpdateTopicRuleDestination(input *UpdateTopicRuleDestinationInput) error
DeleteTopicRuleDestination(arn string) error
// CertificateProvider operations.
CreateCertificateProvider(input *CreateCertificateProviderInput) (*CertificateProvider, error)
DescribeCertificateProvider(name string) (*CertificateProvider, error)
ListCertificateProviders() []*CertificateProvider
UpdateCertificateProvider(input *UpdateCertificateProviderInput) error
DeleteCertificateProvider(name string) error
// Job operations.
CreateJob(input *CreateJobInput) (*Job, error)
DescribeJob(jobID string) (*Job, error)
ListJobs() []*Job
UpdateJob(jobID, description string) error
CancelJob(jobID, comment string) (*Job, error)
DeleteJob(jobID string) error
GetJobDocument(jobID string) (string, error)
DescribeJobExecution(jobID, thingName string) (*JobExecution, error)
CancelJobExecution(jobID, thingName string, opts CancelJobExecutionOptions) error
DeleteJobExecution(jobID, thingName string, force bool) error
// ThingARN builds a Thing's ARN from its name, used by handler_jobs.go to
// derive JobExecution's real "thingArn" wire field from the internal
// ThingName lookup key (see JobExecution's doc comment).
ThingARN(thingName string) string
// JobTemplate operations.
CreateJobTemplate(input *CreateJobTemplateInput) (*JobTemplate, error)
DescribeJobTemplate(id string) (*JobTemplate, error)
ListJobTemplates() []*JobTemplate
DeleteJobTemplate(id string) error
// RoleAlias operations.
CreateRoleAlias(input *CreateRoleAliasInput) (*RoleAlias, error)
DescribeRoleAlias(alias string) (*RoleAlias, error)
ListRoleAliases() []*RoleAlias
UpdateRoleAlias(alias, roleARN string, credDuration int) (*RoleAlias, error)
DeleteRoleAlias(alias string) error
// DomainConfiguration operations.
CreateDomainConfiguration(input *CreateDomainConfigurationInput) (*DomainConfiguration, error)
DescribeDomainConfiguration(name string) (*DomainConfiguration, error)
ListDomainConfigurations() []*DomainConfiguration
UpdateDomainConfiguration(name, status string) (*DomainConfiguration, error)
DeleteDomainConfiguration(name string) error
// ProvisioningTemplate operations.
CreateProvisioningTemplate(input *CreateProvisioningTemplateInput) (*ProvisioningTemplate, error)
DescribeProvisioningTemplate(name string) (*ProvisioningTemplate, error)
ListProvisioningTemplates() []*ProvisioningTemplate
UpdateProvisioningTemplate(name, description string, enabled *bool, provRoleARN string) error
DeleteProvisioningTemplate(name string) error
CreateProvisioningTemplateVersion(name, body string) (*ProvisioningTemplateVersion, error)
ListProvisioningTemplateVersions(name string) ([]*ProvisioningTemplateVersion, error)
DeleteProvisioningTemplateVersion(name string, versionID int32) error
// Authorizer operations.
CreateAuthorizer(input *CreateAuthorizerInput) (*Authorizer, error)
DescribeAuthorizer(name string) (*Authorizer, error)
ListAuthorizers() []*Authorizer
UpdateAuthorizer(name, functionARN, status string) (*Authorizer, error)
DeleteAuthorizer(name string) error
// BillingGroup operations.
CreateBillingGroup(input *CreateBillingGroupInput) (*BillingGroup, error)
DescribeBillingGroup(name string) (*BillingGroup, error)
ListBillingGroups() []*BillingGroup
UpdateBillingGroup(name string, props BillingGroupProperties) (int64, error)
DeleteBillingGroup(name string) error
// ScheduledAudit operations.
CreateScheduledAudit(input *CreateScheduledAuditInput) (*ScheduledAudit, error)
DescribeScheduledAudit(name string) (*ScheduledAudit, error)
ListScheduledAudits() []*ScheduledAudit
UpdateScheduledAudit(name, frequency, dayOfMonth, dayOfWeek string, checks []string) (*ScheduledAudit, error)
DeleteScheduledAudit(name string) error
// MitigationAction operations.
CreateMitigationAction(input *CreateMitigationActionInput) (*MitigationAction, error)
DescribeMitigationAction(name string) (*MitigationAction, error)
ListMitigationActions() []*MitigationAction
UpdateMitigationAction(name, roleARN string, params map[string]any) (*MitigationAction, error)
DeleteMitigationAction(name string) error
// SecurityProfile operations.
CreateSecurityProfile(input *CreateSecurityProfileInput) (*SecurityProfile, error)
DescribeSecurityProfile(name string) (*SecurityProfile, error)
ListSecurityProfiles() []*SecurityProfile
UpdateSecurityProfile(input *UpdateSecurityProfileInput) (*SecurityProfile, error)
DeleteSecurityProfile(name string) error
SecurityProfileARN(name string) string
// Batch 2: CACertificate operations.
RegisterCACertificate(pem, status string) (*CACertificate, error)
DescribeCACertificate(id string) (*CACertificate, error)
ListCACertificates() []*CACertificate
UpdateCACertificate(id, status string) error
DeleteCACertificate(id string) error
ListCertificatesByCA(caID string) []*Certificate
// Batch 2: Stream operations.
CreateStream(input *CreateStreamInput) (*IoTStream, error)
DescribeStream(id string) (*IoTStream, error)
ListStreams() []*IoTStream
UpdateStream(id, description, roleARN string, files []StreamFile) (*IoTStream, error)
DeleteStream(id string) error
// Batch 2: FleetMetric operations.
CreateFleetMetric(input *CreateFleetMetricInput) (*FleetMetric, error)
DescribeFleetMetric(name string) (*FleetMetric, error)
ListFleetMetrics() []*FleetMetric
UpdateFleetMetric(name, queryString, description string, period int32) error
DeleteFleetMetric(name string) error
// Batch 2: CustomMetric operations.
CreateCustomMetric(input *CreateCustomMetricInput) (*CustomMetric, error)
DescribeCustomMetric(name string) (*CustomMetric, error)
ListCustomMetrics() []*CustomMetric
UpdateCustomMetric(name, displayName string) (*CustomMetric, error)
DeleteCustomMetric(name string) error
// Batch 2: Dimension operations.
CreateDimension(input *CreateDimensionInput) (*Dimension, error)
DescribeDimension(name string) (*Dimension, error)
ListDimensions() []*Dimension
UpdateDimension(name string, stringValues []string) (*Dimension, error)
DeleteDimension(name string) error
// Batch 2: Tag operations.
TagResourceGeneric(resourceARN string, tags map[string]string) error
UntagResource(resourceARN string, tagKeys []string) error
ListTagsForResource(resourceARN string) map[string]string
// Batch 2: Audit configuration.
UpdateAccountAuditConfiguration(roleARN string, checks map[string]*AuditCheckConfig) error
DescribeAccountAuditConfiguration() *AccountAuditConfiguration
DeleteAccountAuditConfiguration() error
// Batch 2: Audit task.
StartOnDemandAuditTask(checks []string) (string, error)
DescribeAuditTask(taskID string) (*AuditTask, error)
ListAuditTasks(taskType string) []*AuditTask
// Batch 2: Misc.
DetachThingPrincipal(thingName, principal string) error
CancelCertificateTransfer(certID string) error
GetRegistrationCode() string
DeleteRegistrationCode() error
ListThingGroupsForThing(thingName string) []string
ListThingsInBillingGroup(groupName string) []string
RemoveThingFromBillingGroup(thingName, billingGroupName string) error
ListPrincipalPolicies(principal string) []*Policy
ListPolicyPrincipals(policyName string) []string
ListTargetsForPolicy(policyName string) []string
ListPrincipalThings(principal string) []string
GetEffectivePolicies(thingName, principal string) []*Policy
SetDefaultAuthorizer(authorizerName string) error
ClearDefaultAuthorizer() error
DescribeDefaultAuthorizer() (string, error)
ListJobExecutionsForJob(jobID string) []*JobExecution
ListJobExecutionsForThing(thingName string) []*JobExecution
// Batch 3: OTA Updates.
CreateOTAUpdate(id, description, roleARN string, targets []string, files []any) (*OTAUpdate, error)
GetOTAUpdate(id string) (*OTAUpdate, error)
DeleteOTAUpdate(id string) error
ListOTAUpdates() []*OTAUpdate
// Batch 3: IoT Packages.
CreateIoTPackage(name, description string, tags map[string]string) (*IoTPackage, error)
GetIoTPackage(name string) (*IoTPackage, error)
UpdateIoTPackage(name, description, defaultVersionName string) error
DeleteIoTPackage(name string) error
ListIoTPackages() []*IoTPackage
// Batch 3: IoT Package Versions.
CreateIoTPackageVersion(
packageName, versionName, description string,
tags map[string]string,
) (*IoTPackageVersion, error)
GetIoTPackageVersion(packageName, versionName string) (*IoTPackageVersion, error)
UpdateIoTPackageVersion(packageName, versionName, description, status string) error
DeleteIoTPackageVersion(packageName, versionName string) error
ListIoTPackageVersions(packageName string) []*IoTPackageVersion
// Batch 3: Package configuration.
GetPackageConfiguration() *PackageConfiguration
UpdatePackageConfiguration(cfg map[string]any) error
// Batch 3: Audit suppressions.
CreateAuditSuppression(
checkName string,
resourceID map[string]any,
description string,
suppressIndefinitely bool,
expirationDate float64,
) error
DescribeAuditSuppression(checkName string, resourceID map[string]any) (*AuditSuppression, error)
UpdateAuditSuppression(
checkName string,
resourceID map[string]any,
description string,
suppressIndefinitely bool,
expirationDate float64,
) error
DeleteAuditSuppression(checkName string, resourceID map[string]any) error
ListAuditSuppressions() []*AuditSuppression
// Batch 3: Audit findings.
DescribeAuditFinding(findingID string) (*AuditFinding, error)
ListAuditFindings(filter ListAuditFindingsFilter) []*AuditFinding
ListRelatedResourcesForAuditFinding(findingID string) ([]map[string]any, error)
// Batch 3: V2 logging.
GetV2LoggingOptions() *V2LoggingOptions
SetV2LoggingOptions(roleARN, defaultLogLevel string, disableAllLogs bool) error
SetV2LoggingLevel(target map[string]any, logLevel string) error
DeleteV2LoggingLevel(target map[string]any) error
ListV2LoggingLevels() []*V2LoggingLevel
// Batch 3: Logging options.
GetLoggingOptions() *LoggingOptions
SetLoggingOptions(roleARN, logLevel string) error
// Batch 3: Provisioning claim.
CreateProvisioningClaim(templateName string) (string, string, string, error)
// Batch 3: Keys and certs.
CreateKeysAndCertificate(setAsActive bool) (*Certificate, string, string, error)
TransferCertificate(certID, targetAccount, transferMessage string) error
RejectCertificateTransfer(certID, rejectReason string) error
// Batch 3: Event configurations.
DescribeEventConfigurations() *EventConfigurations
UpdateEventConfigurations(cfgs map[string]*EventConfigEntry) error
// Batch 3: Security profile targets.
DetachSecurityProfile(profileName, targetARN string) error
ListTargetsForSecurityProfile(profileName string) []string
ListSecurityProfilesForTarget(targetARN string) []string
// Batch 3: Dynamic thing groups.
CreateDynamicThingGroup(input *CreateThingGroupInput) (*ThingGroup, error)
DeleteDynamicThingGroup(name string) error
UpdateDynamicThingGroup(input *UpdateThingGroupInput) (int64, error)
// Batch 3: Commands.
CreateCommand(
id, displayName, description, namespace string,
payload map[string]any,
tags map[string]string,
) (*IoTCommand, error)
GetCommand(id string) (*IoTCommand, error)
UpdateCommand(id, displayName, description string, deprecated bool) error
DeleteCommand(id string) error
ListCommands() []*IoTCommand
GetCommandExecution(commandID, executionID string) (*IoTCommandExecution, error)
ListCommandExecutions(commandID string) []*IoTCommandExecution
// Fleet indexing: configuration.
GetIndexingConfiguration() *GetIndexingConfigurationOutput
UpdateIndexingConfiguration(input *UpdateIndexingConfigurationInput) error
// Fleet indexing: indices.
ListIndices() []string
DescribeIndex(indexName string) (*IndexDescription, error)
// Fleet indexing: search and aggregations.
SearchIndex(input *SearchIndexInput) (*SearchIndexOutput, error)
GetCardinality(input *AggregationInput) (int64, error)
GetStatistics(input *AggregationInput) (*Statistics, error)
GetPercentiles(input *PercentilesInput) ([]PercentileValue, error)
GetBucketsAggregation(input *BucketsAggregationInput) ([]Bucket, error)
// Batch 4: RegisterThing.
RegisterThing(input *RegisterThingInput) (*RegisterThingOutput, error)
// Batch 4: bulk thing registration tasks.
StartThingRegistrationTask(input *StartThingRegistrationTaskInput) (*ThingRegistrationTask, error)
StopThingRegistrationTask(taskID string) error
DescribeThingRegistrationTask(taskID string) (*ThingRegistrationTask, error)
ListThingRegistrationTasks(status string) []*ThingRegistrationTask
ListThingRegistrationTaskReports(taskID, reportType string) ([]string, error)
// Batch 4: ThingType/ThingGroup updates.
UpdateThingType(input *UpdateThingTypeInput) error
UpdateThingGroupsForThing(input *UpdateThingGroupsForThingInput) error
// Batch 4: typed thing-principal listing.
ListThingPrincipalsV2(thingName string) ([]*ThingPrincipalObject, error)
// Batch 4: managed job templates.
DescribeManagedJobTemplate(templateName, templateVersion string) (*ManagedJobTemplate, error)
ListManagedJobTemplates(templateName string) []*ManagedJobTemplateSummary
// Device Defender: audit mitigation-action tasks.
StartAuditMitigationActionsTask(
input *StartAuditMitigationActionsTaskInput,
) (*AuditMitigationTask, error)
DescribeAuditMitigationActionsTask(taskID string) (*AuditMitigationTask, error)
ListAuditMitigationActionsTasks(auditTaskID, taskStatus string) []*AuditMitigationTask
ListAuditMitigationActionsExecutions(taskID, findingID, actionStatus string) []*AuditMitigationActionExecution
// Device Defender: detect mitigation-action tasks.
StartDetectMitigationActionsTask(
input *StartDetectMitigationActionsTaskInput,
) (*DetectMitigationTask, error)
DescribeDetectMitigationActionsTask(taskID string) (*DetectMitigationTask, error)
ListDetectMitigationActionsTasks(startTime, endTime float64) []*DetectMitigationTask
ListDetectMitigationActionsExecutions(taskID, violationID, thingName string) []*DetectMitigationActionExecution
CancelDetectMitigationActionsTask(taskID string) error
MitigationActionRefs(names []string) []MitigationActionRef
// Device Defender: violations.
ListActiveViolations(
thingName, securityProfileName, verificationState string,
listSuppressedAlerts *bool,
behaviorCriteriaType string,
) []*ActiveViolation
ListViolationEvents(
thingName, securityProfileName, verificationState string,
startTime, endTime float64,
listSuppressedAlerts *bool,
behaviorCriteriaType string,
) []*ViolationEvent
PutVerificationStateOnViolation(violationID, verificationState, description string) error
SeedActiveViolation(input *SeedActiveViolationInput) (*ActiveViolation, error)
// Final stub batch: encryption configuration.
DescribeEncryptionConfiguration() *AccountEncryptionConfiguration
UpdateEncryptionConfiguration(input *UpdateEncryptionConfigurationInput) error
// Final stub batch: authorization testing.
TestAuthorization(input *TestAuthorizationInput) ([]*AuthResult, error)
TestInvokeAuthorizer(authorizerName string, input *TestInvokeAuthorizerInput) (*TestInvokeAuthorizerOutput, error)
// Final stub batch: principal-policy detachment.
DetachPrincipalPolicy(policyName, principal string) error
// Final stub batch: topic rule destination confirmation.
ConfirmTopicRuleDestination(token string) error
// Final stub batch: command executions.
DeleteCommandExecution(executionID, targetARN string) error
// Final stub batch: Device Defender ML behavior model training.
GetBehaviorModelTrainingSummaries(
securityProfileName string, maxResults int32, nextToken string,
) ([]*BehaviorModelTrainingSummary, string, error)
// Final stub batch: outgoing certificate transfers.
ListOutgoingCertificates() []*OutgoingCertificate
// Final stub batch: SBOM validation.
DisassociateSbomFromPackageVersion(packageName, versionName string) error
ListSbomValidationResults(
packageName, versionName string, maxResults int32, nextToken string,
) ([]*SbomValidationResult, string, error)
// Final stub batch: security profile metric values.
ListMetricValues(
thingName, metricName string, startTime, endTime float64, maxResults int32, nextToken string,
) ([]*MetricDatapoint, string, error)
// Final stub batch: thing connectivity.
GetThingConnectivityData(thingName string) (*ThingConnectivityData, error)
// Final stub batch: provisioning template versions.
DescribeProvisioningTemplateVersion(name string, versionID int32) (*ProvisioningTemplateVersion, error)
// Final stub batch: security profile behavior validation.
ValidateSecurityProfileBehaviors(behaviors []SecurityProfileBehavior) (bool, []string)
// Device Shadow operations.
GetThingShadow(thingName, shadowName string) (*ThingShadow, error)
UpdateThingShadow(thingName, shadowName string, state map[string]any) (*ThingShadow, error)
DeleteThingShadow(thingName, shadowName string) error
ListNamedShadowsForThing(thingName string) ([]string, error)
}
StorageBackend defines the interface for the IoT control-plane backend.
type StreamFile ¶
type StreamFile struct {
S3Bucket string `json:"s3Bucket,omitempty"`
S3Key string `json:"s3Key,omitempty"`
FileID int32 `json:"fileId,omitempty"`
}
StreamFile holds file info for an IoT stream.
type TaskStatisticsForAuditCheck ¶
type TaskStatisticsForAuditCheck struct {
TotalFindingsCount int64 `json:"totalFindingsCount"`
FailedFindingsCount int64 `json:"failedFindingsCount"`
SucceededFindingsCount int64 `json:"succeededFindingsCount"`
SkippedFindingsCount int64 `json:"skippedFindingsCount"`
CanceledFindingsCount int64 `json:"canceledFindingsCount"`
}
TaskStatisticsForAuditCheck aggregates the mitigation-action execution counts for a single audit check within an AuditMitigationTask.
type TestAuthorizationInput ¶
type TestAuthorizationInput struct {
Principal string
CognitoIdentityPoolID string
ClientID string
PolicyNamesToAdd []string
PolicyNamesToSkip []string
AuthInfos []AuthInfo
}
TestAuthorizationInput is the input for TestAuthorization.
type TestInvokeAuthorizerInput ¶
TestInvokeAuthorizerInput is the input for TestInvokeAuthorizer.
type TestInvokeAuthorizerOutput ¶
type TestInvokeAuthorizerOutput struct {
PrincipalID string
PolicyDocuments []string
IsAuthenticated bool
DisconnectAfterInSeconds int32
RefreshAfterInSeconds int32
}
TestInvokeAuthorizerOutput is the output for TestInvokeAuthorizer.
type Thing ¶
type Thing struct {
CreatedAt time.Time `json:"createdAt"`
Attributes map[string]string `json:"attributes"`
ThingName string `json:"thingName"`
ThingTypeName string `json:"thingTypeName,omitempty"`
ThingType string `json:"thingType,omitempty"`
ThingID string `json:"thingId"`
ARN string `json:"thingArn"`
BillingGroupName string `json:"billingGroupName,omitempty"`
Version int64 `json:"version"`
}
Thing represents an AWS IoT Thing.
BillingGroupName is populated transiently by DescribeThing from the backend's thingBillingGroups index; it is not itself the source of truth (see AddThingToBillingGroup/RemoveThingFromBillingGroup) and is not persisted as part of the Thing record.
type ThingConnectivityData ¶
type ThingConnectivityData struct {
DisconnectReason string `json:"disconnectReason,omitempty"`
Timestamp float64 `json:"timestamp,omitempty"`
Connected bool `json:"connected"`
}
ThingConnectivityData is a thing's most recently reported connectivity status.
type ThingGroup ¶
type ThingGroup struct {
CreatedAt time.Time `json:"createdAt"`
Attributes map[string]string `json:"attributes"`
ThingGroupName string `json:"thingGroupName"`
ThingGroupARN string `json:"thingGroupArn"`
ThingGroupID string `json:"thingGroupId"`
Description string `json:"description,omitempty"`
ParentGroupName string `json:"parentGroupName,omitempty"`
QueryString string `json:"queryString,omitempty"`
Members []string `json:"members"`
Version int64 `json:"version"`
IsDynamic bool `json:"isDynamic,omitempty"`
}
ThingGroup represents an AWS IoT Thing Group.
type ThingGroupIndexingConfiguration ¶
type ThingGroupIndexingConfiguration struct {
ThingGroupIndexingMode string `json:"thingGroupIndexingMode"`
CustomFields []IndexingField `json:"customFields,omitempty"`
}
ThingGroupIndexingConfiguration controls fleet indexing for Thing Groups.
type ThingIndexingConfiguration ¶
type ThingIndexingConfiguration struct {
Filter *IndexingFilter `json:"filter,omitempty"`
ThingIndexingMode string `json:"thingIndexingMode"`
ThingConnectivityIndexingMode string `json:"thingConnectivityIndexingMode,omitempty"`
NamedShadowIndexingMode string `json:"namedShadowIndexingMode,omitempty"`
CustomFields []IndexingField `json:"customFields,omitempty"`
}
ThingIndexingConfiguration controls fleet indexing for Things.
type ThingPrincipalObject ¶
type ThingPrincipalObject struct {
Principal string `json:"principal"`
ThingPrincipalType string `json:"thingPrincipalType"`
}
ThingPrincipalObject represents a principal and its relation type to a thing, as returned by ListThingPrincipalsV2.
type ThingRegistrationTask ¶
type ThingRegistrationTask struct {
TaskID string `json:"taskId"`
Status string `json:"status"`
Message string `json:"message,omitempty"`
TemplateBody string `json:"templateBody,omitempty"`
InputFileBucket string `json:"inputFileBucket,omitempty"`
InputFileKey string `json:"inputFileKey,omitempty"`
RoleArn string `json:"roleArn,omitempty"`
CreationDate float64 `json:"creationDate"`
LastModifiedDate float64 `json:"lastModifiedDate"`
SuccessCount int32 `json:"successCount"`
FailureCount int32 `json:"failureCount"`
PercentageProgress int32 `json:"percentageProgress"`
}
ThingRegistrationTask represents a bulk thing provisioning task.
CreationDate/LastModifiedDate are epoch-seconds (float64), matching the real AWS IoT JSON wire shape and the convention used elsewhere in this package (see thing_registration.go), not RFC3339 strings.
type ThingShadow ¶
type ThingShadow struct {
State map[string]any `json:"state"`
Metadata map[string]any `json:"metadata,omitempty"`
Version int64 `json:"version"`
}
ThingShadow represents the state of an AWS IoT Device Shadow.
type ThingType ¶
type ThingType struct {
CreatedAt time.Time `json:"createdAt"`
DeprecationDate time.Time `json:"deprecationDate"`
ThingTypeName string `json:"thingTypeName"`
ThingTypeID string `json:"thingTypeId"`
ThingTypeARN string `json:"thingTypeArn"`
Description string `json:"description,omitempty"`
SearchableAttributes []string `json:"searchableAttributes,omitempty"`
Deprecated bool `json:"deprecated"`
}
ThingType represents an AWS IoT Thing Type.
type TimeoutConfig ¶
type TimeoutConfig struct {
InProgressTimeoutInMinutes int64 `json:"inProgressTimeoutInMinutes,omitempty"`
}
TimeoutConfig holds timeout settings for a job.
type TopicRule ¶
type TopicRule struct {
CreatedAt time.Time `json:"createdAt"`
RuleName string `json:"ruleName"`
ARN string `json:"arn"`
SQL string `json:"sql"`
AWSIoTSQLVersion string `json:"awsIotSqlVersion,omitempty"`
Description string `json:"description,omitempty"`
Actions []RuleAction `json:"actions"`
Enabled bool `json:"enabled"`
}
TopicRule represents an AWS IoT Topic Rule.
type TopicRuleDestination ¶
type TopicRuleDestination struct {
HTTPURLProperties *HTTPURLDestinationProperties `json:"httpUrlProperties,omitempty"`
ARN string `json:"arn"`
Status string `json:"status"`
// ConfirmationToken is the token that must be presented to
// ConfirmTopicRuleDestination to transition an HTTP destination from
// IN_PROGRESS to ENABLED. AWS delivers this out-of-band (via a
// confirmation request sent to the destination URL), so it is never
// serialized back to callers.
ConfirmationToken string `json:"-"`
}
TopicRuleDestination represents an AWS IoT Topic Rule Destination.
type TopicRuleDestinationConfiguration ¶
type TopicRuleDestinationConfiguration struct {
HTTPURLConfiguration *HTTPURLDestinationConfiguration `json:"httpUrlConfiguration,omitempty"`
}
TopicRuleDestinationConfiguration is the configuration for a topic rule destination.
type TopicRulePayload ¶
type TopicRulePayload struct {
SQL string `json:"sql"`
Description string `json:"description"`
AWSIoTSQLVersion string `json:"awsIotSqlVersion,omitempty"`
Actions []RuleAction `json:"actions"`
RuleDisabled bool `json:"ruleDisabled"`
}
TopicRulePayload is the payload for a topic rule.
type UpdateCertificateInput ¶
UpdateCertificateInput is the input for UpdateCertificate.
type UpdateCertificateProviderInput ¶
type UpdateCertificateProviderInput struct {
CertificateProviderName string
LambdaFunctionARN string
AccountDefaultForOperations []string
}
UpdateCertificateProviderInput is the input for UpdateCertificateProvider.
type UpdateEncryptionConfigurationInput ¶
type UpdateEncryptionConfigurationInput struct {
EncryptionType string `json:"encryptionType"`
KMSKeyARN string `json:"kmsKeyArn,omitempty"`
KMSAccessRoleARN string `json:"kmsAccessRoleArn,omitempty"`
}
UpdateEncryptionConfigurationInput is the input for UpdateEncryptionConfiguration.
type UpdateIndexingConfigurationInput ¶
type UpdateIndexingConfigurationInput struct {
ThingIndexingConfiguration *ThingIndexingConfiguration
ThingGroupIndexingConfiguration *ThingGroupIndexingConfiguration
}
UpdateIndexingConfigurationInput is the input for UpdateIndexingConfiguration.
type UpdateSecurityProfileInput ¶ added in v1.2.0
type UpdateSecurityProfileInput struct {
AlertTargets map[string]SecurityProfileAlertTarget
MetricsExportConfig *SecurityProfileMetricsExportConfig
ExpectedVersion *int64
SecurityProfileDescription *string
SecurityProfileName string
Behaviors []SecurityProfileBehavior
AdditionalMetricsToRetain []string
AdditionalMetricsToRetainV2 []SecurityProfileMetricToRetain
DeleteAdditionalMetricsToRetain bool
DeleteAlertTargets bool
DeleteBehaviors bool
DeleteMetricsExportConfig bool
}
UpdateSecurityProfileInput holds input for UpdateSecurityProfile.
Field-diffed against types.UpdateSecurityProfileInput (v1.76.0): previously only SecurityProfileDescription was accepted (Behaviors/AlertTargets/ AdditionalMetricsToRetain(V2)/MetricsExportConfig/ExpectedVersion/Delete* flags were entirely unmodeled, the same "dropped request field" gap as CreateSecurityProfile's). Each DeleteX flag clears the corresponding field; real AWS documents that supplying BOTH a DeleteX flag and a non-nil value for that same field in one call is invalid ("If any X are defined in the current invocation, an exception occurs"), enforced in applySecurityProfileUpdate.
type UpdateThingGroupInput ¶
type UpdateThingGroupInput struct {
Attributes map[string]string
Merge *bool
ThingGroupName string
Description string
QueryString string
ExpectedVersion int64
}
UpdateThingGroupInput is the input for UpdateThingGroup.
Merge controls whether Attributes are merged (true) or replace the existing attribute set (false/nil, the AWS default). See applyAttributePayload.
type UpdateThingGroupsForThingInput ¶
type UpdateThingGroupsForThingInput struct {
ThingName string `json:"thingName"`
ThingGroupsToAdd []string `json:"thingGroupsToAdd"`
ThingGroupsToRemove []string `json:"thingGroupsToRemove"`
OverrideDynamicGroups bool `json:"overrideDynamicGroups"`
}
UpdateThingGroupsForThingInput is the input for UpdateThingGroupsForThing.
type UpdateThingInput ¶
type UpdateThingInput struct {
AttributePayload *AttributePayload `json:"attributePayload"`
ThingName string `json:"thingName"`
ThingTypeName string `json:"thingTypeName,omitempty"`
RemoveThingType bool `json:"removeThingType,omitempty"`
ExpectedVersion int64 `json:"expectedVersion,omitempty"`
}
UpdateThingInput is the input for UpdateThing.
type UpdateThingTypeInput ¶
type UpdateThingTypeInput struct {
ThingTypeName string
Description string
SearchableAttributes []string
}
UpdateThingTypeInput is the input for UpdateThingType.
type UpdateTopicRuleDestinationInput ¶
type UpdateTopicRuleDestinationInput struct {
ARN string `json:"arn"`
Status string `json:"status"`
}
UpdateTopicRuleDestinationInput is the input for UpdateTopicRuleDestination.
type V2LoggingLevel ¶
type V2LoggingLevel struct {
Target map[string]any `json:"logTarget"`
LogLevel string `json:"logLevel"`
}
V2LoggingLevel holds a per-target logging level.
type V2LoggingOptions ¶
type V2LoggingOptions struct {
DefaultLogLevel string `json:"defaultLogLevel"`
RoleARN string `json:"roleArn,omitempty"`
DisableAllLogs bool `json:"disableAllLogs"`
}
V2LoggingOptions holds the account-level V2 logging configuration.
type ViolationBehavior ¶
type ViolationBehavior struct {
Name string `json:"name,omitempty"`
Metric string `json:"metric,omitempty"`
}
ViolationBehavior identifies the security-profile behavior that a violation or violation event relates to.
type ViolationEvent ¶
type ViolationEvent struct {
Behavior *ViolationBehavior `json:"behavior,omitempty"`
MetricValue map[string]any `json:"metricValue,omitempty"`
ViolationEventAdditionalInfo *ViolationEventAdditionalInfo `json:"violationEventAdditionalInfo,omitempty"`
ViolationID string `json:"violationId"`
ThingName string `json:"thingName"`
SecurityProfileName string `json:"securityProfileName"`
ViolationEventType string `json:"violationEventType,omitempty"`
VerificationState string `json:"verificationState,omitempty"`
ViolationEventTime float64 `json:"violationEventTime,omitempty"`
Suppressed bool `json:"-"`
}
ViolationEvent represents a historical occurrence of a Detect violation starting, being cleared, or having its verification state changed.
ViolationEventAdditionalInfo was field-diffed against types.ViolationEvent and found missing; now modeled (same field as ActiveViolation's, above). Suppressed is internal-only (json:"-") for the same reason as ActiveViolation's identically-named field above.
type ViolationEventAdditionalInfo ¶ added in v1.2.0
type ViolationEventAdditionalInfo struct {
ConfidenceLevel string `json:"confidenceLevel,omitempty"`
}
ViolationEventAdditionalInfo carries extra detail about a violation or violation event (aws-sdk-go-v2/service/iot/types.ViolationEventAdditionalInfo).
type ViolationEventOccurrenceRange ¶ added in v1.2.0
type ViolationEventOccurrenceRange struct {
StartTime float64 `json:"startTime,omitempty"`
EndTime float64 `json:"endTime,omitempty"`
}
ViolationEventOccurrenceRange specifies the time period during which violation events occurred (aws-sdk-go-v2/service/iot/types. ViolationEventOccurrenceRange), an optional input to StartDetectMitigationActionsTask and echoed back on DetectMitigationActionsTaskSummary.
Source Files
¶
- audit.go
- authorizers.go
- billing_groups.go
- broker.go
- certificates.go
- commands.go
- device_defender.go
- encryption.go
- errors.go
- handler.go
- handler_audit.go
- handler_authorizers.go
- handler_billing_groups.go
- handler_certificates.go
- handler_commands.go
- handler_constants.go
- handler_devicedefender.go
- handler_encryption.go
- handler_helpers.go
- handler_indexing.go
- handler_jobs.go
- handler_logging.go
- handler_metrics.go
- handler_ota_updates.go
- handler_packages.go
- handler_policies.go
- handler_policy_evaluation.go
- handler_provisioning.go
- handler_routing.go
- handler_security_profiles.go
- handler_shadows.go
- handler_streams.go
- handler_tags.go
- handler_thing_groups.go
- handler_thing_registration.go
- handler_thing_types.go
- handler_topic_rules.go
- indexing.go
- interfaces.go
- jobs.go
- logging.go
- metrics.go
- op_names.go
- ota_updates.go
- packages.go
- persistence.go
- policies.go
- policy_evaluation.go
- provider.go
- provisioning.go
- rules.go
- security_profiles.go
- shadows.go
- store.go
- store_setup.go
- streams.go
- tags.go
- thing_groups.go
- thing_registration.go
- thing_types.go
- topic_rules.go
- types.go