# Copyright (c) 2012-2013, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.

from aws import Action as BaseAction
from aws import BaseARN

service_name = 'AWS IoT'
prefix = 'iot'


class Action(BaseAction):
    def __init__(self, action=None):
        sup = super(Action, self)
        sup.__init__(prefix, action)


class ARN(BaseARN):
    def __init__(self, resource='', region='', account=''):
        sup = super(ARN, self)
        sup.__init__(service=prefix, resource=resource, region=region,
                     account=account)


AcceptCertificateTransfer = Action('AcceptCertificateTransfer')
AssociateTargetsWithJob = Action('AssociateTargetsWithJob')
AttachPolicy = Action('AttachPolicy')
AttachPrincipalPolicy = Action('AttachPrincipalPolicy')
AttachThingPrincipal = Action('AttachThingPrincipal')
CancelCertificateTransfer = Action('CancelCertificateTransfer')
CancelJob = Action('CancelJob')
ClearDefaultAuthorizer = Action('ClearDefaultAuthorizer')
Connect = Action('Connect')
CreateAuthorizer = Action('CreateAuthorizer')
CreateCertificateFromCsr = Action('CreateCertificateFromCsr')
CreateJob = Action('CreateJob')
CreateKeysAndCertificate = Action('CreateKeysAndCertificate')
CreateOTAUpdateJob = Action('CreateOTAUpdateJob')
CreatePolicy = Action('CreatePolicy')
CreatePolicyVersion = Action('CreatePolicyVersion')
CreateRoleAlias = Action('CreateRoleAlias')
CreateStream = Action('CreateStream')
CreateThing = Action('CreateThing')
CreateThingType = Action('CreateThingType')
CreateTopicRule = Action('CreateTopicRule')
DeleteAuthorizer = Action('DeleteAuthorizer')
DeleteCACertificate = Action('DeleteCACertificate')
DeleteCertificate = Action('DeleteCertificate')
DeleteOTAUpdateJob = Action('DeleteOTAUpdateJob')
DeletePolicy = Action('DeletePolicy')
DeletePolicyVersion = Action('DeletePolicyVersion')
DeleteRegistrationCode = Action('DeleteRegistrationCode')
DeleteRoleAlias = Action('DeleteRoleAlias')
DeleteStream = Action('DeleteStream')
DeleteThing = Action('DeleteThing')
DeleteThingShadow = Action('DeleteThingShadow')
DeleteThingType = Action('DeleteThingType')
DeleteTopicRule = Action('DeleteTopicRule')
DeprecateThingType = Action('DeprecateThingType')
DescribeAuthorizer = Action('DescribeAuthorizer')
DescribeCACertificate = Action('DescribeCACertificate')
DescribeCertificate = Action('DescribeCertificate')
DescribeDefaultAuthorizer = Action('DescribeDefaultAuthorizer')
DescribeEndpoint = Action('DescribeEndpoint')
DescribeIndex = Action('DescribeIndex')
DescribeJob = Action('DescribeJob')
DescribeJobExecution = Action('DescribeJobExecution')
DescribeRoleAlias = Action('DescribeRoleAlias')
DescribeStream = Action('DescribeStream')
DescribeThing = Action('DescribeThing')
DescribeThingType = Action('DescribeThingType')
DetachPolicy = Action('DetachPolicy')
DetachPrincipalPolicy = Action('DetachPrincipalPolicy')
DetachThingPrincipal = Action('DetachThingPrincipal')
DisableTopicRule = Action('DisableTopicRule')
EnableTopicRule = Action('EnableTopicRule')
GetEffectivePolicies = Action('GetEffectivePolicies')
GetIndexingConfiguration = Action('GetIndexingConfiguration')
GetJobDocument = Action('GetJobDocument')
GetLoggingOptions = Action('GetLoggingOptions')
GetOTAUpdateJob = Action('GetOTAUpdateJob')
GetPolicy = Action('GetPolicy')
GetPolicyVersion = Action('GetPolicyVersion')
GetRegistrationCode = Action('GetRegistrationCode')
GetThingShadow = Action('GetThingShadow')
GetTopicRule = Action('GetTopicRule')
ListAttachedPolicies = Action('ListAttachedPolicies')
ListAuthorizers = Action('ListAuthorizers')
ListCACertificates = Action('ListCACertificates')
ListCertificates = Action('ListCertificates')
ListCertificatesByCA = Action('ListCertificatesByCA')
ListIndices = Action('ListIndices')
ListJobExecutionsForJob = Action('ListJobExecutionsForJob')
ListJobExecutionsForThing = Action('ListJobExecutionsForThing')
ListJobs = Action('ListJobs')
ListOTAUpdateJobs = Action('ListOTAUpdateJobs')
ListOutgoingCertificates = Action('ListOutgoingCertificates')
ListPolicies = Action('ListPolicies')
ListPolicyPrincipals = Action('ListPolicyPrincipals')
ListPolicyVersions = Action('ListPolicyVersions')
ListPrincipalPolicies = Action('ListPrincipalPolicies')
ListPrincipalThings = Action('ListPrincipalThings')
ListRoleAliases = Action('ListRoleAliases')
ListStreams = Action('ListStreams')
ListTargetsForPolicy = Action('ListTargetsForPolicy')
ListThingPrincipals = Action('ListThingPrincipals')
ListThingTypes = Action('ListThingTypes')
ListThings = Action('ListThings')
ListTopicRules = Action('ListTopicRules')
Publish = Action('Publish')
Receive = Action('Receive')
RegisterCACertificate = Action('RegisterCACertificate')
RegisterCertificate = Action('RegisterCertificate')
RejectCertificateTransfer = Action('RejectCertificateTransfer')
ReplaceTopicRule = Action('ReplaceTopicRule')
SearchIndex = Action('SearchIndex')
SetDefaultAuthorizer = Action('SetDefaultAuthorizer')
SetDefaultPolicyVersion = Action('SetDefaultPolicyVersion')
SetLoggingOptions = Action('SetLoggingOptions')
Subscribe = Action('Subscribe')
TestAuthorization = Action('TestAuthorization')
TestInvokeAuthorizer = Action('TestInvokeAuthorizer')
TransferCertificate = Action('TransferCertificate')
UpdateAuthorizer = Action('UpdateAuthorizer')
UpdateCACertificate = Action('UpdateCACertificate')
UpdateCertificate = Action('UpdateCertificate')
UpdateIndexingConfiguration = Action('UpdateIndexingConfiguration')
UpdateRoleAlias = Action('UpdateRoleAlias')
UpdateStream = Action('UpdateStream')
UpdateThing = Action('UpdateThing')
UpdateThingShadow = Action('UpdateThingShadow')
