{"note":"OpenAPI conversion -- returning structured metadata","name":"amazonaws-com-sso-admin","description":"AWS Single Sign-On Admin","version":"2020-07-20","base_url":"","endpoints":73,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api AWS Single Sign-On Admin\n@version 2020-07-20\n@auth AWS SigV4\n@endpoints 73\n@hint download_for_search\n@toc root(73)\n\n@endpoint POST /\n@desc Attaches the specified customer managed policy to the specified PermissionSet.\n@required {CustomerManagedPolicyReference: CustomerManagedPolicyReference, InstanceArn: str, PermissionSetArn: str}\n\n@endpoint POST /\n@desc Attaches an Amazon Web Services managed policy ARN to a permission set.  If the permission set is already referenced by one or more account assignments, you will need to call  ProvisionPermissionSet  after this operation. Calling ProvisionPermissionSet applies the corresponding IAM policy updates to all assigned accounts.\n@required {InstanceArn: str, ManagedPolicyArn: str, PermissionSetArn: str}\n\n@endpoint POST /\n@desc Assigns access to a principal for a specified Amazon Web Services account using a specified permission set.  The term principal here refers to a user or group that is defined in IAM Identity Center.   As part of a successful CreateAccountAssignment call, the specified permission set will automatically be provisioned to the account in the form of an IAM policy. That policy is attached to the IAM role created in IAM Identity Center. If the permission set is subsequently updated, the corresponding IAM policies attached to roles in your accounts will not be updated automatically. In this case, you must call  ProvisionPermissionSet  to make these updates.    After a successful response, call DescribeAccountAssignmentCreationStatus to describe the status of an assignment creation request.\n@required {InstanceArn: str, PermissionSetArn: str, PrincipalId: str, PrincipalType: str, TargetId: str, TargetType: str}\n@returns(200) {AccountAssignmentCreationStatus: AccountAssignmentOperationStatus?{CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, PrincipalId: str?, PrincipalType: str?, RequestId: str?, Status: str?, TargetId: str?, TargetType: str?}}\n\n@endpoint POST /\n@desc Creates an application in IAM Identity Center for the given application provider.\n@required {ApplicationProviderArn: str, InstanceArn: str, Name: str}\n@optional {ClientToken: str, Description: str, PortalOptions: PortalOptions, Status: str, Tags: [Tag]}\n@returns(200) {ApplicationArn: str?}\n\n@endpoint POST /\n@desc Grant application access to a user or group.\n@required {ApplicationArn: str, PrincipalId: str, PrincipalType: str}\n\n@endpoint POST /\n@desc Creates an instance of IAM Identity Center for a standalone Amazon Web Services account that is not managed by Organizations or a member Amazon Web Services account in an organization. You can create only one instance per account and across all Amazon Web Services Regions. The CreateInstance request is rejected if the following apply:    The instance is created within the organization management account.   An instance already exists in the same account.\n@optional {ClientToken: str, Name: str, Tags: [Tag]}\n@returns(200) {InstanceArn: str?}\n\n@endpoint POST /\n@desc Enables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance. You can also specify new attributes to add to your ABAC configuration during the enabling process. For more information about ABAC, see Attribute-Based Access Control in the IAM Identity Center User Guide.  After a successful response, call DescribeInstanceAccessControlAttributeConfiguration to validate that InstanceAccessControlAttributeConfiguration was created.\n@required {InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration, InstanceArn: str}\n\n@endpoint POST /\n@desc Creates a permission set within a specified IAM Identity Center instance.  To grant users and groups access to Amazon Web Services account resources, use  CreateAccountAssignment .\n@required {InstanceArn: str, Name: str}\n@optional {Description: str, RelayState: str, SessionDuration: str, Tags: [Tag]}\n@returns(200) {PermissionSet: PermissionSet?{CreatedDate: str(timestamp)?, Description: str?, Name: str?, PermissionSetArn: str?, RelayState: str?, SessionDuration: str?}}\n\n@endpoint POST /\n@desc Creates a connection to a trusted token issuer in an instance of IAM Identity Center. A trusted token issuer enables trusted identity propagation to be used with applications that authenticate outside of Amazon Web Services. This trusted token issuer describes an external identity provider (IdP) that can generate claims or assertions in the form of access tokens for a user. Applications enabled for IAM Identity Center can use these tokens for authentication.\n@required {InstanceArn: str, Name: str, TrustedTokenIssuerConfiguration: TrustedTokenIssuerConfiguration, TrustedTokenIssuerType: str}\n@optional {ClientToken: str, Tags: [Tag]}\n@returns(200) {TrustedTokenIssuerArn: str?}\n\n@endpoint POST /\n@desc Deletes a principal's access from a specified Amazon Web Services account using a specified permission set.  After a successful response, call DescribeAccountAssignmentDeletionStatus to describe the status of an assignment deletion request.\n@required {InstanceArn: str, PermissionSetArn: str, PrincipalId: str, PrincipalType: str, TargetId: str, TargetType: str}\n@returns(200) {AccountAssignmentDeletionStatus: AccountAssignmentOperationStatus?{CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, PrincipalId: str?, PrincipalType: str?, RequestId: str?, Status: str?, TargetId: str?, TargetType: str?}}\n\n@endpoint POST /\n@desc Deletes the association with the application. The connected service resource still exists.\n@required {ApplicationArn: str}\n\n@endpoint POST /\n@desc Deletes an IAM Identity Center access scope from an application.\n@required {ApplicationArn: str, Scope: str}\n\n@endpoint POST /\n@desc Revoke application access to an application by deleting application assignments for a user or group.\n@required {ApplicationArn: str, PrincipalId: str, PrincipalType: str}\n\n@endpoint POST /\n@desc Deletes an authentication method from an application.\n@required {ApplicationArn: str, AuthenticationMethodType: str}\n\n@endpoint POST /\n@desc Deletes a grant from an application.\n@required {ApplicationArn: str, GrantType: str}\n\n@endpoint POST /\n@desc Deletes the inline policy from a specified permission set.\n@required {InstanceArn: str, PermissionSetArn: str}\n\n@endpoint POST /\n@desc Deletes the instance of IAM Identity Center. Only the account that owns the instance can call this API. Neither the delegated administrator nor member account can delete the organization instance, but those roles can delete their own instance.\n@required {InstanceArn: str}\n\n@endpoint POST /\n@desc Disables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance and deletes all of the attribute mappings that have been configured. Once deleted, any attributes that are received from an identity source and any custom attributes you have previously configured will not be passed. For more information about ABAC, see Attribute-Based Access Control in the IAM Identity Center User Guide.\n@required {InstanceArn: str}\n\n@endpoint POST /\n@desc Deletes the specified permission set.\n@required {InstanceArn: str, PermissionSetArn: str}\n\n@endpoint POST /\n@desc Deletes the permissions boundary from a specified PermissionSet.\n@required {InstanceArn: str, PermissionSetArn: str}\n\n@endpoint POST /\n@desc Deletes a trusted token issuer configuration from an instance of IAM Identity Center.  Deleting this trusted token issuer configuration will cause users to lose access to any applications that are configured to use the trusted token issuer.\n@required {TrustedTokenIssuerArn: str}\n\n@endpoint POST /\n@desc Describes the status of the assignment creation request.\n@required {AccountAssignmentCreationRequestId: str, InstanceArn: str}\n@returns(200) {AccountAssignmentCreationStatus: AccountAssignmentOperationStatus?{CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, PrincipalId: str?, PrincipalType: str?, RequestId: str?, Status: str?, TargetId: str?, TargetType: str?}}\n\n@endpoint POST /\n@desc Describes the status of the assignment deletion request.\n@required {AccountAssignmentDeletionRequestId: str, InstanceArn: str}\n@returns(200) {AccountAssignmentDeletionStatus: AccountAssignmentOperationStatus?{CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, PrincipalId: str?, PrincipalType: str?, RequestId: str?, Status: str?, TargetId: str?, TargetType: str?}}\n\n@endpoint POST /\n@desc Retrieves the details of an application associated with an instance of IAM Identity Center.\n@required {ApplicationArn: str}\n@returns(200) {ApplicationAccount: str?, ApplicationArn: str?, ApplicationProviderArn: str?, CreatedDate: str(timestamp)?, Description: str?, InstanceArn: str?, Name: str?, PortalOptions: PortalOptions?{SignInOptions: SignInOptions?{ApplicationUrl: str?, Origin: str}, Visibility: str?}, Status: str?}\n\n@endpoint POST /\n@desc Retrieves a direct assignment of a user or group to an application. If the user doesn’t have a direct assignment to the application, the user may still have access to the application through a group. Therefore, don’t use this API to test access to an application for a user. Instead use ListApplicationAssignmentsForPrincipal.\n@required {ApplicationArn: str, PrincipalId: str, PrincipalType: str}\n@returns(200) {ApplicationArn: str?, PrincipalId: str?, PrincipalType: str?}\n\n@endpoint POST /\n@desc Retrieves details about a provider that can be used to connect an Amazon Web Services managed application or customer managed application to IAM Identity Center.\n@required {ApplicationProviderArn: str}\n@returns(200) {ApplicationProviderArn: str, DisplayData: DisplayData?{Description: str?, DisplayName: str?, IconUrl: str?}, FederationProtocol: str?, ResourceServerConfig: ResourceServerConfig?{Scopes: map<str,ResourceServerScopeDetails>?}}\n\n@endpoint POST /\n@desc Returns the details of an instance of IAM Identity Center. The status can be one of the following:    CREATE_IN_PROGRESS - The instance is in the process of being created. When the instance is ready for use, DescribeInstance returns the status of ACTIVE. While the instance is in the CREATE_IN_PROGRESS state, you can call only DescribeInstance and DeleteInstance operations.    DELETE_IN_PROGRESS - The instance is being deleted. Returns AccessDeniedException after the delete operation completes.     ACTIVE - The instance is active.\n@required {InstanceArn: str}\n@returns(200) {CreatedDate: str(timestamp)?, IdentityStoreId: str?, InstanceArn: str?, Name: str?, OwnerAccountId: str?, Status: str?}\n\n@endpoint POST /\n@desc Returns the list of IAM Identity Center identity store attributes that have been configured to work with attributes-based access control (ABAC) for the specified IAM Identity Center instance. This will not return attributes configured and sent by an external identity provider. For more information about ABAC, see Attribute-Based Access Control in the IAM Identity Center User Guide.\n@required {InstanceArn: str}\n@returns(200) {InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration?{AccessControlAttributes: [AccessControlAttribute]}, Status: str?, StatusReason: str?}\n\n@endpoint POST /\n@desc Gets the details of the permission set.\n@required {InstanceArn: str, PermissionSetArn: str}\n@returns(200) {PermissionSet: PermissionSet?{CreatedDate: str(timestamp)?, Description: str?, Name: str?, PermissionSetArn: str?, RelayState: str?, SessionDuration: str?}}\n\n@endpoint POST /\n@desc Describes the status for the given permission set provisioning request.\n@required {InstanceArn: str, ProvisionPermissionSetRequestId: str}\n@returns(200) {PermissionSetProvisioningStatus: PermissionSetProvisioningStatus?{AccountId: str?, CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, RequestId: str?, Status: str?}}\n\n@endpoint POST /\n@desc Retrieves details about a trusted token issuer configuration stored in an instance of IAM Identity Center. Details include the name of the trusted token issuer, the issuer URL, and the path of the source attribute and the destination attribute for a trusted token issuer configuration.\n@required {TrustedTokenIssuerArn: str}\n@returns(200) {Name: str?, TrustedTokenIssuerArn: str?, TrustedTokenIssuerConfiguration: TrustedTokenIssuerConfiguration?{OidcJwtConfiguration: OidcJwtConfiguration?{ClaimAttributePath: str, IdentityStoreAttributePath: str, IssuerUrl: str, JwksRetrievalOption: str}}, TrustedTokenIssuerType: str?}\n\n@endpoint POST /\n@desc Detaches the specified customer managed policy from the specified PermissionSet.\n@required {CustomerManagedPolicyReference: CustomerManagedPolicyReference, InstanceArn: str, PermissionSetArn: str}\n\n@endpoint POST /\n@desc Detaches the attached Amazon Web Services managed policy ARN from the specified permission set.\n@required {InstanceArn: str, ManagedPolicyArn: str, PermissionSetArn: str}\n\n@endpoint POST /\n@desc Retrieves the authorized targets for an IAM Identity Center access scope for an application.\n@required {ApplicationArn: str, Scope: str}\n@returns(200) {AuthorizedTargets: [str]?, Scope: str}\n\n@endpoint POST /\n@desc Retrieves the configuration of PutApplicationAssignmentConfiguration.\n@required {ApplicationArn: str}\n@returns(200) {AssignmentRequired: bool}\n\n@endpoint POST /\n@desc Retrieves details about an authentication method used by an application.\n@required {ApplicationArn: str, AuthenticationMethodType: str}\n@returns(200) {AuthenticationMethod: AuthenticationMethod?{Iam: IamAuthenticationMethod?{ActorPolicy: ActorPolicyDocument}}}\n\n@endpoint POST /\n@desc Retrieves details about an application grant.\n@required {ApplicationArn: str, GrantType: str}\n@returns(200) {Grant: Grant{AuthorizationCode: AuthorizationCodeGrant?{RedirectUris: [str]?}, JwtBearer: JwtBearerGrant?{AuthorizedTokenIssuers: [AuthorizedTokenIssuer]?}, RefreshToken: RefreshTokenGrant?, TokenExchange: TokenExchangeGrant?}}\n\n@endpoint POST /\n@desc Obtains the inline policy assigned to the permission set.\n@required {InstanceArn: str, PermissionSetArn: str}\n@returns(200) {InlinePolicy: str?}\n\n@endpoint POST /\n@desc Obtains the permissions boundary for a specified PermissionSet.\n@required {InstanceArn: str, PermissionSetArn: str}\n@returns(200) {PermissionsBoundary: PermissionsBoundary?{CustomerManagedPolicyReference: CustomerManagedPolicyReference?{Name: str, Path: str?}, ManagedPolicyArn: str?}}\n\n@endpoint POST /\n@desc Lists the status of the Amazon Web Services account assignment creation requests for a specified IAM Identity Center instance.\n@required {InstanceArn: str}\n@optional {Filter: OperationStatusFilter, MaxResults: int, NextToken: str}\n@returns(200) {AccountAssignmentsCreationStatus: [AccountAssignmentOperationStatusMetadata]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the status of the Amazon Web Services account assignment deletion requests for a specified IAM Identity Center instance.\n@required {InstanceArn: str}\n@optional {Filter: OperationStatusFilter, MaxResults: int, NextToken: str}\n@returns(200) {AccountAssignmentsDeletionStatus: [AccountAssignmentOperationStatusMetadata]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the assignee of the specified Amazon Web Services account with the specified permission set.\n@required {AccountId: str, InstanceArn: str, PermissionSetArn: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {AccountAssignments: [AccountAssignment]?, NextToken: str?}\n\n@endpoint POST /\n@desc Retrieves a list of the IAM Identity Center associated Amazon Web Services accounts that the principal has access to.\n@required {InstanceArn: str, PrincipalId: str, PrincipalType: str}\n@optional {Filter: ListAccountAssignmentsFilter, MaxResults: int, NextToken: str}\n@returns(200) {AccountAssignments: [AccountAssignmentForPrincipal]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists all the Amazon Web Services accounts where the specified permission set is provisioned.\n@required {InstanceArn: str, PermissionSetArn: str}\n@optional {MaxResults: int, NextToken: str, ProvisioningStatus: str}\n@returns(200) {AccountIds: [str]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the access scopes and authorized targets associated with an application.\n@required {ApplicationArn: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {NextToken: str?, Scopes: [ScopeDetails]}\n\n@endpoint POST /\n@desc Lists Amazon Web Services account users that are assigned to an application.\n@required {ApplicationArn: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {ApplicationAssignments: [ApplicationAssignment]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the applications to which a specified principal is assigned.\n@required {InstanceArn: str, PrincipalId: str, PrincipalType: str}\n@optional {Filter: ListApplicationAssignmentsFilter, MaxResults: int, NextToken: str}\n@returns(200) {ApplicationAssignments: [ApplicationAssignmentForPrincipal]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists all of the authentication methods supported by the specified application.\n@required {ApplicationArn: str}\n@optional {NextToken: str}\n@returns(200) {AuthenticationMethods: [AuthenticationMethodItem]?, NextToken: str?}\n\n@endpoint POST /\n@desc List the grants associated with an application.\n@required {ApplicationArn: str}\n@optional {NextToken: str}\n@returns(200) {Grants: [GrantItem], NextToken: str?}\n\n@endpoint POST /\n@desc Lists the application providers configured in the IAM Identity Center identity store.\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {ApplicationProviders: [ApplicationProvider]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists all applications associated with the instance of IAM Identity Center. When listing applications for an instance in the management account, member accounts must use the applicationAccount parameter to filter the list to only applications created from that account.\n@required {InstanceArn: str}\n@optional {Filter: ListApplicationsFilter, MaxResults: int, NextToken: str}\n@returns(200) {Applications: [Application]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists all customer managed policies attached to a specified PermissionSet.\n@required {InstanceArn: str, PermissionSetArn: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {CustomerManagedPolicyReferences: [CustomerManagedPolicyReference]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the details of the organization and account instances of IAM Identity Center that were created in or visible to the account calling this API.\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {Instances: [InstanceMetadata]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the Amazon Web Services managed policy that is attached to a specified permission set.\n@required {InstanceArn: str, PermissionSetArn: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {AttachedManagedPolicies: [AttachedManagedPolicy]?, NextToken: str?}\n\n@endpoint POST /\n@desc Lists the status of the permission set provisioning requests for a specified IAM Identity Center instance.\n@required {InstanceArn: str}\n@optional {Filter: OperationStatusFilter, MaxResults: int, NextToken: str}\n@returns(200) {NextToken: str?, PermissionSetsProvisioningStatus: [PermissionSetProvisioningStatusMetadata]?}\n\n@endpoint POST /\n@desc Lists the PermissionSets in an IAM Identity Center instance.\n@required {InstanceArn: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {NextToken: str?, PermissionSets: [str]?}\n\n@endpoint POST /\n@desc Lists all the permission sets that are provisioned to a specified Amazon Web Services account.\n@required {AccountId: str, InstanceArn: str}\n@optional {MaxResults: int, NextToken: str, ProvisioningStatus: str}\n@returns(200) {NextToken: str?, PermissionSets: [str]?}\n\n@endpoint POST /\n@desc Lists the tags that are attached to a specified resource.\n@required {ResourceArn: str}\n@optional {InstanceArn: str, NextToken: str}\n@returns(200) {NextToken: str?, Tags: [Tag]?}\n\n@endpoint POST /\n@desc Lists all the trusted token issuers configured in an instance of IAM Identity Center.\n@required {InstanceArn: str}\n@optional {MaxResults: int, NextToken: str}\n@returns(200) {NextToken: str?, TrustedTokenIssuers: [TrustedTokenIssuerMetadata]?}\n\n@endpoint POST /\n@desc The process by which a specified permission set is provisioned to the specified target.\n@required {InstanceArn: str, PermissionSetArn: str, TargetType: str}\n@optional {TargetId: str}\n@returns(200) {PermissionSetProvisioningStatus: PermissionSetProvisioningStatus?{AccountId: str?, CreatedDate: str(timestamp)?, FailureReason: str?, PermissionSetArn: str?, RequestId: str?, Status: str?}}\n\n@endpoint POST /\n@desc Adds or updates the list of authorized targets for an IAM Identity Center access scope for an application.\n@required {ApplicationArn: str, Scope: str}\n@optional {AuthorizedTargets: [str]}\n\n@endpoint POST /\n@desc Configure how users gain access to an application. If AssignmentsRequired is true (default value), users don’t have access to the application unless an assignment is created using the CreateApplicationAssignment API. If false, all users have access to the application. If an assignment is created using CreateApplicationAssignment., the user retains access if AssignmentsRequired is set to true.\n@required {ApplicationArn: str, AssignmentRequired: bool}\n\n@endpoint POST /\n@desc Adds or updates an authentication method for an application.\n@required {ApplicationArn: str, AuthenticationMethod: AuthenticationMethod, AuthenticationMethodType: str}\n\n@endpoint POST /\n@desc Adds a grant to an application.\n@required {ApplicationArn: str, Grant: Grant, GrantType: str}\n\n@endpoint POST /\n@desc Attaches an inline policy to a permission set.  If the permission set is already referenced by one or more account assignments, you will need to call  ProvisionPermissionSet  after this action to apply the corresponding IAM policy updates to all assigned accounts.\n@required {InlinePolicy: str, InstanceArn: str, PermissionSetArn: str}\n\n@endpoint POST /\n@desc Attaches an Amazon Web Services managed or customer managed policy to the specified PermissionSet as a permissions boundary.\n@required {InstanceArn: str, PermissionSetArn: str, PermissionsBoundary: PermissionsBoundary}\n\n@endpoint POST /\n@desc Associates a set of tags with a specified resource.\n@required {ResourceArn: str, Tags: [Tag]}\n@optional {InstanceArn: str}\n\n@endpoint POST /\n@desc Disassociates a set of tags from a specified resource.\n@required {ResourceArn: str, TagKeys: [str]}\n@optional {InstanceArn: str}\n\n@endpoint POST /\n@desc Updates application properties.\n@required {ApplicationArn: str}\n@optional {Description: str, Name: str, PortalOptions: UpdateApplicationPortalOptions, Status: str}\n\n@endpoint POST /\n@desc Update the details for the instance of IAM Identity Center that is owned by the Amazon Web Services account.\n@required {InstanceArn: str, Name: str}\n\n@endpoint POST /\n@desc Updates the IAM Identity Center identity store attributes that you can use with the IAM Identity Center instance for attributes-based access control (ABAC). When using an external identity provider as an identity source, you can pass attributes through the SAML assertion as an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center replaces the attribute value with the value from the IAM Identity Center identity store. For more information about ABAC, see Attribute-Based Access Control in the IAM Identity Center User Guide.\n@required {InstanceAccessControlAttributeConfiguration: InstanceAccessControlAttributeConfiguration, InstanceArn: str}\n\n@endpoint POST /\n@desc Updates an existing permission set.\n@required {InstanceArn: str, PermissionSetArn: str}\n@optional {Description: str, RelayState: str, SessionDuration: str}\n\n@endpoint POST /\n@desc Updates the name of the trusted token issuer, or the path of a source attribute or destination attribute for a trusted token issuer configuration.  Updating this trusted token issuer configuration might cause users to lose access to any applications that are configured to use the trusted token issuer.\n@required {TrustedTokenIssuerArn: str}\n@optional {Name: str, TrustedTokenIssuerConfiguration: TrustedTokenIssuerUpdateConfiguration}\n\n@end\n"}