@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS License Manager
@version 2018-08-01
@auth AWS SigV4
@endpoints 50
@hint download_for_search
@toc root(50)

@endpoint POST /
@required {GrantArn: str}
@returns(200) {GrantArn: str?, Status: str?, Version: str?}

@endpoint POST /
@required {LicenseConsumptionToken: str}
@optional {Beneficiary: str}

@endpoint POST /
@required {LicenseArn: str, Entitlements: [EntitlementData], DigitalSignatureMethod: str, ClientToken: str}
@optional {NodeId: str, CheckoutMetadata: [Metadata]}
@returns(200) {LicenseArn: str?, LicenseConsumptionToken: str?, EntitlementsAllowed: [EntitlementData]?, NodeId: str?, SignedToken: str?, IssuedAt: str?, Expiration: str?, CheckoutMetadata: [Metadata]?}

@endpoint POST /
@required {ProductSKU: str, CheckoutType: str, KeyFingerprint: str, Entitlements: [EntitlementData], ClientToken: str}
@optional {Beneficiary: str, NodeId: str}
@returns(200) {CheckoutType: str?, LicenseConsumptionToken: str?, EntitlementsAllowed: [EntitlementData]?, SignedToken: str?, NodeId: str?, IssuedAt: str?, Expiration: str?, LicenseArn: str?}

@endpoint POST /
@required {ClientToken: str, GrantName: str, LicenseArn: str, Principals: [str], HomeRegion: str, AllowedOperations: [str]}
@returns(200) {GrantArn: str?, Status: str?, Version: str?}

@endpoint POST /
@required {ClientToken: str, GrantArn: str}
@optional {GrantName: str, AllowedOperations: [str], Status: str, StatusReason: str, SourceVersion: str, Options: Options}
@returns(200) {GrantArn: str?, Status: str?, Version: str?}

@endpoint POST /
@required {LicenseName: str, ProductName: str, ProductSKU: str, Issuer: Issuer, HomeRegion: str, Validity: DatetimeRange, Entitlements: [Entitlement], Beneficiary: str, ConsumptionConfiguration: ConsumptionConfiguration, ClientToken: str}
@optional {LicenseMetadata: [Metadata]}
@returns(200) {LicenseArn: str?, Status: str?, Version: str?}

@endpoint POST /
@required {Name: str, LicenseCountingType: str}
@optional {Description: str, LicenseCount: int(i64), LicenseCountHardLimit: bool, LicenseRules: [str], Tags: [Tag], DisassociateWhenNotFound: bool, ProductInformationList: [ProductInformation]}
@returns(200) {LicenseConfigurationArn: str?}

@endpoint POST /
@required {ResourceArn: str, SourceLicenseContext: LicenseConversionContext, DestinationLicenseContext: LicenseConversionContext}
@returns(200) {LicenseConversionTaskId: str?}

@endpoint POST /
@required {ReportGeneratorName: str, Type: [str], ReportContext: ReportContext, ReportFrequency: ReportFrequency, ClientToken: str}
@optional {Description: str, Tags: [Tag]}
@returns(200) {LicenseManagerReportGeneratorArn: str?}

@endpoint POST /
@required {LicenseArn: str, LicenseName: str, ProductName: str, Issuer: Issuer, HomeRegion: str, Validity: DatetimeRange, Entitlements: [Entitlement], ConsumptionConfiguration: ConsumptionConfiguration, Status: str, ClientToken: str}
@optional {LicenseMetadata: [Metadata], SourceVersion: str}
@returns(200) {LicenseArn: str?, Version: str?, Status: str?}

@endpoint POST /
@required {LicenseArn: str, ClientToken: str}
@optional {RoleArns: [str], ExpirationInDays: int, TokenProperties: [str]}
@returns(200) {TokenId: str?, TokenType: str?, Token: str?}

@endpoint POST /
@required {GrantArn: str, Version: str}
@optional {StatusReason: str}
@returns(200) {GrantArn: str?, Status: str?, Version: str?}

@endpoint POST /
@required {LicenseArn: str, SourceVersion: str}
@returns(200) {Status: str?, DeletionDate: str?}

@endpoint POST /
@required {LicenseConfigurationArn: str}

@endpoint POST /
@required {LicenseManagerReportGeneratorArn: str}

@endpoint POST /
@required {TokenId: str}

@endpoint POST /
@required {LicenseConsumptionToken: str}
@optional {DryRun: bool}
@returns(200) {LicenseConsumptionToken: str?, Expiration: str?}

@endpoint POST /
@required {Token: str}
@optional {TokenProperties: [str]}
@returns(200) {AccessToken: str?}

@endpoint POST /
@required {GrantArn: str}
@optional {Version: str}
@returns(200) {Grant: Grant?{GrantArn: str, GrantName: str, ParentArn: str, LicenseArn: str, GranteePrincipalArn: str, HomeRegion: str, GrantStatus: str, StatusReason: str?, Version: str, GrantedOperations: [str], Options: Options?{ActivationOverrideBehavior: str?}}}

@endpoint POST /
@required {LicenseArn: str}
@optional {Version: str}
@returns(200) {License: License?{LicenseArn: str?, LicenseName: str?, ProductName: str?, ProductSKU: str?, Issuer: IssuerDetails?{Name: str?, SignKey: str?, KeyFingerprint: str?}, HomeRegion: str?, Status: str?, Validity: DatetimeRange?{Begin: str, End: str?}, Beneficiary: str?, Entitlements: [Entitlement]?, ConsumptionConfiguration: ConsumptionConfiguration?{RenewType: str?, ProvisionalConfiguration: ProvisionalConfiguration?{MaxTimeToLiveInMinutes: int}, BorrowConfiguration: BorrowConfiguration?{AllowEarlyCheckIn: bool, MaxTimeToLiveInMinutes: int}}, LicenseMetadata: [Metadata]?, CreateTime: str?, Version: str?}}

@endpoint POST /
@required {LicenseConfigurationArn: str}
@returns(200) {LicenseConfigurationId: str?, LicenseConfigurationArn: str?, Name: str?, Description: str?, LicenseCountingType: str?, LicenseRules: [str]?, LicenseCount: int(i64)?, LicenseCountHardLimit: bool?, ConsumedLicenses: int(i64)?, Status: str?, OwnerAccountId: str?, ConsumedLicenseSummaryList: [ConsumedLicenseSummary]?, ManagedResourceSummaryList: [ManagedResourceSummary]?, Tags: [Tag]?, ProductInformationList: [ProductInformation]?, AutomatedDiscoveryInformation: AutomatedDiscoveryInformation?{LastRunTime: str(timestamp)?}, DisassociateWhenNotFound: bool?}

@endpoint POST /
@required {LicenseConversionTaskId: str}
@returns(200) {LicenseConversionTaskId: str?, ResourceArn: str?, SourceLicenseContext: LicenseConversionContext?{UsageOperation: str?}, DestinationLicenseContext: LicenseConversionContext?{UsageOperation: str?}, StatusMessage: str?, Status: str?, StartTime: str(timestamp)?, LicenseConversionTime: str(timestamp)?, EndTime: str(timestamp)?}

@endpoint POST /
@required {LicenseManagerReportGeneratorArn: str}
@returns(200) {ReportGenerator: ReportGenerator?{ReportGeneratorName: str?, ReportType: [str]?, ReportContext: ReportContext?{licenseConfigurationArns: [str]}, ReportFrequency: ReportFrequency?{value: int?, period: str?}, LicenseManagerReportGeneratorArn: str?, LastRunStatus: str?, LastRunFailureReason: str?, LastReportGenerationTime: str?, ReportCreatorAccount: str?, Description: str?, S3Location: S3Location?{bucket: str?, keyPrefix: str?}, CreateTime: str?, Tags: [Tag]?}}

@endpoint POST /
@required {LicenseArn: str}
@returns(200) {LicenseUsage: LicenseUsage?{EntitlementUsages: [EntitlementUsage]?}}

@endpoint POST /
@returns(200) {S3BucketArn: str?, SnsTopicArn: str?, OrganizationConfiguration: OrganizationConfiguration?{EnableIntegration: bool}, EnableCrossAccountsDiscovery: bool?, LicenseManagerResourceShareArn: str?}

@endpoint POST /
@required {LicenseConfigurationArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {LicenseConfigurationAssociations: [LicenseConfigurationAssociation]?, NextToken: str?}

@endpoint POST /
@optional {GrantArns: [str], Filters: [Filter], NextToken: str, MaxResults: int}
@returns(200) {Grants: [Grant]?, NextToken: str?}

@endpoint POST /
@required {LicenseConfigurationArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {LicenseOperationFailureList: [LicenseOperationFailure]?, NextToken: str?}

@endpoint POST /
@optional {LicenseConfigurationArns: [str], MaxResults: int, NextToken: str, Filters: [Filter]}
@returns(200) {LicenseConfigurations: [LicenseConfiguration]?, NextToken: str?}

@endpoint POST /
@optional {NextToken: str, MaxResults: int, Filters: [Filter]}
@returns(200) {LicenseConversionTasks: [LicenseConversionTask]?, NextToken: str?}

@endpoint POST /
@optional {Filters: [Filter], NextToken: str, MaxResults: int}
@returns(200) {ReportGenerators: [ReportGenerator]?, NextToken: str?}

@endpoint POST /
@required {ResourceArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {LicenseSpecifications: [LicenseSpecification]?, NextToken: str?}

@endpoint POST /
@required {LicenseArn: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {Licenses: [License]?, NextToken: str?}

@endpoint POST /
@optional {LicenseArns: [str], Filters: [Filter], NextToken: str, MaxResults: int}
@returns(200) {Licenses: [License]?, NextToken: str?}

@endpoint POST /
@optional {GrantArns: [str], Filters: [Filter], NextToken: str, MaxResults: int}
@returns(200) {Grants: [Grant]?, NextToken: str?}

@endpoint POST /
@required {LicenseArn: str}
@optional {Filters: [Filter], NextToken: str, MaxResults: int}
@returns(200) {Grants: [Grant]?, NextToken: str?}

@endpoint POST /
@optional {LicenseArns: [str], Filters: [Filter], NextToken: str, MaxResults: int}
@returns(200) {Licenses: [GrantedLicense]?, NextToken: str?}

@endpoint POST /
@optional {Filters: [Filter], NextToken: str, MaxResults: int}
@returns(200) {Licenses: [GrantedLicense]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, Filters: [InventoryFilter]}
@returns(200) {ResourceInventoryList: [ResourceInventory]?, NextToken: str?}

@endpoint POST /
@required {ResourceArn: str}
@returns(200) {Tags: [Tag]?}

@endpoint POST /
@optional {TokenIds: [str], Filters: [Filter], NextToken: str, MaxResults: int}
@returns(200) {Tokens: [TokenData]?, NextToken: str?}

@endpoint POST /
@required {LicenseConfigurationArn: str}
@optional {MaxResults: int, NextToken: str, Filters: [Filter]}
@returns(200) {LicenseConfigurationUsageList: [LicenseConfigurationUsage]?, NextToken: str?}

@endpoint POST /
@required {GrantArn: str}
@returns(200) {GrantArn: str?, Status: str?, Version: str?}

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

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

@endpoint POST /
@required {LicenseConfigurationArn: str}
@optional {LicenseConfigurationStatus: str, LicenseRules: [str], LicenseCount: int(i64), LicenseCountHardLimit: bool, Name: str, Description: str, ProductInformationList: [ProductInformation], DisassociateWhenNotFound: bool}

@endpoint POST /
@required {LicenseManagerReportGeneratorArn: str, ReportGeneratorName: str, Type: [str], ReportContext: ReportContext, ReportFrequency: ReportFrequency, ClientToken: str}
@optional {Description: str}

@endpoint POST /
@required {ResourceArn: str}
@optional {AddLicenseSpecifications: [LicenseSpecification], RemoveLicenseSpecifications: [LicenseSpecification]}

@endpoint POST /
@optional {S3BucketArn: str, SnsTopicArn: str, OrganizationConfiguration: OrganizationConfiguration, EnableCrossAccountsDiscovery: bool}

@end
