import * as pulumi from "@pulumi/pulumi"; /** * The geoip processor adds information about the geographical location of an IPv4 or IPv6 address. * * By default, the processor uses the GeoLite2 City, GeoLite2 Country, and GeoLite2 ASN GeoIP2 databases from MaxMind, shared under the CC BY-SA 4.0 license. Elasticsearch automatically downloads updates for these databases from the Elastic GeoIP endpoint: https://geoip.elastic.co/v1/database. To get download statistics for these updates, use the GeoIP stats API. * * If your cluster can’t connect to the Elastic GeoIP endpoint or you want to manage your own updates, [see Manage your own GeoIP2 database updates](https://www.elastic.co/guide/en/elasticsearch/reference/current/geoip-processor.html#manage-geoip-database-updates). * * If Elasticsearch can’t connect to the endpoint for 30 days all updated databases will become invalid. Elasticsearch will stop enriching documents with geoip data and will add tags: ["_geoip_expired_database"] field instead. * * See: https://www.elastic.co/guide/en/elasticsearch/reference/current/geoip-processor.html * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as elasticstack from "@pulumi/elasticstack"; * * const geoip = elasticstack.ElasticsearchIngestProcessorGeoip({ * field: "ip", * }); * const myIngestPipeline = new elasticstack.ElasticsearchIngestPipeline("myIngestPipeline", {processors: [geoip.then(geoip => geoip.json)]}); * ``` */ export declare function elasticsearchIngestProcessorGeoip(args: ElasticsearchIngestProcessorGeoipArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking ElasticsearchIngestProcessorGeoip. */ export interface ElasticsearchIngestProcessorGeoipArgs { /** * The database filename referring to a database the module ships with (GeoLite2-City.mmdb, GeoLite2-Country.mmdb, or GeoLite2-ASN.mmdb) or a custom database in the `ingest-geoip` config directory. */ databaseFile?: string; /** * The field to get the ip address from for the geographical lookup. */ field: string; /** * If `true` only first found geoip data will be returned, even if field contains array. */ firstOnly?: boolean; /** * If `true` and `field` does not exist, the processor quietly exits without modifying the document. */ ignoreMissing?: boolean; /** * Controls what properties are added to the `targetField` based on the geoip lookup. */ properties?: string[]; /** * The field that will hold the geographical information looked up from the MaxMind database. */ targetField?: string; } /** * A collection of values returned by ElasticsearchIngestProcessorGeoip. */ export interface ElasticsearchIngestProcessorGeoipResult { /** * The database filename referring to a database the module ships with (GeoLite2-City.mmdb, GeoLite2-Country.mmdb, or GeoLite2-ASN.mmdb) or a custom database in the `ingest-geoip` config directory. */ readonly databaseFile?: string; /** * The field to get the ip address from for the geographical lookup. */ readonly field: string; /** * If `true` only first found geoip data will be returned, even if field contains array. */ readonly firstOnly?: boolean; /** * Internal identifier of the resource */ readonly id: string; /** * If `true` and `field` does not exist, the processor quietly exits without modifying the document. */ readonly ignoreMissing?: boolean; /** * JSON representation of this data source. */ readonly json: string; /** * Controls what properties are added to the `targetField` based on the geoip lookup. */ readonly properties?: string[]; /** * The field that will hold the geographical information looked up from the MaxMind database. */ readonly targetField?: string; } export declare function elasticsearchIngestProcessorGeoipOutput(args: ElasticsearchIngestProcessorGeoipOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output; /** * A collection of arguments for invoking ElasticsearchIngestProcessorGeoip. */ export interface ElasticsearchIngestProcessorGeoipOutputArgs { /** * The database filename referring to a database the module ships with (GeoLite2-City.mmdb, GeoLite2-Country.mmdb, or GeoLite2-ASN.mmdb) or a custom database in the `ingest-geoip` config directory. */ databaseFile?: pulumi.Input; /** * The field to get the ip address from for the geographical lookup. */ field: pulumi.Input; /** * If `true` only first found geoip data will be returned, even if field contains array. */ firstOnly?: pulumi.Input; /** * If `true` and `field` does not exist, the processor quietly exits without modifying the document. */ ignoreMissing?: pulumi.Input; /** * Controls what properties are added to the `targetField` based on the geoip lookup. */ properties?: pulumi.Input[]>; /** * The field that will hold the geographical information looked up from the MaxMind database. */ targetField?: pulumi.Input; }