IOT-MANAGED-INTEGRATIONS

CreateAccountAssociation

valid {
    input.Body.ClientToken == STRING
    input.Body.ConnectorDestinationId == STRING
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateCloudConnector

enum_EndpointType := [ "LAMBDA" ]

valid {
    input.Body.Name == STRING
    input.Body.EndpointConfig.lambda.arn == STRING
    input.Body.Description == STRING
    input.Body.EndpointType == enum_EndpointType[_]
    input.Body.ClientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateConnectorDestination

enum_AuthType := [ "OAUTH" ]
enum_TokenEndpointAuthenticationScheme := [ "HTTP_BASIC", "REQUEST_BODY_CREDENTIALS" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.CloudConnectorId == STRING
    input.Body.AuthType == enum_AuthType[_]
    input.Body.AuthConfig.oAuth.authUrl == STRING
    input.Body.AuthConfig.oAuth.tokenUrl == STRING
    input.Body.AuthConfig.oAuth.scope == STRING
    input.Body.AuthConfig.oAuth.tokenEndpointAuthenticationScheme == enum_TokenEndpointAuthenticationScheme[_]
    input.Body.AuthConfig.oAuth.oAuthCompleteRedirectUrl == STRING
    input.Body.AuthConfig.oAuth.proactiveRefreshTokenRenewal.enabled == BOOLEAN
    input.Body.AuthConfig.oAuth.proactiveRefreshTokenRenewal.DaysBeforeRenewal == INTEGER
    input.Body.SecretsManager.arn == STRING
    input.Body.SecretsManager.versionId == STRING
    input.Body.ClientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateCredentialLocker

valid {
    input.Body.Name == STRING
    input.Body.ClientToken == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDestination

enum_DeliveryDestinationType := [ "KINESIS" ]

valid {
    input.Body.DeliveryDestinationArn == STRING
    input.Body.DeliveryDestinationType == enum_DeliveryDestinationType[_]
    input.Body.Name == STRING
    input.Body.RoleArn == STRING
    input.Body.ClientToken == STRING
    input.Body.Description == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateEventLogConfiguration

enum_LogLevel := [ "DEBUG", "ERROR", "INFO", "WARN" ]

valid {
    input.Body.ResourceType == STRING
    input.Body.ResourceId == STRING
    input.Body.EventLogLevel == enum_LogLevel[_]
    input.Body.ClientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateManagedThing

enum_AuthMaterialType := [ "CUSTOM_PROTOCOL_QR_BAR_CODE", "WIFI_SETUP_QR_BAR_CODE", "ZWAVE_QR_BAR_CODE", "ZIGBEE_QR_BAR_CODE", "DISCOVERED_DEVICE" ]
enum_Role := [ "CONTROLLER", "DEVICE" ]
enum_SchemaVersionFormat := [ "AWS", "ZCL", "CONNECTOR" ]

valid {
    input.Body.Role == enum_Role[_]
    input.Body.Owner == STRING
    input.Body.CredentialLockerId == STRING
    input.Body.AuthenticationMaterial == STRING
    input.Body.AuthenticationMaterialType == enum_AuthMaterialType[_]
    input.Body.SerialNumber == STRING
    input.Body.Brand == STRING
    input.Body.Model == STRING
    input.Body.Name == STRING
    input.Body.CapabilityReport.version == STRING
    input.Body.CapabilityReport.nodeId == STRING
    input.Body.CapabilityReport.endpoints[_].id == STRING
    input.Body.CapabilityReport.endpoints[_].deviceTypes[_] == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].id == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].name == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].version == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].properties[_] == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].actions[_] == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].events[_] == STRING
    input.Body.CapabilitySchemas[_].Format == enum_SchemaVersionFormat[_]
    input.Body.CapabilitySchemas[_].CapabilityId == STRING
    input.Body.CapabilitySchemas[_].ExtrinsicId == STRING
    input.Body.CapabilitySchemas[_].ExtrinsicVersion == INTEGER
    input.Body.CapabilitySchemas[_].Schema == {}
    input.Body.Capabilities == STRING
    input.Body.ClientToken == STRING
    input.Body.Classification == STRING
    input.Body.Tags.STRING == STRING
    input.Body.MetaData.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateNotificationConfiguration

enum_EventType := [ "DEVICE_COMMAND", "DEVICE_COMMAND_REQUEST", "DEVICE_DISCOVERY_STATUS", "DEVICE_EVENT", "DEVICE_LIFE_CYCLE", "DEVICE_STATE", "DEVICE_OTA", "CONNECTOR_ASSOCIATION", "ACCOUNT_ASSOCIATION", "CONNECTOR_ERROR_REPORT" ]

valid {
    input.Body.EventType == enum_EventType[_]
    input.Body.DestinationName == STRING
    input.Body.ClientToken == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateOtaTask

enum_OtaMechanism := [ "PUSH" ]
enum_OtaProtocol := [ "HTTP" ]
enum_OtaType := [ "ONE_TIME", "CONTINUOUS" ]
enum_RetryCriteriaFailureType := [ "FAILED", "TIMED_OUT", "ALL" ]
enum_SchedulingConfigEndBehavior := [ "STOP_ROLLOUT", "CANCEL", "FORCE_CANCEL" ]

valid {
    input.Body.Description == STRING
    input.Body.S3Url == STRING
    input.Body.Protocol == enum_OtaProtocol[_]
    input.Body.Target[_] == STRING
    input.Body.TaskConfigurationId == STRING
    input.Body.OtaMechanism == enum_OtaMechanism[_]
    input.Body.OtaType == enum_OtaType[_]
    input.Body.OtaTargetQueryString == STRING
    input.Body.ClientToken == STRING
    input.Body.OtaSchedulingConfig.EndBehavior == enum_SchedulingConfigEndBehavior[_]
    input.Body.OtaSchedulingConfig.EndTime == STRING
    input.Body.OtaSchedulingConfig.MaintenanceWindows[_].DurationInMinutes == INTEGER
    input.Body.OtaSchedulingConfig.MaintenanceWindows[_].StartTime == STRING
    input.Body.OtaSchedulingConfig.StartTime == STRING
    input.Body.OtaTaskExecutionRetryConfig.RetryConfigCriteria[_].FailureType == enum_RetryCriteriaFailureType[_]
    input.Body.OtaTaskExecutionRetryConfig.RetryConfigCriteria[_].MinNumberOfRetries == INTEGER
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateOtaTaskConfiguration

enum_AbortCriteriaAction := [ "CANCEL" ]
enum_AbortCriteriaFailureType := [ "FAILED", "REJECTED", "TIMED_OUT", "ALL" ]

valid {
    input.Body.Description == STRING
    input.Body.Name == STRING
    input.Body.PushConfig.AbortConfig.AbortConfigCriteriaList[_].Action == enum_AbortCriteriaAction[_]
    input.Body.PushConfig.AbortConfig.AbortConfigCriteriaList[_].FailureType == enum_AbortCriteriaFailureType[_]
    input.Body.PushConfig.AbortConfig.AbortConfigCriteriaList[_].MinNumberOfExecutedThings == INTEGER
    input.Body.PushConfig.AbortConfig.AbortConfigCriteriaList[_].ThresholdPercentage == DOUBLE
    input.Body.PushConfig.RolloutConfig.ExponentialRolloutRate.BaseRatePerMinute == INTEGER
    input.Body.PushConfig.RolloutConfig.ExponentialRolloutRate.IncrementFactor == DOUBLE
    input.Body.PushConfig.RolloutConfig.ExponentialRolloutRate.RateIncreaseCriteria.numberOfNotifiedThings == INTEGER
    input.Body.PushConfig.RolloutConfig.ExponentialRolloutRate.RateIncreaseCriteria.numberOfSucceededThings == INTEGER
    input.Body.PushConfig.RolloutConfig.MaximumPerMinute == INTEGER
    input.Body.PushConfig.TimeoutConfig.InProgressTimeoutInMinutes == LONG
    input.Body.ClientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateProvisioningProfile

enum_ProvisioningType := [ "FLEET_PROVISIONING", "JITR" ]

valid {
    input.Body.ProvisioningType == enum_ProvisioningType[_]
    input.Body.CaCertificate == STRING
    input.Body.Name == STRING
    input.Body.ClientToken == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAccountAssociation

valid {
    input.ReqMap.AccountAssociationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteCloudConnector

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteConnectorDestination

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteCredentialLocker

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDestination

valid {
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteEventLogConfiguration

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteManagedThing

valid {
    input.ReqMap.Identifier == STRING
    input.Qs.Force == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteNotificationConfiguration

enum_EventType := [ "DEVICE_COMMAND", "DEVICE_COMMAND_REQUEST", "DEVICE_DISCOVERY_STATUS", "DEVICE_EVENT", "DEVICE_LIFE_CYCLE", "DEVICE_STATE", "DEVICE_OTA", "CONNECTOR_ASSOCIATION", "ACCOUNT_ASSOCIATION", "CONNECTOR_ERROR_REPORT" ]

valid {
    input.ReqMap.EventType == enum_EventType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteOtaTask

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteOtaTaskConfiguration

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteProvisioningProfile

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeregisterAccountAssociation

valid {
    input.Body.ManagedThingId == STRING
    input.Body.AccountAssociationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAccountAssociation

valid {
    input.ReqMap.AccountAssociationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetCloudConnector

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetConnectorDestination

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetCredentialLocker

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetCustomEndpoint

valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDefaultEncryptionConfiguration

valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDestination

valid {
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDeviceDiscovery

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetEventLogConfiguration

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetHubConfiguration

valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetManagedThing

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetManagedThingCapabilities

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetManagedThingConnectivityData

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetManagedThingMetaData

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetManagedThingState

valid {
    input.ReqMap.ManagedThingId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetNotificationConfiguration

enum_EventType := [ "DEVICE_COMMAND", "DEVICE_COMMAND_REQUEST", "DEVICE_DISCOVERY_STATUS", "DEVICE_EVENT", "DEVICE_LIFE_CYCLE", "DEVICE_STATE", "DEVICE_OTA", "CONNECTOR_ASSOCIATION", "ACCOUNT_ASSOCIATION", "CONNECTOR_ERROR_REPORT" ]

valid {
    input.ReqMap.EventType == enum_EventType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetOtaTask

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetOtaTaskConfiguration

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetProvisioningProfile

valid {
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetRuntimeLogConfiguration

valid {
    input.ReqMap.ManagedThingId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetSchemaVersion

enum_SchemaVersionFormat := [ "AWS", "ZCL", "CONNECTOR" ]
enum_SchemaVersionType := [ "capability", "definition" ]

valid {
    input.ReqMap.Type == enum_SchemaVersionType[_]
    input.ReqMap.SchemaVersionedId == STRING
    input.Qs.Format == enum_SchemaVersionFormat[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAccountAssociations

valid {
    input.Qs.ConnectorDestinationId == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListCloudConnectors

enum_CloudConnectorType := [ "LISTED", "UNLISTED" ]

valid {
    input.Qs.Type == enum_CloudConnectorType[_]
    input.Qs.LambdaArn == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListConnectorDestinations

valid {
    input.Qs.CloudConnectorId == STRING
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListCredentialLockers

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDestinations

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDeviceDiscoveries

enum_DeviceDiscoveryStatus := [ "RUNNING", "SUCCEEDED", "FAILED", "TIMED_OUT" ]
enum_DiscoveryType := [ "ZWAVE", "ZIGBEE", "CLOUD", "CUSTOM" ]

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.TypeFilter == enum_DiscoveryType[_]
    input.Qs.StatusFilter == enum_DeviceDiscoveryStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDiscoveredDevices

valid {
    input.ReqMap.Identifier == STRING
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListEventLogConfigurations

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListManagedThingAccountAssociations

valid {
    input.Qs.ManagedThingId == STRING
    input.Qs.AccountAssociationId == STRING
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListManagedThingSchemas

valid {
    input.ReqMap.Identifier == STRING
    input.Qs.EndpointIdFilter == STRING
    input.Qs.CapabilityIdFilter == STRING
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListManagedThings

enum_ProvisioningStatus := [ "UNASSOCIATED", "PRE_ASSOCIATED", "DISCOVERED", "ACTIVATED", "DELETION_FAILED", "DELETE_IN_PROGRESS", "ISOLATED", "DELETED" ]
enum_Role := [ "CONTROLLER", "DEVICE" ]

valid {
    input.Qs.OwnerFilter == STRING
    input.Qs.CredentialLockerFilter == STRING
    input.Qs.RoleFilter == enum_Role[_]
    input.Qs.ParentControllerIdentifierFilter == STRING
    input.Qs.ConnectorPolicyIdFilter == STRING
    input.Qs.ConnectorDestinationIdFilter == STRING
    input.Qs.ConnectorDeviceIdFilter == STRING
    input.Qs.SerialNumberFilter == STRING
    input.Qs.ProvisioningStatusFilter == enum_ProvisioningStatus[_]
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListNotificationConfigurations

valid {
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListOtaTaskConfigurations

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListOtaTaskExecutions

valid {
    input.ReqMap.Identifier == STRING
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListOtaTasks

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListProvisioningProfiles

valid {
    input.Qs.NextToken == STRING
    input.Qs.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSchemaVersions

enum_SchemaVersionType := [ "capability", "definition" ]
enum_SchemaVersionVisibility := [ "PUBLIC", "PRIVATE" ]

valid {
    input.ReqMap.Type == enum_SchemaVersionType[_]
    input.Qs.MaxResults == INTEGER
    input.Qs.NextToken == STRING
    input.Qs.SchemaIdFilter == STRING
    input.Qs.NamespaceFilter == STRING
    input.Qs.VisibilityFilter == enum_SchemaVersionVisibility[_]
    input.Qs.SemanticVersionFilter == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.ReqMap.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutDefaultEncryptionConfiguration

enum_EncryptionType := [ "MANAGED_INTEGRATIONS_DEFAULT_ENCRYPTION", "CUSTOMER_KEY_ENCRYPTION" ]

valid {
    input.Body.encryptionType == enum_EncryptionType[_]
    input.Body.kmsKeyArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutHubConfiguration

valid {
    input.Body.HubTokenTimerExpirySettingInSeconds == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutRuntimeLogConfiguration

enum_LogLevel := [ "DEBUG", "ERROR", "INFO", "WARN" ]

valid {
    input.Body.RuntimeLogConfigurations.LogLevel == enum_LogLevel[_]
    input.Body.RuntimeLogConfigurations.LogFlushLevel == enum_LogLevel[_]
    input.Body.RuntimeLogConfigurations.LocalStoreLocation == STRING
    input.Body.RuntimeLogConfigurations.LocalStoreFileRotationMaxFiles == INTEGER
    input.Body.RuntimeLogConfigurations.LocalStoreFileRotationMaxBytes == INTEGER
    input.Body.RuntimeLogConfigurations.UploadLog == BOOLEAN
    input.Body.RuntimeLogConfigurations.UploadPeriodMinutes == INTEGER
    input.Body.RuntimeLogConfigurations.DeleteLocalStoreAfterUpload == BOOLEAN
    input.ReqMap.ManagedThingId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RegisterAccountAssociation

valid {
    input.Body.ManagedThingId == STRING
    input.Body.AccountAssociationId == STRING
    input.Body.DeviceDiscoveryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

RegisterCustomEndpoint

valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ResetRuntimeLogConfiguration

valid {
    input.ReqMap.ManagedThingId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SendConnectorEvent

enum_ConnectorEventOperation := [ "DEVICE_COMMAND_RESPONSE", "DEVICE_DISCOVERY", "DEVICE_EVENT", "DEVICE_COMMAND_REQUEST" ]
enum_SchemaVersionFormat := [ "AWS", "ZCL", "CONNECTOR" ]

valid {
    input.Body.UserId == STRING
    input.Body.Operation == enum_ConnectorEventOperation[_]
    input.Body.OperationVersion == STRING
    input.Body.StatusCode == INTEGER
    input.Body.Message == STRING
    input.Body.DeviceDiscoveryId == STRING
    input.Body.ConnectorDeviceId == STRING
    input.Body.TraceId == STRING
    input.Body.Devices[_].ConnectorDeviceId == STRING
    input.Body.Devices[_].ConnectorDeviceName == STRING
    input.Body.Devices[_].CapabilityReport.version == STRING
    input.Body.Devices[_].CapabilityReport.nodeId == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].id == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].deviceTypes[_] == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].id == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].revision == INTEGER
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].publicId == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].name == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].specVersion == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].attributes[_].id == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].attributes[_].name == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].attributes[_].value == {}
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].commands[_] == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].events[_] == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].featureMap == LONG
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].generatedCommands[_] == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clusters[_].fabricIndex == INTEGER
    input.Body.Devices[_].CapabilityReport.endpoints[_].parts[_] == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].semanticTags[_] == STRING
    input.Body.Devices[_].CapabilityReport.endpoints[_].clientClusters[_] == STRING
    input.Body.Devices[_].CapabilitySchemas[_].Format == enum_SchemaVersionFormat[_]
    input.Body.Devices[_].CapabilitySchemas[_].CapabilityId == STRING
    input.Body.Devices[_].CapabilitySchemas[_].ExtrinsicId == STRING
    input.Body.Devices[_].CapabilitySchemas[_].ExtrinsicVersion == INTEGER
    input.Body.Devices[_].CapabilitySchemas[_].Schema == {}
    input.Body.Devices[_].DeviceMetadata == {}
    input.Body.MatterEndpoint.id == STRING
    input.Body.MatterEndpoint.clusters[_].id == STRING
    input.Body.MatterEndpoint.clusters[_].attributes == {}
    input.Body.MatterEndpoint.clusters[_].commands.STRING == {}
    input.Body.MatterEndpoint.clusters[_].events.STRING == {}
    input.ReqMap.ConnectorId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SendManagedThingCommand

valid {
    input.Body.Endpoints[_].endpointId == STRING
    input.Body.Endpoints[_].capabilities[_].id == STRING
    input.Body.Endpoints[_].capabilities[_].name == STRING
    input.Body.Endpoints[_].capabilities[_].version == STRING
    input.Body.Endpoints[_].capabilities[_].actions[_].name == STRING
    input.Body.Endpoints[_].capabilities[_].actions[_].ref == STRING
    input.Body.Endpoints[_].capabilities[_].actions[_].actionTraceId == STRING
    input.Body.Endpoints[_].capabilities[_].actions[_].parameters == {}
    input.Body.ConnectorAssociationId == STRING
    input.Body.AccountAssociationId == STRING
    input.ReqMap.ManagedThingId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartAccountAssociationRefresh

valid {
    input.ReqMap.AccountAssociationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartDeviceDiscovery

enum_DiscoveryAuthMaterialType := [ "ZWAVE_INSTALL_CODE" ]
enum_DiscoveryType := [ "ZWAVE", "ZIGBEE", "CLOUD", "CUSTOM" ]

valid {
    input.Body.DiscoveryType == enum_DiscoveryType[_]
    input.Body.CustomProtocolDetail.STRING == STRING
    input.Body.ControllerIdentifier == STRING
    input.Body.ConnectorAssociationIdentifier == STRING
    input.Body.AccountAssociationId == STRING
    input.Body.AuthenticationMaterial == STRING
    input.Body.AuthenticationMaterialType == enum_DiscoveryAuthMaterialType[_]
    input.Body.ClientToken == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.Tags.STRING == STRING
    input.ReqMap.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.ReqMap.ResourceArn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateAccountAssociation

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.ReqMap.AccountAssociationId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateCloudConnector

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateConnectorDestination

enum_AuthType := [ "OAUTH" ]

valid {
    input.Body.Description == STRING
    input.Body.Name == STRING
    input.Body.AuthType == enum_AuthType[_]
    input.Body.AuthConfig.oAuthUpdate.oAuthCompleteRedirectUrl == STRING
    input.Body.AuthConfig.oAuthUpdate.proactiveRefreshTokenRenewal.enabled == BOOLEAN
    input.Body.AuthConfig.oAuthUpdate.proactiveRefreshTokenRenewal.DaysBeforeRenewal == INTEGER
    input.Body.SecretsManager.arn == STRING
    input.Body.SecretsManager.versionId == STRING
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDestination

enum_DeliveryDestinationType := [ "KINESIS" ]

valid {
    input.Body.DeliveryDestinationArn == STRING
    input.Body.DeliveryDestinationType == enum_DeliveryDestinationType[_]
    input.Body.RoleArn == STRING
    input.Body.Description == STRING
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateEventLogConfiguration

enum_LogLevel := [ "DEBUG", "ERROR", "INFO", "WARN" ]

valid {
    input.Body.EventLogLevel == enum_LogLevel[_]
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateManagedThing

enum_HubNetworkMode := [ "STANDARD", "NETWORK_WIDE_EXCLUSION" ]
enum_SchemaVersionFormat := [ "AWS", "ZCL", "CONNECTOR" ]

valid {
    input.Body.Owner == STRING
    input.Body.CredentialLockerId == STRING
    input.Body.SerialNumber == STRING
    input.Body.Brand == STRING
    input.Body.Model == STRING
    input.Body.Name == STRING
    input.Body.CapabilityReport.version == STRING
    input.Body.CapabilityReport.nodeId == STRING
    input.Body.CapabilityReport.endpoints[_].id == STRING
    input.Body.CapabilityReport.endpoints[_].deviceTypes[_] == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].id == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].name == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].version == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].properties[_] == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].actions[_] == STRING
    input.Body.CapabilityReport.endpoints[_].capabilities[_].events[_] == STRING
    input.Body.CapabilitySchemas[_].Format == enum_SchemaVersionFormat[_]
    input.Body.CapabilitySchemas[_].CapabilityId == STRING
    input.Body.CapabilitySchemas[_].ExtrinsicId == STRING
    input.Body.CapabilitySchemas[_].ExtrinsicVersion == INTEGER
    input.Body.CapabilitySchemas[_].Schema == {}
    input.Body.Capabilities == STRING
    input.Body.Classification == STRING
    input.Body.HubNetworkMode == enum_HubNetworkMode[_]
    input.Body.MetaData.STRING == STRING
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateNotificationConfiguration

enum_EventType := [ "DEVICE_COMMAND", "DEVICE_COMMAND_REQUEST", "DEVICE_DISCOVERY_STATUS", "DEVICE_EVENT", "DEVICE_LIFE_CYCLE", "DEVICE_STATE", "DEVICE_OTA", "CONNECTOR_ASSOCIATION", "ACCOUNT_ASSOCIATION", "CONNECTOR_ERROR_REPORT" ]

valid {
    input.Body.DestinationName == STRING
    input.ReqMap.EventType == enum_EventType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateOtaTask

valid {
    input.Body.Description == STRING
    input.Body.TaskConfigurationId == STRING
    input.ReqMap.Identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}