@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS Directory Service
@version 2015-04-16
@auth AWS SigV4
@endpoints 67
@hint download_for_search
@toc root(67)

@endpoint POST /
@required {SharedDirectoryId: str}
@returns(200) {SharedDirectory: SharedDirectory?{OwnerAccountId: str?, OwnerDirectoryId: str?, ShareMethod: str?, SharedAccountId: str?, SharedDirectoryId: str?, ShareStatus: str?, ShareNotes: str?, CreatedDateTime: str(timestamp)?, LastUpdatedDateTime: str(timestamp)?}}

@endpoint POST /
@required {DirectoryId: str, IpRoutes: [IpRoute]}
@optional {UpdateSecurityGroupForDirectoryControllers: bool}

@endpoint POST /
@required {DirectoryId: str, RegionName: str, VPCSettings: DirectoryVpcSettings}

@endpoint POST /
@required {ResourceId: str, Tags: [Tag]}

@endpoint POST /
@required {DirectoryId: str, SchemaExtensionId: str}

@endpoint POST /
@required {Name: str, Password: str, Size: str, ConnectSettings: DirectoryConnectSettings}
@optional {ShortName: str, Description: str, Tags: [Tag]}
@returns(200) {DirectoryId: str?}

@endpoint POST /
@required {DirectoryId: str, Alias: str}
@returns(200) {DirectoryId: str?, Alias: str?}

@endpoint POST /
@required {DirectoryId: str, ComputerName: str, Password: str}
@optional {OrganizationalUnitDistinguishedName: str, ComputerAttributes: [Attribute]}
@returns(200) {Computer: Computer?{ComputerId: str?, ComputerName: str?, ComputerAttributes: [Attribute]?}}

@endpoint POST /
@required {DirectoryId: str, RemoteDomainName: str, DnsIpAddrs: [str]}

@endpoint POST /
@required {Name: str, Password: str, Size: str}
@optional {ShortName: str, Description: str, VpcSettings: DirectoryVpcSettings, Tags: [Tag]}
@returns(200) {DirectoryId: str?}

@endpoint POST /
@required {DirectoryId: str, LogGroupName: str}

@endpoint POST /
@required {Name: str, Password: str, VpcSettings: DirectoryVpcSettings}
@optional {ShortName: str, Description: str, Edition: str, Tags: [Tag]}
@returns(200) {DirectoryId: str?}

@endpoint POST /
@required {DirectoryId: str}
@optional {Name: str}
@returns(200) {SnapshotId: str?}

@endpoint POST /
@required {DirectoryId: str, RemoteDomainName: str, TrustPassword: str, TrustDirection: str}
@optional {TrustType: str, ConditionalForwarderIpAddrs: [str], SelectiveAuth: str}
@returns(200) {TrustId: str?}

@endpoint POST /
@required {DirectoryId: str, RemoteDomainName: str}

@endpoint POST /
@required {DirectoryId: str}
@returns(200) {DirectoryId: str?}

@endpoint POST /
@required {DirectoryId: str}

@endpoint POST /
@required {SnapshotId: str}
@returns(200) {SnapshotId: str?}

@endpoint POST /
@required {TrustId: str}
@optional {DeleteAssociatedConditionalForwarder: bool}
@returns(200) {TrustId: str?}

@endpoint POST /
@required {DirectoryId: str, CertificateId: str}

@endpoint POST /
@required {DirectoryId: str, TopicName: str}

@endpoint POST /
@required {DirectoryId: str, CertificateId: str}
@returns(200) {Certificate: Certificate?{CertificateId: str?, State: str?, StateReason: str?, CommonName: str?, RegisteredDateTime: str(timestamp)?, ExpiryDateTime: str(timestamp)?, Type: str?, ClientCertAuthSettings: ClientCertAuthSettings?{OCSPUrl: str?}}}

@endpoint POST /
@required {DirectoryId: str}
@optional {Type: str, NextToken: str, Limit: int}
@returns(200) {ClientAuthenticationSettingsInfo: [ClientAuthenticationSettingInfo]?, NextToken: str?}

@endpoint POST /
@required {DirectoryId: str}
@optional {RemoteDomainNames: [str]}
@returns(200) {ConditionalForwarders: [ConditionalForwarder]?}

@endpoint POST /
@optional {DirectoryIds: [str], NextToken: str, Limit: int}
@returns(200) {DirectoryDescriptions: [DirectoryDescription]?, NextToken: str?}

@endpoint POST /
@required {DirectoryId: str}
@optional {DomainControllerIds: [str], NextToken: str, Limit: int}
@returns(200) {DomainControllers: [DomainController]?, NextToken: str?}

@endpoint POST /
@optional {DirectoryId: str, TopicNames: [str]}
@returns(200) {EventTopics: [EventTopic]?}

@endpoint POST /
@required {DirectoryId: str}
@optional {Type: str, NextToken: str, Limit: int}
@returns(200) {LDAPSSettingsInfo: [LDAPSSettingInfo]?, NextToken: str?}

@endpoint POST /
@required {DirectoryId: str}
@optional {RegionName: str, NextToken: str}
@returns(200) {RegionsDescription: [RegionDescription]?, NextToken: str?}

@endpoint POST /
@required {DirectoryId: str}
@optional {Status: str, NextToken: str}
@returns(200) {DirectoryId: str?, SettingEntries: [SettingEntry]?, NextToken: str?}

@endpoint POST /
@required {OwnerDirectoryId: str}
@optional {SharedDirectoryIds: [str], NextToken: str, Limit: int}
@returns(200) {SharedDirectories: [SharedDirectory]?, NextToken: str?}

@endpoint POST /
@optional {DirectoryId: str, SnapshotIds: [str], NextToken: str, Limit: int}
@returns(200) {Snapshots: [Snapshot]?, NextToken: str?}

@endpoint POST /
@optional {DirectoryId: str, TrustIds: [str], NextToken: str, Limit: int}
@returns(200) {Trusts: [Trust]?, NextToken: str?}

@endpoint POST /
@required {DirectoryId: str, UpdateType: str}
@optional {RegionName: str, NextToken: str}
@returns(200) {UpdateActivities: [UpdateInfoEntry]?, NextToken: str?}

@endpoint POST /
@required {DirectoryId: str, Type: str}

@endpoint POST /
@required {DirectoryId: str, Type: str}

@endpoint POST /
@required {DirectoryId: str}

@endpoint POST /
@required {DirectoryId: str}
@optional {UserName: str, Password: str}

@endpoint POST /
@required {DirectoryId: str, Type: str}

@endpoint POST /
@required {DirectoryId: str, Type: str}

@endpoint POST /
@required {DirectoryId: str, RadiusSettings: RadiusSettings}

@endpoint POST /
@required {DirectoryId: str}
@optional {UserName: str, Password: str}

@endpoint POST /
@returns(200) {DirectoryLimits: DirectoryLimits?{CloudOnlyDirectoriesLimit: int?, CloudOnlyDirectoriesCurrentCount: int?, CloudOnlyDirectoriesLimitReached: bool?, CloudOnlyMicrosoftADLimit: int?, CloudOnlyMicrosoftADCurrentCount: int?, CloudOnlyMicrosoftADLimitReached: bool?, ConnectedDirectoriesLimit: int?, ConnectedDirectoriesCurrentCount: int?, ConnectedDirectoriesLimitReached: bool?}}

@endpoint POST /
@required {DirectoryId: str}
@returns(200) {SnapshotLimits: SnapshotLimits?{ManualSnapshotsLimit: int?, ManualSnapshotsCurrentCount: int?, ManualSnapshotsLimitReached: bool?}}

@endpoint POST /
@required {DirectoryId: str}
@optional {NextToken: str, Limit: int}
@returns(200) {NextToken: str?, CertificatesInfo: [CertificateInfo]?}

@endpoint POST /
@required {DirectoryId: str}
@optional {NextToken: str, Limit: int}
@returns(200) {IpRoutesInfo: [IpRouteInfo]?, NextToken: str?}

@endpoint POST /
@optional {DirectoryId: str, NextToken: str, Limit: int}
@returns(200) {LogSubscriptions: [LogSubscription]?, NextToken: str?}

@endpoint POST /
@required {DirectoryId: str}
@optional {NextToken: str, Limit: int}
@returns(200) {SchemaExtensionsInfo: [SchemaExtensionInfo]?, NextToken: str?}

@endpoint POST /
@required {ResourceId: str}
@optional {NextToken: str, Limit: int}
@returns(200) {Tags: [Tag]?, NextToken: str?}

@endpoint POST /
@required {DirectoryId: str, CertificateData: str}
@optional {Type: str, ClientCertAuthSettings: ClientCertAuthSettings}
@returns(200) {CertificateId: str?}

@endpoint POST /
@required {DirectoryId: str, TopicName: str}

@endpoint POST /
@required {SharedDirectoryId: str}
@returns(200) {SharedDirectoryId: str?}

@endpoint POST /
@required {DirectoryId: str, CidrIps: [str]}

@endpoint POST /
@required {DirectoryId: str}

@endpoint POST /
@required {ResourceId: str, TagKeys: [str]}

@endpoint POST /
@required {DirectoryId: str, UserName: str, NewPassword: str}

@endpoint POST /
@required {SnapshotId: str}

@endpoint POST /
@required {DirectoryId: str, ShareTarget: ShareTarget, ShareMethod: str}
@optional {ShareNotes: str}
@returns(200) {SharedDirectoryId: str?}

@endpoint POST /
@required {DirectoryId: str, CreateSnapshotBeforeSchemaExtension: bool, LdifContent: str, Description: str}
@returns(200) {SchemaExtensionId: str?}

@endpoint POST /
@required {DirectoryId: str, UnshareTarget: UnshareTarget}
@returns(200) {SharedDirectoryId: str?}

@endpoint POST /
@required {DirectoryId: str, RemoteDomainName: str, DnsIpAddrs: [str]}

@endpoint POST /
@required {DirectoryId: str, UpdateType: str}
@optional {OSUpdateSettings: OSUpdateSettings, CreateSnapshotBeforeUpdate: bool}

@endpoint POST /
@required {DirectoryId: str, DesiredNumber: int}

@endpoint POST /
@required {DirectoryId: str, RadiusSettings: RadiusSettings}

@endpoint POST /
@required {DirectoryId: str, Settings: [Setting]}
@returns(200) {DirectoryId: str?}

@endpoint POST /
@required {TrustId: str}
@optional {SelectiveAuth: str}
@returns(200) {RequestId: str?, TrustId: str?}

@endpoint POST /
@required {TrustId: str}
@returns(200) {TrustId: str?}

@end
