DIRECTORY-SERVICE-DATA

AddGroupMember

valid {
    input.Body.ClientToken == STRING
    input.Body.GroupName == STRING
    input.Body.MemberName == STRING
    input.Body.MemberRealm == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateGroup

enum_GroupScope := [ "DomainLocal", "Global", "Universal", "BuiltinLocal" ]
enum_GroupType := [ "Distribution", "Security" ]

valid {
    input.Body.ClientToken == STRING
    input.Body.GroupScope == enum_GroupScope[_]
    input.Body.GroupType == enum_GroupType[_]
    input.Body.OtherAttributes.STRING.BOOL == BOOLEAN
    input.Body.OtherAttributes.STRING.N == LONG
    input.Body.OtherAttributes.STRING.S == STRING
    input.Body.OtherAttributes.STRING.SS[_] == STRING
    input.Body.SAMAccountName == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateUser

valid {
    input.Body.ClientToken == STRING
    input.Body.EmailAddress == STRING
    input.Body.GivenName == STRING
    input.Body.OtherAttributes.STRING.BOOL == BOOLEAN
    input.Body.OtherAttributes.STRING.N == LONG
    input.Body.OtherAttributes.STRING.S == STRING
    input.Body.OtherAttributes.STRING.SS[_] == STRING
    input.Body.SAMAccountName == STRING
    input.Body.Surname == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteGroup

valid {
    input.Body.ClientToken == STRING
    input.Body.SAMAccountName == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteUser

valid {
    input.Body.ClientToken == STRING
    input.Body.SAMAccountName == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeGroup

valid {
    input.Body.OtherAttributes[_] == STRING
    input.Body.Realm == STRING
    input.Body.SAMAccountName == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeUser

valid {
    input.Body.OtherAttributes[_] == STRING
    input.Body.Realm == STRING
    input.Body.SAMAccountName == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisableUser

valid {
    input.Body.ClientToken == STRING
    input.Body.SAMAccountName == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListGroupMembers

valid {
    input.Body.MaxResults == INTEGER
    input.Body.MemberRealm == STRING
    input.Body.NextToken == STRING
    input.Body.Realm == STRING
    input.Body.SAMAccountName == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListGroups

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

ListGroupsForMember

valid {
    input.Body.MaxResults == INTEGER
    input.Body.MemberRealm == STRING
    input.Body.NextToken == STRING
    input.Body.Realm == STRING
    input.Body.SAMAccountName == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListUsers

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

RemoveGroupMember

valid {
    input.Body.ClientToken == STRING
    input.Body.GroupName == STRING
    input.Body.MemberName == STRING
    input.Body.MemberRealm == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchGroups

valid {
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.Realm == STRING
    input.Body.SearchAttributes[_] == STRING
    input.Body.SearchString == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SearchUsers

valid {
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.Realm == STRING
    input.Body.SearchAttributes[_] == STRING
    input.Body.SearchString == STRING
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateGroup

enum_GroupScope := [ "DomainLocal", "Global", "Universal", "BuiltinLocal" ]
enum_GroupType := [ "Distribution", "Security" ]
enum_UpdateType := [ "ADD", "REPLACE", "REMOVE" ]

valid {
    input.Body.ClientToken == STRING
    input.Body.GroupScope == enum_GroupScope[_]
    input.Body.GroupType == enum_GroupType[_]
    input.Body.OtherAttributes.STRING.BOOL == BOOLEAN
    input.Body.OtherAttributes.STRING.N == LONG
    input.Body.OtherAttributes.STRING.S == STRING
    input.Body.OtherAttributes.STRING.SS[_] == STRING
    input.Body.SAMAccountName == STRING
    input.Body.UpdateType == enum_UpdateType[_]
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateUser

enum_UpdateType := [ "ADD", "REPLACE", "REMOVE" ]

valid {
    input.Body.ClientToken == STRING
    input.Body.EmailAddress == STRING
    input.Body.GivenName == STRING
    input.Body.OtherAttributes.STRING.BOOL == BOOLEAN
    input.Body.OtherAttributes.STRING.N == LONG
    input.Body.OtherAttributes.STRING.S == STRING
    input.Body.OtherAttributes.STRING.SS[_] == STRING
    input.Body.SAMAccountName == STRING
    input.Body.Surname == STRING
    input.Body.UpdateType == enum_UpdateType[_]
    input.Qs.DirectoryId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}