diff --git a/airbyte-integrations/connectors/source-ip2whois/metadata.yaml b/airbyte-integrations/connectors/source-ip2whois/metadata.yaml index 356ffe7c828c9..cbcc1a862bcbe 100644 --- a/airbyte-integrations/connectors/source-ip2whois/metadata.yaml +++ b/airbyte-integrations/connectors/source-ip2whois/metadata.yaml @@ -7,7 +7,7 @@ data: connectorSubtype: api connectorType: source definitionId: f23b7b7c-d705-49a3-9042-09add3b104a5 - dockerImageTag: 0.1.3 + dockerImageTag: 0.1.4 dockerRepository: airbyte/source-ip2whois documentationUrl: https://docs.airbyte.com/integrations/sources/ip2whois githubIssueLabel: source-ip2whois diff --git a/airbyte-integrations/connectors/source-ip2whois/pyproject.toml b/airbyte-integrations/connectors/source-ip2whois/pyproject.toml index ec50513eff3d1..2d558e2cfa2a4 100644 --- a/airbyte-integrations/connectors/source-ip2whois/pyproject.toml +++ b/airbyte-integrations/connectors/source-ip2whois/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "0.1.3" +version = "0.1.4" name = "source-ip2whois" description = "Source implementation for Ip2whois." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-ip2whois/requirements.txt b/airbyte-integrations/connectors/source-ip2whois/requirements.txt deleted file mode 100644 index d6e1198b1ab1f..0000000000000 --- a/airbyte-integrations/connectors/source-ip2whois/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e . diff --git a/airbyte-integrations/connectors/source-ip2whois/source_ip2whois/manifest.yaml b/airbyte-integrations/connectors/source-ip2whois/source_ip2whois/manifest.yaml index 94a5a9c4025f8..890119e205b1d 100644 --- a/airbyte-integrations/connectors/source-ip2whois/source_ip2whois/manifest.yaml +++ b/airbyte-integrations/connectors/source-ip2whois/source_ip2whois/manifest.yaml @@ -1,288 +1,325 @@ -version: "0.29.0" +version: 0.78.5 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - whois definitions: - selector: - extractor: - field_path: [] - requester: - url_base: "https://api.ip2whois.com" - http_method: "GET" - request_parameters: - key: "{{ config['api_key'] }}" - domain: "{{ config['domain'] }}" - retriever: - record_selector: - $ref: "#/definitions/selector" - paginator: - type: NoPagination - requester: - $ref: "#/definitions/requester" - base_stream: - retriever: - $ref: "#/definitions/retriever" - whois_stream: - $ref: "#/definitions/base_stream" - $parameters: - name: "whois" - primary_key: "domain_id" - path: "/v2" + streams: + whois: + type: DeclarativeStream + name: whois + primary_key: + - domain_id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /v2 + http_method: GET + request_parameters: + key: "{{ config['api_key'] }}" + domain: "{{ config['domain'] }}" + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: [] + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/whois" + base_requester: + type: HttpRequester + url_base: https://api.ip2whois.com - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# +streams: + - $ref: "#/definitions/streams/whois" + +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: [] + properties: + api_key: + type: string + title: API key + description: >- + Your API Key. See here. + airbyte_secret: true + order: 0 + domain: + type: string + title: Domain + description: >- + Domain name. See here. + examples: + - www.google.com + - www.facebook.com + order: 1 + additionalProperties: true + +metadata: + autoImportSchema: + whois: false + +schemas: + whois: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + admin: type: object + additionalProperties: true + description: Details of the administrative contact properties: - domain: - description: Domain name - type: string - domain_id: - description: Unique identifier for the domain - type: string - status: - description: Status of the domain registration - type: string - create_date: - description: Date and time when the domain was created - type: string - format: date-time - update_date: - description: Date and time when the domain record was last updated - type: string - format: date-time - expire_date: - description: Date and time when the domain will expire - type: string - format: date-time - domain_age: - description: Age of the domain in years - type: integer - whois_server: - description: Whois server used to query the domain registration information - type: string - registrar: - description: Details of the registrar for the domain - type: object - properties: - iana_id: - description: IANA ID of the registrar - type: string - name: - description: Name of the registrar - type: string - url: - description: URL of the registrar - type: string - required: - - iana_id - - name - - url - additionalProperties: true - registrant: - description: Details of the registrant contact - type: object - properties: - name: - description: Name of the registrant contact - type: string - organization: - description: Organization of the registrant contact - type: string - street_address: - description: Street address of the registrant contact - type: string - city: - description: City of the registrant contact - type: string - region: - description: Region of the registrant contact - type: string - zip_code: - description: Zip code of the registrant contact - type: string - country: - description: Country of the registrant contact - type: string - phone: - description: Phone number of the registrant contact - type: string - fax: - description: Fax number of the registrant contact - type: string - email: - description: Email of the registrant contact - type: string - required: - - name - - organization - - street_address - - city - - region - - zip_code - - country - - phone - - fax - - email - additionalProperties: true - admin: - description: Details of the administrative contact - type: object - properties: - name: - description: Name of the administrative contact - type: string - organization: - description: Organization of the administrative contact - type: string - street_address: - description: Street address of the administrative contact - type: string - city: - description: City of the administrative contact - type: string - region: - description: Region of the administrative contact - type: string - zip_code: - description: Zip code of the administrative contact - type: string - country: - description: Country of the administrative contact - type: string - phone: - description: Phone number of the administrative contact - type: string - fax: - description: Fax number of the administrative contact - type: string - email: - description: Email of the administrative contact - type: string - required: - - name - - organization - - street_address - - city - - region - - zip_code - - country - - phone - - fax - - email - additionalProperties: true - tech: - description: Details of the technical contact - type: object - properties: - name: - description: Name of the technical contact - type: string - organization: - description: Organization of the technical contact - type: string - street_address: - description: Street address of the technical contact - type: string - city: - description: City of the technical contact - type: string - region: - description: Region of the technical contact - type: string - zip_code: - description: Zip code of the technical contact - type: string - country: - description: Country of the technical contact - type: string - phone: - description: Phone number of the technical contact - type: string - fax: - description: Fax number of the technical contact - type: string - email: - description: Email of the technical contact - type: string - required: - - name - - organization - - street_address - - city - - region - - zip_code - - country - - phone - - fax - - email - additionalProperties: true - billing: - description: Details of the billing contact - type: object - properties: - name: - description: Name of the billing contact - type: string - organization: - description: Organization of the billing contact - type: string - street_address: - description: Street address of the billing contact - type: string - city: - description: City of the billing contact - type: string - region: - description: Region of the billing contact - type: string - zip_code: - description: Zip code of the billing contact - type: string - country: - description: Country of the billing contact - type: string - phone: - description: Phone number of the billing contact - type: string - fax: - description: Fax number of the billing contact - type: string - email: - description: Email of the billing contact - type: string - required: - - name - - organization - - street_address - - city - - region - - zip_code - - country - - phone - - fax - - email - additionalProperties: true - nameservers: - description: List of nameservers associated with the domain - type: array + city: + type: string + description: City of the administrative contact + country: + type: string + description: Country of the administrative contact + email: + type: string + description: Email of the administrative contact + fax: + type: string + description: Fax number of the administrative contact + name: + type: string + description: Name of the administrative contact + organization: + type: string + description: Organization of the administrative contact + phone: + type: string + description: Phone number of the administrative contact + region: + type: string + description: Region of the administrative contact + street_address: + type: string + description: Street address of the administrative contact + zip_code: + type: string + description: Zip code of the administrative contact required: - - domain - - domain_id - - status - - create_date - - update_date - - expire_date - - domain_age - - whois_server - - registrar - - registrant - - admin - - tech - - billing - - nameservers + - name + - organization + - street_address + - city + - region + - zip_code + - country + - phone + - fax + - email + billing: + type: object additionalProperties: true -streams: - - "#/definitions/whois_stream" -check: - stream_names: - - "whois" + description: Details of the billing contact + properties: + city: + type: string + description: City of the billing contact + country: + type: string + description: Country of the billing contact + email: + type: string + description: Email of the billing contact + fax: + type: string + description: Fax number of the billing contact + name: + type: string + description: Name of the billing contact + organization: + type: string + description: Organization of the billing contact + phone: + type: string + description: Phone number of the billing contact + region: + type: string + description: Region of the billing contact + street_address: + type: string + description: Street address of the billing contact + zip_code: + type: string + description: Zip code of the billing contact + required: + - name + - organization + - street_address + - city + - region + - zip_code + - country + - phone + - fax + - email + create_date: + type: string + description: Date and time when the domain was created + format: date-time + domain: + type: string + description: Domain name + domain_age: + type: integer + description: Age of the domain in years + domain_id: + type: string + description: Unique identifier for the domain + expire_date: + type: string + description: Date and time when the domain will expire + format: date-time + nameservers: + type: array + description: List of nameservers associated with the domain + registrant: + type: object + additionalProperties: true + description: Details of the registrant contact + properties: + city: + type: string + description: City of the registrant contact + country: + type: string + description: Country of the registrant contact + email: + type: string + description: Email of the registrant contact + fax: + type: string + description: Fax number of the registrant contact + name: + type: string + description: Name of the registrant contact + organization: + type: string + description: Organization of the registrant contact + phone: + type: string + description: Phone number of the registrant contact + region: + type: string + description: Region of the registrant contact + street_address: + type: string + description: Street address of the registrant contact + zip_code: + type: string + description: Zip code of the registrant contact + required: + - name + - organization + - street_address + - city + - region + - zip_code + - country + - phone + - fax + - email + registrar: + type: object + additionalProperties: true + description: Details of the registrar for the domain + properties: + iana_id: + type: string + description: IANA ID of the registrar + name: + type: string + description: Name of the registrar + url: + type: string + description: URL of the registrar + required: + - iana_id + - name + - url + status: + type: string + description: Status of the domain registration + tech: + type: object + additionalProperties: true + description: Details of the technical contact + properties: + city: + type: string + description: City of the technical contact + country: + type: string + description: Country of the technical contact + email: + type: string + description: Email of the technical contact + fax: + type: string + description: Fax number of the technical contact + name: + type: string + description: Name of the technical contact + organization: + type: string + description: Organization of the technical contact + phone: + type: string + description: Phone number of the technical contact + region: + type: string + description: Region of the technical contact + street_address: + type: string + description: Street address of the technical contact + zip_code: + type: string + description: Zip code of the technical contact + required: + - name + - organization + - street_address + - city + - region + - zip_code + - country + - phone + - fax + - email + update_date: + type: string + description: Date and time when the domain record was last updated + format: date-time + whois_server: + type: string + description: Whois server used to query the domain registration information + required: + - domain + - domain_id + - status + - create_date + - update_date + - expire_date + - domain_age + - whois_server + - registrar + - registrant + - admin + - tech + - billing + - nameservers diff --git a/airbyte-integrations/connectors/source-ip2whois/source_ip2whois/spec.yaml b/airbyte-integrations/connectors/source-ip2whois/source_ip2whois/spec.yaml deleted file mode 100644 index f0af6a7d51fa4..0000000000000 --- a/airbyte-integrations/connectors/source-ip2whois/source_ip2whois/spec.yaml +++ /dev/null @@ -1,23 +0,0 @@ -documentationUrl: https://docs.airbyte.com/integrations/sources/ip2whois -connectionSpecification: - $schema: http://json-schema.org/draft-07/schema# - title: Ip2whois Spec - type: object - additionalProperties: true - properties: - api_key: - title: API key - type: string - description: >- - Your API Key. See here. - airbyte_secret: true - domain: - title: Domain - type: string - description: >- - Domain name. See here. - examples: - - www.google.com - - www.facebook.com diff --git a/docs/integrations/sources/ip2whois.md b/docs/integrations/sources/ip2whois.md index 89f5a0cf543e8..e8def884e80ad 100644 --- a/docs/integrations/sources/ip2whois.md +++ b/docs/integrations/sources/ip2whois.md @@ -29,6 +29,7 @@ Ip2whois APIs allows you to query up to 500 WHOIS domain name per month. | Version | Date | Pull Request | Subject | | :------ | :--------- | :-------------------------------------------------------- | :------------------------------------------------------------------------------ | +| 0.1.4 | 2024-05-20 | [38215](https://github.com/airbytehq/airbyte/pull/38215) | Make connector compatible with builder | | 0.1.3 | 2024-04-19 | [37180](https://github.com/airbytehq/airbyte/pull/37180) | Upgrade to CDK 0.80.0 and manage dependencies with Poetry. | | 0.1.2 | 2024-04-15 | [37180](https://github.com/airbytehq/airbyte/pull/37180) | Base image migration: remove Dockerfile and use the python-connector-base image | | 0.1.1 | 2024-04-12 | [37180](https://github.com/airbytehq/airbyte/pull/37180) | schema descriptions |