import { AliasState, BatchGetPolicyErrorCode, CedarVersion, Decision, DeletionMode, DeletionProtection, OpenIdIssuer, PolicyEffect, PolicyType, ResourceType, ValidationMode, } from "./enums"; export interface ActionIdentifier { actionType: string | undefined; actionId: string | undefined; } export interface EntityIdentifier { entityType: string | undefined; entityId: string | undefined; } export interface BatchGetPolicyInputItem { policyStoreId: string | undefined; policyId: string | undefined; } export interface BatchGetPolicyInput { requests: BatchGetPolicyInputItem[] | undefined; } export interface BatchGetPolicyErrorItem { code: BatchGetPolicyErrorCode | undefined; policyStoreId: string | undefined; policyId: string | undefined; message: string | undefined; } export interface StaticPolicyDefinitionDetail { description?: string | undefined; statement: string | undefined; } export interface TemplateLinkedPolicyDefinitionDetail { policyTemplateId: string | undefined; principal?: EntityIdentifier | undefined; resource?: EntityIdentifier | undefined; } export type PolicyDefinitionDetail = | PolicyDefinitionDetail.StaticMember | PolicyDefinitionDetail.TemplateLinkedMember | PolicyDefinitionDetail.$UnknownMember; export declare namespace PolicyDefinitionDetail { interface StaticMember { static: StaticPolicyDefinitionDetail; templateLinked?: never; $unknown?: never; } interface TemplateLinkedMember { static?: never; templateLinked: TemplateLinkedPolicyDefinitionDetail; $unknown?: never; } interface $UnknownMember { static?: never; templateLinked?: never; $unknown: [string, any]; } interface Visitor { static: (value: StaticPolicyDefinitionDetail) => T; templateLinked: (value: TemplateLinkedPolicyDefinitionDetail) => T; _: (name: string, value: any) => T; } } export interface BatchGetPolicyOutputItem { policyStoreId: string | undefined; policyId: string | undefined; policyType: PolicyType | undefined; definition: PolicyDefinitionDetail | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; name?: string | undefined; } export interface BatchGetPolicyOutput { results: BatchGetPolicyOutputItem[] | undefined; errors: BatchGetPolicyErrorItem[] | undefined; } export interface ValidationExceptionField { path: string | undefined; message: string | undefined; } export interface DeterminingPolicyItem { policyId: string | undefined; } export interface EvaluationErrorItem { errorDescription: string | undefined; } export interface CognitoGroupConfiguration { groupEntityType: string | undefined; } export interface CognitoGroupConfigurationDetail { groupEntityType?: string | undefined; } export interface CognitoGroupConfigurationItem { groupEntityType?: string | undefined; } export interface CognitoUserPoolConfiguration { userPoolArn: string | undefined; clientIds?: string[] | undefined; groupConfiguration?: CognitoGroupConfiguration | undefined; } export interface CognitoUserPoolConfigurationDetail { userPoolArn: string | undefined; clientIds: string[] | undefined; issuer: string | undefined; groupConfiguration?: CognitoGroupConfigurationDetail | undefined; } export interface CognitoUserPoolConfigurationItem { userPoolArn: string | undefined; clientIds: string[] | undefined; issuer: string | undefined; groupConfiguration?: CognitoGroupConfigurationItem | undefined; } export interface OpenIdConnectGroupConfiguration { groupClaim: string | undefined; groupEntityType: string | undefined; } export interface OpenIdConnectAccessTokenConfiguration { principalIdClaim?: string | undefined; audiences?: string[] | undefined; } export interface OpenIdConnectIdentityTokenConfiguration { principalIdClaim?: string | undefined; clientIds?: string[] | undefined; } export type OpenIdConnectTokenSelection = | OpenIdConnectTokenSelection.AccessTokenOnlyMember | OpenIdConnectTokenSelection.IdentityTokenOnlyMember | OpenIdConnectTokenSelection.$UnknownMember; export declare namespace OpenIdConnectTokenSelection { interface AccessTokenOnlyMember { accessTokenOnly: OpenIdConnectAccessTokenConfiguration; identityTokenOnly?: never; $unknown?: never; } interface IdentityTokenOnlyMember { accessTokenOnly?: never; identityTokenOnly: OpenIdConnectIdentityTokenConfiguration; $unknown?: never; } interface $UnknownMember { accessTokenOnly?: never; identityTokenOnly?: never; $unknown: [string, any]; } interface Visitor { accessTokenOnly: (value: OpenIdConnectAccessTokenConfiguration) => T; identityTokenOnly: (value: OpenIdConnectIdentityTokenConfiguration) => T; _: (name: string, value: any) => T; } } export interface OpenIdConnectConfiguration { issuer: string | undefined; entityIdPrefix?: string | undefined; groupConfiguration?: OpenIdConnectGroupConfiguration | undefined; tokenSelection: OpenIdConnectTokenSelection | undefined; } export type Configuration = | Configuration.CognitoUserPoolConfigurationMember | Configuration.OpenIdConnectConfigurationMember | Configuration.$UnknownMember; export declare namespace Configuration { interface CognitoUserPoolConfigurationMember { cognitoUserPoolConfiguration: CognitoUserPoolConfiguration; openIdConnectConfiguration?: never; $unknown?: never; } interface OpenIdConnectConfigurationMember { cognitoUserPoolConfiguration?: never; openIdConnectConfiguration: OpenIdConnectConfiguration; $unknown?: never; } interface $UnknownMember { cognitoUserPoolConfiguration?: never; openIdConnectConfiguration?: never; $unknown: [string, any]; } interface Visitor { cognitoUserPoolConfiguration: (value: CognitoUserPoolConfiguration) => T; openIdConnectConfiguration: (value: OpenIdConnectConfiguration) => T; _: (name: string, value: any) => T; } } export interface OpenIdConnectGroupConfigurationDetail { groupClaim: string | undefined; groupEntityType: string | undefined; } export interface OpenIdConnectAccessTokenConfigurationDetail { principalIdClaim?: string | undefined; audiences?: string[] | undefined; } export interface OpenIdConnectIdentityTokenConfigurationDetail { principalIdClaim?: string | undefined; clientIds?: string[] | undefined; } export type OpenIdConnectTokenSelectionDetail = | OpenIdConnectTokenSelectionDetail.AccessTokenOnlyMember | OpenIdConnectTokenSelectionDetail.IdentityTokenOnlyMember | OpenIdConnectTokenSelectionDetail.$UnknownMember; export declare namespace OpenIdConnectTokenSelectionDetail { interface AccessTokenOnlyMember { accessTokenOnly: OpenIdConnectAccessTokenConfigurationDetail; identityTokenOnly?: never; $unknown?: never; } interface IdentityTokenOnlyMember { accessTokenOnly?: never; identityTokenOnly: OpenIdConnectIdentityTokenConfigurationDetail; $unknown?: never; } interface $UnknownMember { accessTokenOnly?: never; identityTokenOnly?: never; $unknown: [string, any]; } interface Visitor { accessTokenOnly: (value: OpenIdConnectAccessTokenConfigurationDetail) => T; identityTokenOnly: ( value: OpenIdConnectIdentityTokenConfigurationDetail ) => T; _: (name: string, value: any) => T; } } export interface OpenIdConnectConfigurationDetail { issuer: string | undefined; entityIdPrefix?: string | undefined; groupConfiguration?: OpenIdConnectGroupConfigurationDetail | undefined; tokenSelection: OpenIdConnectTokenSelectionDetail | undefined; } export type ConfigurationDetail = | ConfigurationDetail.CognitoUserPoolConfigurationMember | ConfigurationDetail.OpenIdConnectConfigurationMember | ConfigurationDetail.$UnknownMember; export declare namespace ConfigurationDetail { interface CognitoUserPoolConfigurationMember { cognitoUserPoolConfiguration: CognitoUserPoolConfigurationDetail; openIdConnectConfiguration?: never; $unknown?: never; } interface OpenIdConnectConfigurationMember { cognitoUserPoolConfiguration?: never; openIdConnectConfiguration: OpenIdConnectConfigurationDetail; $unknown?: never; } interface $UnknownMember { cognitoUserPoolConfiguration?: never; openIdConnectConfiguration?: never; $unknown: [string, any]; } interface Visitor { cognitoUserPoolConfiguration: ( value: CognitoUserPoolConfigurationDetail ) => T; openIdConnectConfiguration: (value: OpenIdConnectConfigurationDetail) => T; _: (name: string, value: any) => T; } } export interface OpenIdConnectGroupConfigurationItem { groupClaim: string | undefined; groupEntityType: string | undefined; } export interface OpenIdConnectAccessTokenConfigurationItem { principalIdClaim?: string | undefined; audiences?: string[] | undefined; } export interface OpenIdConnectIdentityTokenConfigurationItem { principalIdClaim?: string | undefined; clientIds?: string[] | undefined; } export type OpenIdConnectTokenSelectionItem = | OpenIdConnectTokenSelectionItem.AccessTokenOnlyMember | OpenIdConnectTokenSelectionItem.IdentityTokenOnlyMember | OpenIdConnectTokenSelectionItem.$UnknownMember; export declare namespace OpenIdConnectTokenSelectionItem { interface AccessTokenOnlyMember { accessTokenOnly: OpenIdConnectAccessTokenConfigurationItem; identityTokenOnly?: never; $unknown?: never; } interface IdentityTokenOnlyMember { accessTokenOnly?: never; identityTokenOnly: OpenIdConnectIdentityTokenConfigurationItem; $unknown?: never; } interface $UnknownMember { accessTokenOnly?: never; identityTokenOnly?: never; $unknown: [string, any]; } interface Visitor { accessTokenOnly: (value: OpenIdConnectAccessTokenConfigurationItem) => T; identityTokenOnly: ( value: OpenIdConnectIdentityTokenConfigurationItem ) => T; _: (name: string, value: any) => T; } } export interface OpenIdConnectConfigurationItem { issuer: string | undefined; entityIdPrefix?: string | undefined; groupConfiguration?: OpenIdConnectGroupConfigurationItem | undefined; tokenSelection: OpenIdConnectTokenSelectionItem | undefined; } export type ConfigurationItem = | ConfigurationItem.CognitoUserPoolConfigurationMember | ConfigurationItem.OpenIdConnectConfigurationMember | ConfigurationItem.$UnknownMember; export declare namespace ConfigurationItem { interface CognitoUserPoolConfigurationMember { cognitoUserPoolConfiguration: CognitoUserPoolConfigurationItem; openIdConnectConfiguration?: never; $unknown?: never; } interface OpenIdConnectConfigurationMember { cognitoUserPoolConfiguration?: never; openIdConnectConfiguration: OpenIdConnectConfigurationItem; $unknown?: never; } interface $UnknownMember { cognitoUserPoolConfiguration?: never; openIdConnectConfiguration?: never; $unknown: [string, any]; } interface Visitor { cognitoUserPoolConfiguration: ( value: CognitoUserPoolConfigurationItem ) => T; openIdConnectConfiguration: (value: OpenIdConnectConfigurationItem) => T; _: (name: string, value: any) => T; } } export interface ResourceConflict { resourceId: string | undefined; resourceType: ResourceType | undefined; } export interface CreateIdentitySourceInput { clientToken?: string | undefined; policyStoreId: string | undefined; configuration: Configuration | undefined; principalEntityType?: string | undefined; } export interface CreateIdentitySourceOutput { createdDate: Date | undefined; identitySourceId: string | undefined; lastUpdatedDate: Date | undefined; policyStoreId: string | undefined; } export interface StaticPolicyDefinition { description?: string | undefined; statement: string | undefined; } export interface TemplateLinkedPolicyDefinition { policyTemplateId: string | undefined; principal?: EntityIdentifier | undefined; resource?: EntityIdentifier | undefined; } export type PolicyDefinition = | PolicyDefinition.StaticMember | PolicyDefinition.TemplateLinkedMember | PolicyDefinition.$UnknownMember; export declare namespace PolicyDefinition { interface StaticMember { static: StaticPolicyDefinition; templateLinked?: never; $unknown?: never; } interface TemplateLinkedMember { static?: never; templateLinked: TemplateLinkedPolicyDefinition; $unknown?: never; } interface $UnknownMember { static?: never; templateLinked?: never; $unknown: [string, any]; } interface Visitor { static: (value: StaticPolicyDefinition) => T; templateLinked: (value: TemplateLinkedPolicyDefinition) => T; _: (name: string, value: any) => T; } } export interface CreatePolicyInput { clientToken?: string | undefined; policyStoreId: string | undefined; definition: PolicyDefinition | undefined; name?: string | undefined; } export interface CreatePolicyOutput { policyStoreId: string | undefined; policyId: string | undefined; policyType: PolicyType | undefined; principal?: EntityIdentifier | undefined; resource?: EntityIdentifier | undefined; actions?: ActionIdentifier[] | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; effect?: PolicyEffect | undefined; } export interface Unit {} export interface KmsEncryptionSettings { key: string | undefined; encryptionContext?: Record | undefined; } export type EncryptionSettings = | EncryptionSettings.DefaultMember | EncryptionSettings.KmsEncryptionSettingsMember | EncryptionSettings.$UnknownMember; export declare namespace EncryptionSettings { interface KmsEncryptionSettingsMember { kmsEncryptionSettings: KmsEncryptionSettings; default?: never; $unknown?: never; } interface DefaultMember { kmsEncryptionSettings?: never; default: Unit; $unknown?: never; } interface $UnknownMember { kmsEncryptionSettings?: never; default?: never; $unknown: [string, any]; } interface Visitor { kmsEncryptionSettings: (value: KmsEncryptionSettings) => T; default: (value: Unit) => T; _: (name: string, value: any) => T; } } export interface ValidationSettings { mode: ValidationMode | undefined; } export interface CreatePolicyStoreInput { clientToken?: string | undefined; validationSettings: ValidationSettings | undefined; description?: string | undefined; deletionProtection?: DeletionProtection | undefined; encryptionSettings?: EncryptionSettings | undefined; tags?: Record | undefined; } export interface CreatePolicyStoreOutput { policyStoreId: string | undefined; arn: string | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; } export interface CreatePolicyStoreAliasInput { aliasName: string | undefined; policyStoreId: string | undefined; } export interface CreatePolicyStoreAliasOutput { aliasName: string | undefined; policyStoreId: string | undefined; aliasArn: string | undefined; createdAt: Date | undefined; } export interface CreatePolicyTemplateInput { clientToken?: string | undefined; policyStoreId: string | undefined; description?: string | undefined; statement: string | undefined; name?: string | undefined; } export interface CreatePolicyTemplateOutput { policyStoreId: string | undefined; policyTemplateId: string | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; } export interface DeleteIdentitySourceInput { policyStoreId: string | undefined; identitySourceId: string | undefined; } export interface DeleteIdentitySourceOutput {} export interface DeletePolicyInput { policyStoreId: string | undefined; policyId: string | undefined; } export interface DeletePolicyOutput {} export interface DeletePolicyStoreInput { policyStoreId: string | undefined; } export interface DeletePolicyStoreOutput {} export interface DeletePolicyStoreAliasInput { aliasName: string | undefined; deletionMode?: DeletionMode | undefined; } export interface DeletePolicyStoreAliasOutput {} export interface DeletePolicyTemplateInput { policyStoreId: string | undefined; policyTemplateId: string | undefined; } export interface DeletePolicyTemplateOutput {} export interface KmsEncryptionState { key: string | undefined; encryptionContext: Record | undefined; } export type EncryptionState = | EncryptionState.DefaultMember | EncryptionState.KmsEncryptionStateMember | EncryptionState.$UnknownMember; export declare namespace EncryptionState { interface KmsEncryptionStateMember { kmsEncryptionState: KmsEncryptionState; default?: never; $unknown?: never; } interface DefaultMember { kmsEncryptionState?: never; default: Unit; $unknown?: never; } interface $UnknownMember { kmsEncryptionState?: never; default?: never; $unknown: [string, any]; } interface Visitor { kmsEncryptionState: (value: KmsEncryptionState) => T; default: (value: Unit) => T; _: (name: string, value: any) => T; } } export type EntityReference = | EntityReference.IdentifierMember | EntityReference.UnspecifiedMember | EntityReference.$UnknownMember; export declare namespace EntityReference { interface UnspecifiedMember { unspecified: boolean; identifier?: never; $unknown?: never; } interface IdentifierMember { unspecified?: never; identifier: EntityIdentifier; $unknown?: never; } interface $UnknownMember { unspecified?: never; identifier?: never; $unknown: [string, any]; } interface Visitor { unspecified: (value: boolean) => T; identifier: (value: EntityIdentifier) => T; _: (name: string, value: any) => T; } } export interface GetIdentitySourceInput { policyStoreId: string | undefined; identitySourceId: string | undefined; } export interface IdentitySourceDetails { clientIds?: string[] | undefined; userPoolArn?: string | undefined; discoveryUrl?: string | undefined; openIdIssuer?: OpenIdIssuer | undefined; } export interface GetIdentitySourceOutput { createdDate: Date | undefined; details?: IdentitySourceDetails | undefined; identitySourceId: string | undefined; lastUpdatedDate: Date | undefined; policyStoreId: string | undefined; principalEntityType: string | undefined; configuration?: ConfigurationDetail | undefined; } export interface GetPolicyInput { policyStoreId: string | undefined; policyId: string | undefined; } export interface GetPolicyOutput { policyStoreId: string | undefined; policyId: string | undefined; policyType: PolicyType | undefined; principal?: EntityIdentifier | undefined; resource?: EntityIdentifier | undefined; actions?: ActionIdentifier[] | undefined; definition: PolicyDefinitionDetail | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; effect?: PolicyEffect | undefined; name?: string | undefined; } export interface GetPolicyStoreInput { policyStoreId: string | undefined; tags?: boolean | undefined; } export interface GetPolicyStoreOutput { policyStoreId: string | undefined; arn: string | undefined; validationSettings: ValidationSettings | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; description?: string | undefined; deletionProtection?: DeletionProtection | undefined; encryptionState?: EncryptionState | undefined; cedarVersion?: CedarVersion | undefined; tags?: Record | undefined; } export interface GetPolicyStoreAliasInput { aliasName: string | undefined; } export interface GetPolicyStoreAliasOutput { aliasName: string | undefined; policyStoreId: string | undefined; aliasArn: string | undefined; createdAt: Date | undefined; state: AliasState | undefined; } export interface GetPolicyTemplateInput { policyStoreId: string | undefined; policyTemplateId: string | undefined; } export interface GetPolicyTemplateOutput { policyStoreId: string | undefined; policyTemplateId: string | undefined; description?: string | undefined; statement: string | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; name?: string | undefined; } export interface GetSchemaInput { policyStoreId: string | undefined; } export interface GetSchemaOutput { policyStoreId: string | undefined; schema: string | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; namespaces?: string[] | undefined; } export interface IdentitySourceFilter { principalEntityType?: string | undefined; } export interface ListIdentitySourcesInput { policyStoreId: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; filters?: IdentitySourceFilter[] | undefined; } export interface IdentitySourceItemDetails { clientIds?: string[] | undefined; userPoolArn?: string | undefined; discoveryUrl?: string | undefined; openIdIssuer?: OpenIdIssuer | undefined; } export interface IdentitySourceItem { createdDate: Date | undefined; details?: IdentitySourceItemDetails | undefined; identitySourceId: string | undefined; lastUpdatedDate: Date | undefined; policyStoreId: string | undefined; principalEntityType: string | undefined; configuration?: ConfigurationItem | undefined; } export interface ListIdentitySourcesOutput { nextToken?: string | undefined; identitySources: IdentitySourceItem[] | undefined; } export interface UpdateCognitoGroupConfiguration { groupEntityType: string | undefined; } export interface UpdateCognitoUserPoolConfiguration { userPoolArn: string | undefined; clientIds?: string[] | undefined; groupConfiguration?: UpdateCognitoGroupConfiguration | undefined; } export interface UpdateOpenIdConnectGroupConfiguration { groupClaim: string | undefined; groupEntityType: string | undefined; } export interface UpdateOpenIdConnectAccessTokenConfiguration { principalIdClaim?: string | undefined; audiences?: string[] | undefined; } export interface UpdateOpenIdConnectIdentityTokenConfiguration { principalIdClaim?: string | undefined; clientIds?: string[] | undefined; } export type UpdateOpenIdConnectTokenSelection = | UpdateOpenIdConnectTokenSelection.AccessTokenOnlyMember | UpdateOpenIdConnectTokenSelection.IdentityTokenOnlyMember | UpdateOpenIdConnectTokenSelection.$UnknownMember; export declare namespace UpdateOpenIdConnectTokenSelection { interface AccessTokenOnlyMember { accessTokenOnly: UpdateOpenIdConnectAccessTokenConfiguration; identityTokenOnly?: never; $unknown?: never; } interface IdentityTokenOnlyMember { accessTokenOnly?: never; identityTokenOnly: UpdateOpenIdConnectIdentityTokenConfiguration; $unknown?: never; } interface $UnknownMember { accessTokenOnly?: never; identityTokenOnly?: never; $unknown: [string, any]; } interface Visitor { accessTokenOnly: (value: UpdateOpenIdConnectAccessTokenConfiguration) => T; identityTokenOnly: ( value: UpdateOpenIdConnectIdentityTokenConfiguration ) => T; _: (name: string, value: any) => T; } } export interface UpdateOpenIdConnectConfiguration { issuer: string | undefined; entityIdPrefix?: string | undefined; groupConfiguration?: UpdateOpenIdConnectGroupConfiguration | undefined; tokenSelection: UpdateOpenIdConnectTokenSelection | undefined; } export type UpdateConfiguration = | UpdateConfiguration.CognitoUserPoolConfigurationMember | UpdateConfiguration.OpenIdConnectConfigurationMember | UpdateConfiguration.$UnknownMember; export declare namespace UpdateConfiguration { interface CognitoUserPoolConfigurationMember { cognitoUserPoolConfiguration: UpdateCognitoUserPoolConfiguration; openIdConnectConfiguration?: never; $unknown?: never; } interface OpenIdConnectConfigurationMember { cognitoUserPoolConfiguration?: never; openIdConnectConfiguration: UpdateOpenIdConnectConfiguration; $unknown?: never; } interface $UnknownMember { cognitoUserPoolConfiguration?: never; openIdConnectConfiguration?: never; $unknown: [string, any]; } interface Visitor { cognitoUserPoolConfiguration: ( value: UpdateCognitoUserPoolConfiguration ) => T; openIdConnectConfiguration: (value: UpdateOpenIdConnectConfiguration) => T; _: (name: string, value: any) => T; } } export interface UpdateIdentitySourceInput { policyStoreId: string | undefined; identitySourceId: string | undefined; updateConfiguration: UpdateConfiguration | undefined; principalEntityType?: string | undefined; } export interface UpdateIdentitySourceOutput { createdDate: Date | undefined; identitySourceId: string | undefined; lastUpdatedDate: Date | undefined; policyStoreId: string | undefined; } export interface IsAuthorizedOutput { decision: Decision | undefined; determiningPolicies: DeterminingPolicyItem[] | undefined; errors: EvaluationErrorItem[] | undefined; } export interface IsAuthorizedWithTokenOutput { decision: Decision | undefined; determiningPolicies: DeterminingPolicyItem[] | undefined; errors: EvaluationErrorItem[] | undefined; principal?: EntityIdentifier | undefined; } export interface PolicyFilter { principal?: EntityReference | undefined; resource?: EntityReference | undefined; policyType?: PolicyType | undefined; policyTemplateId?: string | undefined; } export interface ListPoliciesInput { policyStoreId: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; filter?: PolicyFilter | undefined; } export interface StaticPolicyDefinitionItem { description?: string | undefined; } export interface TemplateLinkedPolicyDefinitionItem { policyTemplateId: string | undefined; principal?: EntityIdentifier | undefined; resource?: EntityIdentifier | undefined; } export type PolicyDefinitionItem = | PolicyDefinitionItem.StaticMember | PolicyDefinitionItem.TemplateLinkedMember | PolicyDefinitionItem.$UnknownMember; export declare namespace PolicyDefinitionItem { interface StaticMember { static: StaticPolicyDefinitionItem; templateLinked?: never; $unknown?: never; } interface TemplateLinkedMember { static?: never; templateLinked: TemplateLinkedPolicyDefinitionItem; $unknown?: never; } interface $UnknownMember { static?: never; templateLinked?: never; $unknown: [string, any]; } interface Visitor { static: (value: StaticPolicyDefinitionItem) => T; templateLinked: (value: TemplateLinkedPolicyDefinitionItem) => T; _: (name: string, value: any) => T; } } export interface PolicyItem { policyStoreId: string | undefined; policyId: string | undefined; policyType: PolicyType | undefined; principal?: EntityIdentifier | undefined; resource?: EntityIdentifier | undefined; actions?: ActionIdentifier[] | undefined; definition: PolicyDefinitionItem | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; effect?: PolicyEffect | undefined; name?: string | undefined; } export interface ListPoliciesOutput { nextToken?: string | undefined; policies: PolicyItem[] | undefined; } export interface PolicyStoreAliasFilter { policyStoreId?: string | undefined; } export interface ListPolicyStoreAliasesInput { nextToken?: string | undefined; maxResults?: number | undefined; filter?: PolicyStoreAliasFilter | undefined; } export interface PolicyStoreAliasItem { aliasName: string | undefined; policyStoreId: string | undefined; aliasArn: string | undefined; createdAt: Date | undefined; state: AliasState | undefined; } export interface ListPolicyStoreAliasesOutput { nextToken?: string | undefined; policyStoreAliases: PolicyStoreAliasItem[] | undefined; } export interface ListPolicyStoresInput { nextToken?: string | undefined; maxResults?: number | undefined; } export interface PolicyStoreItem { policyStoreId: string | undefined; arn: string | undefined; createdDate: Date | undefined; lastUpdatedDate?: Date | undefined; description?: string | undefined; } export interface ListPolicyStoresOutput { nextToken?: string | undefined; policyStores: PolicyStoreItem[] | undefined; } export interface ListPolicyTemplatesInput { policyStoreId: string | undefined; nextToken?: string | undefined; maxResults?: number | undefined; } export interface PolicyTemplateItem { policyStoreId: string | undefined; policyTemplateId: string | undefined; description?: string | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; name?: string | undefined; } export interface ListPolicyTemplatesOutput { nextToken?: string | undefined; policyTemplates: PolicyTemplateItem[] | undefined; } export interface ListTagsForResourceInput { resourceArn: string | undefined; } export interface ListTagsForResourceOutput { tags?: Record | undefined; } export interface UpdateStaticPolicyDefinition { description?: string | undefined; statement: string | undefined; } export type UpdatePolicyDefinition = | UpdatePolicyDefinition.StaticMember | UpdatePolicyDefinition.$UnknownMember; export declare namespace UpdatePolicyDefinition { interface StaticMember { static: UpdateStaticPolicyDefinition; $unknown?: never; } interface $UnknownMember { static?: never; $unknown: [string, any]; } interface Visitor { static: (value: UpdateStaticPolicyDefinition) => T; _: (name: string, value: any) => T; } } export interface UpdatePolicyInput { policyStoreId: string | undefined; policyId: string | undefined; definition?: UpdatePolicyDefinition | undefined; name?: string | undefined; } export interface UpdatePolicyOutput { policyStoreId: string | undefined; policyId: string | undefined; policyType: PolicyType | undefined; principal?: EntityIdentifier | undefined; resource?: EntityIdentifier | undefined; actions?: ActionIdentifier[] | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; effect?: PolicyEffect | undefined; } export interface UpdatePolicyTemplateInput { policyStoreId: string | undefined; policyTemplateId: string | undefined; description?: string | undefined; statement: string | undefined; name?: string | undefined; } export interface UpdatePolicyTemplateOutput { policyStoreId: string | undefined; policyTemplateId: string | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; } export type SchemaDefinition = | SchemaDefinition.CedarJsonMember | SchemaDefinition.$UnknownMember; export declare namespace SchemaDefinition { interface CedarJsonMember { cedarJson: string; $unknown?: never; } interface $UnknownMember { cedarJson?: never; $unknown: [string, any]; } interface Visitor { cedarJson: (value: string) => T; _: (name: string, value: any) => T; } } export interface PutSchemaInput { policyStoreId: string | undefined; definition: SchemaDefinition | undefined; } export interface PutSchemaOutput { policyStoreId: string | undefined; namespaces: string[] | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; } export interface UpdatePolicyStoreInput { policyStoreId: string | undefined; validationSettings: ValidationSettings | undefined; deletionProtection?: DeletionProtection | undefined; description?: string | undefined; } export interface UpdatePolicyStoreOutput { policyStoreId: string | undefined; arn: string | undefined; createdDate: Date | undefined; lastUpdatedDate: Date | undefined; } export interface TagResourceInput { resourceArn: string | undefined; tags: Record | undefined; } export interface TagResourceOutput {} export interface UntagResourceInput { resourceArn: string | undefined; tagKeys: string[] | undefined; } export interface UntagResourceOutput {} export type AttributeValue = | AttributeValue.BooleanMember | AttributeValue.DatetimeMember | AttributeValue.DecimalMember | AttributeValue.DurationMember | AttributeValue.EntityIdentifierMember | AttributeValue.IpaddrMember | AttributeValue.LongMember | AttributeValue.RecordMember | AttributeValue.SetMember | AttributeValue.StringMember | AttributeValue.$UnknownMember; export declare namespace AttributeValue { interface BooleanMember { boolean: boolean; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface EntityIdentifierMember { boolean?: never; entityIdentifier: EntityIdentifier; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface LongMember { boolean?: never; entityIdentifier?: never; long: number; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface StringMember { boolean?: never; entityIdentifier?: never; long?: never; string: string; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface SetMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set: AttributeValue[]; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface RecordMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record: Record; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface IpaddrMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr: string; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface DecimalMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal: string; datetime?: never; duration?: never; $unknown?: never; } interface DatetimeMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime: string; duration?: never; $unknown?: never; } interface DurationMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration: string; $unknown?: never; } interface $UnknownMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown: [string, any]; } interface Visitor { boolean: (value: boolean) => T; entityIdentifier: (value: EntityIdentifier) => T; long: (value: number) => T; string: (value: string) => T; set: (value: AttributeValue[]) => T; record: (value: Record) => T; ipaddr: (value: string) => T; decimal: (value: string) => T; datetime: (value: string) => T; duration: (value: string) => T; _: (name: string, value: any) => T; } } export type CedarTagValue = | CedarTagValue.BooleanMember | CedarTagValue.DatetimeMember | CedarTagValue.DecimalMember | CedarTagValue.DurationMember | CedarTagValue.EntityIdentifierMember | CedarTagValue.IpaddrMember | CedarTagValue.LongMember | CedarTagValue.RecordMember | CedarTagValue.SetMember | CedarTagValue.StringMember | CedarTagValue.$UnknownMember; export declare namespace CedarTagValue { interface BooleanMember { boolean: boolean; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface EntityIdentifierMember { boolean?: never; entityIdentifier: EntityIdentifier; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface LongMember { boolean?: never; entityIdentifier?: never; long: number; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface StringMember { boolean?: never; entityIdentifier?: never; long?: never; string: string; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface SetMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set: CedarTagValue[]; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface RecordMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record: Record; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface IpaddrMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr: string; decimal?: never; datetime?: never; duration?: never; $unknown?: never; } interface DecimalMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal: string; datetime?: never; duration?: never; $unknown?: never; } interface DatetimeMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime: string; duration?: never; $unknown?: never; } interface DurationMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration: string; $unknown?: never; } interface $UnknownMember { boolean?: never; entityIdentifier?: never; long?: never; string?: never; set?: never; record?: never; ipaddr?: never; decimal?: never; datetime?: never; duration?: never; $unknown: [string, any]; } interface Visitor { boolean: (value: boolean) => T; entityIdentifier: (value: EntityIdentifier) => T; long: (value: number) => T; string: (value: string) => T; set: (value: CedarTagValue[]) => T; record: (value: Record) => T; ipaddr: (value: string) => T; decimal: (value: string) => T; datetime: (value: string) => T; duration: (value: string) => T; _: (name: string, value: any) => T; } } export type ContextDefinition = | ContextDefinition.CedarJsonMember | ContextDefinition.ContextMapMember | ContextDefinition.$UnknownMember; export declare namespace ContextDefinition { interface ContextMapMember { contextMap: Record; cedarJson?: never; $unknown?: never; } interface CedarJsonMember { contextMap?: never; cedarJson: string; $unknown?: never; } interface $UnknownMember { contextMap?: never; cedarJson?: never; $unknown: [string, any]; } interface Visitor { contextMap: (value: Record) => T; cedarJson: (value: string) => T; _: (name: string, value: any) => T; } } export interface BatchIsAuthorizedInputItem { principal?: EntityIdentifier | undefined; action?: ActionIdentifier | undefined; resource?: EntityIdentifier | undefined; context?: ContextDefinition | undefined; } export interface BatchIsAuthorizedWithTokenInputItem { action?: ActionIdentifier | undefined; resource?: EntityIdentifier | undefined; context?: ContextDefinition | undefined; } export interface BatchIsAuthorizedOutputItem { request: BatchIsAuthorizedInputItem | undefined; decision: Decision | undefined; determiningPolicies: DeterminingPolicyItem[] | undefined; errors: EvaluationErrorItem[] | undefined; } export interface BatchIsAuthorizedWithTokenOutputItem { request: BatchIsAuthorizedWithTokenInputItem | undefined; decision: Decision | undefined; determiningPolicies: DeterminingPolicyItem[] | undefined; errors: EvaluationErrorItem[] | undefined; } export interface BatchIsAuthorizedOutput { results: BatchIsAuthorizedOutputItem[] | undefined; } export interface BatchIsAuthorizedWithTokenOutput { principal?: EntityIdentifier | undefined; results: BatchIsAuthorizedWithTokenOutputItem[] | undefined; } export interface EntityItem { identifier: EntityIdentifier | undefined; attributes?: Record | undefined; parents?: EntityIdentifier[] | undefined; tags?: Record | undefined; } export type EntitiesDefinition = | EntitiesDefinition.CedarJsonMember | EntitiesDefinition.EntityListMember | EntitiesDefinition.$UnknownMember; export declare namespace EntitiesDefinition { interface EntityListMember { entityList: EntityItem[]; cedarJson?: never; $unknown?: never; } interface CedarJsonMember { entityList?: never; cedarJson: string; $unknown?: never; } interface $UnknownMember { entityList?: never; cedarJson?: never; $unknown: [string, any]; } interface Visitor { entityList: (value: EntityItem[]) => T; cedarJson: (value: string) => T; _: (name: string, value: any) => T; } } export interface IsAuthorizedInput { policyStoreId: string | undefined; principal?: EntityIdentifier | undefined; action?: ActionIdentifier | undefined; resource?: EntityIdentifier | undefined; context?: ContextDefinition | undefined; entities?: EntitiesDefinition | undefined; } export interface IsAuthorizedWithTokenInput { policyStoreId: string | undefined; identityToken?: string | undefined; accessToken?: string | undefined; action?: ActionIdentifier | undefined; resource?: EntityIdentifier | undefined; context?: ContextDefinition | undefined; entities?: EntitiesDefinition | undefined; } export interface BatchIsAuthorizedInput { policyStoreId: string | undefined; entities?: EntitiesDefinition | undefined; requests: BatchIsAuthorizedInputItem[] | undefined; } export interface BatchIsAuthorizedWithTokenInput { policyStoreId: string | undefined; identityToken?: string | undefined; accessToken?: string | undefined; entities?: EntitiesDefinition | undefined; requests: BatchIsAuthorizedWithTokenInputItem[] | undefined; }