• InfluxDB.Client API
Show / Hide Table of Contents
  • InfluxDB.Client
    • AuthorizationsApi
    • BucketsApi
    • ChecksApi
    • DeleteApi
    • IAuthorizationsApi
    • IBucketsApi
    • IChecksApi
    • IDeleteApi
    • IDomainObjectMapper
    • IInfluxDBClient
    • IInvokableScriptsApi
    • ILabelsApi
    • InfluxDBClient
    • InfluxDBClientFactory
    • InfluxDBClientOptions
    • InfluxDBClientOptions.AuthenticationScheme
    • InfluxDBClientOptions.Builder
    • INotificationEndpointsApi
    • INotificationRulesApi
    • InvokableScriptsApi
    • IOrganizationsApi
    • IQueryApi
    • IQueryApiSync
    • IScraperTargetsApi
    • ISourcesApi
    • ITasksApi
    • ITelegrafsApi
    • IUsersApi
    • IWriteApi
    • IWriteApiAsync
    • LabelsApi
    • NotificationEndpointsApi
    • NotificationRulesApi
    • OrganizationsApi
    • QueryApi
    • QueryApiSync
    • ScraperTargetsApi
    • SourcesApi
    • TasksApi
    • TelegrafsApi
    • UsersApi
    • WriteApi
    • WriteApiAsync
    • WriteOptions
    • WriteOptions.Builder
  • InfluxDB.Client.Api.Domain
    • AddResourceMemberRequestBody
    • AnalyzeQueryResponse
    • AnalyzeQueryResponseErrors
    • ArrayExpression
    • ArrayExpression.ArrayExpressionElementsAdapter
    • ASTResponse
    • Authorization
    • AuthorizationLinks
    • AuthorizationPostRequest
    • Authorizations
    • AuthorizationUpdateRequest
    • AuthorizationUpdateRequest.StatusEnum
    • Axes
    • Axis
    • Axis.BaseEnum
    • AxisScale
    • BadStatement
    • BandViewProperties
    • BandViewProperties.HoverDimensionEnum
    • BandViewProperties.ShapeEnum
    • BandViewProperties.TypeEnum
    • BinaryExpression
    • BinaryExpression.BinaryExpressionLeftAdapter
    • BinaryExpression.BinaryExpressionRightAdapter
    • Block
    • Block.BlockBodyAdapter
    • BooleanLiteral
    • Bucket
    • Bucket.TypeEnum
    • BucketLinks
    • BucketMetadataManifest
    • BucketRetentionRules
    • BucketRetentionRules.TypeEnum
    • Buckets
    • BucketShardMapping
    • BuilderAggregateFunctionType
    • BuilderConfig
    • BuilderConfigAggregateWindow
    • BuilderFunctionsType
    • BuilderTagsType
    • BuiltinStatement
    • CallExpression
    • CallExpression.CallExpressionArgumentsAdapter
    • CallExpression.CallExpressionCalleeAdapter
    • Cell
    • CellLinks
    • CellUpdate
    • CellWithViewProperties
    • Check
    • CheckBase
    • CheckBase.LastRunStatusEnum
    • CheckBaseLinks
    • CheckDiscriminator
    • CheckPatch
    • CheckPatch.StatusEnum
    • Checks
    • CheckStatusLevel
    • CheckViewProperties
    • CheckViewProperties.ShapeEnum
    • CheckViewProperties.TypeEnum
    • ConditionalExpression
    • ConditionalExpression.ConditionalExpressionAlternateAdapter
    • ConditionalExpression.ConditionalExpressionConsequentAdapter
    • ConditionalExpression.ConditionalExpressionTestAdapter
    • Config
    • ConstantVariableProperties
    • ConstantVariableProperties.TypeEnum
    • CreateCell
    • CreateDashboardRequest
    • CustomCheck
    • CustomCheck.TypeEnum
    • Dashboard
    • DashboardColor
    • DashboardColor.TypeEnum
    • DashboardLinks
    • DashboardMeta
    • DashboardQuery
    • Dashboards
    • DashboardWithViewProperties
    • DateTimeLiteral
    • DBRP
    • DBRPCreate
    • DBRPGet
    • DBRPs
    • DBRPUpdate
    • DeadmanCheck
    • DeadmanCheck.TypeEnum
    • DecimalPlaces
    • DeletePredicateRequest
    • Dialect
    • Dialect.AnnotationsEnum
    • Dialect.DateTimeFormatEnum
    • DictExpression
    • DictItem
    • DictItem.DictItemKeyAdapter
    • DictItem.DictItemValAdapter
    • Duration
    • DurationLiteral
    • Error
    • Error.CodeEnum
    • Expression
    • ExpressionStatement
    • ExpressionStatement.ExpressionStatementExpressionAdapter
    • Field
    • Field.TypeEnum
    • File
    • File.FileBodyAdapter
    • FloatLiteral
    • FluxResponse
    • FluxSuggestion
    • FluxSuggestions
    • FunctionExpression
    • FunctionExpression.FunctionExpressionBodyAdapter
    • GaugeViewProperties
    • GaugeViewProperties.ShapeEnum
    • GaugeViewProperties.TypeEnum
    • GreaterThreshold
    • GreaterThreshold.TypeEnum
    • HealthCheck
    • HealthCheck.StatusEnum
    • HeatmapViewProperties
    • HeatmapViewProperties.ShapeEnum
    • HeatmapViewProperties.TypeEnum
    • HistogramViewProperties
    • HistogramViewProperties.PositionEnum
    • HistogramViewProperties.ShapeEnum
    • HistogramViewProperties.TypeEnum
    • HTTPNotificationEndpoint
    • HTTPNotificationEndpoint.AuthMethodEnum
    • HTTPNotificationEndpoint.MethodEnum
    • HTTPNotificationRule
    • HTTPNotificationRuleBase
    • HTTPNotificationRuleBase.TypeEnum
    • Identifier
    • ImportDeclaration
    • IndexExpression
    • IndexExpression.IndexExpressionArrayAdapter
    • IndexExpression.IndexExpressionIndexAdapter
    • IntegerLiteral
    • IsOnboarding
    • Label
    • LabelCreateRequest
    • LabelMapping
    • LabelResponse
    • LabelsResponse
    • LabelUpdate
    • LanguageRequest
    • LegacyAuthorizationPostRequest
    • LesserThreshold
    • LesserThreshold.TypeEnum
    • LinePlusSingleStatProperties
    • LinePlusSingleStatProperties.HoverDimensionEnum
    • LinePlusSingleStatProperties.PositionEnum
    • LinePlusSingleStatProperties.ShapeEnum
    • LinePlusSingleStatProperties.TypeEnum
    • LineProtocolError
    • LineProtocolError.CodeEnum
    • LineProtocolLengthError
    • LineProtocolLengthError.CodeEnum
    • Links
    • ListStacksResponse
    • LogEvent
    • LogicalExpression
    • LogicalExpression.LogicalExpressionLeftAdapter
    • LogicalExpression.LogicalExpressionRightAdapter
    • Logs
    • MapVariableProperties
    • MapVariableProperties.TypeEnum
    • MarkdownViewProperties
    • MarkdownViewProperties.ShapeEnum
    • MarkdownViewProperties.TypeEnum
    • MemberAssignment
    • MemberAssignment.MemberAssignmentInitAdapter
    • MemberExpression
    • MemberExpression.MemberExpressionObjectAdapter
    • MemberExpression.MemberExpressionPropertyAdapter
    • MetadataBackup
    • MosaicViewProperties
    • MosaicViewProperties.HoverDimensionEnum
    • MosaicViewProperties.ShapeEnum
    • MosaicViewProperties.TypeEnum
    • Node
    • NotificationEndpoint
    • NotificationEndpointBase
    • NotificationEndpointBase.StatusEnum
    • NotificationEndpointBaseLinks
    • NotificationEndpointDiscriminator
    • NotificationEndpoints
    • NotificationEndpointType
    • NotificationEndpointUpdate
    • NotificationEndpointUpdate.StatusEnum
    • NotificationRule
    • NotificationRuleBase
    • NotificationRuleBase.LastRunStatusEnum
    • NotificationRuleBaseLinks
    • NotificationRuleDiscriminator
    • NotificationRules
    • NotificationRuleUpdate
    • NotificationRuleUpdate.StatusEnum
    • ObjectExpression
    • OnboardingRequest
    • OnboardingResponse
    • OptionStatement
    • OptionStatement.OptionStatementAssignmentAdapter
    • Organization
    • Organization.StatusEnum
    • OrganizationLinks
    • Organizations
    • Package
    • PackageClause
    • PagerDutyNotificationEndpoint
    • PagerDutyNotificationRule
    • PagerDutyNotificationRuleBase
    • PagerDutyNotificationRuleBase.TypeEnum
    • ParenExpression
    • ParenExpression.ParenExpressionExpressionAdapter
    • PasswordResetBody
    • PatchBucketRequest
    • PatchDashboardRequest
    • PatchOrganizationRequest
    • PatchRetentionRule
    • PatchRetentionRule.TypeEnum
    • PatchStackRequest
    • PatchStackRequestAdditionalResources
    • Permission
    • Permission.ActionEnum
    • PermissionResource
    • PipeExpression
    • PipeExpression.PipeExpressionArgumentAdapter
    • PipeLiteral
    • PostBucketRequest
    • PostOrganizationRequest
    • PostRestoreKVResponse
    • PostStackRequest
    • PostUser
    • PostUser.StatusEnum
    • Property
    • Property.PropertyKeyAdapter
    • Property.PropertyValueAdapter
    • PropertyKey
    • Query
    • Query.TypeEnum
    • QueryEditMode
    • QueryVariableProperties
    • QueryVariableProperties.TypeEnum
    • QueryVariablePropertiesValues
    • RangeThreshold
    • RangeThreshold.TypeEnum
    • Ready
    • Ready.StatusEnum
    • RegexpLiteral
    • RemoteConnection
    • RemoteConnectionCreationRequest
    • RemoteConnections
    • RemoteConnectionUpdateRequest
    • RenamableField
    • Replication
    • ReplicationCreationRequest
    • Replications
    • ReplicationUpdateRequest
    • ResourceMember
    • ResourceMember.RoleEnum
    • ResourceMembers
    • ResourceOwner
    • ResourceOwner.RoleEnum
    • ResourceOwners
    • RestoredBucketMappings
    • RetentionPolicyManifest
    • ReturnStatement
    • ReturnStatement.ReturnStatementArgumentAdapter
    • Routes
    • RoutesExternal
    • RoutesQuery
    • RoutesSystem
    • RuleStatusLevel
    • Run
    • Run.StatusEnum
    • RunLinks
    • RunManually
    • Runs
    • ScatterViewProperties
    • ScatterViewProperties.ShapeEnum
    • ScatterViewProperties.TypeEnum
    • SchemaType
    • ScraperTargetRequest
    • ScraperTargetRequest.TypeEnum
    • ScraperTargetResponse
    • ScraperTargetResponseLinks
    • ScraperTargetResponses
    • Script
    • ScriptCreateRequest
    • ScriptInvocationParams
    • ScriptLanguage
    • Scripts
    • ScriptUpdateRequest
    • SecretKeys
    • SecretKeysResponse
    • SecretKeysResponseLinks
    • ShardGroupManifest
    • ShardManifest
    • ShardOwner
    • SimpleTableViewProperties
    • SimpleTableViewProperties.ShapeEnum
    • SimpleTableViewProperties.TypeEnum
    • SingleStatViewProperties
    • SingleStatViewProperties.ShapeEnum
    • SingleStatViewProperties.TypeEnum
    • SlackNotificationEndpoint
    • SlackNotificationRule
    • SlackNotificationRuleBase
    • SlackNotificationRuleBase.TypeEnum
    • SMTPNotificationRule
    • SMTPNotificationRuleBase
    • SMTPNotificationRuleBase.TypeEnum
    • Source
    • Source.LanguagesEnum
    • Source.TypeEnum
    • SourceLinks
    • Sources
    • Stack
    • StackAssociations
    • StackEvents
    • StackLinks
    • StackResources
    • Statement
    • StaticLegend
    • StatusRule
    • StringLiteral
    • SubscriptionManifest
    • TableViewProperties
    • TableViewProperties.ShapeEnum
    • TableViewProperties.TypeEnum
    • TableViewPropertiesTableOptions
    • TableViewPropertiesTableOptions.WrappingEnum
    • TagRule
    • TagRule.OperatorEnum
    • TaskCreateRequest
    • TaskLinks
    • Tasks
    • TaskStatusType
    • TaskType
    • TaskType.LastRunStatusEnum
    • TaskUpdateRequest
    • Telegraf
    • TelegrafLinks
    • TelegrafPlugin
    • TelegrafPlugin.TypeEnum
    • TelegrafPluginRequest
    • TelegrafPluginRequestPlugins
    • TelegrafPlugins
    • TelegrafRequest
    • TelegrafRequestMetadata
    • Telegrafs
    • TelegramNotificationEndpoint
    • TelegramNotificationRule
    • TelegramNotificationRuleBase
    • TelegramNotificationRuleBase.ParseModeEnum
    • TelegramNotificationRuleBase.TypeEnum
    • TemplateApply
    • TemplateApplyRemotes
    • TemplateApplyTemplate
    • TemplateChart
    • TemplateChart.TemplateChartPropertiesAdapter
    • TemplateExportByID
    • TemplateExportByIDOrgIDs
    • TemplateExportByIDResourceFilters
    • TemplateExportByIDResources
    • TemplateKind
    • TemplateSummary
    • TemplateSummaryDiff
    • TemplateSummaryDiffBuckets
    • TemplateSummaryDiffBucketsNewOld
    • TemplateSummaryDiffChecks
    • TemplateSummaryDiffChecks.TemplateSummary_diff_checksNewAdapter
    • TemplateSummaryDiffChecks.TemplateSummary_diff_checksOldAdapter
    • TemplateSummaryDiffDashboards
    • TemplateSummaryDiffDashboardsNewOld
    • TemplateSummaryDiffLabelMappings
    • TemplateSummaryDiffLabels
    • TemplateSummaryDiffLabelsNewOld
    • TemplateSummaryDiffNotificationEndpoints
    • TemplateSummaryDiffNotificationEndpoints.TemplateSummary_diff_notificationEndpointsNewAdapter
    • TemplateSummaryDiffNotificationEndpoints.TemplateSummary_diff_notificationEndpointsOldAdapter
    • TemplateSummaryDiffNotificationRules
    • TemplateSummaryDiffNotificationRulesNewOld
    • TemplateSummaryDiffTasks
    • TemplateSummaryDiffTasksNewOld
    • TemplateSummaryDiffTelegrafConfigs
    • TemplateSummaryDiffVariables
    • TemplateSummaryDiffVariablesNewOld
    • TemplateSummaryDiffVariablesNewOld.TemplateSummary_Diff_variables_new_oldArgsAdapter
    • TemplateSummaryErrors
    • TemplateSummaryLabel
    • TemplateSummaryLabelProperties
    • TemplateSummarySummary
    • TemplateSummarySummaryBuckets
    • TemplateSummarySummaryDashboards
    • TemplateSummarySummaryLabelMappings
    • TemplateSummarySummaryNotificationRules
    • TemplateSummarySummaryStatusRules
    • TemplateSummarySummaryTagRules
    • TemplateSummarySummaryTasks
    • TemplateSummarySummaryVariables
    • TemplateSummarySummaryVariables.TemplateSummary_summary_variablesArgumentsAdapter
    • TestStatement
    • Threshold
    • ThresholdBase
    • ThresholdCheck
    • ThresholdCheck.TypeEnum
    • ThresholdCheckTags
    • UnaryExpression
    • UnaryExpression.UnaryExpressionArgumentAdapter
    • UnsignedIntegerLiteral
    • User
    • User.StatusEnum
    • UserLinks
    • Users
    • UsersLinks
    • Variable
    • Variable.VariableArgumentsAdapter
    • VariableAssignment
    • VariableAssignment.VariableAssignmentInitAdapter
    • VariableLinks
    • VariableProperties
    • Variables
    • View
    • View.ViewPropertiesAdapter
    • ViewLinks
    • ViewProperties
    • Views
    • WritePrecision
    • XYGeom
    • XYViewProperties
    • XYViewProperties.HoverDimensionEnum
    • XYViewProperties.PositionEnum
    • XYViewProperties.ShapeEnum
    • XYViewProperties.TypeEnum
  • InfluxDB.Client.Api.Service
    • AuthorizationsService
    • BackupService
    • BucketsService
    • CellsService
    • ChecksService
    • ConfigService
    • DashboardsService
    • DBRPsService
    • DeleteService
    • HealthService
    • IAuthorizationsService
    • IBackupService
    • IBucketsService
    • ICellsService
    • IChecksService
    • IConfigService
    • IDashboardsService
    • IDBRPsService
    • IDeleteService
    • IHealthService
    • IInvokableScriptsService
    • ILabelsService
    • ILegacyAuthorizationsService
    • IMetricsService
    • INotificationEndpointsService
    • INotificationRulesService
    • InvokableScriptsService
    • IOrganizationsService
    • IPingService
    • IQueryService
    • IReadyService
    • IRemoteConnectionsService
    • IReplicationsService
    • IResourcesService
    • IRestoreService
    • IRoutesService
    • IRulesService
    • IScraperTargetsService
    • ISecretsService
    • ISetupService
    • ISigninService
    • ISignoutService
    • ISourcesService
    • ITasksService
    • ITelegrafPluginsService
    • ITelegrafsService
    • ITemplatesService
    • IUsersService
    • IVariablesService
    • IViewsService
    • IWriteService
    • LabelsService
    • LegacyAuthorizationsService
    • MetricsService
    • NotificationEndpointsService
    • NotificationRulesService
    • OrganizationsService
    • PingService
    • QueryService
    • ReadyService
    • RemoteConnectionsService
    • ReplicationsService
    • ResourcesService
    • RestoreService
    • RoutesService
    • RulesService
    • ScraperTargetsService
    • SecretsService
    • SetupService
    • SigninService
    • SignoutService
    • SourcesService
    • TasksService
    • TelegrafPluginsService
    • TelegrafsService
    • TemplatesService
    • UsersService
    • VariablesService
    • ViewsService
    • WriteService
  • InfluxDB.Client.Core
    • Arguments
    • Column
    • LogLevel
    • Measurement
  • InfluxDB.Client.Core.Exceptions
    • BadGatewayException
    • BadRequestException
    • ForbiddenException
    • HttpException
    • HttpNotImplementedException
    • InfluxException
    • InternalServerErrorException
    • MethodNotAllowedException
    • NotAcceptableException
    • NotFoundException
    • PaymentRequiredException
    • ProxyAuthenticationRequiredException
    • RequestEntityTooLargeException
    • RequestTimeoutException
    • ServiceUnavailableException
    • TooManyRequestsException
    • UnauthorizedException
    • UnprocessableEntityException
  • InfluxDB.Client.Core.Flux.Domain
    • FluxColumn
    • FluxRecord
    • FluxTable
  • InfluxDB.Client.Core.Flux.Exceptions
    • FluxCsvParserException
    • FluxQueryException
  • InfluxDB.Client.Core.Flux.Serialization
    • AnnotatedCsvParser
    • IAnnotatedCsvParser
  • InfluxDB.Client.Domain
    • FindOptions
  • InfluxDB.Client.Flux
    • FluxClient
    • FluxClientFactory
    • FluxConnectionOptions
    • FluxConnectionOptions.AuthenticationType
    • IFluxClient
  • InfluxDB.Client.Linq
    • DefaultMemberNameResolver
    • IMemberNameResolver
    • InfluxDBQueryable<T>
    • MemberType
    • QueryableExtensions
    • QueryableOptimizerSettings
  • InfluxDB.Client.Writes
    • AbstractWriteEvent
    • InfluxDBEventArgs
    • PointData
    • PointData.Builder
    • PointSettings
    • WriteErrorEvent
    • WriteRetriableErrorEvent
    • WriteRuntimeExceptionEvent
    • WriteSuccessEvent

Interface IUsersApi

Namespace: InfluxDB.Client
Assembly: InfluxDB.Client.dll
Syntax
public interface IUsersApi

Methods

CloneUserAsync(String, User, CancellationToken)

Clone an user.

Declaration
Task<User> CloneUserAsync(string clonedName, User user, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String clonedName

name of cloned user

User user

user to clone

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task<User>

cloned user

CloneUserAsync(String, String, CancellationToken)

Clone an user.

Declaration
Task<User> CloneUserAsync(string clonedName, string userId, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String clonedName

name of cloned user

System.String userId

ID of user to clone

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task<User>

cloned user

CreateUserAsync(User, CancellationToken)

Creates a new user and sets Id with the new identifier.

Declaration
Task<User> CreateUserAsync(User user, CancellationToken cancellationToken = null)
Parameters
Type Name Description
User user

name of the user

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task<User>

Created user

CreateUserAsync(String, CancellationToken)

Creates a new user and sets Id with the new identifier.

Declaration
Task<User> CreateUserAsync(string name, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String name

name of the user

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task<User>

Created user

DeleteUserAsync(User, CancellationToken)

Delete an user.

Declaration
Task DeleteUserAsync(User user, CancellationToken cancellationToken = null)
Parameters
Type Name Description
User user

user to delete

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task

async task

DeleteUserAsync(String, CancellationToken)

Delete an user.

Declaration
Task DeleteUserAsync(string userId, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String userId

ID of user to delete

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task

async task

FindUserByIdAsync(String, CancellationToken)

Retrieve an user.

Declaration
Task<User> FindUserByIdAsync(string userId, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String userId

ID of user to get

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task<User>

User Details

FindUsersAsync(Nullable<Int32>, Nullable<Int32>, String, String, String, CancellationToken)

List all users.

Declaration
Task<List<User>> FindUsersAsync(int? offset = null, int? limit = null, string after = null, string name = null, string id = null, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.Nullable<System.Int32> offset

(optional)

System.Nullable<System.Int32> limit

(optional, default to 20)

System.String after

The last resource ID from which to seek from (but not including). This is to be used instead of offset. (optional)

System.String name

(optional)

System.String id

(optional)

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task<List<User>>

List all users

MeAsync(CancellationToken)

Returns currently authenticated user.

Declaration
Task<User> MeAsync(CancellationToken cancellationToken = null)
Parameters
Type Name Description
CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task<User>

currently authenticated user

MeUpdatePasswordAsync(String, String, CancellationToken)

Update the password to a currently authenticated user.

Declaration
Task MeUpdatePasswordAsync(string oldPassword, string newPassword, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String oldPassword

old password

System.String newPassword

new password

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task

currently authenticated user

UpdateUserAsync(User, CancellationToken)

Update an user.

Declaration
Task<User> UpdateUserAsync(User user, CancellationToken cancellationToken = null)
Parameters
Type Name Description
User user

user update to apply

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task<User>

user updated

UpdateUserPasswordAsync(User, String, String, CancellationToken)

Update password to an user.

Declaration
Task UpdateUserPasswordAsync(User user, string oldPassword, string newPassword, CancellationToken cancellationToken = null)
Parameters
Type Name Description
User user

user to update password

System.String oldPassword

old password

System.String newPassword

new password

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task

user updated

UpdateUserPasswordAsync(String, String, String, CancellationToken)

Update password to an user.

Declaration
Task UpdateUserPasswordAsync(string userId, string oldPassword, string newPassword, CancellationToken cancellationToken = null)
Parameters
Type Name Description
System.String userId

ID of user to update password

System.String oldPassword

old password

System.String newPassword

new password

CancellationToken cancellationToken

Cancellation token

Returns
Type Description
Task

user updated

In This Article
Back to top Generated by DocFX